:root{--navy:#0b1220;--paper:#f5f7fa;--ink:#142030;--muted:#647181;--mint:#5ee5d1;--blue:#174fff;--line:#d5dce5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #147cf5;outline-offset:6px}header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:21px 5.5%;background:var(--navy);color:#fff;border-bottom:1px solid #ffffff20}.brand{font-family:Arial,sans-serif;font-weight:900;font-size:30px;letter-spacing:-1.4px;line-height:1}.brand-dot{color:var(--mint)}header nav{display:flex;align-items:center;gap:32px;font-size:14px}header nav a:hover{color:var(--mint)}.nav-contact{border:1px solid #ffffff55;border-radius:4px;padding:9px 19px}.menu-toggle{display:none}.skip{position:absolute;top:-80px;left:20px;background:white;color:var(--ink);padding:10px;z-index:20}.skip:focus{top:10px}.hero{background:var(--navy);color:white;padding:48px 5.5% 22px;overflow:hidden}.eyebrow,.section-label>span{font-family:Arial,sans-serif;letter-spacing:1.5px;font-size:13px;font-weight:700}.hero-top{display:flex;align-items:center;justify-content:space-between;color:#abb7c9}.hero-top .eyebrow{color:var(--mint)}.hero-note{font-size:14px}.hero h1{font-size:clamp(40px,5.7vw,84px);letter-spacing:-.035em;line-height:1.45;margin:53px 0 33px;font-weight:800}.hero h1>span{color:var(--mint)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:1090px}.hero-bottom p{margin:0;color:#c9d2df;font-size:16px;line-height:2.1}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:17px 24px;min-height:60px;font-weight:700;border-radius:4px;font-size:15px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--mint);color:var(--navy)}.primary:hover{background:#93f1e3}.button-mark{font-size:23px;font-family:Arial,sans-serif}.hero-word{font-family:Arial,sans-serif;font-weight:900;font-size:clamp(85px,20.3vw,320px);letter-spacing:-.065em;line-height:1.05;color:#19293c;margin:29px 0 2px;user-select:none}.hero-caption{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #ffffff20;padding-top:17px;font-family:Arial,sans-serif;letter-spacing:1.6px;font-size:12px;color:#8897ac}.section{padding:98px 5.5%;scroll-margin-top:15px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-bottom:1px solid var(--line)}h2{font-size:clamp(29px,3.2vw,46px);line-height:1.55;letter-spacing:-.025em;margin:20px 0}p{margin:0 0 22px}.intro-copy p{color:#4f5d6b}.intro-copy .large-copy{font-size:24px;line-height:1.75;color:var(--ink);font-weight:700;margin-bottom:28px}.principles{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.principles span{border:1px solid #b9c4d2;padding:6px 14px;border-radius:30px;font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);margin-bottom:6px;font-size:15px}.services .eyebrow,.process .eyebrow{color:var(--blue)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.service-card{padding:34px 30px 30px;background:white}.service-card+.service-card{border-left:1px solid var(--line)}.service-meta{display:flex;justify-content:space-between;color:var(--blue);font-family:Arial,sans-serif;font-size:13px;letter-spacing:1.2px;font-weight:700}.service-meta>span:first-child{font-size:20px}h3{font-size:23px;margin:27px 0 18px;line-height:1.6}.service-card p{color:var(--muted);font-size:15px;line-height:2}.service-card ul{padding:23px 0 0;margin:27px 0 0;border-top:1px solid var(--line);list-style:none;font-size:14px}.service-card li{margin:6px 0}.service-card li:before{content:'＋';color:var(--blue);margin-right:9px}.service-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;font-size:14px}.service-foot p{margin:0;color:var(--muted)}.text-link{font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px;white-space:nowrap}.text-link span{margin-left:18px}.projects{background:var(--navy);color:white}.projects .eyebrow{color:var(--mint)}.projects .section-heading>p{color:#9aa9bc}.project-row{display:grid;grid-template-columns:65px 1fr auto;gap:28px;padding:36px 0;border-top:1px solid #ffffff25;align-items:center}.project-row:last-child{border-bottom:1px solid #ffffff25}.project-index{font-family:Arial,sans-serif;color:var(--mint);font-size:15px;align-self:start;padding-top:6px}.project-type{font-family:Arial,sans-serif;font-size:12px;letter-spacing:1.4px;color:#91a3bb}.project-row h3{margin:10px 0 12px;font-size:25px}.project-row p{color:#aebdce;margin:0;font-size:15px;max-width:680px}.badge{font-size:12px;border:1px solid #5d7085;padding:6px 13px;border-radius:20px;color:#d4deea;white-space:nowrap}.project-note{font-size:13px;color:#92a4b8;margin:23px 0 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:45px 0 0;border-top:1px solid var(--line)}.steps li{padding:24px 26px 0 0}.steps li+li{border-left:1px solid var(--line);padding-left:26px}.steps li>span{font-family:Arial,sans-serif;color:var(--blue);font-size:30px;font-weight:700}.steps h3{font-size:20px;margin:17px 0 12px}.steps p{font-size:14px;color:var(--muted);margin:0}.contact{background:var(--blue);color:white}.contact .eyebrow{color:#bdcdff}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;margin-top:6px}.contact h2{font-size:clamp(35px,4vw,56px);margin-top:21px}.contact p{color:#d7e1ff}.contact-button{background:white;color:var(--blue);margin-top:10px}.line-contact{margin:24px 0 0;font-weight:700}.business-info{margin:43px 0 0}.business-info>div{display:grid;grid-template-columns:90px 1fr;gap:25px;padding:20px 0;border-top:1px solid #ffffff45;font-size:15px}.business-info>div:last-child{border-bottom:1px solid #ffffff45}.business-info dt{color:#c7d5ff}.business-info dd{margin:0}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--navy);color:white;padding:35px 5.5%}footer p{margin:0;font-family:Arial,sans-serif;color:#8e9fb5;font-size:12px}footer>a:last-child{font-size:13px;color:#b5c1d0}.mobile-nav{background:var(--navy);color:white;padding:10px 6% 25px}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid #ffffff20}[hidden]{display:none!important}@media(min-width:1500px){.section,header,.hero,footer{padding-left:max(5.5%,calc((100vw - 1335px)/2));padding-right:max(5.5%,calc((100vw - 1335px)/2))}}@media(max-width:900px){header nav{gap:18px}.hero-note{display:none}.hero h1{font-size:clamp(36px,6.5vw,68px)}.service-card{padding:26px 20px}.project-row{grid-template-columns:45px 1fr;gap:20px}.badge{grid-column:2;justify-self:start}.steps{grid-template-columns:1fr 1fr;gap:30px 0}.steps li:nth-child(3){border-left:0;padding-left:0}.contact-grid{gap:6%}}@media(max-width:650px){header{padding:21px 6%}.brand{font-size:27px}header nav{display:none}.menu-toggle{display:block;background:transparent;border:1px solid #78869a;color:white;border-radius:3px;padding:4px 10px;font-size:12px;letter-spacing:1px}.hero{padding:32px 6% 20px}.hero-top .eyebrow{font-size:10px;letter-spacing:1.2px}.hero h1{font-size:clamp(31px,8.1vw,49px);margin:36px 0 24px;line-height:1.6}.hero-bottom{display:block}.hero-bottom p{font-size:14px;line-height:2}.hero-bottom .button{margin-top:26px;min-width:230px}.hero-word{font-size:20vw;margin-top:35px}.hero-caption{font-size:9px;letter-spacing:.5px;gap:8px}.section{padding:63px 6%}.intro{grid-template-columns:1fr;gap:24px}h2{font-size:30px}.intro-copy .large-copy{font-size:20px}.intro-copy p{font-size:15px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{padding:27px}.service-card+.service-card{border-left:0;border-top:1px solid var(--line)}.service-card h3{margin-top:18px}.service-foot{align-items:start;flex-direction:column}.project-row{gap:14px;grid-template-columns:35px 1fr;padding:29px 0}.project-row h3{font-size:20px}.project-row p{font-size:14px}.badge{font-size:12px}.steps{gap:28px 0}.steps li{padding-right:15px}.steps li+li{padding-left:18px}.steps h3{font-size:18px}.contact-grid{grid-template-columns:1fr;gap:22px}.contact h2{font-size:38px}.business-info{margin-top:18px}footer{flex-wrap:wrap;padding:30px 6%}footer>a:last-child{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.footer-links{display:flex;align-items:center;gap:26px;font-size:13px;color:#b5c1d0}.footer-links a:hover{color:var(--mint)}.policy-main{max-width:940px;margin:auto;padding:66px 36px 80px}.policy-heading{border-bottom:1px solid var(--line);padding-bottom:29px;margin-bottom:30px}.policy-heading .eyebrow{color:var(--blue)}.policy-heading h1{font-size:clamp(26px,4vw,42px);line-height:1.55;margin:14px 0 18px;overflow-wrap:anywhere}.policy-date{font-size:14px;color:var(--muted);margin:0}.policy-intro{font-size:16px;line-height:2}.policy-section{padding:28px 0;border-bottom:1px solid var(--line)}.policy-section h2{font-size:22px;line-height:1.6;margin:0 0 18px;letter-spacing:0}.policy-section p{line-height:2;margin:0 0 16px}.policy-section p:last-child{margin-bottom:0}.policy-section ul{padding-left:1.4em;margin:0 0 16px}.policy-section li{padding:3px 0;line-height:1.9}.policy-section a{color:#1649d0;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.policy-business{margin:22px 0 0}.policy-business>div{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:15px 0;border-top:1px solid var(--line)}.policy-business dt{font-weight:700}.policy-business dd{margin:0}.policy-small{font-size:14px;color:var(--muted)}.policy-back{margin-top:35px;background:var(--navy);color:#fff}.policy-back:hover{background:#23374d}@media(max-width:650px){.policy-main{padding:43px 6% 55px}.policy-section h2{font-size:20px}.policy-business>div{grid-template-columns:1fr;gap:6px}.footer-links{flex-wrap:wrap;width:100%;gap:14px 22px}}
