:root{  --teal: #00b0c0;--teal-600: #0497a6;--teal-700: #097c89;--teal-050: #e6f7f9;--teal-tint: color-mix(in srgb,var(--teal) 10%,#fff);  --ink: #0f242a;  --body: #41525a;  --muted: #6d7f86;  --bg: #ffffff;--band: #f1f6f7;  --band-2: #e9f1f2;--line: #e0e8ea;--line-2: #d2dee0;--dark: #082025;  --dark-2: #0c2a30;  --f-head: "Plus Jakarta Sans","Noto Sans JP",system-ui,sans-serif;--f-body: "Plus Jakarta Sans","Noto Sans JP",system-ui,sans-serif;--f-mono: "IBM Plex Mono",ui-monospace,monospace;  --maxw: 1240px;--pad: clamp(18px,4vw,56px);--radius: 12px;--radius-lg: 20px;--shadow-sm: 0 2px 10px rgba(8,32,37,0.06);--shadow: 0 18px 50px -24px rgba(8,32,37,0.28);--shadow-card: 0 10px 36px -20px rgba(8,32,37,0.34);--ease: cubic-bezier(0.22,1,0.36,1);}*,*::before,*::after{box-sizing: border-box;}*{margin: 0;padding: 0;}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: 120px;}body{font-family: var(--f-body);background: var(--bg);color: var(--body);font-size: 17px;line-height: 1.6;-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;overflow-x: hidden;}img,svg{display: block;max-width: 100%;}a{color: inherit;text-decoration: none;}button{font: inherit;color: inherit;background: none;border: 0;cursor: pointer;}::selection{background: var(--teal);color: #fff;}:lang(ja){line-height: 1.8;}h1,h2,h3,h4{font-family: var(--f-head);color: var(--ink);font-weight: 700;line-height: 1.12;letter-spacing: -0.015em;text-wrap: balance;}[lang="ja"] h1,[lang="ja"] h2,[lang="ja"] h3{letter-spacing: 0;line-height: 1.3;}.container{max-width: var(--maxw);margin: 0 auto;padding-inline: var(--pad);}.section{padding-block: clamp(54px,7vw,100px);}.band{background: var(--band);}.dark{background: var(--dark);color: #c6d6d9;}.dark h1,.dark h2,.dark h3,.dark h4{color: #fff;}.eyebrow{font-family: var(--f-mono);font-size: 12.5px;font-weight: 500;letter-spacing: 0.16em;text-transform: uppercase;color: var(--teal-700);display: inline-flex;align-items: center;gap: 10px;}.dark .eyebrow{color: var(--teal);}.eyebrow.center{justify-content: center;}.lead{font-size: clamp(17px,1.9vw,20px);color: var(--body);line-height: 1.6;text-wrap: pretty;}.dark .lead{color: #aebfc3;}.mono{font-family: var(--f-mono);}.teal{color: var(--teal);}  .btn{display: inline-flex;align-items: center;justify-content: center;gap: 10px;padding: 15px 30px;border-radius: 100px;font-family: var(--f-head);font-weight: 600;font-size: 15px;letter-spacing: 0.01em;border: 2px solid transparent;transition: all 0.28s var(--ease);white-space: nowrap;cursor: pointer;}.btn .ar{transition: transform 0.28s var(--ease);}.btn:hover .ar{transform: translateX(4px);}.btn-teal{background: var(--teal);color: #fff;border-color: var(--teal);}.btn-teal:hover{background: var(--teal-600);border-color: var(--teal-600);box-shadow: 0 14px 30px -12px var(--teal);transform: translateY(-2px);}.btn-outline{border-color: var(--line-2);color: var(--ink);}.btn-outline:hover{border-color: var(--teal);color: var(--teal);}.btn-outline-light{border-color: rgba(255,255,255,0.5);color: #fff;}.btn-outline-light:hover{border-color: var(--teal);background: var(--teal);color: #fff;}.btn-sm{padding: 11px 22px;font-size: 14px;}.text-link{font-family: var(--f-head);font-weight: 600;font-size: 15px;color: var(--teal-700);display: inline-flex;align-items: center;gap: 7px;transition: gap 0.25s var(--ease),color 0.25s;}.text-link:hover{gap: 12px;color: var(--teal);}.dark .text-link{color: var(--teal);}  .topbar{background: var(--dark);color: #9fb4b8;font-size: 13px;}.topbar-inner{max-width: var(--maxw);margin: 0 auto;padding: 8px var(--pad);display: flex;align-items: center;gap: 18px;}.topbar a{color: #cfe0e3;transition: color 0.2s;}.topbar a:hover{color: var(--teal);}.topbar .tb-talk{font-weight: 600;color: var(--teal);font-family: var(--f-mono);letter-spacing: 0.04em;white-space: nowrap;}.topbar .tb-phones{display: flex;gap: 16px;align-items: center;}.topbar .tb-phones a{display: inline-flex;align-items: center;gap: 6px;}.topbar .tb-right{margin-left: auto;display: flex;align-items: center;gap: 16px;}.lang-switch{display: inline-flex;border: 1px solid rgba(255,255,255,0.18);border-radius: 7px;overflow: hidden;}.lang-switch button{font-family: var(--f-mono);font-size: 11px;font-weight: 500;letter-spacing: 0.03em;padding: 5px 9px;color: #9fb4b8;transition: all 0.2s;}.lang-switch button + button{border-left: 1px solid rgba(255,255,255,0.18);}.lang-switch button.active{background: var(--teal);color: #fff;}.lang-switch button:not(.active):hover{color: #fff;}  .site-header{position: sticky;top: 0;z-index: 90;background: rgba(255,255,255,0.92);backdrop-filter: blur(12px);border-bottom: 1px solid var(--line);transition: box-shadow 0.3s;}.site-header.scrolled{box-shadow: var(--shadow-sm);}.header-inner{max-width: var(--maxw);margin: 0 auto;padding: 0 var(--pad);height: 76px;display: flex;align-items: center;gap: 26px;}.logo{display: flex;align-items: center;gap: 11px;flex: none;}.logo .logo-mark{width: auto;height: 34px;flex: none;}.logo .logo-text{font-family: var(--f-head);font-weight: 800;font-size: 21px;letter-spacing: -0.03em;color: var(--ink);}.logo .logo-text b{color: var(--teal);font-weight: 800;}.logo .logo-sub{display: block;font-family: var(--f-mono);font-size: 8.5px;letter-spacing: 0.18em;color: var(--muted);text-transform: uppercase;margin-top: 1px;font-weight: 500;}.main-nav{display: flex;align-items: center;gap: 2px;margin-left: 8px;}.main-nav > a{font-family: var(--f-head);font-weight: 600;font-size: 15px;color: var(--ink);padding: 10px 15px;border-radius: 8px;transition: color 0.2s,background 0.2s;position: relative;}.main-nav > a:hover{color: var(--teal-700);background: var(--teal-050);}.main-nav > a.active{color: var(--teal-700);background: var(--teal-050);}.mobile-nav a.active{color: var(--teal);}.site-footer a.active{color: var(--teal);}.header-cta{margin-left: auto;display: flex;align-items: center;gap: 12px;}.menu-btn{display: none;width: 44px;height: 44px;border-radius: 10px;border: 1px solid var(--line-2);place-items: center;color: var(--ink);}.mobile-nav{position: fixed;inset: 0;z-index: 200;background: #fff;padding: 88px var(--pad) 40px;transform: translateY(-100%);opacity: 0;pointer-events: none;transition: transform 0.5s var(--ease),opacity 0.4s;overflow-y: auto;}.mobile-nav.open{transform: translateY(0);opacity: 1;pointer-events: auto;}.mobile-nav a{display: flex;justify-content: space-between;align-items: center;font-family: var(--f-head);font-weight: 700;font-size: 26px;color: var(--ink);padding: 16px 0;border-bottom: 1px solid var(--line);}.mobile-nav a .n{font-family: var(--f-mono);font-size: 13px;color: var(--teal);font-weight: 500;}.mobile-close{position: absolute;top: 22px;right: var(--pad);width: 44px;height: 44px;display: grid;place-items: center;color: var(--ink);}  html{overflow-x: hidden;}.hero{position: relative;background: var(--dark);color: #fff;overflow: hidden;}.hero::before{  content: "";position: absolute;inset: 0;background: radial-gradient(1100px 520px at 78% -8%,rgba(0,176,192,0.34),transparent 60%),radial-gradient(800px 600px at 8% 110%,rgba(0,176,192,0.16),transparent 60%),linear-gradient(180deg,#082025,#0a262c 60%,#082025);}.hero::after{  content: "";position: absolute;inset: 0;opacity: 0.5;background-image: radial-gradient(rgba(255,255,255,0.10) 1px,transparent 1.4px);background-size: 26px 26px;-webkit-mask-image: linear-gradient(180deg,#000 0%,transparent 85%);mask-image: linear-gradient(180deg,#000 0%,transparent 85%);}.hero-inner{position: relative;z-index: 2;max-width: 980px;margin: 0 auto;padding: clamp(70px,11vw,150px) var(--pad) clamp(56px,8vw,110px);text-align: center;}.hero h1{color: #fff;font-size: clamp(26px,6vw,66px);line-height: 1.06;text-transform: uppercase;letter-spacing: -0.01em;font-weight: 800;overflow-wrap: break-word;}.hero h1 .hl{color: var(--teal);}.hero .hero-sub{color: #b9cccf;font-size: clamp(16px,2vw,21px);margin: 24px auto 0;max-width: 60ch;font-weight: 400;}.hero .hero-actions{margin-top: 38px;display: flex;gap: 14px;justify-content: center;flex-wrap: wrap;}.hero .eyebrow{color: var(--teal);justify-content: center;margin-bottom: 22px;}.hero .eyebrow::before,.hero .eyebrow::after{content: "";width: 30px;height: 1px;background: var(--teal);opacity: 0.6;}  .trust-strip{position: relative;z-index: 2;border-top: 1px solid rgba(255,255,255,0.12);background: rgba(0,0,0,0.18);}.trust-strip .ts-inner{max-width: var(--maxw);margin: 0 auto;padding: 18px var(--pad);display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 14px 36px;}.trust-strip .ts-item{display: inline-flex;align-items: center;gap: 10px;font-family: var(--f-mono);font-size: 13px;letter-spacing: 0.04em;color: #cfe0e3;}.trust-strip .ts-item .dot{width: 6px;height: 6px;border-radius: 50%;background: var(--teal);flex: none;}.trust-strip .ts-item b{color: #fff;font-weight: 700;}  .sec-head{text-align: center;max-width: 760px;margin: 0 auto clamp(40px,5vw,64px);}.sec-head h2{font-size: clamp(27px,3.6vw,44px);margin: 14px 0 0;}.sec-head p{margin-top: 18px;}.sec-head .lead{color: var(--muted);}  .feature-row{display: grid;grid-template-columns: 1fr 1fr;gap: clamp(32px,6vw,84px);align-items: center;}.feature-row + .feature-row{margin-top: clamp(48px,7vw,96px);}.feature-row.reverse .feature-media{order: -1;}.feature-list{display: flex;flex-direction: column;gap: 30px;}.feature-item{display: grid;grid-template-columns: auto 1fr;gap: 18px;align-items: start;}.feature-item .ic{width: 46px;height: 46px;border-radius: 11px;background: var(--teal-050);color: var(--teal-700);display: grid;place-items: center;flex: none;transition: all 0.3s var(--ease);border: 1px solid color-mix(in srgb,var(--teal) 22%,#fff);}.feature-item:hover .ic{background: var(--teal);color: #fff;transform: translateY(-2px);}.feature-item h3{font-size: 19.5px;margin-bottom: 6px;}.feature-item p{font-size: 15.5px;color: var(--body);}.feature-item p a,.inline-link{color: var(--teal-700);font-weight: 600;}  .media-stack{position: relative;display: flex;align-items: center;justify-content: center;gap: 18px;}.laptop{width: 100%;max-width: 460px;}.laptop .screen{border: 10px solid #0f242a;border-radius: 14px 14px 0 0;background: #0f242a;overflow: hidden;aspect-ratio: 16/10;box-shadow: var(--shadow-card);}.laptop .screen .fill{width: 100%;height: 100%;}.laptop .screen .fill image-slot{display: block;width: 100%;height: 100%;}.laptop .base{height: 14px;background: linear-gradient(#cfd9db,#aebabd);border-radius: 0 0 12px 12px;margin: 0 auto;width: 116%;max-width: none;transform: translateX(-7%);position: relative;}.laptop .base::after{content: "";position: absolute;top: 0;left: 50%;transform: translateX(-50%);width: 16%;height: 5px;background: #93a1a4;border-radius: 0 0 6px 6px;}  .media-ph{width: 100%;border-radius: var(--radius-lg);border: 1px solid var(--line-2);background: repeating-linear-gradient(135deg,var(--band) 0 12px,var(--band-2) 12px 13px);display: grid;place-items: center;aspect-ratio: 4/3;box-shadow: var(--shadow-card);}.media-ph .ph-label{font-family: var(--f-mono);font-size: 12.5px;color: var(--muted);letter-spacing: 0.05em;text-align: center;padding: 16px;}.media-ph .ph-label .big{display: block;font-size: 30px;color: var(--teal-700);opacity: 0.5;margin-bottom: 10px;}.media-img{width: 100%;border-radius: var(--radius-lg);overflow: hidden;box-shadow: var(--shadow-card);border: 1px solid var(--line);}.media-img img{width: 100%;height: auto;display: block;}  .phone{width: 250px;aspect-ratio: 9/19.2;border-radius: 38px;background: #0f242a;padding: 10px;box-shadow: var(--shadow);flex: none;}.phone .screen{width: 100%;height: 100%;border-radius: 29px;overflow: hidden;position: relative;background: #f1f6f7;}.phone .notch{position: absolute;top: 9px;left: 50%;transform: translateX(-50%);width: 80px;height: 22px;background: #0f242a;border-radius: 100px;z-index: 3;}.phone image-slot{width: 100%;height: 100%;}  .points{display: flex;flex-direction: column;gap: 26px;}.point{display: grid;grid-template-columns: auto 1fr;gap: 18px;}.point .p-ic{width: 46px;height: 46px;border-radius: 11px;background: var(--teal-050);color: var(--teal-700);display: grid;place-items: center;flex: none;border: 1px solid color-mix(in srgb,var(--teal) 22%,#fff);}.point h3{font-size: 20px;margin-bottom: 7px;}.point p{font-size: 15.5px;}  .cards{display: grid;grid-template-columns: repeat(3,1fr);gap: 20px;}.card{background: #fff;border: 1px solid var(--line);border-radius: var(--radius-lg);padding: 32px 28px;transition: transform 0.35s var(--ease),box-shadow 0.35s var(--ease),border-color 0.3s;display: flex;flex-direction: column;gap: 12px;}.card:hover{transform: translateY(-5px);box-shadow: var(--shadow-card);border-color: transparent;}.card .c-ic{width: 50px;height: 50px;border-radius: 12px;background: var(--teal-050);color: var(--teal-700);display: grid;place-items: center;border: 1px solid color-mix(in srgb,var(--teal) 20%,#fff);}.card h3{font-size: 21px;}.card p{font-size: 15.5px;color: var(--body);}.card .card-num{font-family: var(--f-mono);font-size: 13px;color: var(--teal);font-weight: 500;}  .tech-wrap{display: grid;grid-template-columns: 1fr 1fr;gap: clamp(30px,5vw,70px);align-items: center;}.tech-cols{display: grid;grid-template-columns: 1fr 1fr;gap: 28px 36px;}.tech-col h4{font-family: var(--f-mono);font-size: 12px;letter-spacing: 0.12em;text-transform: uppercase;color: var(--muted);font-weight: 500;margin-bottom: 16px;padding-bottom: 12px;border-bottom: 1px solid var(--line);}.tech-col ul{list-style: none;display: flex;flex-direction: column;gap: 11px;}.tech-col li{display: flex;align-items: center;gap: 10px;font-size: 15.5px;color: var(--ink);font-weight: 500;}.tech-col li::before{content: "";width: 7px;height: 7px;background: var(--teal);border-radius: 2px;transform: rotate(45deg);flex: none;}.chips{display: flex;flex-wrap: wrap;gap: 9px;}.chip{font-family: var(--f-mono);font-size: 13px;padding: 9px 15px;border: 1px solid var(--line-2);border-radius: 100px;color: var(--ink);background: #fff;transition: all 0.25s var(--ease);display: inline-flex;align-items: center;gap: 8px;white-space: nowrap;}.chip:hover{border-color: var(--teal);color: var(--teal-700);transform: translateY(-2px);}.chip .dot{width: 6px;height: 6px;border-radius: 50%;background: var(--teal);}.ai-tools{display: flex;flex-wrap: wrap;gap: 12px;}  .japan-grid{display: grid;grid-template-columns: 1fr 1fr;gap: clamp(30px,5vw,70px);align-items: center;}.client-card{background: #fff;border: 1px solid var(--line);border-left: 4px solid var(--teal);border-radius: var(--radius);padding: 30px;box-shadow: var(--shadow-card);}.client-card .cc-tag{font-family: var(--f-mono);font-size: 12px;letter-spacing: 0.08em;color: var(--teal-700);text-transform: uppercase;}.client-card h3{font-size: clamp(24px,3vw,34px);margin: 12px 0 14px;}.client-card .cc-scope{margin-top: 18px;padding-top: 16px;border-top: 1px solid var(--line);font-family: var(--f-mono);font-size: 12.5px;color: var(--muted);}.testimonial{background: var(--dark);color: #fff;border-radius: var(--radius-lg);padding: clamp(34px,5vw,60px);position: relative;overflow: hidden;}.testimonial::before{content: "“";position: absolute;top: -30px;left: 24px;font-family: Georgia,serif;font-size: 200px;color: rgba(0,176,192,0.18);line-height: 1;}.testimonial blockquote{position: relative;font-family: var(--f-head);font-weight: 500;font-size: clamp(19px,2.4vw,27px);line-height: 1.42;color: #fff;letter-spacing: -0.01em;}.testimonial .t-by{margin-top: 24px;display: flex;align-items: center;gap: 14px;}.testimonial .t-avatar{width: 48px;height: 48px;border-radius: 50%;background: var(--teal-050);color: var(--teal-700);display: grid;place-items: center;font-family: var(--f-head);font-weight: 700;flex: none;}.testimonial .t-name{font-family: var(--f-head);font-weight: 700;color: #fff;font-size: 15px;}.testimonial .t-role{font-size: 13px;color: #9fb4b8;}.testimonial .t-note{font-family: var(--f-mono);font-size: 11.5px;color: #6d8388;margin-top: 4px;}  .partner-banner{display: grid;grid-template-columns: minmax(240px,0.85fr) 1.4fr;gap: clamp(28px,4vw,52px);align-items: center;background: #fff;border: 1px solid var(--line);border-left: 4px solid var(--teal);border-radius: var(--radius-lg);padding: clamp(28px,3.4vw,40px);box-shadow: var(--shadow-card);margin-bottom: clamp(30px,4vw,48px);}.partner-banner .cc-tag{font-family: var(--f-mono);font-size: 12px;letter-spacing: 0.08em;color: var(--teal-700);text-transform: uppercase;}.partner-banner h3{font-size: clamp(24px,2.6vw,32px);margin: 12px 0 16px;}.partner-banner .pb-scope{font-family: var(--f-mono);font-size: 12.5px;color: var(--muted);}.partner-banner .pb-desc{font-size: 16px;color: var(--body);border-left: 1px solid var(--line);padding-left: clamp(28px,4vw,52px);}.testi-head{text-align: center;}.testi-grid{columns: 3;column-gap: 22px;}.t-card{break-inside: avoid;background: #fff;border: 1px solid var(--line);border-radius: var(--radius-lg);padding: 26px 24px;margin-bottom: 22px;box-shadow: var(--shadow-sm);}.t-card blockquote{position: relative;font-size: 15px;line-height: 1.62;color: var(--body);}.t-card blockquote::before{content: "“";position: absolute;top: -18px;left: -4px;font-family: Georgia,serif;font-size: 54px;line-height: 1;color: color-mix(in srgb,var(--teal) 32%,#fff);}.t-card figcaption{margin-top: 18px;padding-top: 16px;border-top: 1px solid var(--line);display: flex;align-items: center;gap: 12px;}.t-card .ta{width: 42px;height: 42px;border-radius: 50%;background: var(--teal-050);color: var(--teal-700);display: grid;place-items: center;font-family: var(--f-head);font-weight: 700;font-size: 14px;flex: none;}.t-card figcaption b{display: block;font-size: 14.5px;color: var(--ink);font-weight: 700;}.t-card figcaption span{font-size: 12.5px;color: var(--muted);}  .hb-phones{display: flex;gap: clamp(14px,2.4vw,30px);justify-content: center;align-items: center;flex-wrap: wrap;}.hb-phones .phone.up{transform: translateY(-22px);}.hb-shots{display: grid;grid-auto-flow: column;grid-auto-columns: minmax(0,1fr);gap: clamp(12px,1.6vw,22px);}.store-badges{display: flex;flex-wrap: wrap;justify-content: center;gap: 14px;margin-top: clamp(34px,4.5vw,52px);}.store-badge{display: inline-flex;align-items: center;gap: 12px;width: 232px;padding: 11px 20px;border-radius: 13px;background: var(--dark);color: #fff;border: 1px solid var(--dark);transition: transform 0.25s var(--ease),box-shadow 0.25s var(--ease);}.store-badge:hover{transform: translateY(-2px);box-shadow: 0 16px 34px -16px rgba(8,32,37,0.6);}.store-badge .sb-ic{flex: none;}.store-badge .sb-txt{display: flex;flex-direction: column;line-height: 1.1;text-align: left;}.store-badge .sb-txt small{font-size: 11px;font-weight: 500;letter-spacing: 0.02em;opacity: 0.85;}.store-badge .sb-txt b{font-family: var(--f-head);font-size: 19px;font-weight: 700;letter-spacing: -0.01em;margin-top: 1px;}.hb-shot{margin: 0;}.hb-shot img{display: block;width: 100%;height: auto;border-radius: 18px;box-shadow: 0 22px 48px -26px rgba(15,40,50,0.55),0 0 0 1px rgba(15,40,50,0.06);}.hb-metrics{display: grid;grid-template-columns: repeat(4,1fr);gap: 18px;margin-top: 8px;}.metric{text-align: left;}.metric .m-num{font-family: var(--f-head);font-weight: 800;font-size: clamp(30px,4vw,50px);color: var(--ink);line-height: 1;letter-spacing: -0.03em;}.metric .m-num .u{color: var(--teal);}.metric .m-label{font-family: var(--f-mono);font-size: 12px;color: var(--muted);margin-top: 10px;letter-spacing: 0.03em;}.dark .metric .m-num{color: #fff;}.dark .metric .m-label{color: #9fb4b8;}  .cta-band{background: linear-gradient(120deg,var(--teal-700),var(--teal));color: #fff;text-align: center;}.cta-band .cta-inner{max-width: 760px;margin: 0 auto;display: flex;flex-direction: column;align-items: center;gap: 20px;}.cta-band h2{color: #fff;font-size: clamp(28px,4.4vw,52px);}.cta-band p{color: rgba(255,255,255,0.9);font-size: 18px;}.cta-band .btn-white{background: #fff;color: var(--teal-700);border-color: #fff;}.cta-band .btn-white:hover{background: var(--dark);color: #fff;border-color: var(--dark);transform: translateY(-2px);}  .site-footer{background: var(--dark);color: #9fb4b8;}.footer-top{display: grid;grid-template-columns: 1.5fr 1fr 1fr 1.1fr;gap: 40px;padding-block: clamp(50px,6vw,80px);}.footer-brand .logo-mark{height: 40px;}.footer-brand .logo-text{color: #fff;}.footer-brand p{color: #9fb4b8;margin-top: 18px;max-width: 32ch;font-size: 15px;}.footer-col h4{font-family: var(--f-mono);font-size: 12px;letter-spacing: 0.12em;text-transform: uppercase;color: #fff;font-weight: 500;margin-bottom: 18px;}.footer-col a,.footer-col p{display: block;color: #9fb4b8;font-size: 15px;padding: 5px 0;transition: color 0.2s;}.footer-col a:hover{color: var(--teal);}.footer-col .ft-contact{display: flex;flex-direction: column;gap: 13px;padding-block: 4px 8px;}.footer-col .ft-line{display: flex;align-items: center;gap: 11px;padding: 0;}.footer-col .ft-line .ft-ic{flex: none;width: 34px;height: 34px;border-radius: 9px;display: grid;place-items: center;background: rgba(255,255,255,0.05);border: 1px solid rgba(255,255,255,0.13);color: #cfe0e3;transition: all 0.22s;}.footer-col .ft-line:hover .ft-ic{background: var(--teal);border-color: var(--teal);color: #fff;}.footer-col .ft-line-txt{display: flex;flex-direction: column;line-height: 1.25;min-width: 0;}.footer-col .ft-line-txt b{color: #e6eef0;font-weight: 600;font-size: 15px;transition: color 0.2s;}.footer-col .ft-line:hover .ft-line-txt b{color: var(--teal);}.footer-col .ft-line-txt small{font-family: var(--f-mono);font-size: 10.5px;letter-spacing: 0.09em;text-transform: uppercase;color: #7e9398;margin-top: 2px;}.footer-socials{display: flex;gap: 10px;margin-top: 4px;}.footer-socials a{width: 38px;height: 38px;border: 1px solid rgba(255,255,255,0.16);border-radius: 9px;display: grid;place-items: center;color: #cfe0e3;transition: all 0.25s;}.footer-socials a:hover{background: var(--teal);border-color: var(--teal);color: #fff;transform: translateY(-2px);}.footer-bottom{border-top: 1px solid rgba(255,255,255,0.12);padding-block: 22px;display: flex;justify-content: space-between;align-items: center;gap: 16px;flex-wrap: wrap;font-size: 13px;color: #6d8388;font-family: var(--f-mono);letter-spacing: 0.02em;}.footer-bottom a{color: #9fb4b8;}.footer-bottom a:hover{color: var(--teal);}  .clocks{display: flex;gap: 26px;}.clock .place{font-family: var(--f-mono);font-size: 10px;letter-spacing: 0.12em;text-transform: uppercase;color: var(--muted);display: block;}.clock .time{font-family: var(--f-mono);font-size: 16px;color: #fff;font-variant-numeric: tabular-nums;}.clock .time .sec{color: var(--teal);}  [data-reveal]{opacity: 0;transform: translateY(24px);transition: opacity 0.7s var(--ease),transform 0.7s var(--ease);}[data-reveal].in{opacity: 1;transform: none;}[data-rd="1"]{transition-delay: 0.08s;}[data-rd="2"]{transition-delay: 0.16s;}[data-rd="3"]{transition-delay: 0.24s;}[data-rd="4"]{transition-delay: 0.32s;}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity: 1;transform: none;transition: none;}html{scroll-behavior: auto;}}  .logo-strip{display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 14px 12px;}.logo-pill{font-family: var(--f-head);font-weight: 700;font-size: 15px;color: var(--muted);border: 1px solid var(--line);border-radius: 100px;padding: 12px 22px;background: #fff;letter-spacing: -0.01em;}.logo-pill.muted{color: var(--line-2);}  @media (max-width: 1040px){.main-nav,.header-cta .btn{display: none;}.menu-btn{display: grid;}.header-cta{margin-left: auto;}}@media (max-width: 1080px){.testi-grid{columns: 2;}}@media (max-width: 860px){.feature-row{grid-template-columns: 1fr;gap: 36px;}.feature-row.reverse .feature-media{order: 0;}.feature-media{order: -1;}.tech-wrap{grid-template-columns: 1fr;}.japan-grid{grid-template-columns: 1fr;}.partner-banner{grid-template-columns: 1fr;gap: 24px;}.partner-banner .pb-desc{border-left: 0;padding-left: 0;}.testi-grid{columns: 1;}.cards{grid-template-columns: 1fr;}.footer-top{grid-template-columns: 1fr 1fr;gap: 32px;}.hb-metrics{grid-template-columns: 1fr 1fr;gap: 26px 18px;}.topbar .tb-phones{display: none;}}@media (max-width: 560px){body{font-size: 16px;}  .cta-band .cta-inner > div,.hero .hero-actions{width: 100%;max-width: 320px;}.cta-band .cta-inner > div .btn,.hero .hero-actions .btn{flex: 1 1 100%;width: 100%;}.footer-top{grid-template-columns: 1fr;}.tech-cols{grid-template-columns: 1fr;}.phone{width: 210px;}.hb-phones .phone.up{transform: none;}.hb-shots{grid-auto-columns: 78%;gap: 16px;overflow-x: auto;scroll-snap-type: x mandatory;scroll-padding-inline: var(--pad);margin-inline: calc(-1 * var(--pad));padding: 6px var(--pad) 26px;-webkit-overflow-scrolling: touch;scrollbar-width: none;}.hb-shots::-webkit-scrollbar{display: none;}.hb-shot{scroll-snap-align: center;}.topbar .tb-talk{display: none;}}  .page-hero{position: relative;background: var(--dark);color: #fff;overflow: hidden;}.page-hero::before{content: "";position: absolute;inset: 0;background: radial-gradient(900px 460px at 78% -20%,rgba(0,176,192,0.30),transparent 60%),radial-gradient(700px 500px at 6% 120%,rgba(0,176,192,0.12),transparent 60%),linear-gradient(180deg,#082025,#0a262c);}.page-hero::after{content: "";position: absolute;inset: 0;opacity: 0.5;background-image: radial-gradient(rgba(255,255,255,0.09) 1px,transparent 1.4px);background-size: 26px 26px;-webkit-mask-image: linear-gradient(180deg,#000,transparent 92%);mask-image: linear-gradient(180deg,#000,transparent 92%);}.page-hero .ph-inner{position: relative;z-index: 2;max-width: 900px;margin: 0 auto;padding: clamp(60px,8vw,112px) var(--pad) clamp(46px,6vw,80px);text-align: center;}.page-hero .eyebrow{color: var(--teal);justify-content: center;margin-bottom: 18px;}.page-hero .eyebrow::before,.page-hero .eyebrow::after{content: "";width: 28px;height: 1px;background: var(--teal);opacity: 0.6;}.page-hero h1{color: #fff;font-size: clamp(30px,5vw,58px);font-weight: 800;letter-spacing: -0.015em;line-height: 1.08;}.page-hero .lead{color: #b9cccf;margin: 20px auto 0;max-width: 60ch;}  .steps{display: grid;grid-template-columns: repeat(4,1fr);gap: 22px;}.step{padding: 28px 24px;border: 1px solid var(--line);border-radius: var(--radius-lg);background: #fff;transition: transform 0.35s var(--ease),box-shadow 0.35s var(--ease);}.step:hover{transform: translateY(-4px);box-shadow: var(--shadow-card);}.step .s-n{font-family: var(--f-mono);font-size: 13px;color: var(--teal);font-weight: 500;}.step h4{font-size: 18.5px;margin: 14px 0 8px;}.step p{font-size: 15px;color: var(--body);}  .proj-cats{display: grid;grid-template-columns: repeat(2,1fr);gap: 22px;}.proj-cat{background: #fff;border: 1px solid var(--line);border-radius: var(--radius-lg);padding: clamp(26px,3vw,38px);display: flex;flex-direction: column;gap: 14px;transition: transform 0.35s var(--ease),box-shadow 0.35s var(--ease),border-color 0.3s;}.proj-cat:hover{transform: translateY(-5px);box-shadow: var(--shadow-card);border-color: transparent;}.proj-cat .pc-ic{width: 52px;height: 52px;border-radius: 13px;background: var(--teal-050);color: var(--teal-700);display: grid;place-items: center;border: 1px solid color-mix(in srgb,var(--teal) 20%,#fff);}.proj-cat h3{font-size: 22px;}.proj-cat p{font-size: 15.5px;color: var(--body);}.proj-cat .pc-tags{display: flex;flex-wrap: wrap;gap: 8px;}.proj-cat .pc-tag{font-family: var(--f-mono);font-size: 11.5px;color: var(--muted);border: 1px solid var(--line);border-radius: 100px;padding: 5px 11px;}.proj-cat .pc-count{margin-top: auto;font-family: var(--f-mono);font-size: 12.5px;color: var(--teal-700);letter-spacing: 0.04em;padding-top: 14px;}  .eco-grid{display: flex;flex-wrap: wrap;gap: 10px;justify-content: center;max-width: 980px;margin: 0 auto;}  .nda{display: grid;grid-template-columns: auto 1fr;gap: 26px;align-items: start;padding: clamp(24px,3vw,34px);border: 1px solid var(--line);border-left: 4px solid var(--teal);border-radius: var(--radius-lg);background: #fff;box-shadow: var(--shadow-sm);}.nda .nda-mark{font-family: var(--f-mono);font-size: 13px;letter-spacing: 0.2em;color: var(--teal-700);padding-top: 4px;}.nda h3{font-size: clamp(20px,2.4vw,28px);margin-bottom: 10px;}.nda p{color: var(--body);max-width: 64ch;}  .work-feature{display: grid;grid-template-columns: 1fr 1fr;gap: clamp(24px,4vw,52px);align-items: center;}.work-feature .wf-card{background: #fff;border: 1px solid var(--line);border-radius: var(--radius-lg);padding: clamp(28px,3.4vw,40px);box-shadow: var(--shadow-card);display: flex;flex-direction: column;gap: 14px;}.work-feature .wf-card .cc-tag{font-family: var(--f-mono);font-size: 12px;letter-spacing: 0.08em;color: var(--teal-700);text-transform: uppercase;}.work-feature .wf-card h3{font-size: clamp(24px,3vw,32px);}  .contact-grid{display: grid;grid-template-columns: 1.25fr 0.85fr;gap: clamp(24px,4vw,40px);align-items: stretch;}.contact-form{display: flex;flex-direction: column;gap: 18px;background: #fff;border: 1px solid var(--line);border-radius: var(--radius-lg);padding: clamp(24px,3.2vw,38px);box-shadow: var(--shadow-card);}.field{display: flex;flex-direction: column;gap: 8px;}.field.two{display: grid;grid-template-columns: 1fr 1fr;gap: 16px;}.field.two > div{display: flex;flex-direction: column;gap: 8px;}.field label{font-family: var(--f-mono);font-size: 11.5px;letter-spacing: 0.1em;text-transform: uppercase;color: var(--muted);}.field input,.field textarea,.field select{font-family: var(--f-body);font-size: 16px;color: var(--ink);background: var(--band);border: 1px solid var(--line-2);border-radius: 10px;padding: 13px 15px;transition: border-color 0.2s var(--ease),box-shadow 0.2s var(--ease),background 0.2s var(--ease);width: 100%;box-sizing: border-box;}.field input::placeholder,.field textarea::placeholder{color: var(--muted);opacity: 0.7;}.field textarea{resize: vertical;min-height: 130px;}.field input:hover,.field textarea:hover,.field select:hover{border-color: var(--line);}.field input:focus,.field textarea:focus,.field select:focus{outline: none;background: #fff;border-color: var(--teal);box-shadow: 0 0 0 3px color-mix(in srgb,var(--teal) 16%,transparent);}.field select{appearance: none;-webkit-appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23627379' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 15px center;padding-right: 40px;}.form-note{font-family: var(--f-mono);font-size: 11.5px;letter-spacing: 0.03em;color: var(--muted);text-align: center;margin-top: 2px;}.reach{border: 1px solid var(--line);border-radius: var(--radius-lg);padding: clamp(26px,3.2vw,36px);background: var(--dark);color: #cddee1;display: flex;flex-direction: column;justify-content: space-between;gap: 4px;}.reach .eyebrow{color: var(--teal);margin-bottom: 4px;}.reach-item{display: flex;flex-direction: column;gap: 5px;padding: 16px 0;border-top: 1px solid rgba(255,255,255,0.08);}.reach-item:first-of-type{border-top: none;padding-top: 0;}.reach-item:last-of-type{padding-bottom: 0;}.reach-item .r-label{font-family: var(--f-mono);font-size: 11px;letter-spacing: 0.12em;text-transform: uppercase;color: #7e979c;}.reach-item .r-val{font-size: 16px;color: #eaf2f3;transition: color 0.2s;}a.reach-item .r-val:hover,.reach-item a.r-val:hover{color: var(--teal);}@media (max-width: 860px){.steps{grid-template-columns: 1fr 1fr;}.proj-cats{grid-template-columns: 1fr;}.work-feature{grid-template-columns: 1fr;}.contact-grid{grid-template-columns: 1fr;}.nda{grid-template-columns: 1fr;gap: 14px;}}@media (max-width: 560px){.steps{grid-template-columns: 1fr;}.field.two{grid-template-columns: 1fr;}}