:root{--ink:#202832;--navy:#202832;--blue:#3678f6;--soft:#f3f5f8;--muted:#6f7d8f;--line:#dbe1e9;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background-color:#fafbfc;color:var(--ink);background:#fafbfc;font:14px/1.9 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}[hidden]{display:none!important}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650;letter-spacing:.025em}h2{font-size:clamp(30px,3.2vw,44px);line-height:1.6}h3{font-size:22px;line-height:1.6}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.preserve{white-space:pre-line}.muted{color:var(--muted)}.eyebrow{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.15em;color:var(--blue);display:flex;gap:10px;align-items:center}.blue-dot{width:7px;height:7px;background:var(--blue);border-radius:50%}.section-space{padding-block:96px}.header{height:90px;position:sticky;top:0;background:#fafbfced;backdrop-filter:blur(16px);z-index:20;border-bottom:1px solid #dbe1e9}.header-inner{height:100%;width:calc(100% - 80px);max-width:1500px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand img{width:205px;height:auto}.header nav{display:flex;align-items:center;gap:26px;font-size:12px;font-weight:550}.header nav>a{position:relative}.header nav>a:not(.nav-contact):after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--blue);transition:right .2s}.header nav>a:hover:after,.header nav>a[aria-current=page]:after{right:0}.header nav>a[aria-current=page]{color:var(--blue)}.nav-contact{background:var(--navy);color:#fff!important;padding:12px 22px;border-radius:7px;display:flex;gap:25px;align-items:center;transition:background .2s}.nav-contact:hover{background:var(--blue)}.menu-toggle{display:none}.button{background:var(--blue);color:#fff;border:1px solid var(--blue);padding:17px 25px;min-height:57px;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border-radius:7px;font-size:12px;font-weight:550;transition:background .2s,transform .2s}.button:hover{background:#202832;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button-outline{border-color:var(--line);color:var(--navy);background:transparent}.button-outline:hover{background:var(--soft)}.button-white{background:#fff;color:var(--navy);border-color:#fff;flex-shrink:0}.button-white:hover{background:#f3f5f8}.text-link{display:inline-flex;gap:35px;align-items:center;font-size:12px;border-bottom:1px solid #dbe1e9;padding:9px 0}.text-link:hover{color:var(--blue);border-color:var(--blue)}.hero{margin:18px 22px 0;border-radius:25px;background:#f0f3f7;height:650px;max-height:800px;min-height:600px;position:relative;overflow:hidden}.hero-visual{position:absolute;inset:0 0 0 32%;height:100%;pointer-events:none}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:66% 50%}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f0f3f7,transparent 28%)}.hero-content{position:relative;padding-top:110px;z-index:1}.hero h1{font-size:clamp(40px,4.5vw,66px);line-height:1.65;font-weight:650;margin-top:25px;letter-spacing:.015em}.hero h1 span{color:#3678f6}.hero-description{font-size:13px;line-height:2.15;color:#6f7d8f;margin-top:23px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:31px}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;font:9px/1.5 Arial,sans-serif;letter-spacing:.1em;color:#6f7d8f;z-index:1}.hero-bottom a{display:flex;gap:20px}.perspective{padding-block:80px;display:grid;grid-template-columns:.8fr 1.3fr 1.5fr;gap:45px;align-items:center}.perspective h2{font-size:32px}.perspective>p:last-child{font-size:12px;color:var(--muted);line-height:2.15}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}.section-top h2{margin-top:16px}.section-top>div:last-child{max-width:420px}.section-top p.muted{font-size:12px;line-height:2}.section-top .text-link{margin-top:18px}.expertise-section{background:#f3f5f8}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.expertise-item{padding:30px 28px;background:#fff;border:1px solid #dbe1e9;border-radius:13px;display:grid;grid-template-columns:28px 1fr 32px;gap:20px;transition:box-shadow .25s,transform .25s,border-color .25s}.expertise-item:hover{transform:translateY(-3px);box-shadow:0 12px 35px #20283209;border-color:#dbe1e9}.expertise-number{font:12px Arial,sans-serif;color:var(--blue);padding-top:7px}.expertise-category{font:9px Arial,sans-serif;letter-spacing:.11em;color:#6f7d8f}.expertise-item h3{font-size:21px;margin-top:8px}.expertise-item p{font-size:12px;color:var(--muted);line-height:2;margin-top:12px}.round-arrow{width:31px;height:31px;border:1px solid var(--line);border-radius:50%;text-align:center;line-height:29px;margin-top:5px}.expertise-item:hover .round-arrow{background:var(--blue);color:#fff;border-color:var(--blue)}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 26px}.catalog-card{min-width:0}.card-image{position:relative;overflow:hidden;display:block;border-radius:15px;background:var(--soft)}.card-image img{width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;transition:transform .5s}.catalog-card:hover .card-image img{transform:scale(1.035)}.image-arrow{position:absolute;bottom:15px;right:15px;width:34px;height:34px;border-radius:50%;background:#ffffffeb;display:grid;place-items:center;font-size:18px;color:var(--navy)}.card-copy{padding:21px 3px 0}.card-category{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font:9px/1.7 Arial,sans-serif;letter-spacing:.06em;color:var(--blue)}.status-pill{display:inline-block;background:#f3f5f8;color:#6f7d8f;border:1px solid #dbe1e9;border-radius:50px;padding:3px 9px;font-size:9px;letter-spacing:.02em}.card-copy h3{font-size:21px;margin-top:12px}.card-copy>p{color:var(--muted);font-size:12px;line-height:2;margin-top:12px}.card-more{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0 11px;margin-top:9px;font-size:11px}.card-more span{font-size:18px}.card-more:hover{color:var(--blue)}.works-section{background:#f3f5f8}.works-section .card-image{background:#f3f5f8}.about-strip{display:grid;grid-template-columns:1.1fr 1fr;gap:95px;align-items:center}.about-visual{border-radius:20px;overflow:hidden;position:relative;background:#f3f5f8}.about-visual img{width:100%;height:360px;object-fit:cover}.about-visual-label{position:absolute;bottom:25px;left:28px;font:10px Arial,sans-serif;letter-spacing:.14em;color:var(--blue)}.about-strip h2{margin-top:18px}.about-strip p.muted{font-size:13px;margin-top:23px;line-height:2.1}.about-strip .button{margin-top:30px}.cta-section{padding:0 0 70px}.cta-box{border-radius:22px;background:var(--navy);color:#fff;padding:60px 65px;position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:45px}.cta-box .eyebrow{color:#9bbbea}.cta-box h2{margin-top:20px;font-size:39px}.cta-box p:not(.eyebrow){color:#9bbbea;font-size:12px;margin-top:18px}.cta-box>.button{position:relative;z-index:1}.cta-orbit{position:absolute;width:440px;height:440px;border:1px solid #ffffff12;border-radius:50%;right:0;top:-90px;transform:rotate(-25deg)}.cta-orbit:before,.cta-orbit:after{content:"";position:absolute;inset:45px;border:1px solid #ffffff12;border-radius:50%}.cta-orbit:after{inset:100px}.footer{background:#f0f3f7;border-top:1px solid #dbe1e9;padding-top:55px}.footer-top{display:grid;grid-template-columns:1.1fr .9fr 1.1fr;gap:50px;padding-bottom:45px}.footer-brand img{width:190px;height:auto}.footer-brand p{font-size:11px;color:var(--muted);margin-top:18px}.footer-brand>span{display:block;font:9px Arial,sans-serif;letter-spacing:.1em;color:#6f7d8f;margin-top:19px}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:11px 25px;align-content:start;font-size:11px}.footer a:hover{color:var(--blue)}.footer-address{font-size:11px;color:var(--muted)}.footer-address>span{color:var(--ink);font-weight:600}.footer-address p{margin:10px 0;line-height:2}.footer-bottom{display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);padding-block:22px;font-size:10px;color:#6f7d8f}.footer-bottom>small{font-size:9px;margin-right:auto}.back-top{height:32px;width:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:16px}.page-hero{background:#f0f3f7;position:relative;overflow:hidden;padding:33px 0 65px}.breadcrumbs{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:10px;color:#6f7d8f;position:relative;z-index:1}.breadcrumbs a:hover{color:var(--blue)}.page-hero .eyebrow{margin-top:49px}.page-hero h1{font-size:clamp(34px,4.1vw,55px);line-height:1.6;margin-top:20px;position:relative;z-index:1}.page-description{margin-top:23px;max-width:680px;color:var(--muted);font-size:13px;position:relative;z-index:1}.page-hero-orbit{position:absolute;width:360px;height:360px;border:1px solid #dbe1e9;border-radius:50%;right:-30px;top:60px}.page-hero-orbit:before,.page-hero-orbit:after{content:"";position:absolute;border:1px solid #dbe1e9;border-radius:50%;inset:45px;transform:translateX(-40px)}.page-hero-orbit:after{inset:90px;transform:translateX(-80px);background:#f3f5f880}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}.filter-button{background:#fff;border:1px solid var(--line);border-radius:30px;font-size:11px;padding:9px 18px;transition:all .2s}.filter-button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.filter-button:hover{border-color:var(--blue)}.service-list{row-gap:50px}.service-note{font-size:10px;color:#6f7d8f;line-height:2;padding:22px 25px;background:#f0f3f7;border-radius:9px;margin-top:38px}.process-block{padding-top:70px;margin-top:70px;border-top:1px solid var(--line)}.process-block h2{font-size:35px;margin-top:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:38px}.steps article{border-top:1px solid var(--line);padding-top:23px}.steps article>span{font:12px Arial,sans-serif;color:var(--blue)}.steps h3{font-size:20px;margin-top:15px}.steps p{font-size:12px;color:var(--muted);margin-top:13px}.detail-hero{padding-top:30px}.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:55px}.detail-heading h1{font-size:clamp(32px,4vw,52px);margin-top:18px;line-height:1.5}.detail-description{color:var(--muted);max-width:800px;font-size:14px;margin-top:24px}.detail-cover{width:100%;max-height:600px;object-fit:cover;border-radius:20px;margin-top:42px;background:var(--soft)}.detail-content{display:grid;grid-template-columns:1fr 2.1fr;gap:80px;padding-block:70px 100px}.detail-content aside>p{font-size:12px;color:var(--muted);margin-top:20px}.detail-content aside .text-link{margin-top:30px}.detail-content>div>section+section{margin-top:45px}.detail-content h2{font-size:29px;margin-top:12px}.detail-content h2+p{font-size:14px;color:var(--muted);margin-top:22px;line-height:2.2}.detail-content .button{margin-top:30px}.feature-list{list-style:none;padding:0;margin-top:25px}.feature-list li{border-bottom:1px solid var(--line);padding:14px 0 14px 28px;position:relative;font-size:14px}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--blue)}.about-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.about-intro h2{margin-top:20px}.about-intro>div>p{line-height:2.2;font-size:14px}.about-intro .muted{margin-top:22px}.values-section{background:var(--soft);padding:55px 0}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.values-grid article>span{font:11px Arial,sans-serif;color:var(--blue)}.values-grid h3{font-size:21px;margin-top:20px}.values-grid p{font-size:12px;color:var(--muted);margin-top:16px}.company{display:grid;grid-template-columns:1fr 1.6fr;gap:90px}.company h2{margin-top:16px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:23px 0;border-bottom:1px solid var(--line);font-size:13px}.company dt{color:var(--muted)}.company dd{margin:0}.company dd a:hover{color:var(--blue)}.projects-preview{background:#f3f5f8;margin-bottom:80px}.contact-section{display:grid;grid-template-columns:1fr 1.35fr;gap:75px}.contact-copy h2{font-size:37px;margin-top:20px}.contact-copy p.muted{font-size:13px;margin-top:23px}.contact-direct{margin-top:38px;padding-top:25px;border-top:1px solid var(--line);display:grid;gap:10px}.contact-direct span{font-size:10px;color:var(--muted)}.contact-direct a{font-size:20px;letter-spacing:.02em}.contact-direct a:last-child{font-size:15px}#contact-form{padding:32px 35px;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 50px #20283205}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}#contact-form label{display:block;font-size:12px;margin-bottom:22px}#contact-form label small{font-size:9px;color:#6f7d8f;margin-left:10px;font-weight:400}#contact-form label .required{color:var(--blue)}#contact-form input:not([type=checkbox]),#contact-form select,#contact-form textarea{display:block;width:100%;border:1px solid #dbe1e9;background:#fafbfc;border-radius:6px;padding:10px 12px;margin-top:9px;font-size:13px}#contact-form textarea{resize:vertical}#contact-form textarea::placeholder{color:#6f7d8f;font-size:11px}.consent-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.consent-row input{accent-color:var(--blue);width:15px;height:15px;margin:0}.consent-row label{font-size:10px!important;margin:0!important}.consent-row a{font-size:10px;color:var(--blue);margin-left:24px;text-decoration:underline}.submit{width:100%}.submit:disabled{opacity:.6;cursor:wait}#form-status{font-size:12px;color:#b44444;margin-top:15px}#form-status.success{color:#3678f6}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.faq-section{background:#f3f5f8}.faq-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:70px}.faq-layout h2{font-size:29px;margin-top:20px}.faq-layout details{border-bottom:1px solid var(--line)}.faq-layout summary{list-style:none;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:13px;cursor:pointer;padding:22px 0}.faq-layout summary::-webkit-details-marker{display:none}.faq-layout summary span{font-size:23px;color:var(--blue);transition:transform .2s}.faq-layout details[open] summary span{transform:rotate(45deg)}.faq-layout details>p{font-size:12px;color:var(--muted);padding:0 25px 25px 0}.policy-content{max-width:850px}.policy-content h2{font-size:28px;margin-bottom:35px}.policy-content .preserve{font-size:14px;line-height:2.4;color:var(--muted)}.policy-company{border-top:1px solid var(--line);padding-top:30px;margin-top:40px;font-size:13px}.policy-company a{color:var(--blue)}.notfound{padding-block:140px}.notfound h1{font-size:38px;margin-top:20px}.notfound p:not(.eyebrow){margin-top:20px;color:var(--muted)}.notfound .button{margin-top:30px}.empty-state{padding:50px 25px;background:var(--soft);grid-column:1/-1;color:var(--muted);border-radius:15px}
@media(min-width:1600px){.hero{height:720px}.hero-content{padding-top:135px}}
@media(max-width:1150px){.header-inner{width:calc(100% - 50px)}.header nav{gap:19px;font-size:11px}.brand img{width:178px}.nav-contact{padding:11px 17px;gap:20px}.wrap{width:calc(100% - 70px)}.hero h1{font-size:49px}.hero-visual{left:25%;right:-15%}.hero-content{padding-top:110px}.hero-description{font-size:12px}.perspective{gap:28px}.perspective h2{font-size:28px}.expertise-item{padding:25px 22px;gap:13px}.expertise-item h3{font-size:19px}.card-copy h3{font-size:19px}.about-strip{gap:50px}.footer-top{gap:28px}.contact-section{gap:45px}}
@media(max-width:1000px){.header{height:78px}.header-inner{width:calc(100% - 40px)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:transparent;border:0;padding:10px 0 10px 10px}.menu-toggle span{width:25px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;left:0;right:0;top:77px;background:#fff;border-bottom:1px solid var(--line);padding:20px}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav>a{padding:13px 5px}.header nav>a:after{display:none}.header nav .nav-contact{margin-top:13px;padding:14px 18px;justify-content:space-between}.hero{margin:12px 14px 0}.hero h1{font-size:43px}.hero-actions{gap:22px}.hero .button{gap:25px}.hero .eyebrow{font-size:9px}.catalog-grid{gap:32px 20px}.card-category{font-size:8px}.status-pill{font-size:8px}.card-copy>p{font-size:11px}.section-top{gap:35px}.section-top h2{font-size:36px}.about-strip{gap:35px}.contact-section{grid-template-columns:1fr 1.3fr;gap:30px}#contact-form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.section-space{padding-block:58px}.hero{height:760px;min-height:0;max-height:none;border-radius:17px;margin:8px 10px 0}.hero-content{padding-top:46px;width:calc(100% - 36px)}.hero h1{font-size:clamp(29px,7.5vw,45px);line-height:1.7;margin-top:22px}.hero .eyebrow{font-size:8px;letter-spacing:.1em;gap:8px}.hero-description{font-size:11px;line-height:2.05;margin-top:20px}.hero-actions{gap:18px;margin-top:26px;flex-wrap:wrap}.hero .button{min-height:49px;padding:12px 15px;font-size:10px;gap:16px}.hero .text-link{font-size:10px;gap:14px}.hero-visual{inset:auto -30% 35px 0;height:380px;opacity:.95}.hero-visual img{object-position:70% 60%}.hero-visual:after{background:linear-gradient(180deg,#f0f3f7,transparent 27%)}.hero-bottom{bottom:20px;font-size:7px;letter-spacing:.04em;gap:20px;width:calc(100% - 36px)}.hero-bottom>a{font-size:0;gap:0}.hero-bottom>a>span{font-size:16px}.perspective{padding-block:48px;display:block}.perspective h2{font-size:30px;margin-top:19px}.perspective>p:last-child{font-size:12px;margin-top:22px;line-height:2.2}.section-top{display:block;margin-bottom:29px}.section-top h2{font-size:31px;margin-top:17px}.section-top>div:last-child{margin-top:20px;max-width:none}.section-top p.muted{font-size:12px}.section-top .text-link{margin-top:10px}.expertise-grid{grid-template-columns:1fr;gap:12px}.expertise-item{padding:24px 18px;grid-template-columns:22px 1fr 26px;gap:13px}.expertise-number{font-size:10px}.expertise-category{font-size:8px}.expertise-item h3{font-size:19px;margin-top:7px}.expertise-item p{font-size:11px;margin-top:10px}.round-arrow{width:27px;height:27px;line-height:25px;font-size:13px}.catalog-grid{grid-template-columns:1fr;gap:38px}.card-image{border-radius:13px}.card-image img{aspect-ratio:1.75}.card-copy{padding:18px 2px 0}.card-copy h3{font-size:21px}.card-category{font-size:9px}.status-pill{font-size:9px}.card-copy>p{font-size:12px}.card-more{padding-block:13px 10px;margin-top:6px}.about-strip{grid-template-columns:1fr;gap:32px}.about-visual img{height:260px}.about-strip h2{font-size:31px}.about-strip p.muted{font-size:12px;margin-top:20px}.about-strip .button{margin-top:24px}.cta-section{padding-bottom:45px}.cta-box{padding:35px 27px;border-radius:16px;display:block}.cta-box h2{font-size:29px;margin-top:18px}.cta-box p:not(.eyebrow){font-size:11px;max-width:260px}.cta-box>.button{margin-top:28px;gap:70px}.cta-orbit{right:-200px;top:-15px;width:380px;height:380px}.footer{padding-top:40px}.footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.footer-brand img{width:180px}.footer-brand p{margin-top:13px}.footer-brand>span{margin-top:15px}.footer nav{max-width:320px;gap:14px 30px}.footer-address{font-size:11px}.footer-address p{max-width:300px}.footer-bottom{gap:12px;font-size:9px;padding-block:18px}.footer-bottom>small{font-size:8px}.back-top{width:28px;height:28px}.page-hero{padding:23px 0 40px}.breadcrumbs{font-size:9px;gap:9px}.page-hero .eyebrow{margin-top:36px}.page-hero h1{font-size:32px;line-height:1.7;margin-top:18px}.page-description{font-size:11px;line-height:2.1;margin-top:20px}.page-hero-orbit{width:260px;height:260px;right:-160px;top:75px;opacity:.7}.filter-bar{gap:8px;margin-bottom:28px}.filter-button{font-size:9px;padding:8px 13px}.collection-section{padding-top:35px}.service-note{font-size:9px;padding:18px;margin-top:28px}.process-block{padding-top:40px;margin-top:45px}.process-block h2{font-size:28px}.steps{grid-template-columns:1fr;gap:22px;margin-top:30px}.steps article{padding-top:20px;display:grid;grid-template-columns:30px 1fr;gap:3px 12px}.steps article>span{font-size:10px;padding-top:5px}.steps h3{font-size:19px;margin:0}.steps p{grid-column:2;margin-top:4px;font-size:12px}.detail-hero{padding-top:23px}.detail-heading{margin-top:35px;display:block}.detail-heading h1{font-size:30px;margin-top:15px}.detail-heading>.status-pill{margin-top:20px}.detail-description{font-size:12px;line-height:2.1;margin-top:20px}.detail-cover{border-radius:13px;margin-top:28px;min-height:180px;max-height:320px}.detail-content{grid-template-columns:1fr;gap:35px;padding-block:35px 60px}.detail-content aside{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.detail-content aside .eyebrow{font-size:9px}.detail-content aside>p{font-size:10px;margin-top:0}.detail-content aside .text-link{margin-top:0;font-size:10px}.detail-content h2{font-size:26px}.detail-content h2+p{font-size:12px;line-height:2.3;margin-top:18px}.detail-content>div>section+section{margin-top:32px}.feature-list li{font-size:12px;padding-block:12px}.detail-content .button{font-size:11px;gap:20px}.about-intro{grid-template-columns:1fr;gap:25px}.about-intro h2{font-size:30px}.about-intro>div>p{font-size:12px}.values-section{padding-block:40px}.values-grid{grid-template-columns:1fr;gap:30px}.values-grid h3{font-size:21px;margin-top:12px}.values-grid p{margin-top:10px}.company{grid-template-columns:1fr;gap:25px}.company h2{font-size:29px}.company dl>div{grid-template-columns:70px 1fr;gap:20px;font-size:12px;padding-block:19px}.projects-preview{margin-bottom:45px}.contact-section{grid-template-columns:1fr;gap:35px}.contact-copy h2{font-size:30px;margin-top:16px}.contact-copy p.muted{font-size:12px;margin-top:16px}.contact-direct{margin-top:25px;gap:7px}.contact-direct a{font-size:21px}.contact-direct a:last-child{font-size:14px}#contact-form{padding:24px 20px;border-radius:13px}#contact-form label{font-size:11px;margin-bottom:21px}#contact-form input:not([type=checkbox]),#contact-form select,#contact-form textarea{font-size:16px;padding:10px}.consent-row label{max-width:240px}.consent-row a{margin-left:25px;font-size:9px}.submit{font-size:11px;gap:20px}.faq-layout{grid-template-columns:1fr;gap:26px}.faq-layout h2{font-size:27px}.faq-layout summary{font-size:12px;padding-block:20px}.faq-layout details>p{font-size:11px}.policy-content h2{font-size:24px}.policy-content .preserve{font-size:12px;line-height:2.3}.policy-company{font-size:11px}.notfound{padding-block:90px}.notfound h1{font-size:29px}.notfound p:not(.eyebrow){font-size:12px}}
@media(max-width:350px){.hero h1{font-size:27px}.hero .eyebrow{font-size:7px}.hero .hero-actions{gap:10px}.hero .text-link{font-size:9px}.hero .button{font-size:9px;gap:12px}.wrap{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Final art direction: warm white, forest green and editorial photography. */
h1,h2{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;font-weight:500;letter-spacing:.045em}.header{background:#fafbfcf2}.hero{margin:0;border-radius:0;height:700px;background:#f0f3f7}.hero-visual{left:53%;top:24px;right:24px;bottom:24px;height:auto;border-radius:5px;overflow:hidden}.hero-visual:after{display:none}.hero-visual img{object-position:center;filter:saturate(.82)}.hero-content{padding-top:115px}.hero h1{max-width:51%;font-size:clamp(38px,4vw,58px);line-height:1.75;letter-spacing:.055em;font-weight:500}.hero h1 span{color:#3678f6}.hero-description{max-width:47%;line-height:2.25}.hero .eyebrow{font-weight:500;letter-spacing:.18em}.hero-bottom{bottom:28px}.hero-bottom>a{color:#fafbfc;background:#20283266;padding:5px 10px}.hero .button,.button,.nav-contact{border-radius:3px}.catalog-card .card-image{border-radius:5px}.expertise-item{border-radius:5px;background:#fafbfc}.expertise-section{background:#f0f3f7}.expertise-item h3{font-size:20px}.about-visual{border-radius:4px}.cta-box{border-radius:5px}.cta-box h2{font-size:38px}.page-hero-orbit{opacity:.5}.page-hero{background:#f0f3f7}.detail-cover{border-radius:5px}.footer{background:#f3f5f8}.status-pill{background:#f3f5f8;color:#6f7d8f;border-color:#dbe1e9}.filter-button.active{background:#202832}.section-top h2{font-weight:500}.card-category{color:#6f7d8f}.card-copy h3{font-size:20px}.catalog-grid{row-gap:42px}.card-more{border-color:#dbe1e9}.service-note{background:#f3f5f8}.contact-section #contact-form{background:#fafbfc;border-radius:6px}.page-hero .eyebrow{letter-spacing:.18em}.cta-section{padding-top:5px}
@media(max-width:1150px){.hero h1{font-size:43px}.hero-visual{left:54%;right:20px}.hero-description{font-size:11px}.hero-content{padding-top:115px}.hero-actions{gap:20px}.hero .button{padding:15px 18px;font-size:10px;gap:20px}.hero .text-link{font-size:10px;gap:16px}}
@media(max-width:1000px){.hero h1{font-size:clamp(32px,4.4vw,43px)}.hero-visual{left:55%}.hero .eyebrow{font-size:8px;letter-spacing:.1em}.hero-description{font-size:10px}.hero-actions{gap:16px;max-width:50%;flex-wrap:wrap}.hero .button{font-size:10px}.hero .text-link{font-size:10px}}
@media(max-width:760px){.hero{height:850px;margin:0;border-radius:0}.hero-content{padding-top:43px}.hero h1{max-width:none;font-size:clamp(29px,8vw,43px);line-height:1.8;margin-top:21px}.hero-description{max-width:none;font-size:11px;margin-top:20px}.hero .eyebrow{font-size:7px;letter-spacing:.13em}.hero-actions{max-width:none;gap:20px;margin-top:23px}.hero .button{min-height:48px;padding:12px 15px;font-size:10px;gap:20px}.hero-visual{inset:400px 20px 58px;height:auto;border-radius:3px}.hero-visual img{object-position:52% center}.hero-bottom{bottom:20px}.hero-bottom>a{background:transparent;color:var(--ink);padding:0}.expertise-item h3{font-size:19px}.about-visual{border-radius:3px}.cta-box{padding:34px 25px;border-radius:4px}.cta-box h2{font-size:29px}.card-copy h3{font-size:21px}.page-hero h1{font-size:31px}.detail-cover{border-radius:4px}}
/* Technology and media direction: crisp type, production imagery, precise grid. */
h1,h2{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:650;letter-spacing:.015em}.hero{background-color:#f0f3f7;background-image:radial-gradient(#3678f614 .7px,transparent .7px);background-size:24px 24px}.hero h1{font-weight:650;font-size:clamp(42px,4.8vw,65px);line-height:1.55;letter-spacing:.015em;margin-top:23px}.hero h1 span{color:#3678f6}.hero-content{padding-top:105px}.hero-description{font-size:13px;line-height:2.1;margin-top:25px;color:#6f7d8f}.hero .eyebrow{font-size:9px;font-weight:600;letter-spacing:.13em}.hero-visual{left:52%;border:1px solid #20283222;box-shadow:0 16px 45px #2028320a}.hero-visual img{filter:none}.hero-capabilities{display:flex;flex-wrap:wrap;gap:19px;margin-top:32px;max-width:47%;font:500 8px/1.5 Arial,sans-serif;letter-spacing:.08em;color:#6f7d8f}.hero-capabilities span{display:flex;gap:8px;align-items:center}.hero-capabilities span:before{content:"";width:4px;height:4px;border:1px solid #6f7d8f}.section-top h2{font-weight:600}.card-copy h3{letter-spacing:.005em}.page-hero h1{font-weight:600}.hero-bottom>a{background:#202832b3;color:#fff}.expertise-item{background:#fff}.page-hero-orbit{border-radius:8px;transform:rotate(25deg)}.page-hero-orbit:before,.page-hero-orbit:after{border-radius:8px}
@media(max-width:1150px){.hero h1{font-size:48px}.hero-content{padding-top:108px}.hero-description{font-size:11px}.hero-capabilities{font-size:7px;gap:12px}}
@media(max-width:1000px){.hero h1{font-size:43px}.hero .eyebrow{font-size:7px}.hero-capabilities{max-width:48%;font-size:7px;gap:10px}.hero-capabilities span{gap:5px}}
@media(max-width:760px){.hero{height:850px}.hero-content{padding-top:43px}.hero h1{font-size:clamp(34px,9.4vw,45px);line-height:1.55;max-width:none;margin-top:21px;letter-spacing:.015em}.hero-description{font-size:11px;max-width:none;line-height:2.1;margin-top:20px}.hero .eyebrow{font-size:7px;letter-spacing:.08em}.hero-capabilities{max-width:none;font-size:7px;margin-top:22px;gap:16px}.hero-visual{inset:420px 20px 58px}.hero-bottom>a{background:transparent;color:var(--ink)}.page-hero h1{font-size:31px}.section-top h2{font-size:30px}}
.hero-visual img{object-position:68% center}
/* Alternative 02: dark graphite hero with electric-blue emphasis. */
.hero{background-color:#151d28;background-image:radial-gradient(#7faeff19 .7px,transparent .7px)}.hero h1{color:#f4f7fc}.hero h1 span{color:#83b3ff}.hero-description{color:#a6b7ce}.hero .eyebrow{color:#90b9f7}.hero .blue-dot{background:#8ab8ff}.hero .text-link{color:#d6e1f2;border-color:#475b78}.hero-capabilities{color:#9aafcc}.hero-capabilities span:before{border-color:#7f9bc2}.hero-bottom{color:#8ca3c4}.hero-visual{border-color:#3b4d66}.hero-bottom>a{background:#162137b3;color:#e4edfb}

/* Business imagery: shared across the selected theme and optional previews. */
.expertise-item{padding:0 25px 27px;overflow:hidden;column-gap:17px;row-gap:24px;align-content:start}
.expertise-media{grid-column:1/-1;margin:0 -25px;overflow:hidden;background:var(--navy)}
.expertise-media img{width:100%;height:auto;aspect-ratio:2.25;object-fit:cover;transition:transform .5s}
.expertise-item:hover .expertise-media img{transform:scale(1.035)}
.about-visual-label{color:#fff;background:#151d28d9;padding:8px 12px;backdrop-filter:blur(8px)}
.company-cover{margin-top:50px;overflow:hidden;border-radius:5px}
.company-cover img{width:100%;height:400px;object-fit:cover;object-position:center 58%}
.contact-visual{width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;border-radius:5px;margin-bottom:34px}
@media(max-width:760px){.expertise-item{padding:0 18px 23px;row-gap:20px;column-gap:13px}.expertise-media{margin:0 -18px}.expertise-media img{aspect-ratio:1.85}.company-cover{margin-top:28px}.company-cover img{height:230px}.contact-visual{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.expertise-media img{transition:none}}
