.company-page { min-height:100vh; min-height:100dvh; }

@media (prefers-reduced-motion: no-preference) {
  .js .company-copy > * { animation: hero-rise .72s cubic-bezier(.22,.61,.36,1) both; }
  .js .company-copy > *:nth-child(2) { animation-delay:.07s; }
  .js .company-copy > *:nth-child(3) { animation-delay:.14s; }
  .js .company-copy > *:nth-child(4) { animation-delay:.21s; }
  .js .company-copy > *:nth-child(5) { animation-delay:.28s; }
  .js .identity-card { animation: hero-visual .9s .18s cubic-bezier(.22,.61,.36,1) both; }
  .interactive-visual::before,.interactive-visual::after { background:linear-gradient(90deg,var(--blue),var(--green),var(--blue)); background-size:220% 100%; animation:link-flow 3s linear infinite; }
  .interactive-visual strong { animation:pulse-dot-blue 2.8s ease-out infinite; }
  .cloud-visual::after { animation:orbit-spin 14s linear infinite; }
  .cloud-visual i { animation:dot-breathe 3.6s ease-in-out infinite; }
  .cloud-visual i:nth-child(2) { animation-delay:1.2s; }
  .cloud-visual i:nth-child(3) { animation-delay:2.4s; }
  .custom-visual i { animation:chip-sweep-yellow 4.4s ease-in-out infinite; }
  .custom-visual i:nth-child(3) { animation-delay:.7s; }
  .custom-visual i:nth-child(5) { animation-delay:1.4s; }
  .custom-visual b { display:inline-block; animation:arrow-nudge 2.2s ease-in-out infinite; }
}
@keyframes pulse-dot-blue { 0% { box-shadow:0 0 0 0 rgba(26,115,232,.3); } 70% { box-shadow:0 0 0 10px rgba(26,115,232,0); } 100% { box-shadow:0 0 0 0 rgba(26,115,232,0); } }
@keyframes dot-breathe { 0%,100% { transform:scale(1); } 50% { transform:scale(1.28); } }
@keyframes chip-sweep-yellow { 0%,100% { border-color:#ead49c; background:#fff; box-shadow:0 8px 20px rgba(155,105,0,.08); } 50% { border-color:#dfb541; background:#fffdf4; box-shadow:0 8px 22px rgba(155,105,0,.16); } }
@keyframes arrow-nudge { 0%,100% { transform:translateX(0); opacity:.7; } 50% { transform:translateX(3px); opacity:1; } }

.outcome-list article { transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.outcome-list article:hover { transform:translateY(-4px); border-color:var(--line-strong); box-shadow:0 12px 30px rgba(60,64,67,.09); }
.audience-clusters span { transition:transform .25s ease,box-shadow .25s ease; }
.audience-clusters span:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(60,64,67,.08); }
@media (hover:none) {
  .outcome-list article:hover,.audience-clusters span:hover { transform:none; }
}
.company-hero { min-height:0; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(350px,.65fr); align-items:center; gap:clamp(44px,7vw,110px); max-width:1540px; margin:0 auto; padding:clamp(24px,2.5vw,38px) clamp(20px,5vw,76px) clamp(38px,4vw,58px); }
.company-copy { max-width:940px; }
.company-copy h1 { max-width:980px; }
.company-copy > p:not(.eyebrow) { max-width:790px; color:var(--muted); font-size:clamp(18px,1.7vw,24px); line-height:1.58; }
.company-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.company-signals { display:flex; flex-wrap:wrap; gap:18px; margin-top:22px; color:var(--subtle); font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.company-signals span { display:flex; align-items:center; gap:7px; }
.company-signals i { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(52,168,83,.08); }

.identity-card { position:relative; overflow:hidden; padding:clamp(28px,4vw,46px); border:1px solid var(--line); border-radius:28px; background:#fff; box-shadow:0 20px 60px rgba(60,64,67,.11); }
.identity-card::before { content:""; position:absolute; width:240px; height:240px; right:-130px; top:-110px; border:1px solid rgba(26,115,232,.2); border-radius:50%; box-shadow:0 0 0 36px rgba(26,115,232,.04),0 0 0 72px rgba(52,168,83,.025); }
.identity-head { display:flex; justify-content:space-between; margin-bottom:38px; color:var(--subtle); font-size:9px; font-weight:800; letter-spacing:.15em; }
.identity-head i { color:var(--blue); font-style:normal; }
.identity-card > img { width:78px; height:78px; margin-bottom:28px; }
.identity-card h2 { margin-bottom:32px; font-size:clamp(28px,3vw,44px); line-height:1; letter-spacing:-.04em; }
.identity-card dl { margin:0; }
.identity-card dl div { display:grid; grid-template-columns:.7fr 1.3fr; gap:18px; padding:15px 0; border-top:1px solid var(--line); }
.identity-card dt { color:var(--subtle); font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.identity-card dd { margin:0; color:var(--text); font-size:13px; line-height:1.4; }
.identity-card dd small { display:block; margin-top:4px; color:var(--subtle); }

.entry-point { max-width:1388px; display:grid; grid-template-columns:auto 1fr auto 1fr; align-items:center; gap:18px; margin:0 auto 8px; padding:22px 28px; border:1px solid #cfe0f7; border-radius:22px; background:linear-gradient(120deg,#f5f9ff,#fff 55%,#f2fbf6); box-shadow:0 12px 34px rgba(60,64,67,.06); }
.entry-point > span { grid-row:1 / 3; color:var(--blue); font-size:9px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; writing-mode:vertical-rl; transform:rotate(180deg); }
.entry-point strong { font-size:clamp(18px,2vw,27px); line-height:1.15; }
.entry-point > i { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font-size:19px; font-style:normal; }
.entry-point p { grid-column:2 / -1; margin:2px 0 0; color:var(--muted); font-size:13px; }

.founder { display:grid; gap:14px; }
.founder-profile { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:clamp(34px,6vw,82px); align-items:stretch; }
.founder-intro { display:flex; flex-direction:column; justify-content:center; padding:clamp(10px,3vw,34px) 0; }
.founder-intro h2 { max-width:820px; margin:18px 0 24px; font-size:clamp(42px,5.5vw,78px); line-height:.98; letter-spacing:-.052em; }
.founder-intro > p:last-child { max-width:730px; margin:0; color:var(--muted); font-size:16px; line-height:1.7; }
.founder-card { position:relative; overflow:hidden; padding:30px; border:1px solid #cfe0f7; border-radius:26px; background:linear-gradient(145deg,#f5f9ff,#fff 58%,#f2fbf6); box-shadow:0 16px 44px rgba(60,64,67,.08); }
.founder-card::after { content:""; position:absolute; width:180px; height:180px; right:-90px; top:-90px; border:1px solid rgba(26,115,232,.16); border-radius:50%; box-shadow:0 0 0 30px rgba(26,115,232,.035); }
.founder-card > div:first-child { position:relative; z-index:1; display:flex; justify-content:space-between; color:var(--blue); font-size:9px; font-weight:850; letter-spacing:.14em; }
.founder-card i { color:var(--green); font-style:normal; }
.founder-card h3 { margin:58px 0 12px; font-size:clamp(34px,4vw,54px); line-height:.94; letter-spacing:-.045em; }
.founder-card > p { margin:0 0 30px; color:var(--muted); font-size:13px; }
.founder-card dl { margin:0; }
.founder-card dl div { display:grid; grid-template-columns:.72fr 1.28fr; gap:14px; padding:14px 0; border-top:1px solid var(--line); }
.founder-card dt { color:var(--subtle); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.founder-card dd { margin:0; font-size:12px; line-height:1.45; }
.founder-proof { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.founder-proof article { min-height:190px; display:flex; flex-direction:column; padding:22px; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.founder-proof span { color:var(--blue); font-size:9px; font-weight:850; }
.founder-proof strong { margin:28px 0 12px; font-size:20px; line-height:1.1; }
.founder-proof p { margin:auto 0 0; color:var(--muted); font-size:12px; line-height:1.55; }

.company-section { max-width:1540px; margin:0 auto; padding:clamp(46px,5vw,72px) clamp(20px,5vw,76px); border-top:1px solid var(--line); }
.company-section-head { margin-bottom:36px; }
.split-company-head { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); align-items:end; gap:44px; }
.company-section-head h2,.audience-intro h2 { max-width:940px; margin:0; font-size:clamp(40px,5.5vw,78px); line-height:.98; letter-spacing:-.05em; }
.split-company-head > p { max-width:560px; margin:0 0 4px; color:var(--muted); font-size:15px; line-height:1.65; }

.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.service-grid article { min-height:560px; display:flex; flex-direction:column; padding:28px; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 10px 34px rgba(60,64,67,.06); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.service-grid article:hover { transform:translateY(-5px); border-color:var(--line-strong); box-shadow:0 18px 44px rgba(60,64,67,.11); }
.service-grid article:nth-child(1) { border-top:4px solid var(--blue); }
.service-grid article:nth-child(2) { border-top:4px solid var(--green); }
.service-grid article:nth-child(3) { border-top:4px solid var(--yellow); }
.service-top { display:flex; align-items:center; justify-content:space-between; color:var(--blue); font-size:9px; font-weight:850; letter-spacing:.15em; }
.service-top b { font-size:8px; }
.service-visual { position:relative; height:150px; margin:24px 0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.service-grid h3 { margin:0 0 18px; font-size:clamp(26px,2.6vw,38px); line-height:1.05; letter-spacing:-.04em; }
.service-grid ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.service-grid li { position:relative; padding-left:17px; color:var(--text); font-size:13px; line-height:1.45; }
.service-grid li::before { content:""; position:absolute; width:6px; height:6px; left:0; top:.48em; border-radius:50%; background:var(--blue); }
.service-grid article > p { margin:auto 0 0; padding-top:24px; color:var(--muted); font-size:13px; line-height:1.6; }
.interactive-visual { background:linear-gradient(145deg,#f2f7ff,#eaf2fe); }
.interactive-visual i { position:absolute; width:62px; height:62px; border:1px solid #b9d2f3; border-radius:20px; background:#fff; box-shadow:0 9px 24px rgba(26,115,232,.1); }
.interactive-visual i:nth-child(1) { left:12%; top:45px; transform:rotate(-10deg); }
.interactive-visual i:nth-child(2) { left:calc(50% - 31px); top:25px; }
.interactive-visual i:nth-child(3) { right:12%; top:51px; transform:rotate(10deg); }
.interactive-visual::before,.interactive-visual::after { content:""; position:absolute; height:1px; top:75px; background:linear-gradient(90deg,var(--blue),var(--green)); }
.interactive-visual::before { left:26%; width:25%; }.interactive-visual::after { right:26%; width:25%; }
.interactive-visual strong { position:absolute; z-index:2; width:42px; height:42px; left:calc(50% - 21px); top:35px; display:grid; place-items:center; border:6px solid #fff; border-radius:50%; color:#fff; background:var(--blue); font-size:10px; }
.cloud-visual { background:linear-gradient(145deg,#f3fbf6,#e9f7ef); }
.cloud-visual::before,.cloud-visual::after { content:""; position:absolute; border:1px solid rgba(52,168,83,.2); border-radius:50%; }
.cloud-visual::before { width:120px; height:120px; left:calc(50% - 60px); top:14px; }.cloud-visual::after { width:82px; height:82px; left:calc(50% - 41px); top:33px; border-style:dashed; }
.cloud-visual i { position:absolute; z-index:2; width:11px; height:11px; border:3px solid #fff; border-radius:50%; background:var(--green); }
.cloud-visual i:nth-child(1) { left:calc(50% - 5px); top:9px; }.cloud-visual i:nth-child(2) { right:calc(50% - 58px); top:75px; background:var(--yellow); }.cloud-visual i:nth-child(3) { left:calc(50% - 54px); bottom:21px; background:var(--blue); }
.cloud-visual strong { position:absolute; z-index:1; inset:0; display:grid; place-items:center; color:var(--green); font-size:9px; letter-spacing:.13em; }
.custom-visual { display:flex; align-items:center; justify-content:center; gap:10px; background:linear-gradient(145deg,#fffaf0,#fff5df); }
.custom-visual i { width:58px; height:58px; display:grid; place-items:center; border:1px solid #ead49c; border-radius:17px; color:#9a6500; background:#fff; box-shadow:0 8px 20px rgba(155,105,0,.08); font-size:9px; font-style:normal; font-weight:850; }
.custom-visual b { color:#c6961d; font-size:17px; }

.audience { display:grid; grid-template-columns:minmax(280px,.58fr) minmax(0,1.42fr); gap:60px; }
.audience-intro > p:last-child { max-width:520px; margin:24px 0 0; color:var(--muted); font-size:15px; line-height:1.65; }
.audience-board { display:grid; gap:12px; }
.audience-clusters { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.audience-clusters span { min-height:78px; display:flex; align-items:center; padding:18px 20px; border:1px solid #cfe0f7; border-radius:18px; color:#174ea6; background:var(--surface-blue); font-size:13px; font-weight:750; line-height:1.35; }
.audience-clusters span:nth-child(2) { border-color:#cfe5d7; color:#237a40; background:var(--surface-green); }
.audience-clusters span:nth-child(3) { border-color:#f2d8d4; color:#b3261e; background:#fff5f4; }
.audience-clusters span:nth-child(4) { border-color:#ecdba6; color:#8a6500; background:var(--surface-yellow); }
.outcome-list { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.outcome-list article { min-height:190px; display:flex; flex-direction:column; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.outcome-list b { color:var(--blue); font-size:8px; letter-spacing:.14em; }
.outcome-list strong { margin:22px 0 12px; font-size:18px; line-height:1.08; }
.outcome-list p { margin:auto 0 0; color:var(--muted); font-size:12px; line-height:1.55; }

.path-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0; padding:0; list-style:none; }
.path-steps li { min-height:390px; display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:24px; background:var(--surface); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.path-steps li:hover { transform:translateY(-4px); border-color:var(--line-strong); box-shadow:0 14px 34px rgba(60,64,67,.09); }
.path-steps > li > span { color:var(--blue); font-size:10px; font-weight:850; }
.path-steps h3 { margin:12px 0; font-size:clamp(25px,2.5vw,36px); line-height:1.05; }
.path-steps p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.path-steps small { margin-top:auto; color:var(--subtle); font-size:8px; font-weight:800; letter-spacing:.14em; }
.path-icon { position:relative; height:128px; margin:22px 0 8px; }
.path-project i { position:absolute; width:92px; height:64px; left:calc(50% - 46px); border:1px solid #c5dafa; border-radius:14px; background:#fff; box-shadow:0 8px 22px rgba(26,115,232,.08); }
.path-project i:first-child { top:0; transform:translate(-20px,8px) rotate(-7deg); }.path-project i:nth-child(2) { top:10px; transform:translate(18px,8px) rotate(6deg); }
.path-project b { position:absolute; width:40px; height:40px; left:calc(50% - 20px); top:37px; display:grid; place-items:center; border:6px solid var(--surface); border-radius:50%; color:#fff; background:var(--blue); }
.path-product { display:flex; align-items:center; justify-content:center; }
.path-product i { position:absolute; width:120px; height:42px; border:1px solid #c4d9f6; border-radius:12px; background:#fff; box-shadow:0 8px 20px rgba(60,64,67,.07); }
.path-product i:first-child { transform:translateY(-30px) scale(.8); background:#eaf2fe; }.path-product i:nth-child(2) { transform:scale(.9); }.path-product i:nth-child(3) { transform:translateY(30px); border-color:#b8ddc5; background:#f0faf4; }
.path-ecosystem i { position:absolute; width:48px; height:48px; border:1px solid #c8daf4; border-radius:16px; background:#fff; box-shadow:0 7px 18px rgba(60,64,67,.07); }
.path-ecosystem i:first-child { left:calc(50% - 24px); top:4px; }.path-ecosystem i:nth-child(2) { left:calc(50% - 86px); top:65px; border-color:#b8ddc5; }.path-ecosystem i:nth-child(3) { right:calc(50% - 86px); top:65px; border-color:#ecdba6; }
.path-ecosystem::before,.path-ecosystem::after { content:""; position:absolute; width:62px; height:1px; top:66px; background:#bed2ee; }.path-ecosystem::before { left:calc(50% - 71px); transform:rotate(-38deg); }.path-ecosystem::after { right:calc(50% - 71px); transform:rotate(38deg); }
.path-ecosystem b { position:absolute; z-index:2; width:34px; height:34px; left:calc(50% - 17px); top:57px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--green); }

.company-contact { max-width:1388px; min-height:340px; display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin:0 auto clamp(24px,3vw,40px); padding:clamp(38px,6vw,72px); border-radius:32px; color:#fff; background:linear-gradient(135deg,#1a73e8,#4285f4); box-shadow:0 24px 60px rgba(26,115,232,.2); }
.company-contact .section-index { margin-bottom:22px; color:#d9e9ff; }
.company-contact h2 { max-width:760px; margin:0; font-size:clamp(40px,5vw,72px); line-height:.98; letter-spacing:-.05em; }
.company-contact > div:first-child > p:last-child { max-width:650px; margin:20px 0 0; color:#e8f1ff; font-size:15px; line-height:1.55; }
.contact-details { min-width:min(100%,380px); display:grid; border:1px solid rgba(255,255,255,.28); border-radius:20px; background:rgba(255,255,255,.1); backdrop-filter:blur(10px); }
.contact-details p,.contact-details a { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0; padding:15px 18px; border-bottom:1px solid rgba(255,255,255,.16); }
.contact-details p:last-child { border-bottom:0; }
.contact-details span { color:#d9e9ff; font-size:10px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.contact-details strong { color:#fff; font-size:13px; text-align:right; }

@media (max-width:1100px) {
  .company-hero { grid-template-columns:1fr; }
  .identity-card { max-width:650px; }
  .service-grid { grid-template-columns:1fr; }
  .service-grid article { min-height:0; }
  .audience { grid-template-columns:1fr; gap:34px; }
  .path-steps { grid-template-columns:repeat(2,1fr); }
  .founder-profile { grid-template-columns:1fr; }
  .founder-card { max-width:680px; }
}

@media (max-width:760px) {
  .company-hero { min-height:auto; gap:28px; padding-top:24px; padding-right:max(18px,env(safe-area-inset-right)); padding-bottom:38px; padding-left:max(18px,env(safe-area-inset-left)); }
  .company-signals { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .identity-card { padding:24px; border-radius:22px; }
  .identity-head { margin-bottom:24px; }
  .identity-card > img { width:64px; height:64px; margin-bottom:22px; }
  .identity-card h2 { margin-bottom:26px; }
  .identity-card dl div { padding:14px 0; }
  .entry-point { grid-template-columns:1fr; gap:12px; margin:0 14px 4px; padding:20px; }
  .entry-point > span { grid-row:auto; writing-mode:horizontal-tb; transform:none; }
  .entry-point > i { width:28px; height:28px; }
  .entry-point p { grid-column:auto; }
  .founder-profile { gap:22px; }
  .founder-intro h2 { margin-bottom:18px; }
  .founder-card { padding:24px; border-radius:22px; }
  .founder-card h3 { margin-top:42px; }
  .founder-proof { grid-template-columns:1fr; }
  .founder-proof article { min-height:0; }
  .company-section { padding:46px max(18px,env(safe-area-inset-right)) 46px max(18px,env(safe-area-inset-left)); }
  .split-company-head { grid-template-columns:1fr; gap:18px; }
  .company-section-head { margin-bottom:28px; }
  .service-grid { gap:10px; }
  .service-grid article { padding:22px; border-radius:19px; }
  .service-visual { height:132px; }
  .audience-clusters,.outcome-list,.path-steps { grid-template-columns:1fr; }
  .outcome-list article { min-height:0; }
  .path-steps { gap:10px; }
  .path-steps li { min-height:0; padding:22px; border-radius:19px; }
  .path-steps small { margin-top:24px; }
  .company-contact { min-height:0; align-items:flex-start; flex-direction:column; gap:32px; margin:0 max(14px,env(safe-area-inset-right)) 24px max(14px,env(safe-area-inset-left)); padding:34px 24px; border-radius:24px; }
  .company-contact .section-index { margin-bottom:18px; }
  .contact-details { width:100%; min-width:0; }
  .contact-details strong { overflow-wrap:anywhere; }
}

@media (max-width:420px) {
  .company-signals { grid-template-columns:1fr; }
  .identity-card dl div { grid-template-columns:.8fr 1.2fr; gap:12px; }
  .audience-clusters span { min-height:66px; }
  .contact-details p,.contact-details a { align-items:flex-start; flex-direction:column; gap:6px; }
  .contact-details strong { text-align:left; }
}
