:root{--green:#14583f;--dark:#123c30;--ink:#192c25;--muted:#5b6b64;--line:#dbe3df;--pale:#f3f7f5}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:25px}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;background:white}a{color:inherit;text-decoration:none}a:hover{color:var(--green);text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bc8221;outline-offset:4px}p{margin:0 0 1.4rem}h1,h2,h3{line-height:1.55;letter-spacing:.015em;margin:0 0 1.2rem}h1{font-size:clamp(32px,4vw,56px);font-weight:700}h2{font-size:clamp(24px,2.3vw,32px)}h3{font-size:21px}small{font-size:14px}.preview{background:var(--dark);color:#fff;padding:6px 4%;font-size:12px;letter-spacing:.08em;display:flex;justify-content:space-between}.preview span{opacity:.85}header{max-width:1320px;margin:auto;padding:28px 4%;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{font-size:23px;letter-spacing:.04em;line-height:1.2;font-weight:800;white-space:nowrap}.brand span{font-weight:400;color:var(--green)}.brand small{display:block;letter-spacing:.16em;font-size:12px;margin-top:9px;font-weight:500}nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600}nav a[aria-current]{color:var(--green);border-bottom:2px solid var(--green)}.nav-contact{border:1px solid var(--green);padding:10px 15px}.hero{max-width:1200px;margin:auto;padding:72px 4% 65px}.eyebrow{display:block;color:var(--green);font-size:12px;font-weight:700;letter-spacing:.16em;margin-bottom:18px}.hero h1{margin-bottom:35px}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.hero-bottom .lead{font-size:27px;font-weight:600;line-height:1.7}.hero-bottom>p:last-child{color:var(--muted);max-width:500px}.textlink{font-size:14px;font-weight:600;display:inline-block;border-bottom:1px solid var(--green);padding-bottom:4px}.section{max-width:1200px;padding:68px 4%;margin:auto;border-top:1px solid var(--line)}.section-title{margin-bottom:34px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service{border-top:3px solid var(--green);padding:28px 22px 22px;background:var(--pale);display:flex;flex-direction:column;min-height:285px}.service:hover{text-decoration:none;background:#eaf2ee}.service h3{font-size:23px}.service p{color:var(--muted);font-size:15px}.more{margin-top:auto;font-size:14px;font-weight:600}.feature{background:var(--dark);color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:75px;padding:60px max(4%,calc((100% - 1104px)/2));}.feature .eyebrow{color:#b5d7c8}.feature p{color:#dae8e1}.feature h2{font-size:32px}.button{background:var(--green);color:white;display:inline-flex;justify-content:space-between;gap:24px;padding:15px 23px;border:1px solid var(--green);font:inherit;font-size:14px;cursor:pointer}.button:hover{background:#103e2e;color:white;text-decoration:none}.button.light{background:white;color:var(--dark);border-color:white}.steps{align-self:center}.steps>div{display:flex;gap:24px;padding:18px 0;border-top:1px solid #4b6d60}.steps b{font-size:19px;color:#b4d4c6}.steps p{font-size:13px;margin-top:17px}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:70px}.approach article{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.approach article>span{font-size:12px;color:var(--green);display:block;margin-bottom:10px}.approach p{color:var(--muted);margin-bottom:0}.partner{background:var(--pale);padding:55px max(4%,calc((100% - 1104px)/2));}.partner-names{display:flex;gap:35px;align-items:center;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0}.partner-names small{color:var(--muted)}.partner-names h3{font-size:20px;margin:6px 0}.times{font-size:28px;color:var(--green)}.partner>p{max-width:840px}.experience{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.experience article{border-left:2px solid var(--line);padding-left:22px}.experience span{font-size:12px;color:var(--green);letter-spacing:.08em}.experience h3{font-size:19px;margin-top:12px}.experience p{font-size:15px;color:var(--muted)}.contact-band{background:var(--pale);padding:40px max(4%,calc((100% - 1104px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-band p{font-size:14px;margin:0}.contact-band h2{font-size:26px}.contact-band .eyebrow{margin-bottom:8px}footer{max-width:1200px;margin:auto;padding:42px 4%;display:flex;justify-content:space-between;gap:30px}footer a{font-size:13px;margin-right:25px}footer p{font-size:12px;color:var(--muted);margin-top:20px}.page-hero{padding:40px max(4%,calc((100% - 1104px)/2)) 50px;background:var(--pale)}.page-hero>a{font-size:12px;display:block;margin-bottom:28px}.page-hero h1{font-size:40px}.page-hero h2{font-size:23px;font-weight:500}.page-hero p{max-width:790px;color:var(--muted)}.page-hero.green{background:var(--dark);color:white}.page-hero.green .eyebrow,.page-hero.green p{color:#c6dfd2}.document{max-width:1200px;padding:55px 4% 80px;margin:auto;display:grid;grid-template-columns:225px 1fr;gap:70px}.document aside{align-self:start;position:sticky;top:25px}.document aside a{display:block;font-size:14px;padding:11px 0;border-bottom:1px solid var(--line);line-height:1.7}.document-body section{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line)}.document-body h2{font-size:26px}.document-body h3{font-size:22px;margin-top:30px}.document-body p{line-height:2}.document-body ul{padding-left:23px}.document-body li{padding:5px 0}.document-body .button{margin-top:15px}.single{max-width:880px;margin:auto;padding:45px 4% 75px}.single h3{padding-top:25px;border-top:1px solid var(--line)}.form-wrap{max-width:940px;margin:auto;padding:45px 4% 80px}.notice{font-size:14px;border-left:3px solid var(--green);background:var(--pale);padding:18px;margin-bottom:30px}form{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{font-size:14px;font-weight:600;display:block}em{font-style:normal;font-weight:400;font-size:12px;margin-left:12px;color:var(--green)}input,select,textarea{font:inherit;display:block;margin-top:9px;padding:12px;background:white;border:1px solid #a7b8af;border-radius:0;width:100%;color:var(--ink);font-size:16px}.wide{grid-column:1/-1}.wide p{font-size:14px}.skip{position:absolute;left:-9999px}.skip:focus{left:0;top:0;background:white;padding:10px;z-index:10}@media(max-width:900px){header{align-items:flex-start;flex-direction:column}nav{width:100%;gap:18px;flex-wrap:wrap}.hero-bottom{gap:35px}.feature{gap:35px}.split{gap:35px}.document{gap:35px;grid-template-columns:180px 1fr}.partner-names{gap:20px}.partner-names h3{font-size:17px}.service{padding:22px 15px}}@media(max-width:640px){.preview{font-size:12px;display:block}.preview span{display:block;font-size:12px}.hero{padding:42px 6%}.hero h1{font-size:32px}.hero-bottom,.cards,.feature,.split,.experience,.document{grid-template-columns:1fr;gap:24px}.hero-bottom .lead{font-size:23px}.hero-bottom p{margin-bottom:4px}.hero .textlink{margin-top:24px}nav{gap:12px 18px;font-size:13px}.nav-contact{padding:5px 10px}.section{padding:40px 6%}.service{min-height:0;padding:22px}.feature{padding:40px 6%}.feature h2{font-size:26px}.partner{padding:40px 6%}.partner-names{align-items:flex-start;flex-direction:column;gap:10px}.partner-names h3{font-size:18px}.times{font-size:20px}.contact-band{padding:32px 6%;display:block}.contact-band .button{margin-top:20px}footer{flex-direction:column;padding:35px 6%}.page-hero{padding:25px 6% 35px}.page-hero h1{font-size:30px}.page-hero h2{font-size:20px}.document{padding:30px 6%}.document aside{position:static;display:none}.document-body h2{font-size:23px}.document-body section{margin-bottom:25px;padding-bottom:25px}form{grid-template-columns:1fr}.form-wrap{padding:30px 6%}.single{padding:30px 6%}.button{max-width:100%}}

/* Supplied identity and documentary field photography */
.brand{display:block;flex-shrink:0}.brand img{display:block;width:300px;max-width:100%;height:auto}footer .brand img{width:275px}.site-photo{margin:28px 0 0}.site-photo img{display:block;width:100%;height:auto;background:var(--pale)}.site-photo figcaption{font-size:12px;line-height:1.7;color:var(--muted);padding-top:10px}.field-evidence{max-width:1200px;margin:auto;padding:0 4% 64px;display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center}.field-evidence .site-photo{margin:0}.field-evidence p{color:var(--muted)}.field-evidence h2{font-size:28px}.portrait{max-width:340px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.photo-pair .site-photo{min-width:0}@media(max-width:1100px){header{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.brand img{width:285px}.field-evidence{grid-template-columns:1fr;gap:26px;padding:0 6% 40px}.field-evidence h2{font-size:24px}.photo-pair{grid-template-columns:1fr}.portrait{max-width:300px}}

/* LiDAR-led introduction with documentary photographs, no image overlay */
.lidar-hero{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;padding-top:48px;padding-bottom:54px}.lidar-hero h1{font-size:clamp(29px,3.2vw,43px);line-height:1.6;margin-bottom:24px}.lidar-hero .lead{font-size:23px;font-weight:600;line-height:1.7}.hero-copy>p:not(.lead){color:var(--muted)}.lidar-hero .site-photo{margin:0}.hero-scope{font-size:13px;margin:20px 0 0}.lidar-hero .button{font-size:14px;padding:14px 18px}@media(max-width:900px){.lidar-hero{gap:25px}.lidar-hero h1{font-size:30px}}@media(max-width:640px){.lidar-hero{grid-template-columns:1fr;gap:24px;padding-top:32px}.lidar-hero h1{font-size:29px}.lidar-hero .lead{font-size:21px}.hero-scope{font-size:12px}}

.record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:26px 0}.record-grid>div{border-top:3px solid var(--green);padding-top:18px}.record-grid span{font-size:15px}.record-grid strong{display:block;font-size:58px;line-height:1.4;color:var(--green)}.record-grid strong small{font-size:19px;margin-left:10px}.record-grid p,.record-scope{font-size:14px;color:var(--muted)}.record-secondary{display:flex;gap:28px;flex-wrap:wrap;padding:20px 0;border-block:1px solid var(--line)}.record-secondary b{font-size:22px;margin-left:8px}.record-note{font-size:12px;color:var(--muted);margin:14px 0 30px}.case-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0 45px}.case-photos .site-photo{margin:0}.case-photos h3{font-size:18px;margin:18px 0 8px}.case-photos p{font-size:14px;color:var(--muted)}.acceptance{display:flex;gap:12px;align-items:flex-start;margin:24px 0}.acceptance input{width:20px;height:20px;flex-shrink:0;margin-top:3px}.acceptance em{flex-shrink:0;margin-left:0}@media(max-width:640px){.record-grid,.case-photos{grid-template-columns:1fr}.record-grid strong{font-size:48px}.record-secondary{gap:12px 24px}.acceptance{flex-wrap:wrap}}

/* Track record is the first content visitors see. */
.record-hero{max-width:1200px;margin:auto;padding:30px 4% 32px}.record-hero .eyebrow{margin-bottom:10px}.record-hero h1{font-size:clamp(25px,2.8vw,36px);line-height:1.55;margin-bottom:14px}.record-hero .record-scope{margin-bottom:14px}.record-hero .record-grid{gap:28px;margin:16px 0}.record-hero .record-grid>div{padding-top:12px}.record-hero .record-grid strong{font-size:clamp(70px,7vw,100px);line-height:1.2;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.record-hero .record-grid strong small{letter-spacing:0;font-size:20px}.record-hero .record-grid p{margin:5px 0 0;font-size:13px}.record-hero .record-secondary{padding:12px 0}.record-hero .record-note{margin:10px 0 16px}.record-links{display:flex;gap:24px;flex-wrap:wrap}.lidar-hero h2{font-size:clamp(27px,3vw,39px)}@media(max-width:640px){.record-hero{padding:24px 6% 30px}.record-hero h1{font-size:25px}.record-hero .record-grid{grid-template-columns:1fr 1fr;gap:16px}.record-hero .record-grid>div:first-child{grid-column:1/-1}.record-hero .record-grid strong{font-size:64px}.record-hero .record-grid>div:first-child strong{font-size:88px}.record-hero .record-grid span{font-size:14px}.record-hero .record-grid p{font-size:12px}.record-hero .record-secondary{font-size:14px;gap:8px 18px}.record-hero .record-secondary b{font-size:20px}.record-links{gap:12px 20px}}

.company-body{max-width:1100px;margin:auto;padding:38px 4% 70px}.company-facts{margin:0 0 48px}.company-facts>div{display:grid;grid-template-columns:180px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.company-facts dt{font-weight:600}.company-facts dd{margin:0}.company-body section{margin-top:44px}.company-body h2{font-size:27px;margin-bottom:8px}.client-note{font-size:13px;color:var(--muted);margin-bottom:18px}.client-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:35px}.client-list li{padding:15px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.client-others{margin-top:18px;color:var(--muted);font-size:14px}@media(max-width:640px){.company-body{padding:28px 6% 50px}.company-facts>div{grid-template-columns:1fr;gap:6px}.client-list{grid-template-columns:1fr}.company-body h2{font-size:24px}}

.feature .feature-lead{font-size:21px;color:white;font-weight:600}.route-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.route-comparison article{padding:22px;background:var(--pale);border-top:3px solid var(--line)}.route-comparison article:last-child{border-color:var(--green);background:#edf5f0}.route-comparison h3{font-size:20px;margin:0;padding:0;border:0}.route-comparison ol{padding-left:22px}.route-comparison li{padding:8px 0}.route-comparison p{font-size:14px;margin-bottom:0}.assessment-note{font-size:13px;color:var(--muted)}.development-choice{margin-bottom:42px;padding-bottom:20px;border-bottom:1px solid var(--line)}@media(max-width:640px){.route-comparison{grid-template-columns:1fr}.feature .feature-lead{font-size:19px}}

header{flex-direction:column;align-items:flex-start}header nav{width:100%;flex-wrap:wrap;gap:14px 24px}.sitemap-grid{max-width:1200px;margin:auto;padding:42px 4% 70px;display:grid;grid-template-columns:1fr 1fr;gap:36px 52px}.sitemap-grid section{border-top:3px solid var(--green);padding-top:22px}.sitemap-grid h2{font-size:23px}.sitemap-grid ul{list-style:none;margin:0;padding:0}.sitemap-grid li{border-bottom:1px solid var(--line)}.sitemap-grid li a{display:block;padding:10px 0}.sitemap-grid p{font-size:15px;color:var(--muted)}@media(max-width:640px){.sitemap-grid{grid-template-columns:1fr;padding:30px 6% 50px}header nav{gap:10px 16px}}

.report-sample{margin-top:30px;padding:24px;background:var(--pale);display:grid;grid-template-columns:minmax(0,354px) 1fr;gap:24px;align-items:center}.report-sample .site-photo{margin:0}.report-sample .site-photo img{max-width:354px;background:white}.report-sample>p{font-size:14px;color:var(--muted);margin:0}@media(max-width:800px){.report-sample{grid-template-columns:1fr}.report-sample .site-photo{max-width:354px}}

/* Final service icons and early-stage comparison */
.service-icon{display:inline-block;width:40px;height:40px;vertical-align:middle;margin-right:12px;flex-shrink:0}.service h3{display:flex;align-items:center;gap:0}.process-comparison{padding:40px 0;margin:32px 0;color:#17354b}.process-comparison>h2{font-size:clamp(24px,3vw,32px)}.process-row{padding:24px;background:#f2f5f7;margin:18px 0}.process-row h3{font-size:20px;margin:0 0 18px}.process-row h3>span{font-weight:400;font-size:14px;margin-left:14px}.process-row ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0;padding:0}.process-row li{position:relative;padding:18px 12px;background:white;border:1px solid #cad9e1;text-align:center}.process-row li:not(:last-child):after{content:'→';position:absolute;right:-25px;top:24px;color:#496879;font-size:22px}.process-row li b{font-size:18px;display:block}.process-row li span{display:block;font-size:14px;margin-top:8px}.process-row.proposed{background:#eaf5f3;border-left:4px solid #217b83}.process-row .screening,.process-row .decision{border:2px solid #217b83}.process-row>p,.process-note{font-size:14px;line-height:1.8;margin:16px 0 0}.annual-strip{display:grid;grid-template-columns:3fr 1fr;margin:24px 0;text-align:center}.annual-strip>div{background:#e2eaf4;padding:24px 10px;font-weight:700}.annual-strip>div+div{background:#c8e6e2}.annual-strip span{display:block;font-size:14px;font-weight:400;margin-top:8px}.record-hero~.process-comparison{margin:32px auto;max-width:1160px;padding:32px 24px}@media(max-width:650px){.process-row ol{grid-template-columns:1fr;gap:30px}.process-row li:not(:last-child):after{content:'↓';top:auto;bottom:-29px;right:calc(50% - 10px)}.process-row{padding:18px}.service-icon{width:32px;height:32px}.annual-strip{grid-template-columns:3fr 1.3fr}.annual-strip>div{font-size:16px}}

.contact-address{font-size:clamp(1.5rem,5vw,2rem);font-weight:700;letter-spacing:.04em;overflow-wrap:anywhere}.inquiry-details{padding-left:1.5rem}.inquiry-details li{margin-bottom:1.3rem}
