@charset "UTF-8";

/* dot's information sequence informed this local study; Linker's palette, images and copy are original. */
.concept-a { --forest: #10251a; --forest-deep: #0c1a12; --pine: #14683e; --mint: #bce0bd; --paper: #f6f7f1; --line: #bfd0bf; background: var(--paper); }
.concept-a .section-space { padding-block: clamp(88px, 9vw, 144px); }
.concept-a .section-index { color: #277447; }
.concept-a .section-heading { gap: clamp(28px, 5vw, 80px); }
.concept-a .section-heading h2 { line-height: 1.25; }
.concept-a .section-heading > p { max-width: 420px; color: #43584a; font-size: 15px; line-height: 1.9; }
/* 見出しと説明は画面幅に関係なく上から順に読む。 */
.concept-a .section-heading { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: start; gap: clamp(18px, 2.5vw, 30px); }
.concept-a .section-heading > div { min-width: 0; }
.concept-a .section-heading > p { width: 100%; max-width: 760px; margin: 0; }
.concept-a .a-about-grid,
.concept-a .faq-grid { grid-template-columns: minmax(0, 1fr); gap: clamp(26px, 3vw, 42px); }
.concept-a .a-about-grid > div:last-child,
.concept-a .faq-grid > div:first-child > p:last-child { max-width: 760px; }

/* Hero: a real work image within Linker's light and green visual language. */
.concept-a .a-hero { min-height: calc(100svh - 106px); isolation: isolate; background: radial-gradient(circle at 88% 24%, #224932 0, transparent 27%), linear-gradient(125deg, #10251a 0%, #0d1b14 68%, #172c20 100%); }
.concept-a .a-hero::before,
.concept-a .a-hero::after { content: ""; position: absolute; pointer-events: none; border: 1px solid rgba(204,238,211,.12); border-radius: 50%; width: min(65vw, 840px); aspect-ratio: 1; right: -15%; top: -35%; animation: linker-orbit 28s linear infinite; }
.concept-a .a-hero::after { width: min(42vw, 540px); right: -1%; top: -16%; border-style: dashed; border-color: rgba(194,234,205,.15); animation-duration: 35s; animation-direction: reverse; }
.concept-a .a-hero-grid { opacity: .38; background-size: 100px 100px; }
.concept-a .a-hero-inner { width: min(100% - 88px, 1390px); grid-template-columns: minmax(0,1.04fr) minmax(360px,.96fr); gap: clamp(40px, 5vw, 90px); padding-block: clamp(80px, 8vh, 110px) 55px; }
.concept-a .a-hero .eyebrow { color: #a6d9af; }
.concept-a .a-hero h1 { margin: 25px 0 13px; color: #f2f8f2; font-size: clamp(58px, 6.7vw, 106px); line-height: 1.12; }
.concept-a .a-outline { -webkit-text-stroke-color: #d5f4dc; }
.concept-a .a-hero-subtitle { color: #c6e8cc; font-size: clamp(19px, 1.8vw, 26px); margin-bottom: 18px; }
.concept-a .a-lead { max-width: 630px; color: #d2ded3; line-height: 1.9; }
.concept-a .a-hero-actions { gap: 20px; flex-wrap: wrap; margin-top: 30px; }
.concept-a .a-hero-actions .button { background: #d2efd6; color: #10351f; min-width: 236px; }
.concept-a .a-hero-actions .button:hover { background: #fff; }
.concept-a .a-hero-actions .text-link { color: #f2f8f2; }
.concept-a .a-hero-contact-link { color: #b8dfc0 !important; }
.concept-a .a-hero-foot { margin-top: 36px; color: #bdd0c0; }
.concept-a .a-hero-foot i { background: #68ae79; }
.concept-a .a-hero-photo-wrap { aspect-ratio: .95; border-radius: 2px 33% 2px 2px; box-shadow: 0 35px 100px rgba(0,0,0,.3); }
.concept-a .a-hero-photo-wrap::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(145deg, transparent 48%, rgba(10,41,22,.36) 100%); pointer-events: none; }
.concept-a .a-hero-visual figcaption { color: #cee2d0; }
.concept-a .a-hero-visual figcaption small { color: #a9c6b0; }
.concept-a .a-hero-visual-corner { background: #d2efd6; color: #123a23; }
.concept-a .a-scroll { color: #c5d8c7; }
@keyframes linker-orbit { to { transform: rotate(360deg); } }

/* How Linker chooses the work, followed by explicit service detail. */
.concept-a .a-manifesto { background: #f7f8f3; }
.concept-a .a-manifesto .body-large { color: #344c3a; }
.concept-a .a-manifesto-line { color: #145c35; }
.concept-a .a-method-flow { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 38px; padding: 1px; background: #b7cfbd; border: 1px solid #b7cfbd; }
.concept-a .a-method-flow > div { min-height: 156px; padding: 22px 18px; display: flex; flex-direction: column; background: #eaf3e9; }
.concept-a .a-method-flow small { color: #33855a; font: 10px ui-monospace, monospace; letter-spacing: .13em; }
.concept-a .a-method-flow strong { margin: 22px 0 8px; color: #193f29; font-size: clamp(16px,1.4vw,20px); }
.concept-a .a-method-flow span { color: #536b57; font-size: 11px; line-height: 1.5; }
.concept-a .a-scope { background: #eaf2e9; }
.concept-a .scope-list { border-top: 1px solid #91ac98; }
.concept-a .scope-list article { grid-template-columns: 65px minmax(0,1fr) 175px; gap: clamp(18px,3vw,46px); padding: 37px 14px; border-color: #a7c0aa; transition: background .3s, padding .3s; }
.concept-a .scope-list article:hover { background: rgba(255,255,255,.48); padding-inline: 22px; }
.concept-a .scope-list h3 { color: #173d27; }
.concept-a .scope-list article:nth-child(1) h3 { color: #116f40; }
.concept-a .scope-list p { max-width: 72ch; color: #435c49; font-size: 14px; }
.concept-a .scope-list .content-detail { margin-top: 10px; }
.concept-a .scope-list .content-detail > div { background: #fbfdf9; border-left-color: #2b8551; }
.concept-a .scope-more { display: inline-flex; min-height: 44px; align-items: center; gap: 17px; margin-top: 12px; color: #176d41; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 700; }
.concept-a .scope-more:hover { color: #0a4628; }
.concept-a .scope-cta { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 36px; padding: 25px 30px; background: #174e2e; color: #eef8ef; }
.concept-a .scope-cta p { margin: 0; font-size: 14px; line-height: 1.7; }
.concept-a .scope-cta a { display: inline-flex; align-items: center; gap: 30px; min-height: 44px; border-bottom: 1px solid currentColor; white-space: nowrap; font-size: 13px; font-weight: 700; }
.concept-a .a-deep-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.concept-a .a-deep-links a { position: relative; min-height: 190px; padding: clamp(22px,3vw,38px); display: flex; flex-direction: column; align-items: flex-start; background: #fff; border: 1px solid #b4cab8; transition: background .24s, transform .24s; }
.concept-a .a-deep-links a:hover { background: #f5fbf5; transform: translateY(-3px); }
.concept-a .a-deep-links small { color: #3b8053; font: 10px ui-monospace,monospace; letter-spacing: .12em; }
.concept-a .a-deep-links strong { margin: 20px 0 8px; color: #173d27; font-size: clamp(21px,2.2vw,30px); letter-spacing: -.05em; }
.concept-a .a-deep-links span { max-width: 40ch; color: #4c6653; font-size: 12px; line-height: 1.8; }
.concept-a .a-deep-links b { position: absolute; right: 26px; top: 26px; color: #287249; font-size: 20px; font-weight: 400; }
.concept-a .ai-path-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 14px 28px; }
.concept-a .ai-path-actions a { min-height: 44px; display: inline-flex; align-items: center; gap: 12px; color: #176d41; font-size: 13px; font-weight: 700; border-bottom: 1px solid currentColor; }
.concept-a .about-more { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; margin-top: 18px; color: #154e2b; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 700; }
.concept-a .contact-selected a { text-decoration: underline; text-underline-offset: 4px; }

/* Live work example and browser-only discovery tool. */
.concept-a .a-work { background: #f9faf6; }
.concept-a .work-console { border-color: #335443; background: #12291b; box-shadow: 0 35px 90px rgba(10,43,22,.14); }
.concept-a .scenario-button { min-height: 82px; border-color: #3c5c45; background: #1c3926; }
.concept-a .scenario-button:hover { background: #284c34; }
.concept-a .scenario-button.active { background: #cce8cf; color: #153c25; }
.concept-a .console-display { background: radial-gradient(circle at 88% 8%,rgba(65,139,82,.24),transparent 45%), #132c1e; }
.concept-a .flow-node { background: #203d2a; border-color: #426147; }
.concept-a .flow-node-active { background: #ceeacf; color: #183b26; border-color: #ceeacf; }
.concept-a .a-simulator { background: #e8f2e9; }
.concept-a .simulator-layout { display: grid; grid-template-columns: minmax(300px,.77fr) minmax(0,1.23fr); gap: 1px; border: 1px solid #a6c4ab; background: #a6c4ab; box-shadow: 0 24px 70px rgba(22,76,39,.09); }
.concept-a .simulator-questions { padding: clamp(24px,3.5vw,48px); background: #f9fcf7; }
.concept-a .simulator-group { min-width: 0; margin: 0 0 27px; padding: 0 0 27px; border: 0; border-bottom: 1px solid #cfdecf; }
.concept-a .simulator-group legend { width: 100%; padding: 0; margin-bottom: 14px; color: #1b4029; font-size: 14px; font-weight: 700; }
.concept-a .simulator-group legend span { margin-right: 9px; color: #388957; font: 11px ui-monospace, monospace; }
.concept-a .simulator-group legend small { margin-left: 8px; color: #647c68; font-size: 11px; font-weight: 400; }
.concept-a .simulator-options { display: flex; flex-wrap: wrap; gap: 7px; }
.concept-a .simulator-options button { min-height: 44px; padding: 9px 15px; border: 1px solid #afc9b2; border-radius: 0; background: #fff; color: #294a32; font-size: 12px; font-weight: 700; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.concept-a .simulator-options button:hover { border-color: #1c7344; transform: translateY(-2px); }
.concept-a .simulator-options button[aria-pressed="true"] { background: #176a3e; border-color: #176a3e; color: #fff; }
.concept-a .simulator-note { margin: 0; color: #647966; font-size: 11px; line-height: 1.7; }
.concept-a .simulator-result { min-width: 0; padding: clamp(28px,3.6vw,56px); color: #f1f9f0; background: radial-gradient(circle at 86% 5%,rgba(81,152,98,.26),transparent 38%),#12321f; }
.concept-a .simulator-result-top { display: flex; justify-content: space-between; gap: 14px; padding-bottom: 24px; border-bottom: 1px solid #406648; color: #b7d9bb; font: 10px ui-monospace, monospace; letter-spacing: .1em; }
.concept-a .simulator-result-label { margin: 30px 0 10px; color: #9cddb0; font-size: 12px; font-weight: 700; }
.concept-a .simulator-result h3 { margin: 0 0 17px; font-size: clamp(26px,2.8vw,42px); line-height: 1.4; letter-spacing: -.06em; }
.concept-a .simulator-result > p:not(.simulator-result-label) { max-width: 68ch; color: #c9dfcc; font-size: 14px; line-height: 1.8; }
.concept-a .simulator-flow { display: grid; grid-template-columns: minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr); gap: 8px; align-items: stretch; margin: 32px 0; }
.concept-a .simulator-flow > div { min-width: 0; min-height: 108px; padding: 17px 15px; border: 1px solid #4c7454; background: #1b4229; }
.concept-a .simulator-flow > div:nth-of-type(2) { background: #d0ead1; color: #173c24; border-color: #d0ead1; }
.concept-a .simulator-flow > div span { display: block; margin-bottom: 20px; color: #a9d7b3; font: 9px ui-monospace, monospace; letter-spacing: .1em; }
.concept-a .simulator-flow > div:nth-of-type(2) span { color: #297247; }
.concept-a .simulator-flow strong { font-size: 12px; line-height: 1.55; }
.concept-a .simulator-flow > b { display: grid; place-items: center; color: #a4d5ac; font-weight: 400; }
.concept-a .simulator-result-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; padding-top: 22px; border-top: 1px solid #42654a; }
.concept-a .simulator-result-bottom p { margin: 0; }
.concept-a .simulator-result-bottom small { display: block; color: #a0d3ab; font-size: 10px; font-weight: 700; }
.concept-a .simulator-result-bottom span { display: block; margin-top: 8px; color: #dceadd; font-size: 12px; line-height: 1.8; }
.concept-a .simulator-result-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 32px; }
.concept-a .simulator-result-actions a { min-height: 44px; display: inline-flex; align-items: center; gap: 24px; border-bottom: 1px solid #b8e6c3; color: #d6f4dc; font-size: 13px; font-weight: 700; }
.concept-a .simulator-result-actions > span { color: #a9c5ad; font-size: 10px; line-height: 1.5; }
.concept-a .simulator-result.is-updated h3,
.concept-a .simulator-result.is-updated .simulator-flow,
.concept-a .simulator-result.is-updated .simulator-result-bottom { animation: linker-result-in .48s ease-out both; }
@keyframes linker-result-in { from { opacity: .5; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }

/* Keep the remaining real Linker proof, product and contact sections readable. */
.concept-a .a-ai { background: #fff; }
.concept-a .a-ai-samples { background: #edf4ec; }
.concept-a .a-works { background: #fbfcf8; }
.concept-a .a-products { background: #e6efe4; }
.concept-a .a-process { background: #f9fbf6; }
.concept-a .a-faq { background: #edf4ec; }
.concept-a .a-about { background: #d5e6d6; }
.concept-a .a-contact { background: radial-gradient(circle at 90% 10%,#214d30 0,transparent 35%),#0e2116; }

@media (max-width: 1050px) {
  .concept-a .a-hero-inner { grid-template-columns: minmax(0,1fr) minmax(300px,.85fr); }
  .concept-a .a-hero h1 { font-size: clamp(54px,6.2vw,80px); }
  .concept-a .simulator-layout { grid-template-columns: minmax(280px,.9fr) minmax(0,1.1fr); }
  .concept-a .simulator-flow { grid-template-columns: 1fr; }
  .concept-a .simulator-flow > div { min-height: 0; }
  .concept-a .simulator-flow > b { transform: rotate(90deg); }
}
@media (max-width: 850px) {
  .concept-a .a-hero { min-height: 0; }
  .concept-a .a-hero-inner { width: min(100% - 44px, 680px); grid-template-columns: 1fr; gap: 40px; padding-block: 70px 30px; }
  .concept-a .a-hero-visual { width: 100%; max-width: 680px; }
  .concept-a .a-hero-photo-wrap { aspect-ratio: 1.45; }
  .concept-a .a-method-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .concept-a .simulator-layout { grid-template-columns: 1fr; }
  .concept-a .a-deep-links { grid-template-columns: 1fr; }
  .concept-a .simulator-flow { grid-template-columns: minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr); }
  .concept-a .simulator-flow > b { transform: none; }
}
@media (max-width: 600px) {
  .concept-a .section-space { padding-block: 76px; }
  .concept-a .section-heading > p { font-size: 14px; }
  .concept-a .a-hero-inner { width: min(100% - 36px, 680px); padding-block: 55px 24px; }
  .concept-a .a-hero h1 { font-size: clamp(45px, 11.5vw, 67px); }
  .concept-a .a-hero-subtitle { font-size: 18px; }
  .concept-a .a-hero-actions { gap: 12px 20px; }
  .concept-a .a-hero-actions .button { width: 100%; }
  .concept-a .a-hero-foot { gap: 10px; margin-top: 30px; }
  .concept-a .a-hero-photo-wrap { aspect-ratio: 1.1; }
  .concept-a .a-method-flow { grid-template-columns: 1fr 1fr; }
  .concept-a .a-method-flow > div { min-height: 135px; padding: 17px 12px; }
  .concept-a .a-method-flow strong { margin-top: 14px; font-size: 15px; }
  .concept-a .scope-list article { grid-template-columns: 32px minmax(0,1fr); padding: 26px 4px; }
  .concept-a .scope-list article:hover { padding-inline: 4px; }
  .concept-a .scope-list h3 { font-size: 24px; }
  .concept-a .scope-list p { font-size: 13px; }
  .concept-a .scope-cta { display: block; padding: 24px; }
  .concept-a .scope-cta a { margin-top: 14px; }
  .concept-a .a-deep-links a { min-height: 150px; }
  .concept-a .ai-path-actions { justify-content: flex-start; }
  .concept-a .simulator-questions, .concept-a .simulator-result { padding: 22px 18px; }
  .concept-a .simulator-options button { padding-inline: 12px; }
  .concept-a .simulator-result-top { font-size: 8px; }
  .concept-a .simulator-flow { grid-template-columns: 1fr; gap: 7px; }
  .concept-a .simulator-flow > b { transform: rotate(90deg); }
  .concept-a .simulator-result-bottom { grid-template-columns: 1fr; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .concept-a .a-hero::before, .concept-a .a-hero::after { animation: none; }
  .concept-a .simulator-result.is-updated h3, .concept-a .simulator-result.is-updated .simulator-flow, .concept-a .simulator-result.is-updated .simulator-result-bottom { animation: none; }
  .concept-a .simulator-options button { transition: none; }
}
