:root {
  --black: #050505;
  --ink: #0a0a0b;
  --panel: #111214;
  --line: rgba(255,255,255,.14);
  --muted: #999da5;
  --white: #f4f5f7;
  --blue: #246bfd;
  --blue-bright: #5d8fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; background: var(--black); color: var(--white); font-family: 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; }
::selection { color: #fff; background: var(--blue); }

.site-header { position: absolute; z-index: 20; inset: 0 0 auto; height: 92px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 3.2vw; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 13px; width: fit-content; font-size: 14px; font-weight: 800; letter-spacing: .08em; }
.brand-mark { position: relative; width: 31px; height: 31px; display: flex; align-items: end; gap: 3px; transform: rotate(-8deg); }
.brand-mark::after { content: ""; position: absolute; inset: -3px; border: 1px solid rgba(255,255,255,.55); border-left-color: transparent; border-bottom-color: transparent; border-radius: 50%; transform: rotate(28deg); }
.brand-mark i { display: block; width: 5px; background: #fff; border-radius: 1px; }
.brand-mark i:nth-child(1) { height: 9px; }
.brand-mark i:nth-child(2) { height: 16px; }
.brand-mark i:nth-child(3) { height: 24px; }
.desktop-nav { display: flex; gap: 32px; align-items: center; }
.desktop-nav a { font: 700 11px/1 Arial, sans-serif; letter-spacing: .15em; color: #b8bbc1; transition: color .2s; }
.desktop-nav a:hover { color: #fff; }
.header-cta { justify-self: end; height: 44px; padding: 0 18px; display: flex; align-items: center; gap: 24px; border: 1px solid rgba(255,255,255,.3); font-size: 11px; font-weight: 800; letter-spacing: .12em; transition: background .2s; }
.header-cta:hover { background: #fff; color: #050505; }
.header-cta span { color: var(--blue-bright); font-size: 16px; }
.session-actions { justify-self:end;display:flex;align-items:center;gap:14px; }
.session-user { max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#8f949d; }
.logout-link { font:700 9px/1 Arial,sans-serif;letter-spacing:.13em;color:#737881;transition:color .2s; }
.logout-link:hover { color:#fff; }
.mobile-nav { display: none; }

.login-screen { min-height:100svh;position:relative;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:#020203; }
.login-visual { min-height:100svh;background-image:linear-gradient(90deg,rgba(2,2,3,.15),#020203 96%),url('../images/top-marketing-hero.webp');background-size:cover;background-position:65% center; }
.login-panel { position:relative;min-height:100svh;padding:48px clamp(28px,6vw,94px);display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--line);background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px; }
.login-brand { position:relative;z-index:2; }
.login-copy-block { margin:auto 0 55px; }
.login-copy-block h1 { margin:0 0 35px;font-size:clamp(58px,6.5vw,108px);line-height:.94;letter-spacing:-.075em; }
.login-copy-block>p:last-child { max-width:520px;margin:0;color:#a3a7af;font-size:14px;line-height:1.9; }
.login-action { padding-top:30px;border-top:1px solid var(--line); }
.google-button { width:320px;min-height:44px;transition:opacity .2s; }.google-button.loading{opacity:.45;pointer-events:none}
.login-status,.login-error,.login-setup { width:min(100%,420px);margin:14px 0 0;font-size:12px;line-height:1.6; }.login-status{color:#9aa0a9}.login-error{color:#ff7a80}.login-setup{padding:14px;border:1px solid rgba(255,255,255,.18);color:#a3a7af}
.login-members { display:flex;gap:8px;margin-top:27px; }.login-members span{padding:8px 10px;border:1px solid rgba(255,255,255,.16);font-size:9px;color:#b8bcc4}.login-members+small{display:block;margin-top:13px;color:#626771;font-size:9px;letter-spacing:.05em}
.access-denied { min-height:100svh;padding:8vw;display:flex;flex-direction:column;justify-content:center;background-color:#060607;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:58px 58px; }
.access-denied>.brand { position:absolute;top:45px;left:6vw; }.access-denied .eyebrow{margin-top:70px}.access-denied h1{max-width:950px;margin:0 0 30px;font-size:clamp(48px,7vw,100px);line-height:1.08;letter-spacing:-.06em}.access-denied>p:not(.eyebrow){color:#9a9fa8}.access-denied>.button{width:min(340px,100%);margin-top:30px}

.hero { min-height: 820px; height: 100svh; position: relative; overflow: hidden; background: #020203; }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 28%; background: linear-gradient(0deg, #050505, transparent); pointer-events: none; }
.hero-image { position: absolute; inset: 0; background-image: linear-gradient(90deg, #020203 2%, rgba(2,2,3,.92) 25%, rgba(2,2,3,.13) 66%, rgba(2,2,3,.06)), var(--tm-hero-image, url('../images/top-marketing-hero.webp')); background-size: cover; background-position: center; opacity: .96; }
.hero-grid { position: absolute; z-index: 1; inset: 0; background-image: linear-gradient(rgba(255,255,255,.033) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.033) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg,#000,transparent 74%); }
.hero-content { position: relative; z-index: 2; height: 100%; max-width: 1700px; margin: auto; padding: 146px 5vw 64px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.eyebrow, .mini-label { margin: 0 0 27px; font-size: 10px; line-height: 1; font-weight: 800; letter-spacing: .23em; color: #b9bdc5; }
.eyebrow { display: flex; align-items: center; gap: 12px; }
.eyebrow span { width: 27px; height: 1px; background: var(--blue-bright); }
.hero h1 { margin: 0; font-size: clamp(88px, 10.4vw, 184px); line-height: .88; letter-spacing: .035em; font-weight: 900; }
.hero-line.is-inverted > span { width: fit-content; margin-top: .08em; padding: .03em .12em .09em .16em; color: #050506; background: #f5f6f8; }
.hero-bottom { width: min(1040px, 76vw); margin-top: 50px; display: flex; align-items: flex-end; justify-content: space-between; gap: 42px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.38); }
.hero-lead { margin: 0 0 13px; font-size: clamp(24px,2vw,34px); font-weight: 800; letter-spacing: .055em; }
.hero-sub { margin: 0; font-size: clamp(16px,1.2vw,20px); line-height: 1.75; letter-spacing: .035em; color: #d4d6db; }
.hero-actions { min-width: 180px; display: grid; gap: 18px; }
.button { min-height: 54px; padding: 0 17px; display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 700; }
.button-blue { background: var(--blue); box-shadow: 0 0 46px rgba(36,107,253,.25); }
.button-blue:hover { background: #397bff; }
.button span { font-size: 18px; }
.text-link { display: flex; justify-content: space-between; font-size: 11px; font-weight: 700; letter-spacing: .1em; color: #c2c5cc; }
.ticker { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--blue); }
.ticker div { padding: 19px 0; white-space: nowrap; font: 800 12px/1 Arial; letter-spacing: .19em; word-spacing: 28px; transform: translateX(-2vw); }
.ticker b { color: #99b8ff; font-size: 16px; }

.section { position: relative; padding: 135px 6vw; max-width: 1800px; margin: 0 auto; }
.section-heading { display: block; border-top: 1px solid var(--line); padding-top: 20px; margin-bottom: 100px; }
.section-en { margin: 0 0 18px; font: 800 11px/1 Arial; letter-spacing: .2em; color: #a5a9b0; }
.section-heading h2 { margin: 0; font-size: clamp(30px, 3.3vw, 55px); line-height: 1.15; letter-spacing: -.045em; }

.about-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 12vw; }
.about-statement h3 { margin: 0; font-size: clamp(52px, 6.3vw, 102px); line-height: 1.1; letter-spacing: -.075em; }
.about-statement em { color: transparent; -webkit-text-stroke: 1px #e9ebef; font-style: normal; }
.principle-copy { margin:0 0 36px;font-size:clamp(24px,2.5vw,42px);font-weight:800;line-height:1.35;letter-spacing:.035em;color:#f4f5f7; }
.about-copy { padding-top: 45px; max-width: 560px; }
.about-copy p { color: #9fa3aa; line-height: 2.1; font-size: 15px; }
.about-copy .large-copy { color: #fff; margin: 0 0 35px; font-size: 25px; font-weight: 700; line-height: 1.3; }
.convergence { margin-top: 110px; min-height: 280px; display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; border: 1px solid var(--line); background-color: #090a0c; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 34px 34px; overflow: hidden; }
.variables { display: grid; gap: 10px; padding: 36px; }
.variables span { padding: 11px 15px; border-left: 2px solid color-mix(in srgb, var(--blue) calc(35% + var(--i)*12%), #333); background: rgba(255,255,255,.035); font: 700 10px/1 Arial; letter-spacing: .15em; color: #aaaeb6; }
.flow-lines { position: relative; height: 100%; }
.flow-lines::after { content: ""; position: absolute; right: 0; top: 50%; width: 16px; height: 16px; border-top: 1px solid var(--blue-bright); border-right: 1px solid var(--blue-bright); transform: translateY(-50%) rotate(45deg); }
.flow-lines i { position: absolute; left: 0; right: 0; height: 1px; top: calc(18% + var(--i)*16%); background: linear-gradient(90deg, rgba(62,121,255,.12), rgba(70,130,255,.8)); transform-origin: right; }
.flow-lines i:nth-child(1){top:18%;transform:rotate(7deg)} .flow-lines i:nth-child(2){top:34%;transform:rotate(3deg)} .flow-lines i:nth-child(3){top:50%} .flow-lines i:nth-child(4){top:66%;transform:rotate(-3deg)} .flow-lines i:nth-child(5){top:82%;transform:rotate(-7deg)}
.outcome { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(circle, rgba(36,107,253,.33), transparent 66%); border-left: 1px solid var(--line); text-align: center; }
.outcome span { font: 700 10px/1 Arial; letter-spacing: .25em; color: var(--blue-bright); }
.outcome strong { margin: 9px 0 11px; font: 800 clamp(22px,2.4vw,38px)/1 Arial; letter-spacing: -.02em; }
.outcome small { color: #969aa2; font-size: 11px; }
.strength-grid { margin-top: 110px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.strength-grid article { min-height: 345px; position: relative; padding: 30px; background: #0a0a0b; display: flex; flex-direction: column; align-items: flex-start; }
.strength-grid article::after { content: ""; width: 9px; height: 9px; position: absolute; right: 29px; top: 31px; background: var(--blue); border-radius: 50%; box-shadow: 0 0 18px var(--blue); }
.strength-no { font: 700 10px/1 Arial; color: #666b74; }
.strength-grid h4 { margin: 58px 0 0; font-size: clamp(22px,2.1vw,32px); line-height: 1.45; letter-spacing: -.035em; }
.strength-grid small { margin-top: auto; max-width: 360px; color: #8f939b; font-size: 12px; line-height: 1.8; }

.service { background: #f1f2f4; color: #0a0a0b; max-width: none; }
.service .section-heading { border-color: rgba(0,0,0,.18); }
.service .section-en { color: #666a72; }
.service-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px; }
.service-card { appearance:none;position:relative;isolation:isolate;min-width:0;min-height:570px;padding:28px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(112deg,#07080a,#111725);color:#fff;display:flex;flex-direction:column;text-align:left;cursor:pointer;overflow:hidden;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%); }
.service-card.is-active { transform:translateY(-8px);border-color:var(--blue);box-shadow:0 22px 55px rgba(10,31,84,.25); }
.service-card-top { display:flex;align-items:flex-start;justify-content:space-between; }
.service-number { font:900 clamp(70px,7vw,112px)/.8 Arial;letter-spacing:-.07em;color:rgba(255,255,255,.14);transition:color .55s; }
.service-card-title { display:block;margin-top:80px;font-size:clamp(28px,2.65vw,44px);font-weight:800;line-height:1.15;letter-spacing:-.04em; }
.service-card-copy { display:block;margin-top:24px;font-size:clamp(18px,1.45vw,24px);font-weight:800;line-height:1.55; }
.service-card-detail { display:flex;flex-direction:column;margin-top:auto;padding-top:34px;opacity:1;transform:translateY(0);transition:opacity .65s .08s var(--ease-out-expo),transform .65s .08s var(--ease-out-expo); }
.service-description { display:block;font-size:13px;line-height:1.9;color:#aeb2ba; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.service-card-detail .tag-list { margin-top:28px; }
.tag-list span { padding: 9px 11px; border: 1px solid currentColor; font-size: 10px;opacity:.7; }
.service-arrow { position:static;width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;font-size:20px;color:#fff;transition:transform .55s var(--ease-out-expo),background .35s,color .35s,border-color .35s; }
.service-card.is-active .service-arrow { transform:rotate(45deg);background:var(--blue);border-color:var(--blue);color:#fff; }

.case-study { max-width: none; padding-bottom: 150px; }
.case-header { display: grid; grid-template-columns: 1fr .8fr; gap: 9vw; align-items: end; margin-bottom: 76px; }
.case-header h3 { margin: 0; font-size: clamp(54px,6.2vw,96px); line-height: 1.08; letter-spacing: -.07em; }
.case-header > p { margin: 0 0 7px; max-width: 530px; color: #a0a4ac; font-size: 14px; line-height: 2; }
.metric-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.metric-grid article { position: relative; aspect-ratio: 1.2; padding: 34px; background: #121315; border: 1px solid rgba(255,255,255,.1); display: flex; flex-direction: column; justify-content: center; text-align: center; overflow: hidden; }
.metric-grid article::before { content:""; position:absolute; inset:0; opacity:.25; background-image: linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:18px 18px; }
.metric-grid p,.metric-grid div,.metric-grid small { position:relative; }
.metric-grid p { margin: 0 0 34px; font: 700 10px/1 Arial; letter-spacing: .2em; color: #979ba3; }
.metric-grid div { display: flex; align-items: baseline; justify-content: center; gap: 10px; }
.metric-grid strong { font: 800 clamp(46px,6.1vw,100px)/.9 Arial; letter-spacing: -.07em; }
.metric-grid span { font-size: clamp(15px,1.6vw,25px); font-weight: 800; }
.metric-grid small { margin-top: 30px; color: #898d95; font-size: 12px; }
.placeholder-note { text-align: right; color: #62666f; font-size: 10px; }
.case-analysis { margin-top: 80px; display: grid; grid-template-columns: 1.35fr 1fr; gap: 36px; }
.chart-card { min-height: 500px; padding: 35px; border: 1px solid var(--line); background: #090a0c; }
.chart-top { display:flex;justify-content:space-between;align-items:flex-start; }
.chart-top p,.chart-top span { margin:0 0 9px;font:700 9px/1 Arial;letter-spacing:.18em;color:#747981; }
.chart-top strong { font:700 15px/1 Arial; }
.chart-top span { color:var(--blue-bright); }
.bar-chart { height: 370px; display:flex; align-items:flex-end; gap: 2.8%; padding: 48px 12px 0; background-image: linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px); background-size:100% 25%; border-bottom:1px solid var(--line); }
.bar-wrap { flex:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:14px; }
.bar { width:100%; max-width:60px; background:linear-gradient(#80a5ff,var(--blue)); box-shadow:0 0 30px rgba(36,107,253,.18); }
.bar-wrap small { font:700 8px/1 Arial;letter-spacing:.1em;color:#6f737b; }
.process-list { border-top:1px solid var(--line); }
.process-list article { min-height:125px; padding:25px 10px; display:grid; grid-template-columns:48px 1fr; gap:15px; border-bottom:1px solid var(--line); }
.process-list > article > span { font:700 10px/1 Arial;color:var(--blue-bright); }
.process-list p { margin:0 0 10px;font:700 9px/1 Arial;letter-spacing:.17em;color:#777c85; }
.process-list h4 { margin:0;font-size:19px;line-height:1.55; }

.members { max-width: none; background: #e9eaec; color: #08090a; }
.members .section-heading { border-color: rgba(0,0,0,.18); }
.members .section-en { color: #646971; }
.team-flow { margin: -50px 0 65px; display:flex;align-items:center;gap:17px;font:700 9px/1 Arial;letter-spacing:.15em;color:#62666e; }
.team-flow b { color:var(--blue);font-size:16px; }
.member-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(0,0,0,.2);border:1px solid rgba(0,0,0,.2); }
.member-card { background:#eef0f2; }
.portrait { position:relative;aspect-ratio:1.48;overflow:hidden;background:#15171b;display:flex;align-items:center;justify-content:center; }
.portrait::before { content:"";position:absolute;width:38%;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#69717f,#1c1f25 65%);box-shadow:0 0 0 30px rgba(255,255,255,.025),0 0 0 80px rgba(255,255,255,.02); }
.portrait::after { content:"";position:absolute;width:53%;height:58%;bottom:-30%;border-radius:50% 50% 0 0;background:linear-gradient(160deg,#4c5360,#111318 65%); }
.portrait-2::before { background:linear-gradient(145deg,#76808d,#24272e 65%); }
.portrait > span { position:absolute;z-index:3;bottom:25px;left:28px;font:800 54px/1 Arial;letter-spacing:-.06em;color:rgba(255,255,255,.14); }
.portrait-orbit { position:absolute;width:73%;aspect-ratio:1;border:1px solid rgba(86,139,255,.53);border-radius:50%;transform:rotate(-20deg) scaleY(.38);box-shadow:0 0 18px rgba(36,107,253,.2); }
.member-info { min-height:265px;padding:28px; }
.member-info > p:first-child { margin:0 0 13px;font:700 9px/1 Arial;letter-spacing:.18em;color:var(--blue); }
.member-info h3 { margin:0 0 25px;font-size:28px; }
.member-info h3 small { font:600 9px/1 Arial;letter-spacing:.1em;color:#777b82; }
.member-info dl { display:grid;grid-template-columns:60px 1fr;gap:16px;margin:0;padding:16px 0;border-top:1px solid rgba(0,0,0,.17);border-bottom:1px solid rgba(0,0,0,.17);font-size:11px;line-height:1.7; }
.member-info dt { color:#72767d; }.member-info dd { margin:0;font-weight:700; }
.member-bio { margin:20px 0 0!important;font-size:13px;line-height:1.8;color:#4c5057; }

.company { max-width:none;background:#070708; }
.company-layout { display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:start; }
.company-statement { margin:0;position:sticky;top:120px;font-size:clamp(42px,5.1vw,84px);font-weight:800;line-height:1.15;letter-spacing:-.055em; }
.company-profile { margin:0;border-top:1px solid var(--line); }
.company-profile>div { display:grid;grid-template-columns:150px 1fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--line); }
.company-profile dt { color:#777c85;font-size:11px;font-weight:700;letter-spacing:.08em; }
.company-profile dd { margin:0;color:#e6e8ec;font-size:14px;font-weight:600;line-height:1.9; }
.company-profile dd span { display:block; }

.contact { position:relative;min-height:760px;padding:140px 6vw;display:grid;grid-template-columns:.85fr 1fr;gap:8vw;align-items:center;overflow:hidden;background:#060607; }
.contact::before { content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(circle at 72% 50%,#000,transparent 68%); }
.contact-content { position:relative;z-index:2; }
.contact h2 { margin:0 0 35px;font-size:clamp(62px,8.3vw,132px);line-height:.98;letter-spacing:-.075em; }
.contact-content > p:not(.section-en) { color:#969aa2;font-size:14px;line-height:1.9; }
.contact-form { position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:25px 18px;padding:34px;background:rgba(8,9,12,.82);border:1px solid var(--line);backdrop-filter:blur(12px); }
.contact-form label { display:grid;gap:9px; }.contact-form label>span{font-size:10px;font-weight:700;letter-spacing:.08em;color:#a4a8b0}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.23);border-radius:0;padding:13px 2px;background:transparent;color:#fff;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue-bright)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#555a63}.contact-form select option{color:#08090a}.contact-form textarea{resize:vertical}
.contact-button { width:100%;height:70px;grid-column:1/-1;margin-top:8px;padding:0 25px;border:0;color:#fff;display:flex;align-items:center;justify-content:space-between;background:var(--blue);font-size:16px;font-weight:800;cursor:pointer; }
.contact-button b { font-size:25px; }.contact-button:hover { background:#397bff; }
.contact-honeypot { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.contact-status { margin:0;padding:14px 16px;border:1px solid rgba(255,255,255,.2);font-size:13px;line-height:1.7; }
.contact-status.is-success { border-color:rgba(93,143,255,.65);background:rgba(36,107,253,.14);color:#dbe6ff; }
.contact-status.is-error { border-color:rgba(255,117,117,.55);background:rgba(126,30,30,.18);color:#ffdada; }
.contact-orbit { position:absolute;right:-8vw;width:58vw;aspect-ratio:1; }
.contact-orbit::before,.contact-orbit::after,.contact-orbit i { content:"";position:absolute;inset:8%;border:1px solid rgba(77,127,244,.3);border-radius:50%;transform:rotate(-26deg) scaleY(.45); }
.contact-orbit::after { inset:20%;border-color:rgba(121,161,255,.6); }.contact-orbit i:nth-child(1){inset:32%;border-color:#6f9eff;box-shadow:0 0 30px rgba(36,107,253,.3)}.contact-orbit i:nth-child(2){inset:42%;background:#000;border-color:#1f396e}.contact-orbit span{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;right:24%;top:36%;box-shadow:0 0 18px #fff;}

footer { padding:80px 6vw 28px;display:grid;grid-template-columns:1fr 1fr;gap:55px;border-top:1px solid var(--line);background:#050505; }
.footer-brand { font-size:17px; }.footer-brand .brand-mark { width:36px;height:36px; }
footer > p { margin:0;justify-self:end;font-size:26px;font-weight:800;letter-spacing:-.04em; }
footer > div { grid-column:1/-1;display:flex;gap:28px;padding-bottom:48px;border-bottom:1px solid var(--line); }
footer > div a { font:700 10px/1 Arial;letter-spacing:.14em;color:#888c94; }
footer small { grid-column:1/-1;color:#5c6068;font:600 9px/1 Arial;letter-spacing:.12em; }

@media (max-width: 900px) {
  .site-header { height:74px;grid-template-columns:1fr auto;padding:0 20px; }
  .desktop-nav,.session-actions { display:none; }.mobile-nav { display:block;justify-self:end;position:relative; }
  .mobile-nav summary { list-style:none;width:38px;height:38px;display:flex;flex-direction:column;justify-content:center;gap:7px;cursor:pointer; }.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{width:25px;height:1px;background:#fff;display:block}.mobile-nav[open] summary span:first-child{transform:translateY(4px) rotate(45deg)}.mobile-nav[open] summary span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .mobile-nav nav { position:fixed;left:0;right:0;top:74px;padding:35px 20px 45px;background:#090a0c;border-bottom:1px solid var(--line);display:grid;gap:25px; }.mobile-nav nav a{font:700 13px/1 Arial;letter-spacing:.15em;}
  .hero { min-height:720px; }.hero-image{background-position:60% center;opacity:.78}.hero-content{padding:138px 24px 72px;justify-content:flex-end}.hero h1{font-size:clamp(64px,18vw,112px);letter-spacing:.025em}.hero-bottom{width:100%;margin-top:40px;display:grid;}.hero-actions{grid-template-columns:1fr 1fr;align-items:center}.hero-grid{background-size:48px 48px}
  .section { padding:90px 24px; }.section-heading{margin-bottom:65px}.about-layout,.case-header,.company-layout{grid-template-columns:1fr;gap:50px}.about-copy{padding-top:0}.strength-grid,.metric-grid{grid-template-columns:1fr}.strength-grid article{min-height:285px}.service-list{display:grid;grid-template-columns:1fr;gap:12px}.service-card{min-height:440px;padding:26px}.service-card.is-active{transform:none}.service-card-title{margin-top:48px}.metric-grid article{aspect-ratio:auto;min-height:340px}.case-analysis{grid-template-columns:1fr}.team-flow{margin:-30px 0 45px;gap:8px;flex-wrap:wrap}.member-grid{grid-template-columns:1fr}.company-statement{position:static}.contact{min-height:650px;padding:100px 24px;grid-template-columns:1fr}.contact-orbit{width:100vw;right:-45vw;opacity:.75}.contact-form{padding:24px}footer{grid-template-columns:1fr;padding:60px 24px 25px}footer>p{justify-self:start}footer>div{gap:18px;flex-wrap:wrap}
  .login-screen{grid-template-columns:1fr}.login-visual{position:absolute;inset:0;opacity:.5}.login-panel{z-index:1;padding:28px 24px;min-height:100svh;border:0;background:linear-gradient(90deg,rgba(2,2,3,.96),rgba(2,2,3,.74))}.login-copy-block{margin:auto 0 45px}.login-copy-block h1{font-size:clamp(58px,15vw,88px)}
}

@media (max-width: 520px) {
  .brand{font-size:12px}.brand-mark{width:27px;height:27px}.eyebrow{font-size:8px}.hero h1{font-size:clamp(58px,18.5vw,82px)}.hero-actions{grid-template-columns:1fr}.hero-lead{font-size:20px}.hero-sub{font-size:15px}.hero-sub br{display:none}.ticker div{padding:15px 0}.about-statement h3{font-size:52px}.principle-copy{font-size:26px}.service-card{min-height:410px}.service-card-title{font-size:32px}.case-header h3{font-size:52px}.chart-card{padding:22px}.chart-top span{display:none}.bar-chart{height:300px}.team-flow b{transform:rotate(90deg)}.company-statement{font-size:40px}.company-profile>div{grid-template-columns:1fr;gap:10px}.contact h2{font-size:58px}.contact-content>p:not(.section-en) br{display:none}.contact-form{grid-template-columns:1fr;padding:20px}.contact-form .full,.contact-button{grid-column:1}.member-info h3 small{display:block;margin-top:8px}.google-button{width:100%}.login-members{flex-wrap:wrap}
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none!important; } }

/* Motion-led refinement: ZITA's full-screen pacing × GIFU GEAR's industrial layering. */
:root { --ease-out-expo: cubic-bezier(.16,1,.3,1); --ease-in-out: cubic-bezier(.76,0,.24,1); }
html { scroll-padding-top: 90px; }

.page-intro { position:fixed;z-index:1000;inset:0;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none;visibility:visible; }
.page-intro span { background:#07080a;transform-origin:top;animation:intro-panel-out 1.05s var(--ease-in-out) forwards; }
.page-intro span:nth-child(2) { background:#0b1f4b;animation-delay:60ms; }.page-intro span:nth-child(3){background:#123b98;animation-delay:120ms}.page-intro span:nth-child(4){background:var(--blue);animation-delay:180ms}
@keyframes intro-panel-out { 0%{transform:scaleY(1)} 100%{transform:scaleY(0);visibility:hidden} }

.site-header { position:fixed;transition:height .55s var(--ease-out-expo),background .4s,border-color .4s,backdrop-filter .4s; }
.site-header.is-scrolled { height:68px;background:rgba(5,5,6,.78);border-color:rgba(255,255,255,.1);backdrop-filter:blur(18px) saturate(135%); }
.desktop-nav a { position:relative;padding:9px 0; }
.desktop-nav a::after { content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--blue-bright);transition:right .45s var(--ease-out-expo); }
.desktop-nav a:hover::after { right:0; }
.header-cta { min-width:132px;height:42px;padding:0 8px 0 17px;border-radius:999px;border-color:rgba(255,255,255,.24);justify-content:space-between;transform:translate3d(var(--button-x,0),var(--button-y,0),0);transition:transform .35s var(--ease-out-expo),background .25s,color .25s; }
.header-cta span { width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:13px;transition:transform .45s var(--ease-out-expo); }
.header-cta:hover span { transform:translateX(3px); }
.logout-link { padding:10px 0; }

.hero { --motion-x:0;--motion-y:0; }
.hero::before { content:"";position:absolute;z-index:2;width:38vw;aspect-ratio:1;right:7vw;top:50%;border:1px solid rgba(89,139,255,.16);border-radius:50%;transform:translate(calc(var(--motion-x) * -18px),calc(-50% + var(--motion-y) * -12px)) scaleY(.38) rotate(-18deg);transition:transform .6s var(--ease-out-expo);pointer-events:none;box-shadow:0 0 90px rgba(36,107,253,.05); }
.hero-image { transform:translate3d(calc(var(--motion-x) * -13px),calc(var(--motion-y) * -9px),0) scale(1.045);transition:transform .9s var(--ease-out-expo); }
.motion-enabled .hero-image { clip-path:inset(0 0 0 100%); }
.is-ready .hero-image { animation:hero-image-reveal 1.5s .12s var(--ease-out-expo) forwards; }
@keyframes hero-image-reveal { to{clip-path:inset(0 0 0 0)} }
.hero-grid { opacity:0;transition:opacity 1.2s .7s; }.is-ready .hero-grid{opacity:1}
.hero-line { display:block;overflow:hidden;margin:-.06em 0; padding:.06em 0; }
.hero-line>span { display:block;transform-origin:left bottom; }
.motion-enabled .hero-line>span { transform:translateY(112%) rotate(2deg); }
.is-ready .hero-line>span { animation:hero-type-in 1.15s .42s var(--ease-out-expo) forwards; }.is-ready .hero-line:nth-child(2)>span{animation-delay:.55s}
@keyframes hero-type-in { to{transform:translateY(0) rotate(0)} }
.motion-enabled .hero .eyebrow,.motion-enabled .hero-bottom { opacity:0;transform:translateY(18px); }.is-ready .hero .eyebrow,.is-ready .hero-bottom{animation:hero-meta-in .8s .95s var(--ease-out-expo) forwards}.is-ready .hero-bottom{animation-delay:1.03s}
@keyframes hero-meta-in { to{opacity:1;transform:translateY(0)} }

.button,.contact-button { transform:translate3d(var(--button-x,0),var(--button-y,0),0);transition:transform .35s var(--ease-out-expo),border-color .25s,color .35s; }
.button-blue,.contact-button { position:relative;isolation:isolate;overflow:hidden;border-radius:999px;background:#f5f6f8;color:#08090b;box-shadow:none; }
.button-blue::before,.contact-button::before { content:"";position:absolute;z-index:-1;inset:0;background:var(--blue);transform:translateX(-102%);transition:transform .55s var(--ease-out-expo); }
.button-blue:hover,.contact-button:hover { color:#fff;background:#f5f6f8; }.button-blue:hover::before,.contact-button:hover::before{transform:translateX(0)}
.button-blue span,.contact-button b { width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--blue);color:#fff;transition:transform .55s var(--ease-out-expo),background .3s; }
.button-blue:hover span,.contact-button:hover b { transform:translateX(4px);background:#fff;color:var(--blue); }
.text-link { position:relative;padding-bottom:9px; }.text-link::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:rgba(255,255,255,.3);transform-origin:right;transition:transform .4s var(--ease-out-expo)}.text-link:hover::after{transform:scaleX(.36)}

.ticker { background:#0a0b0e; }
.ticker .ticker-track { width:max-content;display:flex;padding:0;transform:none;animation:ticker-flow 26s linear infinite; }
.ticker .ticker-track>span { display:block;padding:18px 0;white-space:nowrap;font:800 11px/1 Arial;letter-spacing:.18em;word-spacing:28px; }
.ticker .ticker-track b { color:#5f646d;font-size:12px; }.ticker .ticker-track>span+span{margin-left:28px}
@keyframes ticker-flow { to{transform:translateX(calc(-50% - 14px))} }

.motion-enabled .reveal-target { opacity:0;transform:translateY(52px);clip-path:inset(0 0 18% 0);transition:opacity .8s var(--ease-out-expo) var(--reveal-delay,0ms),transform 1s var(--ease-out-expo) var(--reveal-delay,0ms),clip-path 1.1s var(--ease-out-expo) var(--reveal-delay,0ms); }
.motion-enabled .reveal-target.is-inview { opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0); }

.section-heading { position:relative; }
.section-heading::after { content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:linear-gradient(90deg,var(--blue),transparent);transition:width 1.2s .15s var(--ease-out-expo); }
.section-heading.is-inview::after { width:62%; }
.about-statement h3 em { position:relative;transition:color .45s,-webkit-text-stroke-color .45s; }.about-statement:hover h3 em{color:var(--blue);-webkit-text-stroke-color:var(--blue)}

.convergence { clip-path:polygon(0 0,calc(100% - 32px) 0,100% 32px,100% 100%,0 100%);transition:border-color .45s,box-shadow .45s!important; }.convergence:hover{border-color:rgba(90,140,255,.45);box-shadow:0 28px 90px rgba(0,0,0,.28)}
.flow-lines i { animation:flow-signal 2.8s ease-in-out infinite alternate; }.flow-lines i:nth-child(2){animation-delay:.12s}.flow-lines i:nth-child(3){animation-delay:.24s}.flow-lines i:nth-child(4){animation-delay:.36s}.flow-lines i:nth-child(5){animation-delay:.48s}
@keyframes flow-signal { from{opacity:.22;filter:brightness(.7)} to{opacity:1;filter:brightness(1.4)} }
.outcome { position:relative;overflow:hidden; }.outcome::after{content:"";position:absolute;width:58%;aspect-ratio:1;border:1px solid rgba(96,145,255,.45);border-radius:50%;transform:scaleY(.28) rotate(-14deg);animation:outcome-orbit 8s linear infinite}@keyframes outcome-orbit{to{transform:scaleY(.28) rotate(346deg)}}

.strength-grid article { overflow:hidden;transition:transform .65s var(--ease-out-expo),background .35s; }.strength-grid article::before{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out-expo)}.strength-grid article:hover{z-index:2;transform:translateY(-10px);background:#101218}.strength-grid article:hover::before{transform:scaleX(1)}

.service-card { transition:transform .65s var(--ease-out-expo),border-color .4s,box-shadow .55s!important; }
.service-card::before { content:"";position:absolute;z-index:3;left:-65%;top:0;width:55%;height:2px;background:linear-gradient(90deg,transparent,var(--blue),transparent);transition:left .9s var(--ease-out-expo); }
.service-card.is-active::before { left:110%; }
.service-card:not(.is-active):hover { transform:translateY(-4px);border-color:rgba(255,255,255,.38); }
.service-card.is-active:hover { transform:translateY(-10px); }
.service-card:focus-visible { outline:3px solid rgba(36,107,253,.35);outline-offset:4px; }
.service-card:hover .service-arrow { transform:rotate(45deg);background:var(--blue);border-color:var(--blue);color:#fff; }

.metric-grid article { clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);transition:transform .7s var(--ease-out-expo),border-color .4s,background .4s!important; }
.metric-grid article:hover { transform:translateY(-14px);border-color:rgba(91,143,255,.55);background:#151821; }
.metric-grid article::after { content:"";position:absolute;top:0;right:0;width:22px;height:22px;background:var(--blue);clip-path:polygon(100% 0,100% 100%,0 0);opacity:.75; }
.bar { transform-origin:bottom;animation:bar-breathe 3.4s ease-in-out infinite alternate; }@keyframes bar-breathe{from{filter:brightness(.72)}to{filter:brightness(1.35);box-shadow:0 0 38px rgba(36,107,253,.35)}}
.process-list article { transition:padding-left .55s var(--ease-out-expo),background .35s!important; }.process-list article:hover{padding-left:24px;background:rgba(255,255,255,.025)}

.portrait { clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%); }.portrait::before,.portrait::after,.portrait-orbit{transition:transform .9s var(--ease-out-expo),filter .6s}.member-card:hover .portrait::before{transform:translateY(-6px) scale(1.04)}.member-card:hover .portrait::after{transform:scale(1.03)}.member-card:hover .portrait-orbit{transform:rotate(16deg) scaleY(.38)}

.contact-orbit { animation:contact-orbit-float 8s ease-in-out infinite alternate; }@keyframes contact-orbit-float{to{transform:translate3d(-28px,14px,0) rotate(4deg)}}
.contact-form { clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%);transition:border-color .45s,background .45s!important; }.contact-form:focus-within{border-color:rgba(94,145,255,.65);background:rgba(10,12,18,.94)}
.contact-button { border-radius:999px!important;height:72px!important;padding:0 12px 0 28px!important; }

@media (max-width:900px){
  html{scroll-padding-top:74px}.site-header.is-scrolled{height:62px}.page-intro{grid-template-columns:repeat(3,1fr)}.page-intro span:nth-child(4){display:none}.hero::before{width:75vw;right:-28vw}.hero-image{transform:translate3d(0,0,0) scale(1.04)}.service-card:not(.is-active):hover,.service-card.is-active:hover{transform:none}.metric-grid article:hover{transform:translateY(-5px)}
}
@media (prefers-reduced-motion:reduce){.page-intro{display:none}.hero-image{clip-path:none;transform:none}.hero-line>span,.hero .eyebrow,.hero-bottom{opacity:1;transform:none}.ticker .ticker-track,.flow-lines i,.outcome::after,.bar,.contact-orbit{animation:none}.motion-enabled .reveal-target{opacity:1;transform:none;clip-path:none}}

/* 2026 cosmic identity refinement */
body {
  font-family: "Arial Black", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 700;
}

h1, h2, h3, h4, strong, .brand, .button, .service-card-title, .service-card-copy {
  font-weight: 900;
}

.marketing-site {
  background:
    radial-gradient(circle at 12% 18%, rgba(36,107,253,.07), transparent 24%),
    radial-gradient(circle at 86% 46%, rgba(76,122,255,.055), transparent 28%),
    #040405;
}

.section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.section::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 8%;
  right: 8%;
  bottom: -50px;
  height: 100px;
  background: radial-gradient(ellipse at center, rgba(43,105,247,.14), transparent 70%);
  filter: blur(28px);
  pointer-events: none;
}

.section-heading {
  border: 0;
  padding-top: 22px;
}

.section-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(89,139,255,.75) 18%, rgba(255,255,255,.18) 52%, transparent 92%);
  box-shadow: 0 0 26px rgba(36,107,253,.2);
}

.section-heading::after {
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #5d8fff, #fff, transparent);
  filter: blur(.2px);
}

.section-en,
.desktop-nav a,
.ticker .ticker-track > span,
.mini-label,
.service-number,
.member-info p,
.company-profile dt {
  font-family: Arial, sans-serif;
  font-weight: 900;
}

/* ABOUT — one statement, held by orbital art. */
.about {
  max-width: none;
  min-height: 980px;
  padding-bottom: 150px;
  background:
    radial-gradient(circle at 82% 46%, rgba(41,101,241,.22), transparent 17%),
    radial-gradient(circle at 78% 44%, rgba(46,112,255,.08), transparent 34%),
    radial-gradient(circle at 8% 82%, rgba(102,133,255,.08), transparent 24%),
    linear-gradient(145deg, #030304, #080b13 56%, #020203);
}

.about::before,
.members::before,
.company::before,
.case-study::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .48;
  background-image:
    radial-gradient(circle at 9% 13%, rgba(255,255,255,.9) 0 1px, transparent 1.4px),
    radial-gradient(circle at 27% 72%, rgba(113,157,255,.75) 0 1px, transparent 1.5px),
    radial-gradient(circle at 61% 19%, rgba(255,255,255,.7) 0 1px, transparent 1.4px),
    radial-gradient(circle at 84% 76%, rgba(93,143,255,.85) 0 1px, transparent 1.5px),
    radial-gradient(circle at 95% 34%, rgba(255,255,255,.5) 0 1px, transparent 1.4px);
  background-size: 280px 280px, 360px 360px, 420px 420px, 510px 510px, 600px 600px;
  pointer-events: none;
}

.about .section-heading {
  width: fit-content;
  max-width: 100%;
  margin-bottom: 76px;
  padding: 0;
}

.about .section-heading::before,
.about .section-heading::after {
  display: none;
}

.about .section-heading > div {
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 46px);
  max-width: 100%;
  padding: 20px 34px;
  border: 1px solid transparent;
  border-radius: 999px;
  background:
    linear-gradient(rgba(8,10,16,.56), rgba(8,10,16,.56)) padding-box,
    linear-gradient(105deg, rgba(255,255,255,.56), rgba(54,117,255,.9), rgba(255,255,255,.08)) border-box;
  box-shadow: inset 0 0 40px rgba(255,255,255,.025), 0 0 52px rgba(36,107,253,.09);
  backdrop-filter: blur(18px);
}

.about .section-en {
  margin: 0;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.7);
  font-size: clamp(38px, 5vw, 82px);
  letter-spacing: -.045em;
  line-height: .9;
}

.about .section-heading h2 {
  font-size: clamp(18px, 2.2vw, 34px);
  letter-spacing: .02em;
  white-space: nowrap;
}

.principle-art {
  position: relative;
  min-height: 780px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: clamp(44px, 8vw, 150px);
  padding: clamp(38px, 4.4vw, 74px);
  border-radius: clamp(30px, 4vw, 58px);
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 55%, rgba(24,87,255,.2), transparent 8%),
    radial-gradient(circle at 80% 45%, rgba(27,83,214,.12), transparent 31%),
    linear-gradient(120deg, #010102, #05070c 52%, #010102);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.065), inset 0 -90px 180px rgba(0,0,0,.5), 0 45px 120px rgba(0,0,0,.34);
}

.principle-art::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 8% 18%, rgba(255,255,255,.8) 0 1px, transparent 1.4px),
    radial-gradient(circle at 23% 79%, rgba(73,127,255,.8) 0 1px, transparent 1.4px),
    radial-gradient(circle at 69% 16%, rgba(255,255,255,.7) 0 1px, transparent 1.4px),
    radial-gradient(circle at 93% 73%, rgba(76,132,255,.75) 0 1px, transparent 1.4px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px);
  background-size: 310px 310px, 390px 390px, 470px 470px, 560px 560px, 68px 68px, 68px 68px;
  mask-image: linear-gradient(#000, rgba(0,0,0,.58));
  pointer-events: none;
}

.principle-art::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 8%;
  right: 7%;
  top: 54%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55) 35%, #fff 49%, #2b73ff 52%, rgba(44,113,255,.45) 76%, transparent);
  box-shadow: 0 0 9px #fff, 0 0 28px #246bfd;
  opacity: .8;
  pointer-events: none;
}

.principle-headline {
  position: relative;
  z-index: 4;
  margin: 0;
  align-self: start;
}
.principle-headline p { margin: 0 0 18px; color: #4e86ff; font: 900 10px/1 Arial, sans-serif; letter-spacing: .32em; }
.principle-headline h3 { margin: 0; color: #fff; font-size: clamp(42px, 4.55vw, 80px); line-height: 1; letter-spacing: -.055em; white-space: nowrap; }
.principle-headline-output { text-align: right; }
.principle-headline-output h3 { text-shadow: 0 0 36px rgba(255,255,255,.14), 0 0 65px rgba(36,107,253,.15); }

.principle-system {
  position: relative;
  z-index: 3;
  grid-column: 1 / -1;
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 100px minmax(0, 1fr);
  align-items: center;
  margin-top: 20px;
}
.logic-model,
.output-model { position: relative; min-width: 0; min-height: 450px; }
.logic-model::before {
  content: "";
  position: absolute;
  width: min(42vw, 560px);
  aspect-ratio: 1;
  left: 47%;
  top: 48%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: repeating-radial-gradient(circle, transparent 0 52px, rgba(121,156,234,.14) 53px 54px);
  opacity: .8;
}
.logic-model::after {
  content: "";
  position: absolute;
  inset: 14% 3% 14% 24%;
  background: repeating-linear-gradient(21deg, transparent 0 38px, rgba(95,140,246,.16) 39px 40px, transparent 41px 74px);
  clip-path: polygon(0 46%, 100% 0, 100% 100%, 0 54%);
}
.logic-sequence {
  position: absolute;
  z-index: 3;
  left: 0;
  top: 50%;
  width: 64%;
  display: flex;
  align-items: center;
  gap: 12px;
  transform: translateY(-50%);
}
.logic-sequence span,
.logic-branches span {
  min-width: 108px;
  min-height: 82px;
  padding: 18px 12px;
  display: grid;
  place-content: center;
  text-align: center;
  border: 1px solid rgba(234,241,255,.58);
  background: rgba(4,7,13,.86);
  box-shadow: inset 0 0 28px rgba(36,107,253,.04), 0 0 28px rgba(0,0,0,.45);
  color: #f7f9ff;
  font-size: 13px;
  letter-spacing: .04em;
}
.logic-sequence small,
.logic-branches small { display: block; margin-top: 7px; color: #8f9bb2; font: 700 7px/1 Arial, sans-serif; letter-spacing: .14em; }
.logic-sequence b { color: #fff; font: 400 20px/1 Arial, sans-serif; text-shadow: 0 0 12px #fff; }
.logic-sequence .is-diamond { min-width: 90px; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.logic-branches { position: absolute; z-index: 3; right: 2%; top: 50%; display: grid; gap: 13px; transform: translateY(-50%); }
.logic-branches span { min-width: 128px; min-height: 76px; padding: 13px; }
.logic-orbits { position: absolute; z-index: 2; right: -4%; top: 50%; width: 47%; aspect-ratio: 1; transform: translateY(-50%); }
.logic-orbits i { position: absolute; inset: 5%; border: 1px solid rgba(104,149,255,.25); border-radius: 50%; }
.logic-orbits i:nth-child(2) { inset: 18%; }.logic-orbits i:nth-child(3) { inset: 31%; }.logic-orbits i:nth-child(4) { inset: 44%; }
.logic-orbits b { position: absolute; width: 7px; height: 7px; border: 1px solid #fff; border-radius: 50%; background: #11182a; box-shadow: 0 0 15px rgba(255,255,255,.42); }
.logic-orbits b:nth-of-type(1) { right: 6%; top: 33%; }.logic-orbits b:nth-of-type(2) { right: 19%; top: 49%; background: #246bfd; border-color: #246bfd; }.logic-orbits b:nth-of-type(3) { right: 12%; bottom: 23%; }
.logic-model > p { position: absolute; z-index: 3; left: 4%; bottom: 5px; margin: 0; color: #8a94a7; font: 800 8px/1 Arial, sans-serif; letter-spacing: .22em; word-spacing: 17px; }
.logic-model > p b { color: #fff; }

.principle-core { position: relative; z-index: 6; width: 100px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 43% 50%, #010104 0 36%, #07132e 40%, #1766ff 47%, rgba(36,107,253,.12) 58%, transparent 70%); filter: drop-shadow(0 0 20px rgba(47,115,255,.7)); }
.principle-core::before,
.principle-core::after,
.principle-core i { content: ""; position: absolute; border: 1px solid rgba(88,140,255,.72); border-radius: 50%; }
.principle-core::before { inset: -19px; clip-path: inset(0 0 50% 0); box-shadow: 0 0 16px rgba(36,107,253,.5); }
.principle-core::after { inset: -29px; opacity: .26; }
.principle-core i { inset: 14px; border-color: rgba(255,255,255,.17); }
.principle-core span { position: absolute; z-index: 2; right: -5px; top: 50%; width: 9px; height: 9px; border-radius: 50%; background: #fff; box-shadow: 0 0 12px #fff, 0 0 32px #2874ff; transform: translateY(-50%); }

.output-model { perspective: 800px; overflow: hidden; }
.output-grid { position: absolute; left: 0; right: -4%; top: 48%; display: grid; grid-template-columns: repeat(8, 1fr); gap: 9px; transform-origin: left center; transform: translateY(-50%) rotateY(-27deg) rotateZ(-.8deg); }
.output-grid i { aspect-ratio: .84; border: 1px solid rgba(161,185,240,.36); background: radial-gradient(circle at 50% 43%, rgba(255,255,255,.16), rgba(55,91,174,.08) 22%, rgba(3,5,9,.9) 64%); box-shadow: inset 0 0 15px rgba(255,255,255,.035); }
.output-grid i:nth-child(5n),
.output-grid i:nth-child(11n + 3) { border-color: #3079ff; background: radial-gradient(circle, #377dff, #0d2862 32%, #07101f 68%); box-shadow: 0 0 18px rgba(36,107,253,.34); }
.output-grid i:nth-child(7n) { border-color: rgba(255,255,255,.88); background: radial-gradient(circle, rgba(255,255,255,.9), rgba(85,122,205,.32) 18%, #060913 58%); }
.output-beam { position: absolute; z-index: 4; left: -3%; right: 0; top: 50%; height: 2px; background: linear-gradient(90deg, #fff, #2673ff 8%, rgba(46,114,255,.3) 72%, transparent); box-shadow: 0 0 9px #fff, 0 0 26px #246bfd; }
.output-beam::after { content: ""; position: absolute; right: 2%; top: 50%; width: 20px; height: 20px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: translateY(-50%) rotate(45deg); }
.output-label { position: absolute; left: 15%; right: 8%; bottom: 4px; display: grid; justify-items: center; gap: 10px; color: #fff; }
.output-label span { width: 100%; display: flex; align-items: center; gap: 22px; color: #246bfd; font: 900 15px/1 Arial, sans-serif; letter-spacing: .24em; }
.output-label span::before,
.output-label span::after { content: ""; height: 1px; flex: 1; background: linear-gradient(90deg, transparent, rgba(45,111,255,.8)); }
.output-label span::after { background: linear-gradient(90deg, rgba(45,111,255,.8), transparent); }
.output-label small { color: #c2c8d4; font-size: 11px; letter-spacing: .1em; }

/* SERVICE */
.service {
  background:
    radial-gradient(circle at 16% 10%, rgba(36,107,253,.14), transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(89,139,255,.09), transparent 25%),
    #06070a;
  color: #fff;
}

.service .section-heading,
.members .section-heading { border-color: transparent; }
.service .section-heading h2 { font-size: clamp(70px, 10vw, 166px); line-height: .82; letter-spacing: -.07em; }
.service .section-en,
.members .section-en { color: rgba(255,255,255,.55); }
.service-list { gap: 18px; }
.service-card {
  min-height: 560px;
  border: 1px solid transparent;
  border-radius: 34px;
  clip-path: none;
  background:
    linear-gradient(145deg, rgba(13,16,24,.94), rgba(6,7,10,.94)) padding-box,
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(69,126,255,.22), rgba(255,255,255,.04)) border-box;
  box-shadow: inset 0 0 46px rgba(255,255,255,.02), 0 28px 70px rgba(0,0,0,.2);
}
.service-card.is-active {
  border-color: transparent;
  background:
    linear-gradient(145deg, rgba(17,23,38,.97), rgba(7,9,14,.96)) padding-box,
    linear-gradient(145deg, rgba(102,151,255,.92), rgba(36,107,253,.2), rgba(255,255,255,.12)) border-box;
  box-shadow: 0 28px 90px rgba(15,50,132,.25), inset 0 0 60px rgba(36,107,253,.055);
}
.service-card::before { height: 1px; }
.service-number { color: rgba(255,255,255,.2); }
.service-arrow { background: rgba(255,255,255,.04); }

/* CASE STUDY */
.case-study {
  background:
    radial-gradient(circle at 84% 12%, rgba(45,105,241,.14), transparent 23%),
    linear-gradient(180deg, #040405, #080a10 58%, #040405);
}
.case-header h3 { letter-spacing: -.07em; }
.metric-grid { gap: 16px; background: transparent; border: 0; }
.metric-grid article {
  border: 1px solid transparent;
  border-radius: 32px;
  clip-path: none;
  background:
    linear-gradient(145deg, rgba(17,19,27,.9), rgba(7,8,11,.9)) padding-box,
    linear-gradient(145deg, rgba(255,255,255,.17), rgba(71,127,255,.2), transparent) border-box;
  box-shadow: 0 30px 80px rgba(0,0,0,.22);
}
.metric-grid article::after { display: none; }
.chart-card {
  border-radius: 38px;
  clip-path: none;
  background: radial-gradient(circle at 75% 24%, rgba(36,107,253,.1), transparent 29%), #0a0c11;
}
.process-list { gap: 9px; border: 0; background: transparent; }
.process-list article { border: 1px solid rgba(255,255,255,.08); border-radius: 22px; background: rgba(255,255,255,.018); }

/* MEMBER — the team's shared thinking profile. */
.members {
  background:
    radial-gradient(circle at 16% 38%, rgba(43,105,247,.22), transparent 24%),
    radial-gradient(circle at 86% 68%, rgba(86,132,255,.12), transparent 29%),
    linear-gradient(145deg, #040509, #080b14 56%, #030305);
  color: #fff;
}
.members .section-heading { margin-bottom: 78px; }
.members .section-heading h2 {
  font-size: clamp(72px, 10.5vw, 178px);
  line-height: .76;
  letter-spacing: -.08em;
  color: #f4f6fa;
  text-shadow: 0 0 65px rgba(36,107,253,.11);
}
.team-profile {
  position: relative;
  display: grid;
  gap: 46px;
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: clamp(30px, 4vw, 66px);
  overflow: hidden;
  border: 1px solid rgba(98,145,255,.24);
  border-radius: clamp(30px, 4vw, 54px);
  background:
    radial-gradient(circle at 78% 10%, rgba(50,113,255,.16), transparent 27%),
    linear-gradient(135deg, rgba(15,20,34,.94), rgba(5,7,12,.96));
  box-shadow: inset 0 0 80px rgba(255,255,255,.018), 0 38px 110px rgba(0,0,0,.28);
}
.team-profile::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at 50% 50%, #000, transparent 82%);
  pointer-events: none;
}
.team-profile-intro {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr minmax(320px, .72fr) auto;
  gap: clamp(28px, 5vw, 80px);
  align-items: end;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.team-profile-intro h3 { margin: 0; font-size: clamp(48px, 5.1vw, 88px); line-height: .92; letter-spacing: -.07em; }
.team-profile-intro > p { margin: 0 0 4px; color: #aeb5c2; font-size: 14px; line-height: 1.9; letter-spacing: .025em; }
.type-signature { display: flex; align-items: flex-end; gap: 15px; }
.type-signature strong { font: 900 clamp(68px, 6vw, 106px)/.72 Arial, sans-serif; letter-spacing: -.075em; color: #fff; text-shadow: 0 0 48px rgba(36,107,253,.32); }
.type-signature span { color: #6896ff; font: 900 8px/1.6 Arial, sans-serif; letter-spacing: .14em; white-space: nowrap; }
.trait-chart { position: relative; z-index: 2; display: grid; gap: 12px; }
.trait-axis {
  position: relative;
  display: grid;
  grid-template-columns: minmax(172px, .38fr) minmax(280px, 1fr) minmax(172px, .38fr);
  align-items: center;
  gap: 25px;
  min-height: 112px;
  padding: 16px 24px;
  border-radius: 24px;
  background: rgba(255,255,255,.025);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.055);
  transition: transform .55s var(--ease-out-expo), background .4s;
}
.trait-axis:hover { transform: translateY(-3px); background: rgba(255,255,255,.042); }
.axis-side { min-width: 0; display: flex; align-items: center; gap: 18px; }
.axis-side span { color: #cbd1dc; font-size: clamp(15px, 1.35vw, 22px); font-weight: 900; white-space: nowrap; }
.axis-side b {
  width: 68px;
  aspect-ratio: 1;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid rgba(115,157,255,.36);
  border-radius: 50%;
  color: #aebbd7;
  background: rgba(33,69,142,.28);
  font: 900 27px/1 Arial, sans-serif;
  transition: color .35s, background .35s, box-shadow .35s, transform .35s;
}
.axis-left { justify-content: flex-end; }
.axis-right { justify-content: flex-start; }
.axis-center { min-width: 0; display: grid; gap: 13px; }
.axis-center p { margin: 0; color: #747d8e; text-align: center; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.axis-track { position: relative; height: 8px; }
.axis-track i { position: absolute; inset: 2px 0; border-radius: 999px; background: linear-gradient(90deg, #2369ff, #79a5ff 48%, #d9e7ff); box-shadow: 0 0 20px rgba(55,119,255,.3); }
.axis-track span { position: absolute; z-index: 2; top: 50%; width: 24px; aspect-ratio: 1; border: 4px solid #fff; border-radius: 50%; background: #246bfd; box-shadow: 0 0 0 5px rgba(36,107,253,.17), 0 0 28px rgba(93,143,255,.9); transform: translate(-50%, -50%); }
.trait-axis.is-left .axis-left b,
.trait-axis.is-right .axis-right b { color: #fff; border-color: #6c9cff; background: linear-gradient(145deg, #2f73ff, #1747aa); box-shadow: 0 0 24px rgba(36,107,253,.42); transform: scale(1.06); }
.trait-axis.is-left .axis-left span,
.trait-axis.is-right .axis-right span { color: #fff; }
.profile-note { position: relative; z-index: 2; margin: -20px 0 0; color: #656e7e; font-size: 9px; letter-spacing: .04em; text-align: right; }

/* COMPANY */
.company {
  background:
    radial-gradient(circle at 82% 20%, rgba(36,107,253,.13), transparent 24%),
    linear-gradient(155deg, #050506, #090c13 66%, #030304);
}
.company-layout { display: block; }
.company-profile {
  width: min(100%, 1100px);
  margin-left: auto;
  padding: 18px clamp(22px, 4vw, 56px);
  border: 1px solid transparent;
  border-radius: 42px;
  background:
    linear-gradient(rgba(8,10,15,.8), rgba(8,10,15,.8)) padding-box,
    linear-gradient(140deg, rgba(255,255,255,.2), rgba(43,105,247,.25), rgba(255,255,255,.03)) border-box;
  backdrop-filter: blur(14px);
}
.company-profile > div { position: relative; border: 0; }
.company-profile > div:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(99,146,255,.28), rgba(255,255,255,.04));
}

/* CONTACT */
.contact {
  background:
    radial-gradient(circle at 12% 50%, rgba(36,107,253,.17), transparent 25%),
    radial-gradient(circle at 82% 45%, rgba(55,111,242,.1), transparent 31%),
    #040406;
}
.contact h2 {
  font-size: clamp(76px, 10.5vw, 174px);
  letter-spacing: -.08em;
  line-height: .78;
}
.contact-form {
  border: 1px solid transparent;
  border-radius: 42px;
  clip-path: none;
  background:
    linear-gradient(rgba(8,10,15,.84), rgba(8,10,15,.84)) padding-box,
    linear-gradient(145deg, rgba(255,255,255,.22), rgba(46,109,255,.36), rgba(255,255,255,.04)) border-box;
  box-shadow: 0 40px 120px rgba(0,0,0,.34), inset 0 0 60px rgba(255,255,255,.018);
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 14px 16px;
  background: rgba(255,255,255,.025);
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color: rgba(93,143,255,.75); box-shadow: 0 0 0 3px rgba(36,107,253,.08); }

footer,
.site-header,
.ticker { border-color: transparent; }
footer::before,
.ticker::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(91,143,255,.45), rgba(255,255,255,.12), transparent);
}
footer { position: relative; }
.ticker { position: relative; }

@media (max-width: 1100px) {
  .principle-art { min-height: 720px; }
  .principle-headline h3 { font-size: clamp(38px, 4.6vw, 58px); }
  .principle-system { grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr); }
  .principle-core { width: 76px; }
  .logic-sequence span { min-width: 88px; font-size: 11px; }
  .logic-sequence .is-diamond { min-width: 76px; }
  .logic-branches span { min-width: 104px; }
  .logic-model > p { word-spacing: 5px; letter-spacing: .12em; }
  .team-profile-intro { grid-template-columns: 1fr 1fr; }
  .type-signature { grid-column: 1 / -1; }
  .trait-axis { grid-template-columns: minmax(150px,.4fr) minmax(210px,1fr) minmax(150px,.4fr); gap: 16px; }
  .axis-side { gap: 11px; }
  .axis-side b { width: 58px; font-size: 23px; }
}

@media (max-width: 900px) {
  .about { min-height: auto; padding-bottom: 100px; }
  .about .section-heading > div { padding: 17px 24px; }
  .principle-art { min-height: auto; grid-template-columns: 1fr; gap: 30px; padding: 42px 28px; }
  .principle-headline-output { text-align: left; }
  .principle-headline h3 { font-size: clamp(46px, 9vw, 72px); }
  .principle-system { grid-column: 1; grid-template-columns: 1fr; gap: 26px; min-height: 0; margin-top: 4px; }
  .principle-art::after { display: none; }
  .logic-model { min-height: 400px; }
  .principle-core { width: 90px; margin: -20px auto; transform: rotate(90deg); }
  .output-model { min-height: 390px; }
  .output-grid { right: 0; transform: translateY(-50%) rotateY(-18deg); }
  .service .section-heading h2 { font-size: clamp(68px, 17vw, 128px); }
  .service-card { border-radius: 28px; }
  .members .section-heading h2 { font-size: clamp(74px, 19vw, 140px); }
  .team-profile { gap: 35px; padding: 30px 24px; }
  .team-profile-intro { grid-template-columns: 1fr; gap: 25px; padding-bottom: 30px; }
  .type-signature { grid-column: 1; }
  .trait-axis { grid-template-columns: 1fr minmax(190px,1.3fr) 1fr; gap: 12px; padding: 15px 12px; }
  .axis-side { display: grid; gap: 8px; justify-items: center; }
  .axis-left { grid-template-columns: 1fr; }.axis-left span { grid-row: 2; }
  .axis-right { grid-template-columns: 1fr; }
  .axis-side b { width: 52px; }
  .axis-side span { font-size: 14px; }
  .company-profile { margin: 0; }
  .contact-form { border-radius: 32px; }
}

@media (max-width: 620px) {
  .about .section-heading { width: 100%; }
  .about .section-heading > div { width: 100%; align-items: flex-start; flex-direction: column; gap: 10px; border-radius: 28px; }
  .about .section-en { font-size: 48px; }
  .about .section-heading h2 { font-size: 19px; white-space: normal; }
  .principle-art { border-radius: 30px; padding: 32px 18px; gap: 20px; }
  .principle-headline p { margin-bottom: 10px; font-size: 8px; }
  .principle-headline h3 { font-size: clamp(38px, 11.8vw, 58px); }
  .principle-system { gap: 18px; }
  .logic-model { min-height: 350px; }
  .logic-sequence { width: 68%; gap: 5px; }
  .logic-sequence span { min-width: 68px; min-height: 64px; padding: 10px 6px; font-size: 9px; }
  .logic-sequence .is-diamond { min-width: 62px; }
  .logic-sequence b { font-size: 13px; }
  .logic-branches { right: 0; gap: 8px; }
  .logic-branches span { min-width: 86px; min-height: 59px; padding: 8px 5px; font-size: 9px; }
  .logic-model > p { display: none; }
  .principle-core { width: 72px; }
  .output-model { min-height: 290px; }
  .output-grid { grid-template-columns: repeat(6, 1fr); gap: 5px; }
  .output-grid i:nth-child(n+37) { display: none; }
  .output-label { left: 2%; right: 2%; }
  .output-label small { font-size: 9px; letter-spacing: .03em; }
  .team-profile { padding: 27px 15px; border-radius: 28px; }
  .team-profile-intro h3 { font-size: clamp(48px, 14vw, 68px); }
  .team-profile-intro > p { font-size: 12px; }
  .trait-axis { grid-template-columns: 60px minmax(112px,1fr) 60px; min-height: 108px; gap: 5px; padding: 13px 8px; border-radius: 19px; }
  .axis-side b { width: 48px; font-size: 20px; }
  .axis-side span { font-size: 11px; }
  .axis-center p { min-height: 25px; font-size: 8px; line-height: 1.5; letter-spacing: .02em; }
  .axis-track span { width: 18px; border-width: 3px; }
  .profile-note { margin-top: -14px; text-align: left; line-height: 1.6; }
  .company-profile { padding: 12px 20px; border-radius: 28px; }
  .contact h2 { font-size: clamp(65px, 20vw, 100px); }
}
