/* 下層ページ共通。色・書体は comet-soft-layer.css の変数を使用する。 */
.subpage { background: var(--paper); }
.subpage .header { background: rgba(250,248,242,.78); backdrop-filter: blur(16px); }
/* .subpage .brand img は基本CSSと同値(136px)の重複指定だったが、詳細度が高く
   スマホ用のロゴ縮小(comet-soft-layer.css)を打ち消してしまうため削除（2026-07-16） */
.subpage .nav > a.is-current::after { left: 0; width: 100%; }
.subpage .footer { position: relative; z-index: 3; }
.svg-icon { display: block; width: 1em; height: 1em; fill: none; }
.page-wrap { width: min(calc(100% - 48px),var(--max)); margin-inline: auto; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; padding: 112px 0 0; color: var(--muted); font-size: 9px; letter-spacing: .04em; }
.breadcrumbs a { color: var(--sage-deep); }
.breadcrumbs span::before { content: "/"; margin-right: 7px; color: rgba(39,56,51,.28); }

.page-hero { position: relative; isolation: isolate; min-height: 690px; overflow: hidden; padding-bottom: 80px; background: linear-gradient(145deg,#fbfaf6,#f5f3eb 55%,var(--hero-tint,var(--sage-pale))); }
.page-hero::before { content: ""; position: absolute; z-index: 0; top: -31vw; right: -20vw; width: 67vw; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 65%,var(--hero-glow,rgba(170,200,182,.5)),transparent 66%); box-shadow: inset 24px 18px 68px rgba(255,255,255,.16),inset -26px -22px 70px rgba(70,85,78,.045); transform:translate3d(var(--hero-bg-x,0px),var(--hero-bg-y,0px),0); will-change:transform; }
.page-hero::after { content: ""; position: absolute; z-index: 0; top: -31vw; right: -20vw; width: 67vw; aspect-ratio: 1; border-radius: 50%; opacity: .34; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.58' stroke-linecap='round'%3E%3Cpath d='M28 15v18M19 24h18'/%3E%3Cpath d='M112 72v12M106 78h12'/%3E%3Cpath d='M151 132v16M143 140h16'/%3E%3C/g%3E%3Cg fill='%23578ba6' fill-opacity='.22'%3E%3Ccircle cx='67' cy='42' r='2'/%3E%3Ccircle cx='139' cy='37' r='1.6'/%3E%3Ccircle cx='43' cy='126' r='1.8'/%3E%3Ccircle cx='96' cy='151' r='1.4'/%3E%3C/g%3E%3C/svg%3E"),repeating-radial-gradient(ellipse at 50% 50%,transparent 0 20%,rgba(255,255,255,.1) 20.5% 21%,transparent 21.5% 34%); background-size: 180px 180px,100% 100%; -webkit-mask-image: radial-gradient(circle at center,#000 0 62%,rgba(0,0,0,.72) 68%,transparent 74%); mask-image: radial-gradient(circle at center,#000 0 62%,rgba(0,0,0,.72) 68%,transparent 74%); animation: pageHeroSurfaceSpin 34s linear infinite; will-change:transform; }
@keyframes pageHeroSurfaceSpin { from { transform:translate3d(var(--hero-bg-x,0px),var(--hero-bg-y,0px),0) rotateX(55deg) rotateZ(-16deg) scale(1.15);background-position:0 0,0 0; } to { transform:translate3d(var(--hero-bg-x,0px),var(--hero-bg-y,0px),0) rotateX(55deg) rotateZ(344deg) scale(1.15);background-position:180px -110px,80px -55px; } }
.page-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 5vw; min-height: 550px; }
.page-hero__copy { padding: 70px 0 35px; }
.page-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; color: var(--accent,var(--sage-deep)); font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.page-kicker::before { content: ""; width: 32px; height: 3px; border-radius: 3px; background: var(--peach); }
.page-hero h1 { margin: 0; color: var(--ink); font-size: clamp(43px,5.7vw,76px); font-weight: 900; letter-spacing: -.05em; line-height: 1.2; }
.page-hero h1 { white-space: nowrap; font-size: clamp(38px,3.8vw,52px); }
.page-hero h1 em { position: relative; z-index: 1; font-style: normal; }
.page-hero h1 em::after { content: ""; position: absolute; z-index: -1; left: -.04em; right: -.05em; bottom: .08em; height: .3em; border-radius: 99px; background: var(--mark,var(--peach-pale)); transform: rotate(-1deg); }
.page-hero__lead { max-width: 600px; margin: 25px 0 0; color: #65756f; font-size: clamp(14px,1.3vw,17px); }
.page-hero__actions { display: flex; align-items: center; gap: 22px; margin-top: 32px; }
.page-hero__note { display: flex; gap: 22px; margin: 34px 0 0; padding: 0; list-style: none; }
.page-hero__note li { padding-left: 12px; border-left: 1px solid var(--line); }
.page-hero__note small { display: block; color: var(--accent,var(--sage-deep)); font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.page-hero__note b { display: block; margin-top: 3px; color: var(--ink); font-size: 10px; }

.page-hero [data-motion-stage] { transform: translate3d(var(--stage-x,0px),var(--stage-y,0px),0) rotateX(var(--stage-rx,0deg)) rotateY(var(--stage-ry,0deg)); transform-origin: 50% 50%; transform-style: preserve-3d; will-change: transform; }
.page-hero [data-motion-stage] [data-depth] { translate: var(--depth-x,0px) var(--depth-y,0px); will-change: transform,translate; }
.page-motion-ready .page-hero [data-motion-stage] { opacity: 0; filter: blur(4px); transition: opacity .75s var(--ease),filter .75s var(--ease); }
.page-motion-ready .page-hero [data-motion-stage].is-stage-seen { opacity: 1; filter: none; }
.motion-stage { position: relative; height: 500px; perspective: 1200px; transform-style: preserve-3d; }
.motion-stage [data-depth] { will-change: transform,translate; }
.motion-orb { position: absolute; top: 12%; left: 13%; width: 73%; aspect-ratio: 1; border-radius: 44% 56% 61% 39%; background: var(--orb,var(--sage)); box-shadow: inset 18px 17px 35px rgba(255,255,255,.55),32px 38px 70px rgba(70,85,78,.13); transform: translate3d(var(--mx,0),var(--my,0),-50px) rotate(-8deg); }
.motion-ring { position: absolute; top: 10%; right: 5%; width: 56%; aspect-ratio: 1; border: 2px solid rgba(87,139,166,.22); border-radius: 50%; box-shadow: 0 0 0 22px rgba(255,255,255,.13); transform: translate3d(var(--mx,0),var(--my,0),0) rotateX(65deg) rotateZ(15deg); }
.motion-card { position: absolute; z-index: 3; overflow: hidden; border: 7px solid rgba(255,254,251,.92); border-radius: 19px; background: var(--white); box-shadow: var(--shadow); transform-style: preserve-3d; }
.motion-card img { width: 100%; height: 100%; object-fit: cover; }
.motion-card--wide { top: 21%; left: 1%; width: 72%; aspect-ratio: 1.45; transform: translate3d(var(--mx,0),var(--my,0),110px) rotateY(-11deg) rotateZ(-2deg); }
.motion-card--small { right: 0; bottom: 5%; width: 42%; aspect-ratio: 1.12; transform: translate3d(var(--mx,0),var(--my,0),180px) rotateY(10deg) rotateZ(5deg); }
.motion-label { position: absolute; z-index: 5; top: 9%; right: 0; min-width: 155px; padding: 18px 21px; border: 1px solid rgba(255,255,255,.8); border-radius: 16px; color: var(--ink); background: rgba(255,254,251,.78); box-shadow: 0 20px 44px rgba(70,85,78,.11); backdrop-filter: blur(12px); transform: translate3d(var(--mx,0),var(--my,0),220px) rotate(4deg); }
.motion-label small { display: block; color: var(--accent,var(--sage-deep)); font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.motion-label b { display: block; margin-top: 5px; font-size: 15px; }
.motion-dot { position: absolute; z-index: 7; width: 34px; aspect-ratio: 1; border-radius: 48% 52% 43% 57%; background: var(--peach); box-shadow: inset 7px 6px 12px rgba(255,255,255,.4),8px 12px 19px rgba(70,85,78,.1); }
.motion-dot--one { top: 7%; left: 8%; }.motion-dot--two { right: 5%; bottom: 3%; width: 24px; background: var(--yellow); }

/* Flow hero: the sphere and both halves of its ring form one synchronized planet. */
.motion-stage--planet { isolation:isolate; }
.motion-stage--planet > .motion-orb { z-index:2;top:12%;left:13%;width:73%;border-radius:50%;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.62),transparent 30%),linear-gradient(145deg,var(--sky-pale),var(--orb,var(--sky)) 62%,#93cae4);box-shadow:inset 18px 17px 35px rgba(255,255,255,.46),inset -24px -20px 42px rgba(87,139,166,.08),28px 34px 64px rgba(70,85,78,.11);translate:none;transform:translateZ(0); }
.motion-stage--planet > .motion-orb::after { content:"";position:absolute;z-index:3;left:-18%;top:31%;width:136%;height:38%;border:2px solid rgba(87,139,166,.28);border-radius:50%;clip-path:inset(50% -4% -5% -4%);filter:drop-shadow(0 7px 7px rgba(255,255,255,.14));transform:rotate(-7deg);pointer-events:none; }
.motion-stage--planet > .motion-ring { z-index:1;top:12%;left:13%;right:auto;width:73%;height:auto;aspect-ratio:1;border:0;border-radius:0;box-shadow:none;translate:none;transform:none; }
.motion-stage--planet > .motion-ring::before { content:"";position:absolute;left:-18%;top:31%;width:136%;height:38%;border:2px solid rgba(87,139,166,.25);border-radius:50%;opacity:.68;transform:rotate(-7deg); }
.motion-stage--planet > .motion-label { width:174px;min-width:0;padding:18px 21px; }
.motion-stage--planet > .motion-label:nth-child(3) { top:7%!important;right:auto!important;bottom:auto!important;left:1%!important;transform:translate3d(var(--mx,0),var(--my,0),220px) rotate(-2deg); }
.motion-stage--planet > .motion-label:nth-child(4) { top:14%!important;right:1%!important;bottom:auto!important;left:auto!important;transform:translate3d(var(--mx,0),var(--my,0),220px) rotate(2deg); }
.motion-stage--planet > .motion-label:nth-child(5) { top:auto!important;right:auto!important;bottom:12%!important;left:4%!important;transform:translate3d(var(--mx,0),var(--my,0),220px) rotate(1.5deg); }
.motion-stage--planet > .motion-label:nth-child(6) { top:auto!important;right:3%!important;bottom:5%!important;left:auto!important;transform:translate3d(var(--mx,0),var(--my,0),220px) rotate(-1.5deg); }
.motion-stage--contact > .motion-label:nth-child(5) { right:auto!important;bottom:4%!important;left:50%!important;transform:translate3d(-50%,0,220px) rotate(-1deg); }

.page-section { position: relative; padding-block: var(--space); }
.page-section.page-section--representative { padding-block: clamp(58px,6vw,86px); }
.page-section--white { background: var(--white); }.page-section--sage { background: var(--sage-pale); }.page-section--sky { background: var(--sky-pale); }.page-section--peach { background: var(--peach-pale); }.page-section--paper { background: var(--paper-2); }
.split-heading { display: grid; grid-template-columns: 1.05fr .75fr; align-items: end; gap: 9vw; margin-bottom: clamp(50px,7vw,86px); }
.split-heading h2,.center-heading h2,.content-copy h2,.closing-cta h2 { margin: 0; color: var(--ink); font-size: clamp(31px,4.1vw,52px); font-weight: 900; letter-spacing: -.035em; line-height: 1.4; }
.split-heading h2 { white-space: nowrap; font-size: clamp(30px,3.3vw,46px); }
.center-heading h2 { white-space: nowrap; font-size: clamp(30px,3.5vw,48px); }
.content-copy h2 { white-space: nowrap; font-size: clamp(29px,3vw,40px); }
.closing-cta h2 { white-space: nowrap; font-size: clamp(30px,3.3vw,46px); }
.subpage .stance h2 { white-space: nowrap; font-size: clamp(29px,3vw,42px); }
.contact-aside h2 { white-space: nowrap; font-size: clamp(29px,3vw,42px); }
.split-heading > p { margin: 0; color: var(--muted); }.center-heading { max-width: 760px; margin: 0 auto clamp(45px,6vw,74px); text-align: center; }.center-heading .section-no { justify-content: center; }.center-heading > p:last-child { color: var(--muted); }
.mini-label { color: var(--accent,var(--sage-deep)); font-size: 9px; font-weight: 700; letter-spacing: .16em; }

.service-index { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.service-link-card { position: relative; min-height: 390px; overflow: hidden; padding: 38px; border: 1px solid rgba(39,56,51,.09); border-radius: 25px; background: var(--white); box-shadow: 0 20px 50px rgba(70,85,78,.08); transform: perspective(1000px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition: transform .15s linear,box-shadow .3s; }
.service-link-card:hover { box-shadow: var(--shadow); }
.service-link-card:nth-child(2) { background: var(--sky-pale); }.service-link-card:nth-child(3) { background: var(--peach-pale); }.service-link-card:nth-child(4) { background: #f2edd9; }.service-link-card:nth-child(5) { grid-column:1 / -1;min-height:330px;background:linear-gradient(120deg,var(--sage-pale),var(--sky-pale)); }
.service-link-card__top { display: flex; align-items: center; justify-content: space-between; }
.service-link-card__icon { display: grid; place-items: center; width: 65px; aspect-ratio: 1; border-radius: 20px; color: var(--sage-deep); background: rgba(255,255,255,.75); box-shadow: 0 12px 25px rgba(70,85,78,.09); }.service-link-card__icon svg { width: 34px; height: 34px; }
.service-link-card__top > span { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.service-link-card h3 { margin: 70px 0 13px; color: var(--ink); font-size: clamp(25px,3vw,38px); line-height: 1.35; }.service-link-card p { max-width: 530px; margin: 0; color: var(--muted); }.service-link-card__arrow { position: absolute; right: 30px; bottom: 28px; display: grid; place-items: center; width: 48px; aspect-ratio: 1; border-radius: 50%; color: #fff; background: var(--sage-deep); transition: transform .3s; }.service-link-card__arrow svg { width: 21px; height: 21px; }.service-link-card:hover .service-link-card__arrow { transform: translateX(4px) rotate(-8deg); }

.content-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 9vw; }
.content-copy { position: sticky; top: 120px; align-self: start; }.content-copy > p:not(.section-no) { margin-top: 22px; color: var(--muted); }
.feature-list { display: grid; gap: 18px; }.feature { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 23px; padding: 30px; border: 1px solid rgba(39,56,51,.1); border-radius: 21px; background: rgba(255,255,255,.64); box-shadow: 0 17px 38px rgba(70,85,78,.06); }
.feature > span { display: grid; place-items: center; width: 54px; aspect-ratio: 1; border-radius: 18px; color: var(--accent,var(--sage-deep)); background: var(--white); box-shadow: 0 10px 22px rgba(70,85,78,.08); }.feature svg { width: 28px; height: 28px; }.feature h3 { margin: 0 0 8px; color: var(--ink); font-size: 21px; }.feature p { margin: 0; color: var(--muted); }

.who-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.who-list li { min-height: 210px; padding: 29px; border-radius: 22px; background: var(--white); box-shadow: 0 17px 40px rgba(70,85,78,.07); }.who-list span { color: var(--peach-deep); font-size: 10px; font-weight: 700; }.who-list h3 { margin: 45px 0 8px; color: var(--ink); font-size: 19px; }.who-list p { margin: 0; color: var(--muted); font-size: 13px; }

.diagram-showcase { position: relative; overflow: hidden; padding-block: clamp(78px,10vw,140px); background: var(--paper); }
.diagram-showcase::before { content: ""; position: absolute; top: -20vw; right: -17vw; width: 48vw; aspect-ratio: 1; border-radius: 50%; background: rgba(174,212,230,.16); }
.diagram-showcase__inner { position: relative; z-index: 2; display: grid; grid-template-columns: .68fr 1.32fr; align-items: center; gap: clamp(40px,7vw,90px); }
.diagram-showcase__copy h2 { margin: 0; color: var(--ink); font-size: clamp(29px,3.8vw,47px); font-weight: 900; letter-spacing: -.035em; line-height: 1.4; }
.diagram-showcase__copy h2 { white-space: nowrap; font-size: clamp(29px,3vw,42px); }
.diagram-showcase__copy p:last-child { margin: 21px 0 0; color: var(--muted); }
.diagram-showcase__visual { margin: 0; padding: 10px; border: 1px solid rgba(39,56,51,.08); border-radius: 26px; background: rgba(255,254,251,.88); box-shadow: var(--shadow); transform: perspective(1200px) rotateY(-3deg) rotateX(1deg); transition: transform .5s var(--ease); }
.diagram-showcase__visual:hover { transform: perspective(1200px) rotateY(0) rotateX(0) translateY(-4px); }
.diagram-showcase__visual img { width: 100%; border-radius: 18px; }

.page-photo { position:relative;overflow:hidden;margin:0;border:1px solid rgba(39,56,51,.09);border-radius:26px;background:rgba(255,254,251,.9);box-shadow:0 22px 55px rgba(70,85,78,.11); }
.page-photo img { display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover; }
.page-photo figcaption { display:flex;align-items:center;gap:10px;padding:13px 17px;color:var(--muted);font-size:11px;font-weight:700;line-height:1.55; }
.page-photo figcaption span { color:var(--sage-deep);font-size:8px;font-weight:900;letter-spacing:.15em;white-space:nowrap; }
.page-photo--wide { width:min(100%,920px);margin:clamp(42px,6vw,72px) auto 0; }
.page-photo--compact { width:min(100%,640px);margin:clamp(38px,5vw,60px) auto 0; }
.page-photo-pair { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:clamp(42px,6vw,72px); }
.page-photo__badge { position:absolute;z-index:2;top:15px;left:15px;padding:7px 11px;border:1px solid rgba(255,255,255,.72);border-radius:999px;color:var(--ink);background:rgba(255,254,251,.84);box-shadow:0 9px 22px rgba(70,85,78,.09);backdrop-filter:blur(10px);font-size:9px;font-weight:900;letter-spacing:.14em; }
.document-compare .page-photo:last-child .page-photo__badge { color:var(--white);background:rgba(94,142,120,.88); }
.page-photo--screen img { aspect-ratio:8/5;object-fit:contain;background:var(--paper-2); }
.page-photo-pair--web { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start; }
.contact-visual { overflow:hidden;width:min(100%,330px);margin:24px 0 0;border:1px solid rgba(39,56,51,.09);border-radius:22px;background:var(--white);box-shadow:0 18px 42px rgba(70,85,78,.1); }
.contact-visual img { display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:44% center; }
.contact-visual figcaption { padding:11px 14px;color:var(--muted);font-size:9px;font-weight:700;line-height:1.6; }

.process-lane { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.process-lane::before { content: ""; position: absolute; top: 56px; left: 7%; right: 7%; height: 2px; background: linear-gradient(90deg,var(--sage),var(--sky),var(--peach)); }
.process-lane li { position: relative; min-height: 310px; padding: 29px 24px; border: 1px solid var(--line); border-radius: 23px; background: rgba(255,255,255,.72); box-shadow: 0 15px 35px rgba(70,85,78,.06); }.process-lane li > span { position: relative; z-index: 2; display: grid; place-items: center; width: 57px; aspect-ratio: 1; margin: 0 auto; border-radius: 50%; color: #fff; background: var(--sage-deep); box-shadow: 0 9px 22px rgba(94,142,120,.25); font-size: 10px; font-weight: 700; }.process-lane li:nth-child(2) > span { background: var(--sky-deep); }.process-lane li:nth-child(3) > span { background: var(--peach-deep); }.process-lane li:nth-child(4) > span { background: #9d8e4c; }.process-lane h3 { margin: 64px 0 10px; color: var(--ink); font-size: 19px; text-align: center; }.process-lane p { margin: 0; color: var(--muted); font-size: 12px; text-align: center; }

.visual-demo { position: relative; height: 520px; perspective: 1200px; }
.visual-demo__paper { position: absolute; left: 50%; top: 50%; width: 46%; aspect-ratio: .74; padding: 25px; border-radius: 15px; background: var(--white); box-shadow: var(--shadow); transform: translate(-50%,-50%) translate3d(var(--dx,0),var(--dy,0),var(--z,0)) rotate(var(--r,0deg)); }.visual-demo__paper::before,.visual-demo__paper::after { content: ""; display: block; height: 7px; margin-bottom: 13px; border-radius: 5px; background: var(--line); }.visual-demo__paper::after { width: 65%; }.visual-demo__paper:nth-child(1) { --z:-70px;--r:-13deg;left:40%;top:48%;background:var(--peach-pale); }.visual-demo__paper:nth-child(2) { --z:0px;--r:8deg;left:58%;top:48%;background:var(--sky-pale); }.visual-demo__paper:nth-child(3) { --z:100px;--r:-1deg; }.visual-demo__badge { position: absolute; z-index: 5; right: 8%; bottom: 11%; display: grid; place-items: center; width: 110px; aspect-ratio: 1; border-radius: 50%; color: #fff; background: var(--sage-deep); box-shadow: 0 20px 35px rgba(94,142,120,.25); font-size: 14px; font-weight: 900; transform: translate3d(var(--dx,0),var(--dy,0),180px); }

.product-screen-card { position: absolute; z-index: 4; top: 50%; left: 50%; width: 82%; overflow: hidden; margin: 0; padding: 8px; border-radius: 22px; background: var(--white); box-shadow: var(--shadow); transform: translate(-50%,-50%) translate3d(var(--dx,0),var(--dy,0),140px) rotateY(-6deg) rotateZ(-1deg); }
.product-screen-card img { display: block; width: 100%; border-radius: 15px; }
.product-screen-card figcaption { display: flex; justify-content: space-between; gap: 15px; padding: 11px 8px 3px; color: var(--muted); font-size: 9px; }
.product-screen-card figcaption b { color: var(--accent,var(--sage-deep)); }
.visual-demo.has-product-screen .visual-demo__paper { opacity: .22; }
.visual-demo.has-product-screen .visual-demo__badge { right: 1%; bottom: 4%; width: 94px; font-size: 12px; }

.ai-network { position: relative; height: 520px; }.ai-network__center { position: absolute; z-index: 4; top: 50%; left: 50%; display: grid; place-items: center; width: 150px; aspect-ratio: 1; border: 9px solid var(--white); border-radius: 45% 55% 48% 52%; background: var(--sky); box-shadow: var(--shadow); transform: translate(-50%,-50%) rotate(-5deg); }.ai-network__center img { width: 62%; }.ai-node { position: absolute; z-index: 3; display: grid; place-items: center; width: 110px; aspect-ratio: 1; padding: 12px; border-radius: 50%; color: var(--ink); background: var(--white); box-shadow: 0 17px 38px rgba(70,85,78,.12); text-align: center; font-size: 11px; font-weight: 700; }.ai-node::after { content: ""; position: absolute; z-index: -1; top: 50%; left: 50%; width: 165px; height: 1px; background: rgba(87,139,166,.3); transform-origin: left; }.ai-node--one { top: 7%; left: 8%; }.ai-node--one::after { transform: rotate(32deg); }.ai-node--two { top: 9%; right: 4%; }.ai-node--two::after { left: auto; right: 50%; transform-origin:right;transform:rotate(-34deg); }.ai-node--three { left: 1%; bottom: 4%; }.ai-node--three::after { transform:rotate(-29deg); }.ai-node--four { right: 0; bottom: 4%; }.ai-node--four::after { left:auto;right:50%;transform-origin:right;transform:rotate(29deg); }.ai-network__human { position: absolute; z-index: 6; right: 19%; bottom: 31%; padding: 8px 14px; border-radius: 99px; color: #fff; background: var(--peach-deep); font-size: 9px; font-weight: 700; box-shadow: 0 10px 20px rgba(201,120,89,.2); }
.ai-network .product-screen-card { z-index: 2; top: 50%; width: 88%; opacity: .92; transform: translate(-50%,-50%) translate3d(var(--dx,0),var(--dy,0),40px) rotateY(4deg) rotateZ(1deg); }
.ai-network.has-product-screen .ai-network__center { left: 18%; top: 27%; width: 105px; border-width: 6px; }
.ai-network.has-product-screen .ai-node { display: none; }
.ai-network.has-product-screen .ai-network__human { right: 3%; bottom: 5%; }

.web-layers { position: relative; height: 520px; perspective: 1200px; }.web-window { position: absolute; top: 50%; left: 50%; width: 72%; aspect-ratio: 1.42; overflow: hidden; border: 8px solid var(--white); border-radius: 17px; background: linear-gradient(145deg,var(--sky-pale),var(--sage-pale)); box-shadow: var(--shadow); transform: translate(-50%,-50%) translate3d(var(--dx,0),var(--dy,0),var(--z,0)) rotateY(var(--ry,-8deg)) rotateZ(var(--rz,0deg)); }.web-window::before { content: "•••"; display: block; height: 28px; padding-left: 12px; color: var(--peach); background: var(--white); font-size: 16px; line-height: 22px; letter-spacing: 4px; }.web-window i,.web-window b,.web-window span { position: absolute; display: block; border-radius: 8px; }.web-window i { top: 25%; left: 9%; width: 45%; height: 15%; background: var(--sage); }.web-window b { left: 9%; bottom: 13%; width: 27%; height: 38%; background: rgba(255,255,255,.75); }.web-window span { right: 9%; bottom: 13%; width: 48%; height: 54%; background: var(--peach-pale); }.web-window--back { --z:-110px;--ry:12deg;--rz:5deg;left:57%;opacity:.65; }.web-window--front { --z:100px; }

.dx-lane { position: relative; height: 490px; overflow: hidden; border-radius: 28px; background: linear-gradient(90deg,var(--peach-pale),var(--white) 48%,var(--sky-pale)); box-shadow: inset 0 0 0 1px var(--line); }.dx-lane::before { content: ""; position: absolute; top: 50%; left: 12%; right: 12%; height: 3px; background: linear-gradient(90deg,var(--peach),var(--sage),var(--sky-deep)); }.dx-lane__item { position: absolute; top: 50%; display: grid; place-items: center; width: 100px; aspect-ratio: .8; border-radius: 13px; color: var(--ink); background: var(--white); box-shadow: 0 15px 32px rgba(70,85,78,.12); transform: translateY(-50%) rotate(var(--r,0deg)); }.dx-lane__item::before,.dx-lane__item::after { content: ""; width: 55%; height: 5px; margin: 3px; border-radius: 5px; background: var(--line); }.dx-lane__item:nth-of-type(1) { left: 8%;--r:-9deg; }.dx-lane__item:nth-of-type(2) { left: 28%;--r:5deg; }.dx-lane__item:nth-of-type(3) { right: 28%;border-radius:50%;aspect-ratio:1;background:var(--sage); }.dx-lane__item:nth-of-type(4) { right: 7%;aspect-ratio:1.25;background:var(--sky); }.dx-lane__arrow { position: absolute; z-index: 4; top: 17%; left: 50%; color: var(--sage-deep); font-size: 11px; font-weight: 700; letter-spacing: .15em; transform: translateX(-50%); }
.page-hero__inner > .dx-lane { justify-self:stretch;width:100%;min-width:0; }
.page-hero .app-builder { position:relative;display:block;height:500px;perspective:1200px;transform-style:preserve-3d; }
.page-hero .app-builder::before { content:"";position:absolute;inset:12% 9%;border-radius:46% 54% 58% 42%;background:linear-gradient(145deg,rgba(228,239,231,.9),rgba(229,242,247,.76));box-shadow:inset 18px 15px 35px rgba(255,255,255,.62),28px 34px 65px rgba(70,85,78,.1);transform:rotate(-7deg) translateZ(-40px); }
.page-hero .app-builder__core { position:absolute;z-index:4;top:50%;left:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;width:180px;aspect-ratio:1;border:9px solid rgba(255,255,255,.88);border-radius:42% 58% 47% 53%;color:var(--white);background:linear-gradient(145deg,var(--sage-deep),#78a690);box-shadow:0 26px 55px rgba(94,142,120,.25),inset 10px 8px 22px rgba(255,255,255,.16);transform:translate(-50%,-50%) rotate(-6deg) translateZ(120px); }
.page-hero .app-builder__core span { font-size:9px;font-weight:800;letter-spacing:.18em; }.page-hero .app-builder__core b { margin-top:3px;font-size:35px;line-height:1; }
.page-hero .app-builder > i { position:absolute;z-index:3;display:block;width:82px;aspect-ratio:1;border:7px solid rgba(255,255,255,.84);border-radius:22px;background:var(--sage);box-shadow:0 17px 38px rgba(70,85,78,.12);transform:rotate(var(--module-r,0deg)) translateZ(60px); }
.page-hero .app-builder > i::after { content:"";position:absolute;inset:25%;border-radius:10px;background:rgba(255,255,255,.62);box-shadow:14px 0 0 rgba(255,255,255,.24),0 14px 0 rgba(255,255,255,.2); }
.page-hero .app-builder > i:nth-of-type(1) { top:8%;left:16%;--module-r:-10deg; }.page-hero .app-builder > i:nth-of-type(2) { top:10%;right:9%;--module-r:8deg;background:var(--sky); }.page-hero .app-builder > i:nth-of-type(3) { top:43%;left:3%;--module-r:5deg;background:var(--peach); }.page-hero .app-builder > i:nth-of-type(4) { right:2%;bottom:16%;--module-r:-7deg;background:var(--yellow); }.page-hero .app-builder > i:nth-of-type(5) { left:24%;bottom:2%;--module-r:10deg;background:var(--sky-pale); }
.app-builder { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,6vw,90px);align-items:center; }.app-builder__visual { position:relative;min-height:460px;border-radius:32px;background:linear-gradient(145deg,var(--sage-pale),var(--sky-pale));overflow:hidden;box-shadow:inset 0 0 0 1px var(--line); }.app-builder__visual::before { content:"";position:absolute;inset:16% 14%;border-radius:28px;background:rgba(255,255,255,.82);box-shadow:18px 22px 0 rgba(92,143,121,.14);transform:rotate(-4deg); }.app-builder__visual::after { content:"現場の声  →  専用アプリ";position:absolute;inset:auto 12% 12%;padding:22px;border-radius:18px;color:var(--white);font-weight:800;letter-spacing:.08em;text-align:center;background:var(--sage-deep); }.app-works { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }.app-works article { min-height:150px;padding:24px;border-radius:22px;background:var(--white);box-shadow:0 14px 34px rgba(70,85,78,.08); }.app-works article:last-child { grid-column:1 / -1; }.app-works span { color:var(--sage-deep);font-size:11px;font-weight:800;letter-spacing:.12em; }.app-works h3 { margin:18px 0 0;font-size:18px;line-height:1.65; }
.app-works .text-link{display:inline-flex;margin-top:16px}.works-progress{position:sticky;z-index:85;top:76px;padding:10px 0;border-block:1px solid rgba(94,142,120,.16);background:rgba(250,248,242,.92);box-shadow:0 10px 28px rgba(70,85,78,.07);backdrop-filter:blur(16px)}.works-progress__inner{display:flex;gap:8px;width:min(calc(100% - 48px),var(--max));margin-inline:auto;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.works-progress a{display:flex;flex:0 0 auto;align-items:center;gap:8px;padding:10px 13px;border:1px solid transparent;border-radius:999px;color:var(--muted);background:rgba(255,255,255,.62);font-size:12px;font-weight:800;white-space:nowrap;transition:color .25s,background .25s,border-color .25s,transform .25s}.works-progress a span{color:var(--sage-deep);font-size:9px}.works-progress a:hover{transform:translateY(-1px);color:var(--ink);background:var(--white)}.works-progress a.is-active,.works-progress a[aria-current="true"]{border-color:rgba(94,142,120,.26);color:var(--white);background:var(--sage-deep)}.works-progress a.is-active span,.works-progress a[aria-current="true"] span{color:var(--white)}.work-case{padding-block:clamp(88px,11vw,150px);background:var(--paper);scroll-margin-top:150px}.work-case__header{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(40px,8vw,110px);align-items:end}.work-case__status{display:inline-flex;margin:12px 0 18px;padding:8px 14px;border:1px solid rgba(94,142,120,.28);border-radius:999px;color:var(--sage-deep);background:var(--sage-pale);font-size:13px;font-weight:800}.work-case h2{margin:0;color:var(--ink);font-size:clamp(34px,4.2vw,58px);line-height:1.35;letter-spacing:-.045em}.work-case__header dl{margin:0;border-top:1px solid var(--line)}.work-case__header dl div{display:grid;grid-template-columns:82px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.work-case__header dt{color:var(--muted);font-size:13px;font-weight:700}.work-case__header dd{margin:0;color:var(--ink);font-weight:700}.work-case__story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(50px,7vw,90px)}.work-case__story article{padding:28px;border-radius:24px;background:var(--white);box-shadow:0 16px 40px rgba(70,85,78,.08)}.work-case__story span{color:var(--peach-deep);font-size:12px;font-weight:900;letter-spacing:.08em}.work-case__story h3,.work-case__results h3,.work-case__apply h3{margin:18px 0 12px;color:var(--ink);font-size:22px;line-height:1.55}.work-case__story p,.work-case__results p,.work-case__apply p{margin:0;color:var(--text);line-height:1.95}.work-case__visual{margin:clamp(50px,7vw,90px) 0 0;padding:12px;border:1px solid var(--line);border-radius:28px;background:var(--white);box-shadow:var(--shadow)}.work-case__visual img{display:block;width:100%;height:auto;border-radius:18px}.work-case__visual figcaption{padding:10px 8px 2px;color:var(--muted);font-size:12px;text-align:center}.work-case__results{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.work-case__results>div{padding:30px;border-radius:24px;background:var(--sage-pale)}.work-case__results>div+div{background:var(--sky-pale)}.work-case__results ul{margin:18px 0 0;padding-left:1.25em;color:var(--text);line-height:2}.work-case__voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.work-case__voices blockquote{margin:0;padding:28px;border-radius:24px;background:var(--white);box-shadow:0 14px 34px rgba(70,85,78,.07)}.work-case__voices p{margin:0;color:var(--text);line-height:1.9}.work-case__voices cite{display:block;margin-top:18px;color:var(--sage-deep);font-size:13px;font-style:normal;font-weight:800}.work-case__apply{display:grid;grid-template-columns:.75fr 1.2fr auto;gap:30px;align-items:center;margin-top:24px;padding:34px;border-radius:28px;background:var(--peach-pale)}.work-case__apply h3{margin-bottom:0}.work-case__apply .soft-button{white-space:nowrap}.work-case__back{display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;margin:28px 0 0 auto;padding:11px 16px;border:1px solid rgba(94,142,120,.25);border-radius:999px;color:var(--ink);background:rgba(255,255,255,.72);font-size:12px;font-weight:800;transition:transform .25s,background .25s}.work-case__back:hover{transform:translateY(-2px);background:var(--white)}.work-case__back b{display:grid;place-items:center;width:24px;aspect-ratio:1;border-radius:50%;color:var(--white);background:var(--sage-deep)}
.work-case--evaluation{background:var(--white)}.work-case--evaluation .work-case__status{color:var(--sky-deep);border-color:rgba(87,139,166,.25);background:var(--sky-pale)}
.work-case--supply{background:var(--paper-2)}.work-case--supply .work-case__status{color:var(--peach-deep);border-color:rgba(201,120,89,.25);background:var(--peach-pale)}
.work-case--aisuke{background:var(--white)}.work-case--aisuke .work-case__status{color:var(--sky-deep);border-color:rgba(87,139,166,.25);background:var(--sky-pale)}
.work-case--mycash{background:var(--paper-2)}.work-case--mycash .work-case__status{color:var(--sage-deep);border-color:rgba(94,142,120,.25);background:var(--sage-pale)}
.work-case--kintai{background:var(--white)}.work-case--kintai .work-case__status{color:var(--peach-deep);border-color:rgba(201,120,89,.25);background:var(--peach-pale)}
.work-case--subsidy{background:var(--paper-2)}.work-case--subsidy .work-case__status{color:var(--sage-deep);border-color:rgba(94,142,120,.25);background:var(--sage-pale)}

.price-sheet { overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: var(--white); box-shadow: var(--shadow); }.price-sheet section { display: grid; grid-template-columns: 260px 1fr; border-bottom: 1px solid var(--line); }.price-sheet section:last-child { border: 0; }.price-sheet h3 { margin: 0; padding: 27px; color: var(--ink); background: rgba(228,239,231,.45); font-size: 15px; }.price-sheet h3 span { display: block; margin-bottom: 6px; color: var(--sage-deep); font-size: 9px; }.price-sheet dl { margin: 0; }.price-sheet dl > div { display: grid; grid-template-columns: 1fr 190px; align-items: center; min-height: 84px; padding: 15px 27px; border-bottom: 1px dashed rgba(39,56,51,.13); }.price-sheet dl > div:last-child { border: 0; }.price-sheet dt { color: var(--ink); font-weight: 700; }.price-sheet dt small { display: block; color: var(--muted); font-weight: 400; }.price-sheet dd { margin: 0; color: var(--sage-deep); font-size: 18px; font-weight: 900; text-align: right; }
.price-sheet .price-note { grid-column: 2; margin: 0; padding: 14px 27px 22px; border-top: 1px dashed rgba(39,56,51,.13); color: var(--muted); font-size: 12px; line-height: 1.9; }
.price-sheet dd s { display: inline-block; margin-right: 8px; color: var(--muted); font-size: 12px; font-weight: 400; text-decoration: line-through; }

@media (min-width:901px) {
  .price-sheet { width:min(100%,1080px); margin-inline:auto; }
  .price-sheet section { grid-template-columns:260px minmax(0,1fr); }
  .price-sheet h3 { white-space:nowrap; }
  .price-sheet dl > div { grid-template-columns:minmax(0,1fr) 240px; }
  .price-sheet dd { white-space:nowrap; word-break:keep-all; }
}

.faq-list { display: grid; gap: 12px; max-width: 920px; margin: auto; }.faq-item { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.72); box-shadow: 0 12px 30px rgba(70,85,78,.05); }.faq-item button { display: grid; grid-template-columns: 42px 1fr 30px; align-items: center; width: 100%; padding: 23px 25px; border: 0; color: var(--ink); background: transparent; cursor: pointer; text-align: left; }.faq-item button > span:first-child { color: var(--sage-deep); font-size: 11px; font-weight: 900; }.faq-item button b { font-size: 15px; }.faq-item button i { position: relative; width: 24px; height: 24px; border-radius: 50%; background: var(--sage-pale); }.faq-item button i::before,.faq-item button i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 1px; background: var(--ink); transform: translate(-50%,-50%); }.faq-item button i::after { transform: translate(-50%,-50%) rotate(90deg); transition: transform .3s; }.faq-item.is-open button i::after { transform: translate(-50%,-50%) rotate(0); }.faq-item__answer { height: 0; overflow: hidden; transition: height .4s var(--ease); }.faq-item__answer > div { display: grid; grid-template-columns: 42px 1fr; gap: 0; padding: 0 25px 25px; color: var(--muted); }.faq-item__answer span { color: var(--peach-deep); font-size: 11px; font-weight: 900; }.faq-item__answer p { margin: 0; }

.company-table { margin: 0; border-top: 1px solid var(--line); }.company-table div { display: grid; grid-template-columns: 140px 1fr; gap: 22px; padding: 22px 4px; border-bottom: 1px solid var(--line); }.company-table dt { color: var(--sage-deep); font-size: 10px; font-weight: 700; }.company-table dd { margin: 0; color: var(--ink); }
.values-orbit { position: relative; height: 540px; }.values-orbit__center { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 175px; aspect-ratio: 1; border: 10px solid var(--white); border-radius: 48% 52% 45% 55%; color: #fff; background: var(--sage-deep); box-shadow: var(--shadow); transform: translate(-50%,-50%) rotate(-7deg); text-align:center;font-weight:900; }.value-chip { position: absolute; display: grid; place-items: center; width: 125px; aspect-ratio: 1; padding: 15px; border-radius: 50%; color: var(--ink); background: var(--white); box-shadow: 0 18px 40px rgba(70,85,78,.11); text-align:center;font-size:12px;font-weight:700; }.value-chip:nth-child(2) { top: 4%; left: 8%; }.value-chip:nth-child(3) { top: 6%; right: 4%; background:var(--sky-pale); }.value-chip:nth-child(4) { bottom: 3%; left: 1%; background:var(--peach-pale); }.value-chip:nth-child(5) { right: 1%; bottom: 1%; background:#f3edcf; }

.contact-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 8vw; }.contact-aside { position: sticky; top: 120px; align-self: start; }.contact-aside h2 { margin: 0; color: var(--ink); font-size: clamp(31px,4vw,48px); line-height:1.4; }.contact-aside > p { color:var(--muted); }.price-guidance-note { margin-top:16px;padding:14px 16px;border-left:3px solid var(--peach);color:#8b6d61;background:var(--peach-pale);font-size:11px; }.page-form { padding:clamp(25px,4vw,46px);border:1px solid rgba(255,255,255,.85);border-radius:25px;background:rgba(255,255,255,.72);box-shadow:var(--shadow); }.page-form__row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }.page-form label { display:block;margin-bottom:19px;color:var(--ink);font-size:11px;font-weight:700; }.page-form label span { margin-left:7px;color:var(--peach-deep);font-size:8px; }.page-form input,.page-form textarea,.page-form select { display:block;width:100%;min-width:0;margin-top:7px;padding:14px;border:1px solid var(--line);border-radius:11px;outline:0;color:var(--ink);background:rgba(255,255,255,.82); }.page-form input:focus,.page-form textarea:focus,.page-form select:focus { border-color:var(--sage-deep);box-shadow:0 0 0 4px rgba(94,142,120,.1); }.page-form textarea { resize:vertical; }.page-form .soft-button { width:100%; }.page-form__status { color:var(--muted);font-size:9px; }

.legal-content { max-width:920px;margin:auto;padding:clamp(30px,5vw,70px);border-radius:24px;background:var(--white);box-shadow:var(--shadow); }.legal-content section { margin-top:48px; }.legal-content section:first-child { margin-top:0; }.legal-content h2 { margin:0 0 14px;color:var(--ink);font-size:22px; }.legal-content h3 { color:var(--ink);font-size:17px; }.legal-content p,.legal-content li { color:var(--muted); }.legal-alert { padding:18px;border-left:4px solid var(--peach);background:var(--peach-pale);color:#87695e!important;font-size:12px; }
.sitemap-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:20px; }.sitemap-group { padding:30px;border-radius:22px;background:var(--white);box-shadow:0 15px 35px rgba(70,85,78,.07); }.sitemap-group__head { display:flex;align-items:center;gap:14px;margin-bottom:16px; }.sitemap-group__icon { display:grid;place-items:center;flex:none;width:46px;aspect-ratio:1;border-radius:15px;color:var(--sage-deep);background:var(--sage-pale); }.sitemap-group__icon svg { width:24px;height:24px; }.sitemap-group:nth-child(2) .sitemap-group__icon { color:var(--sky-deep);background:var(--sky-pale); }.sitemap-group:nth-child(3) .sitemap-group__icon { color:var(--peach-deep);background:var(--peach-pale); }.sitemap-group:nth-child(4) .sitemap-group__icon { color:#8a7a2f;background:#f3edcf; }.sitemap-group h2 { margin:0;color:var(--ink);font-size:21px; }.sitemap-group ul { margin:0;padding:0;list-style:none; }.sitemap-group li { border-top:1px solid var(--line); }.sitemap-group a { display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 2px; }.sitemap-group a b { display:block;color:var(--ink);font-size:13px;font-weight:700;transition:color .25s; }.sitemap-group a small { display:block;margin-top:2px;color:var(--muted);font-size:10px; }.sitemap-group a::after { content:"→";flex:none;color:var(--sage-deep);transition:transform .25s; }.sitemap-group a:hover b { color:var(--sage-deep); }.sitemap-group a:hover::after { transform:translateX(4px); }

.closing-cta { position:relative;overflow:hidden;padding-block:clamp(80px,10vw,130px);background:var(--sage-pale); }.closing-cta::before,.closing-cta::after { content:"";position:absolute;border-radius:50%; }.closing-cta::before { right:-13vw;top:-24vw;width:50vw;aspect-ratio:1;background:rgba(174,212,230,.35); }.closing-cta::after { left:-10vw;bottom:-25vw;width:38vw;aspect-ratio:1;background:rgba(241,174,143,.22); }.closing-cta__inner { position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px; }.closing-cta p { max-width:650px;color:var(--muted); }.closing-cta__buttons { display:flex;flex-direction:column;gap:12px;min-width:250px; }.closing-cta__line { color:var(--ink);font-size:11px;text-align:center; }.closing-cta__line b { display:block;font-size:22px; }

@media (max-width:900px) {
  .page-hero__inner { grid-template-columns:1fr; }.page-hero__copy { padding-bottom:0; }.motion-stage { height:470px;max-width:650px;width:100%;margin:auto; }
  .split-heading,.content-grid,.section-title,.contact-layout,.diagram-showcase__inner { grid-template-columns:1fr; }.content-copy,.contact-aside { position:static; }.service-index { grid-template-columns:1fr; }.who-list { grid-template-columns:1fr; }.process-lane { grid-template-columns:repeat(2,1fr); }.process-lane::before { display:none; }.price-sheet section { grid-template-columns:1fr; }.price-sheet .price-note { grid-column:auto; }.reason-path { grid-template-columns:1fr; }.closing-cta__inner { grid-template-columns:1fr; }.closing-cta__buttons { align-items:flex-start; }.sitemap-grid { grid-template-columns:1fr; }
  .work-case__header,.work-case__results,.work-case__apply{grid-template-columns:1fr}.work-case__story,.work-case__voices{grid-template-columns:1fr}.work-case__apply{align-items:start}.work-case__apply .soft-button{width:100%}
}
@media (max-width:600px) {
  .page-wrap { width:min(calc(100% - 32px),var(--max)); }.breadcrumbs { padding-top:92px; }.page-hero { min-height:930px;padding-bottom:40px; }.page-hero__inner { min-height:auto; }.page-hero__copy { padding-top:50px; }.page-hero h1 { font-size:43px; }.page-hero__actions { align-items:stretch;flex-direction:column; }.page-hero__actions .soft-button { width:100%; }.page-hero__note { display:grid;grid-template-columns:repeat(2,1fr);gap:9px; }.motion-stage { height:380px; }.motion-card--wide { top:23%;width:78%; }.motion-card--small { width:49%; }.motion-label { min-width:132px;padding:15px; }.page-section { padding-block:88px; }.split-heading h2,.center-heading h2,.content-copy h2,.closing-cta h2 { font-size:31px; }.service-link-card { min-height:350px;padding:27px; }.service-link-card:nth-child(5) { grid-column:auto; }.service-link-card h3 { margin-top:55px;font-size:27px; }.feature { grid-template-columns:50px 1fr;padding:22px;gap:15px; }.feature > span { width:45px; }.process-lane { grid-template-columns:1fr; }.process-lane li { min-height:250px; }.process-lane h3 { margin-top:43px; }.price-sheet dl > div { grid-template-columns:1fr;gap:7px;padding:18px 22px; }.price-sheet dd { text-align:left; }.faq-item button { grid-template-columns:32px 1fr 25px;padding:20px 17px; }.faq-item__answer > div { grid-template-columns:32px 1fr;padding:0 17px 21px; }.company-table div { grid-template-columns:88px 1fr;gap:12px; }.values-orbit { height:440px; }.value-chip { width:98px;font-size:10px; }.page-form__row { grid-template-columns:1fr;gap:0; }.page-form { padding:23px 17px; }.visual-demo,.ai-network,.web-layers,.dx-lane { height:400px; }.ai-node { width:82px;font-size:9px; }.ai-network__center { width:120px; }.web-window { width:85%; }.sitemap-group { padding:23px; }.closing-cta__buttons { align-items:stretch; }.closing-cta__buttons .soft-button { width:100%; }.page-hero .app-builder { height:400px; }.page-hero .app-builder__core { width:138px;border-width:7px; }.page-hero .app-builder > i { width:62px;border-width:5px; }.app-builder { grid-template-columns:1fr; }.app-builder__visual { min-height:340px; }.app-works { grid-template-columns:1fr; }.app-works article:last-child { grid-column:auto; }.works-progress{padding:8px 0}.works-progress__inner{width:100%;padding-inline:16px}.works-progress a{padding:9px 12px;font-size:11px}.work-case{scroll-margin-top:138px}.work-case__back{width:100%;margin-top:24px}
}
@media (prefers-reduced-motion:reduce) {
  .page-hero::before,.page-hero::after { transform:none; }.page-hero::after { animation:none; }.page-hero [data-motion-stage] { transform:none;opacity:1;filter:none;transition:none; }.page-hero [data-motion-stage] [data-depth] { translate:none; }.faq-item__answer { transition:none; }
}
@media (max-width:600px) {
  .motion-stage--planet > .motion-orb { top:15%;left:12%;width:76%; }
  .motion-stage--planet > .motion-ring { top:15%;left:12%;width:76%; }
  .motion-stage--planet > .motion-label { width:138px;padding:14px 15px; }
  .motion-stage--planet > .motion-label:nth-child(3) { top:3%!important;left:0!important; }
  .motion-stage--planet > .motion-label:nth-child(4) { top:12%!important;right:0!important; }
  .motion-stage--planet > .motion-label:nth-child(5) { bottom:12%!important;left:0!important; }
  .motion-stage--planet > .motion-label:nth-child(6) { right:0!important;bottom:3%!important; }
  .motion-stage--contact > .motion-label:nth-child(5) { bottom:3%!important;left:50%!important;transform:translate3d(-50%,0,220px) rotate(-1deg); }
}

@media (max-width:600px) {
  .product-screen-card { width:94%;padding:5px;border-radius:15px; }
  .product-screen-card img { border-radius:11px; }
  .product-screen-card figcaption { font-size:8px; }
  .ai-network.has-product-screen .ai-network__center { left:18%;top:20%;width:80px; }
  .page-hero h1 { font-size: clamp(25px,8vw,38px); letter-spacing: -.06em; }
  .split-heading h2,.center-heading h2,.content-copy h2,.closing-cta h2,.subpage .stance h2,.contact-aside h2,.diagram-showcase__copy h2 { font-size: clamp(21px,6.4vw,30px); letter-spacing: -.055em; }
}
@media (max-width:700px) {
  .page-photo-pair,.page-photo-pair--web { grid-template-columns:1fr; }
  .page-photo,.contact-visual { border-radius:19px; }
  .page-photo figcaption { align-items:flex-start;flex-direction:column;gap:3px;padding:11px 14px; }
  .contact-visual { width:min(100%,300px); }
}
