@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css");@import url("https://fonts.googleapis.com/css2?family=Ubuntu+Mono:ital&family=Noto+Sans+JP");:root{--brand-primary:#0068b7;--brand-primary-strong:#00539c;--brand-navy:#003a78;--brand-sky:#eef6ff;--brand-border:#d4e4f7;--text-default:#1d2b3a;--text-soft:#58708a;--bs-primary:var(--brand-primary);--bs-primary-rgb:0,104,183}body{font-family:Ubuntu Mono,Noto Sans JP,monospace;margin:0;padding:0;line-height:1.6;font-size:16px;color:var(--text-default);background-color:#f8fbff}h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:600;margin-bottom:1rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{line-height:1.6}ol,p,ul{margin-bottom:1rem}ol,ul{padding-left:1.5rem}li{margin-bottom:.5rem}table{font-size:1rem}table th{font-weight:600;color:var(--text-soft);font-size:.95rem}table td{color:var(--text-default);font-size:.95rem;line-height:1.6}.card{border-radius:12px;border:1px solid var(--brand-border)!important;box-shadow:0 2px 8px rgba(0,0,0,.06)!important;background-color:#fff}.card-body{padding:2rem}.form-label{font-weight:500;margin-bottom:.5rem;font-size:.95rem;color:var(--text-soft)}.form-control,.form-select{font-size:1rem;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--brand-border);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus,.form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 .2rem rgba(0,104,183,.18)}.py-4{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.my-4{margin-top:2.5rem!important;margin-bottom:2.5rem!important}.my-5{margin-top:4rem!important;margin-bottom:4rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.navbar{transition:background-color .3s ease,backdrop-filter .3s ease}.navbar.scrolled{background-color:hsla(0,0%,100%,.8)!important;backdrop-filter:blur(8px)}.nav-link{color:#47627d!important;opacity:.65;transition:all .3s ease}.nav-link:hover{opacity:1}.nav-link.active,.nav-link:hover{color:var(--brand-primary)!important}.nav-link.active{opacity:1!important}.hero-section{background:linear-gradient(120deg,#0a7bcc 0,var(--brand-navy) 100%);color:#fff;padding:120px 0;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="10" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="10" cy="60" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="90" cy="40" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3}.hero-section>*{position:relative;z-index:1}.service-card{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;border-radius:15px;background:#fff;border:1px solid var(--brand-border)!important}.service-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a82d6 0,var(--brand-primary-strong) 100%);border-radius:15px;color:#fff!important;flex-shrink:0}.project-card{transition:transform .3s ease,box-shadow .3s ease;border-radius:15px;overflow:hidden}.project-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.15)!important}.project-image{height:200px;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-image{transform:scale(1.05)}.team-card{transition:transform .3s ease,box-shadow .3s ease;border-radius:15px}.team-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.1)!important}.team-image{object-fit:cover;transition:transform .3s ease}.team-card:hover .team-image{transform:scale(1.1)}.badge{font-size:.75rem;padding:.5rem .75rem;border-radius:20px}.badge,.btn{font-weight:500}.btn{border-radius:25px;transition:all .3s ease;text-decoration:none}.btn-primary{background:linear-gradient(135deg,#0a82d6 0,var(--brand-primary-strong) 100%);border:1px solid transparent;box-shadow:0 4px 15px rgba(0,104,183,.28)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,104,183,.38);background:linear-gradient(135deg,var(--brand-primary-strong) 0,#0a82d6 100%)}.btn-outline-primary{border:2px solid var(--brand-primary);color:var(--brand-primary);background:transparent}.btn-outline-primary:hover{transform:translateY(-2px);background:linear-gradient(135deg,#0a82d6 0,var(--brand-primary-strong) 100%);border-color:transparent;color:#fff;box-shadow:0 8px 25px rgba(0,104,183,.3)}.btn-outline-light:hover{transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out}@media (max-width:768px){body{font-size:15px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}.hero-section{padding:80px 0}.display-3{font-size:2.5rem}.display-5{font-size:2rem}.service-icon{width:50px;height:50px}.container{padding-left:1.5rem!important;padding-right:1.5rem!important}.row{margin-left:-.75rem!important;margin-right:-.75rem!important}.col,[class*=col-]{padding-left:.75rem!important;padding-right:.75rem!important}.card-body{padding:1.5rem}table td,table th{font-size:.9rem;padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}}@media (max-width:576px){body{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.hero-section{padding:60px 0}.display-3{font-size:2rem}.container{padding-left:1rem!important;padding-right:1rem!important}.row{margin-left:-.5rem!important;margin-right:-.5rem!important}.col,[class*=col-]{padding-left:.5rem!important;padding-right:.5rem!important}.card-body{padding:1.25rem}table td,table th{font-size:.85rem;padding-top:.75rem!important;padding-bottom:.75rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.mb-4{margin-bottom:1rem!important}.mb-5{margin-bottom:2rem!important}}.py-5{padding-top:4rem!important;padding-bottom:4rem!important}section{margin-bottom:3rem}section:last-child{margin-bottom:0}.text-muted{color:var(--text-soft)!important;font-size:.9rem}.lead{font-size:1.25rem;font-weight:300;line-height:1.6}.member-interview-visual{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.1)}.member-interview-visual img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.member-interview-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,24,48,.72),rgba(10,24,48,.52) 36%,rgba(10,24,48,.18) 62%,rgba(10,24,48,.05))}.member-interview-overlay{position:absolute;top:0;left:0;z-index:2;width:min(52%,620px);height:100%;padding:2.5rem;display:flex;flex-direction:column;justify-content:center;color:#fff}.member-interview-label{display:inline-block;width:fit-content;border-bottom:3px solid hsla(0,0%,100%,.55);padding-bottom:.4rem;letter-spacing:.08em;font-size:.92rem;font-weight:700}.member-interview-title{font-size:clamp(1.6rem,3vw,2.8rem);line-height:1.25;font-weight:700;color:#fff}.member-interview-copy{font-size:1.05rem;line-height:1.8;color:hsla(0,0%,100%,.92);max-width:32ch}.member-interview-meta{margin-top:auto}.member-interview-role{display:inline-block;background:rgba(24,111,188,.9);color:#fff;padding:.35rem .85rem;border-radius:6px;font-size:.9rem;font-weight:700}.member-interview-name{margin-top:.75rem;font-size:1.6rem;font-weight:700;color:#fff}@media (max-width:768px){.lead{font-size:1.1rem}.home-hero-illustration{margin-top:1rem}.member-interview-overlay{width:100%;padding:1.4rem;justify-content:flex-end}.member-interview-visual:after{background:linear-gradient(180deg,rgba(10,24,48,.08),rgba(10,24,48,.4) 38%,rgba(10,24,48,.78))}.member-interview-copy{font-size:.95rem;line-height:1.6}.member-interview-name{font-size:1.25rem}.text-muted{font-size:.85rem}}@media (max-width:576px){.lead{font-size:1rem}.home-hero-illustration{border-radius:16px}}.shadow-sm{box-shadow:0 2px 8px rgba(0,0,0,.06)!important}input::placeholder,textarea::placeholder{color:#adb5bd!important;opacity:.6!important}.text-primary{color:var(--brand-primary)!important}.top-hero{z-index:0}.top-hero:before{content:"";background:url(/top.jpg) no-repeat 50%;background-size:cover;-webkit-filter:blur(3px);-moz-filter:blur(3px);-o-filter:blur(3px);-ms-filter:blur(3px);filter:blur(3px);position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.top-hero.about-page:before{background-image:url(/about.jpg)}.top-hero.careers-page:before{background-image:url(/careers.jpg)}.top-hero.contact-page:before{background-image:url(/contact.jpg)}.home-hero{background:linear-gradient(135deg,#0b5fa8,#063b78 58%,#0b3156)}.home-hero:before{background:radial-gradient(circle at 16% 20%,rgba(180,224,255,.28) 0,rgba(180,224,255,0) 34%),radial-gradient(circle at 84% 14%,rgba(118,193,255,.24) 0,rgba(118,193,255,0) 28%),linear-gradient(150deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 55%);filter:none}.home-hero-illustration img,.home-hero-illustration svg{width:100%;height:auto;display:block;border-radius:16px}@keyframes floatingHero{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.bg-light{background-color:var(--brand-sky)!important}.main-bg{background:linear-gradient(140deg,#e6f1ff,#f5f9ff 55%,#fff)}.footer-shell{background:linear-gradient(160deg,#082846,#003a78);color:#f5f9ff}.footer-muted{color:rgba(245,249,255,.82)}.footer-link{color:rgba(245,249,255,.88);transition:color .2s ease,opacity .2s ease}.footer-link:hover{color:#b6dcff;opacity:1}