/* Reference-led composition. Original JEIA copy and diagrams; shared TOP typography. */
/* One viewport-fixed field remains continuous through every section and footer. */
.service-detail-page{background:#242424;isolation:isolate}
.service-detail-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:#242424 linear-gradient(180deg,#090909 0,#090909 144px,#0d0d0d 32%,#171717 56%,#222 82%,#242424 100%) center top/100% clamp(620px,85vh,900px) no-repeat;background-size:100% clamp(620px,85svh,900px)}
.service-detail-page>.header{background:#090909}
.service-detail-page>:is(.contact,footer){background:transparent}
.service-detail-page main:has(>.sa-page){padding:20px 0 0;max-width:1800px;margin:auto}
.sa-page{display:grid;grid-template-columns:clamp(160px,17vw,260px) minmax(0,1fr);--sa-line:#333331;--sa-muted:#b5b5ae;--sa-gutter:clamp(28px,4.5vw,76px)}
.sa-page :is(h1,h2,h3,p,ol,ul,figure){margin:0}
.sa-page :is(ol,ul){list-style:none;padding:0}
.sa-page :is(h1,h2,h3){font-family:var(--font-editorial-jp);font-weight:400}
.sa-page :is(a,summary):focus-visible{outline:1px solid currentColor;outline-offset:6px}
.sa-page :is(section[id]){scroll-margin-top:100px}
.sa-rail{border-right:1px solid var(--sa-line);padding:0 clamp(20px,2.8vw,45px);position:relative}
.sa-rail nav{position:sticky;top:100px;padding:10px 0 48px}
.sa-rail nav>p{font-family:var(--font-display-en);font-size:12px;letter-spacing:.02em;margin-bottom:38px}
.sa-rail li+li{margin-top:19px}.sa-rail li>a{display:block;font-family:var(--font-editorial-jp);font-size:13px;line-height:1.8;color:#aaa;transition:color .3s}
.sa-rail li>a{position:relative}.sa-rail li>a:hover,.sa-rail li>a[aria-current]{color:#fff}.sa-rail li>a[aria-current]:before{content:"";position:absolute;left:-13px;top:.75em;width:4px;height:4px;border-radius:50%;background:currentColor}
.sa-rail-back{display:block;font-size:11px;line-height:1.8;color:#999;margin-top:60px}
.sa-body{min-width:0}
.sa-hero{padding:8px clamp(28px,4.5vw,76px) 68px;display:grid;grid-template-columns:1.25fr 1fr;gap:5vw;align-items:center}
.sa-eyebrow{font-size:10px;letter-spacing:.1em;color:#a5a59d;margin-bottom:18px!important}
.sa-hero-en{font-family:"benton-modern-display",serif;font-size:clamp(48px,5.3vw,86px);line-height:1;letter-spacing:-.035em}
.sa-hero-en em{font-weight:400}
.sa-hero h1{font-size:clamp(16px,1.5vw,23px);line-height:1.7;margin-top:24px;letter-spacing:.04em}
.sa-hero-lead{font-family:var(--font-editorial-jp);font-size:clamp(19px,1.8vw,27px);line-height:1.9;letter-spacing:.05em}
.sa-hero-integrated{grid-template-columns:max-content minmax(0,1fr);column-gap:clamp(24px,3vw,48px);align-items:center;scroll-margin-top:100px}
/* The copy sits beside the icon, centered on the title block below SERVICE. */
.sa-hero-copy{min-width:0;padding-top:37px}
.sa-hero-intro{font-family:var(--font-editorial-jp);font-size:clamp(14px,1.1vw,16px);line-height:2;letter-spacing:.035em;color:#d4d3ce;max-width:34em;margin-top:24px!important}
.sa-hero-identity{min-width:0}
.sa-hero-heading{display:grid;grid-template-columns:minmax(0,max-content) var(--service-icon-size,180px);gap:clamp(20px,2.2vw,36px);align-items:start;min-width:0}
.sa-hero-title{display:flow-root;min-width:0}.sa-hero-title .sa-hero-en{white-space:nowrap;font-size:clamp(44px,4.7vw,80px)}
.sa-hero-mark{appearance:none;display:block;position:relative;width:100%;aspect-ratio:1;height:auto;margin:0;padding:0;border:0;background:transparent;color:#f3f2ed;cursor:pointer;opacity:1;align-self:start}
.sa-hero-mark:disabled{cursor:default;opacity:1}.sa-hero-mark>img,.sa-hero-mark>svg.expertise-icon{display:block;position:static;width:100%;height:100%;max-width:none;margin:0;object-fit:contain;transform:none}
.sa-hero-mark:not(:disabled):hover{filter:brightness(1.12)}
.sa-hero-mark:focus-visible{outline:1px solid #fff;outline-offset:8px;border-radius:3px}
.sa-hero-mark[aria-pressed="true"]:not(:disabled):after{content:"";position:absolute;right:0;bottom:0;width:8px;height:10px;border-left:2px solid #fff;border-right:2px solid #fff}
@media(max-width:760px){.sa-hero-integrated{grid-template-columns:1fr;gap:32px}.sa-hero-copy{padding-top:0}.sa-hero-intro{max-width:46em}}
@media(max-width:620px){.sa-hero-heading{grid-template-columns:minmax(0,max-content) var(--service-icon-size,110px);gap:14px}.sa-hero-title .sa-hero-en{font-size:clamp(22px,6.3vw,38px)}.sa-hero .sa-hero-title h1{font-size:13px;letter-spacing:.02em;margin-top:16px}.sa-hero-mark{align-self:start}}
@media(max-width:620px){.sa-hero-intro{font-size:15px;margin-top:20px!important}}
.sa-overview{padding:80px clamp(28px,4.5vw,76px) 88px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,4vw,64px);border-bottom:1px solid var(--sa-line)}
.sa-overview-mark{display:flex;align-items:center;justify-content:center;min-height:260px}.sa-overview-mark img{width:min(66%,250px);height:auto;opacity:.9}
.sa-overview-copy h2{font-size:23px;line-height:1.85;letter-spacing:.035em;margin-bottom:28px}
.sa-overview-copy p{font-family:var(--font-editorial-jp);font-size:17px;line-height:2;letter-spacing:.035em;color:#d4d3ce}
.sa-section,.sa-work,.sa-invitation,.sa-related,.sa-breadcrumbs{margin-left:var(--sa-gutter)!important;margin-right:var(--sa-gutter)!important}
.sa-section{position:relative;border-top:1px solid var(--sa-line)}
.sa-section-title{display:flex;justify-content:flex-start;align-items:center;gap:22px;min-height:132px;padding:30px 0;border-bottom:0}
.sa-section-title h2{font-size:24px;line-height:1.5;letter-spacing:.05em}.sa-section-title>span{order:-1;flex:0 0 54px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#090909;font-family:"benton-modern-display",serif;font-size:20px;font-weight:700;font-style:italic;font-synthesis:none;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.sa-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,3vw,54px);padding:38px 0;align-items:center}
/* One divider per numbered section, reaching the Contents rail across the gutter. */
@media screen and (min-width:901px){
 .sa-section::before{content:"";position:absolute;right:100%;top:-1px;width:calc(var(--sa-gutter) + 1px);height:0;border-top:1px solid var(--sa-line);pointer-events:none}
}
.sa-copy{min-width:0}.sa-copy h3{font-size:20px;line-height:1.75;letter-spacing:.055em;margin-bottom:24px}.sa-copy p{font-size:15px;line-height:2.05;letter-spacing:.035em;color:#cecec7}.sa-copy p+p{margin-top:18px}
.sa-start{align-items:start;padding-bottom:56px}
.sa-pains{display:grid;gap:22px}
.sa-pains>li{position:relative;padding-left:21px;font-size:15px;line-height:2;color:#cecec7}
.sa-pains>li:before{content:"—";position:absolute;left:0;color:#92928b}
.sa-start-output{margin:28px 0 0}
.sa-start-output>div+div{margin-top:22px}
.sa-start-output dt{font-size:11px;line-height:1.8;letter-spacing:.06em;color:var(--sa-muted);margin-bottom:8px}
.sa-start-output dd{font-size:14px;line-height:2;color:#cecec7;margin:0}
.sa-work>.sa-work-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 38px}
.sa-work-list>a{display:block;min-width:0;padding:6px 0}
.sa-work-list>a>span{font-family:var(--font-editorial-jp);font-size:19px;line-height:1.8}
.sa-work-list>a>p{font-size:13px;line-height:1.9;color:#b5b5ae;margin-top:12px}
.sa-work-list>a:hover>span{text-decoration:underline;text-underline-offset:6px}
@media(max-width:620px){.sa-work>.sa-work-list{grid-template-columns:1fr;gap:26px}.sa-pains>li{font-size:14px}.sa-start{gap:32px}}
/* Each diagram belongs beside the paragraph it explains. */
.sa-page .sa-figure{background:#050505;padding:28px 24px;border-radius:8px;min-width:0;min-height:285px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.sa-page .sa-figure figcaption{font-size:12px;line-height:1.8;letter-spacing:.03em;color:#a5a59e;margin-top:24px;max-width:none;text-align:center}
.sa-node{position:relative}.sa-node strong{font-weight:400;font-family:var(--font-editorial-jp)}
.sa-converge{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;min-height:215px}
.sa-converge ul{position:relative;display:grid;gap:24px;padding-right:14px}
.sa-converge ul:after{content:"";position:absolute;right:-18px;top:20px;bottom:20px;border-right:1px solid #999}
.sa-converge li{font-family:var(--font-editorial-jp);font-size:15px;line-height:1.7;padding:9px 0;text-align:center;border-bottom:1px solid #73736c}
.sa-converge li:after{content:"";position:absolute;top:50%;right:-32px;width:32px;border-top:1px solid #999}
.sa-converge-core{border:1px solid #c6c6bd;border-radius:50%;aspect-ratio:1;display:grid;place-items:center;text-align:center;padding:12px;font-family:var(--font-editorial-jp);font-size:18px;line-height:1.7}
.sa-converge-core:before{content:"";position:absolute;width:28px;left:-28px;top:50%;border-top:1px solid #999}
.sa-flow{position:relative;padding-right:27px!important}
.sa-flow:after{content:"";position:absolute;top:14px;bottom:18px;right:8px;border-right:1px solid #777}
.sa-flow>li{display:grid;grid-template-columns:25px 1fr;gap:6px 13px;align-items:baseline;padding:15px 0;border-bottom:1px solid #30302c}
.sa-flow>li:last-child{border-bottom:0}.sa-flow>li:after{content:"";position:absolute;top:25px;right:-19px;width:12px;border-top:1px solid #777}
.sa-flow-number{font-family:var(--font-display-en);font-size:10px;color:#9a9a94}.sa-flow strong{font-size:17px;line-height:1.6;letter-spacing:.04em}
.sa-flow-detail{grid-column:2;font-size:12px;line-height:1.9;color:#b0b0a8}
.sa-cycle{display:grid;grid-template-columns:1fr 1fr;gap:40px 32px;padding:10px 12px!important;max-width:390px;margin:0 auto!important;width:100%}
.sa-cycle li{position:relative;border:1px solid #8d8d85;border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;gap:8px}
.sa-cycle li>span{font-size:10px;color:#a2a29b}.sa-cycle strong{font-size:15px;line-height:1.6}
.sa-cycle li:after{content:"→";position:absolute;left:calc(100% + 9px);top:calc(50% - 10px);font-size:17px;color:#bcbcb4}
.sa-cycle li:nth-child(2):after{content:"↓";left:calc(50% - 6px);top:calc(100% + 8px)}
.sa-cycle li:nth-child(3){grid-column:2;grid-row:2}.sa-cycle li:nth-child(3):after{content:"←";left:-24px}
.sa-cycle li:nth-child(4){grid-column:1;grid-row:2}.sa-cycle li:nth-child(4):after{content:"↑";left:calc(50% - 6px);top:-34px}
.sa-example-flow>li{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:19px 0;border-bottom:1px solid #35352f}.sa-example-flow>li:last-child{border:0}
.sa-example-flow>li>span{font-family:var(--font-editorial-jp);font-size:14px;line-height:1.8}.sa-example-flow p{font-size:13px;line-height:1.9;color:#c1c1b9}
.sa-note{font-size:12px;color:#aaa;line-height:2;margin:25px 0 40px!important}
.sa-scope>ul>li{display:grid;grid-template-columns:14px 1fr;gap:16px;padding:20px 0;font-size:15px;line-height:1.9}.sa-scope>ul>li>span{font-size:12px;color:#aaa}
.sa-example-result{margin-top:24px;padding-top:20px}.sa-example-result>span{display:block;font-size:11px;letter-spacing:.08em;color:var(--sa-muted);margin-bottom:8px}.sa-example-result>p{font-size:14px;color:#ededE6}.sa-example-flow>li:nth-child(3)>span{color:#fff}.sa-example-flow>li>span{white-space:nowrap}.sa-process>ol>li{display:grid;grid-template-columns:32px 1fr;gap:20px;align-items:baseline;padding:22px 0}.sa-process>ol>li>span{font-family:"benton-modern-display",serif;font-size:28px;color:#aaa}.sa-process>ol>li>h3{font-size:16px;line-height:1.8}
.sa-faq{padding:15px 0 40px}.sa-faq details{padding:25px 0}.sa-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:25px;font-family:var(--font-editorial-jp);font-size:17px;line-height:1.8}.sa-faq summary::-webkit-details-marker{display:none}.sa-faq summary>span{font-size:23px}.sa-faq details[open] summary>span{transform:rotate(45deg)}.sa-faq details>p{font-size:14px;line-height:2;max-width:700px;color:#c8c8c0;margin-top:22px}
.sa-work{padding:55px 0;border-bottom:1px solid var(--sa-line)}.sa-work h2{font-size:22px;margin-bottom:30px}.sa-work>div{display:flex;flex-wrap:wrap;gap:20px 35px;font-size:16px}
.sa-invitation{padding:85px 0 75px;border-bottom:1px solid var(--sa-line)}.sa-invitation>p{font-family:"benton-modern-display",serif;font-size:clamp(64px,7vw,100px);line-height:1;margin-bottom:24px}.sa-invitation h2{font-size:22px;line-height:1.8;margin-bottom:30px}.sa-invitation>a{font-size:14px;line-height:2;border-bottom:1px solid #888;padding-bottom:9px;display:inline-block}
.sa-related{display:grid;grid-template-columns:1fr 2fr;gap:35px;padding:38px 0}.sa-related a{font-size:12px;line-height:1.8}.sa-related>div{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px}
.sa-breadcrumbs{font-size:10px!important;padding:15px 0 45px;margin-bottom:0!important;line-height:1.8}
@media(prefers-reduced-motion:no-preference){.sa-figure[data-diagram-ready] .sa-node{opacity:.45;transition:opacity 1.2s ease}.sa-figure[data-diagram-ready] .sa-node.is-inview{opacity:1}}
@media(max-width:1100px){.sa-page{grid-template-columns:150px minmax(0,1fr);--sa-gutter:30px}.sa-rail{padding:0 20px}.sa-hero{gap:30px;padding-inline:30px}.sa-hero-en{font-size:56px}.sa-hero-lead{font-size:19px}.sa-overview{padding:75px 30px;gap:30px}.sa-overview-copy h2{font-size:19px}.sa-overview-copy p{font-size:15px}.sa-row{gap:28px}.sa-copy p{font-size:14px}.sa-page .sa-figure{padding:24px 16px}.sa-converge{gap:32px}.sa-converge ul{padding-right:8px}.sa-converge li{font-size:13px}.sa-converge-core{font-size:15px}.sa-converge-core:before{width:14px;left:-14px}.sa-cycle{padding:8px 0!important;gap:32px 24px}.sa-cycle strong{font-size:13px}.sa-cycle li{padding:9px}.sa-cycle li:after{left:calc(100% + 5px)}.sa-cycle li:nth-child(3):after{left:-20px}.sa-cycle li:nth-child(2):after{top:calc(100% + 5px)}.sa-cycle li:nth-child(4):after{top:-28px}}
@media(max-width:900px){
 .service-detail-page main:has(>.sa-page){padding-top:18px}.sa-page{display:flex;flex-direction:column;--sa-gutter:6vw}
 .sa-rail{order:0;border-right:0;border-bottom:1px solid var(--sa-line);padding:0 6vw}.sa-rail nav{position:static;display:flex;align-items:center;gap:24px;padding:4px 0 17px}.sa-rail nav>p{margin:0;font-size:10px}.sa-rail ol{display:flex;flex-wrap:wrap;gap:12px 22px}.sa-rail li+li{margin:0}.sa-rail li>a{font-size:11px}.sa-rail-back{display:none}
 .sa-hero{padding:7px 6vw 50px;gap:35px}.sa-hero-en{font-size:clamp(45px,7vw,65px)}.sa-hero h1{font-size:16px}.sa-hero-lead{font-size:18px}
 .sa-overview{padding:65px 6vw 70px;gap:35px}.sa-overview-mark{min-height:190px}.sa-overview-copy h2{font-size:18px}.sa-overview-copy p{font-size:15px}
 .sa-section-title{min-height:105px}.sa-section-title h2{font-size:22px}.sa-section-title>span{flex-basis:48px;width:48px;height:48px;font-size:18px}
}
@media(max-width:620px){
 .sa-rail nav{gap:16px}.sa-rail ol{gap:9px 15px}.sa-rail li>a{font-size:12px}.sa-rail nav>p{font-size:9px}
 .sa-hero{grid-template-columns:1fr;gap:28px;padding-bottom:42px}.sa-hero-en{font-size:58px}.sa-hero h1{font-size:17px;margin-top:20px}.sa-hero-lead{font-size:21px;line-height:1.8}
 .sa-overview{grid-template-columns:1fr;gap:35px;padding-top:48px;padding-bottom:55px}.sa-overview-mark{min-height:0;order:1}.sa-overview-mark img{width:130px}.sa-overview-copy{order:0}.sa-overview-copy h2{font-size:19px}.sa-overview-copy p{font-size:16px}
 .sa-section-title{min-height:90px;padding:23px 0}.sa-section-title h2{font-size:20px}.sa-section-title{gap:16px}.sa-section-title>span{flex-basis:40px;width:40px;height:40px;font-size:16px}
 .sa-row{grid-template-columns:1fr;gap:25px;padding:30px 0}.sa-copy h3{font-size:20px;margin-bottom:20px;line-height:1.8}.sa-copy p{font-size:14px;line-height:2.05}
 .sa-page .sa-figure{min-height:280px;padding:25px 22px}.sa-converge{gap:42px;min-height:205px}.sa-converge li{font-size:15px}.sa-converge-core{font-size:18px}.sa-converge-core:before{width:24px;left:-24px}.sa-cycle{max-width:325px;gap:36px 32px}.sa-cycle strong{font-size:16px}.sa-cycle li:after{left:calc(100% + 9px)}.sa-cycle li:nth-child(3):after{left:-24px}
 .sa-flow strong{font-size:17px}.sa-flow-detail{font-size:12px}.sa-example-flow p{font-size:13px}.sa-example-flow>li>span{font-size:14px}.sa-page .sa-figure figcaption{font-size:12px}
 .sa-scope,.sa-process{gap:12px}.sa-scope>ul>li{font-size:14px}.sa-faq summary{font-size:16px}.sa-faq details>p{font-size:14px}.sa-invitation{padding:60px 0}.sa-invitation>p{font-size:70px}.sa-invitation h2{font-size:20px}.sa-invitation>a{font-size:13px}.sa-related{grid-template-columns:1fr;gap:25px}.sa-related>div{grid-template-columns:1fr;gap:15px}
}
@media(max-width:360px){.sa-hero-en{font-size:49px}.sa-rail nav>p{display:none}.sa-converge li{font-size:13px}.sa-converge-core{font-size:15px}.sa-cycle strong{font-size:14px}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.sa-page .sa-node{opacity:1!important;transition:none!important}}
@media print{.sa-rail{display:none}.sa-page{display:block}.sa-page .sa-node{opacity:1!important}.sa-row{break-inside:avoid}}
/* A thin signal network is drawn over the existing, always-readable HTML. */
.sa-page .sa-figure{position:relative;isolation:isolate}
.sa-example-flow{padding-left:22px!important}
.sa-signal-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.sa-signal-layer :is(path,circle){fill:none;vector-effect:non-scaling-stroke}
.sa-signal-track{stroke:#61615a;stroke-width:1;stroke-dasharray:1}
.sa-signal-branch{stroke:#61615a;stroke-width:1}
.sa-signal-pulse{stroke:#f6f6ef;stroke-width:2;stroke-linecap:round;opacity:0}
.sa-signal-layer .sa-signal-terminal{fill:#dddcd4;stroke:#050505;stroke-width:1}
.sa-signal-orbit{stroke:#e3e3db;stroke-width:1;opacity:.65}
.sa-figure[data-signal-ready] :is(.sa-converge ul,.sa-converge li,.sa-converge-core,.sa-flow,.sa-flow>li,.sa-cycle li)::after,
.sa-figure[data-signal-ready] .sa-converge-core::before{display:none}
.sa-figure[data-signal-ready] .sa-node{opacity:1}
.sa-page .sa-motion-toggle{position:absolute;z-index:3;right:8px;top:8px;width:30px;height:30px;display:grid;place-items:center;appearance:none;background:transparent;color:#b8b8b0;border:1px solid transparent;border-radius:50%;padding:0;cursor:pointer;transition:color .25s,border-color .25s}
.sa-page .sa-motion-toggle:hover,.sa-page .sa-motion-toggle:focus-visible{color:#fff;border-color:#73736d}
.sa-motion-toggle svg{display:block;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
@media(max-width:620px){.sa-page .sa-motion-toggle{width:32px;height:32px}.sa-example-flow{padding-left:20px!important}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.sa-signal-layer,.sa-motion-toggle{display:none!important}.sa-figure .sa-node{animation:none!important}}
@media print{.sa-signal-layer,.sa-motion-toggle{display:none!important}}

@media print{.sa-figure[data-signal-ready] :is(.sa-converge ul,.sa-converge li,.sa-flow,.sa-flow>li,.sa-cycle li)::after,.sa-figure[data-signal-ready] .sa-converge-core::before{display:block}}
/* Purpose-built service illustrations keep one coherent line weight and scale. */
.sa-page .sa-figure-scene{padding:28px 12px 24px;min-height:0}
.sa-scene-canvas{position:relative;width:100%;aspect-ratio:4/3}
.sa-scene-canvas>img{display:block;width:100%;height:100%;object-fit:contain}
.sa-scene-live{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.sa-page .sa-figure-scene figcaption{padding:0 12px;margin-top:22px;font-size:12px;line-height:1.9}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.sa-scene-live{display:none!important}.sa-scene-canvas>img{opacity:1!important}}
@media print{.sa-scene-live{display:none!important}.sa-scene-canvas>img{opacity:1!important}}

@media(forced-colors:active){.sa-section-title>span{forced-color-adjust:none;background:CanvasText;color:Canvas}}
/* Related reading keeps the numbered section rule and open editorial layout. */
.sa-journal-link{display:block;color:inherit;text-decoration:none;min-width:0}
.sa-journal-label{display:block;font-size:12px;letter-spacing:.06em;margin-bottom:22px;color:#bdbdbd}
.sa-journal-read{display:inline-flex;gap:28px;align-items:center;margin-top:24px;font-size:14px;text-decoration:underline;text-underline-offset:6px}
.sa-journal-link:hover h3{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.sa-journal-link:focus-visible{outline:2px solid currentColor;outline-offset:10px;border-radius:8px}
.sa-scope-intro{padding:26px 0 36px;max-width:42em}
.sa-scope-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 5vw;padding:0 0 38px}
.sa-scope-topics .sa-copy h3{margin-bottom:16px}
.sa-scope-topics .sa-ai-example{font-size:13px;color:var(--sa-muted)}
.sa-ai-example>span{display:block;font-size:11px;letter-spacing:.04em;margin-bottom:6px;color:#e2e2dc}
.sa-scope-note{padding-bottom:40px}
.sa-journal-list{display:grid;gap:40px;min-width:0}
.sa-journal>.sa-row{align-items:start}
@media(max-width:760px){.sa-scope-topics{grid-template-columns:1fr;gap:32px}.sa-scope-intro{padding-top:18px}.sa-journal>.sa-row{grid-template-columns:1fr}}

/* Web / Systems: readable business diagrams and a more balanced reading grid. */
.sb-page .sa-hero-integrated{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(24px,4vw,64px)}
.sb-page .sa-hero-heading{grid-template-columns:minmax(0,1fr) clamp(72px,10vw,132px);gap:18px;align-items:center}
.sb-page .sa-hero-title .sa-hero-en{font-size:clamp(40px,4.2vw,72px)}
.sb-page .sa-hero-copy{padding-top:28px}.sb-page .sa-copy p,.sb-page .sa-hero-intro{font-family:var(--font-body, sans-serif);line-height:2;color:#c8c8c3;letter-spacing:.025em}
.sb-page .sa-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,60px);align-items:center;padding-block:40px}
.sb-page .sa-start{align-items:start}.sb-page .sa-copy h3{font-size:clamp(20px,1.8vw,27px);line-height:1.75;text-wrap:balance}
.sb-page .sa-hero{padding-bottom:44px}.sb-page .sa-hero-en{overflow-wrap:normal}
.sb-overview{margin:0 var(--sa-gutter) 56px;padding:25px 0;border-top:1px solid #454540;border-bottom:1px solid #454540;display:grid;grid-template-columns:1fr 1.5fr;gap:30px;align-items:center}
.sb-overview>p{font-family:var(--font-display-en);font-style:italic;font-size:clamp(24px,2.7vw,40px);line-height:1.15;max-width:12em}
.sb-page .sb-diagram{margin:0;min-width:0;padding:28px;background:linear-gradient(145deg,#292b2b,#191b1b);border-radius:8px;color:#f3f2ed;font-family:sans-serif}
.sb-diagram-label{font-size:12px;letter-spacing:.08em;color:#d1d4ce;margin-bottom:28px}
.sb-page .sb-diagram figcaption{font-size:12px;line-height:1.8;color:#aaa;margin-top:25px}
.sb-page .sb-flow{display:flex;gap:24px;align-items:stretch;list-style:none;padding:0;margin:0;min-width:0}
.sb-flow>li{flex:1;position:relative;min-width:0;display:flex;flex-direction:column;gap:8px;padding-block:13px}
.sb-flow>li+li:before{content:'→';position:absolute;left:-20px;top:13px;color:#8faaa5}
.sb-flow strong{font-size:15px;font-weight:500}.sb-flow span{font-size:11px;line-height:1.7;color:#adb8b2}
.sb-browser{border:1px solid #6d7774;border-radius:5px;margin-bottom:22px;overflow:hidden;background:#202424}.sb-browser-bar{display:block;font-size:8px;letter-spacing:5px;padding:8px 12px;border-bottom:1px solid #4c5652;color:#a1b6ab}
.sb-browser-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;padding:24px}.sb-browser-grid>div:last-child{display:flex;flex-direction:column;gap:12px}.sb-browser small{font-size:10px;color:#bcc9c0}.sb-browser strong{font-weight:400;font-size:14px}.sb-product{display:grid;place-items:center;min-height:125px;background:radial-gradient(ellipse at 40% 30%,#638273,#26322c 70%);border-radius:2px}.sb-product>span{display:block;width:48px;height:72px;border:1px solid #d1dfd3;border-radius:50% 50% 18% 18%;transform:rotate(-12deg)}
.sb-mock-line{height:2px;background:#64716a;width:90%}.sb-mock-line.short{width:65%}.sb-mock-button{border:1px solid #8d9b92;padding:8px 10px;font-size:10px;text-align:center;margin-top:5px}
.sb-split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sb-split>div+div{border-left:1px solid #525955;padding-left:24px}.sb-split small,.sb-hub small,.sb-status small,.sb-comparison small{color:#b1c8bc;font-size:10px;letter-spacing:.06em}.sb-split h4{font-family:var(--font-editorial-jp);font-size:19px;font-weight:400;margin:16px 0}.sb-split p{font-size:11px;line-height:1.9}.sb-split b{display:block;font-size:12px;font-weight:400;color:#b1c8bc;margin-top:20px}
.sb-foundation{border-top:1px solid #525955;margin-top:25px;padding-top:19px;text-align:center;font-size:12px}.sb-foundation span{display:block;font-size:11px;line-height:1.8;color:#b7c2bb;margin-top:9px}.sb-return{text-align:center;font-size:12px;color:#b1c8bc;padding-top:14px}.sb-return>span{font-size:25px;vertical-align:middle}
.sb-comparison>div+div{margin-top:22px;padding-top:22px;border-top:1px solid #535b56}.sb-comparison>div:first-child{opacity:.7}.sb-comparison .sb-flow{margin-top:9px}.sb-hub{display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:20px}.sb-endpoints{display:grid;gap:14px}.sb-endpoints>span{padding:12px 0;border-bottom:1px solid #57645d;font-size:11px;text-align:center;position:relative}.sb-hub-core{border:1px solid #98afa1;border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;text-align:center;box-shadow:0 0 32px #8ab49e12}.sb-hub-core strong{font-size:13px;font-weight:400}.sb-hub-core>span{font-size:9px;line-height:1.8;color:#bcc9c0}.sb-endpoints:first-child>span:after{content:'→';position:absolute;right:-17px}.sb-endpoints:last-child>span:before{content:'→';position:absolute;left:-17px}
.sb-status{display:grid;grid-template-columns:.7fr 1.5fr;gap:24px;align-items:center}.sb-status-origin{border:1px solid #81988a;border-radius:50%;aspect-ratio:1;display:grid;place-items:center;font-size:12px}.sb-status-paths{display:grid;gap:20px}.sb-status-paths>div{position:relative;border-left:1px solid #81988a;padding-left:18px;display:grid;gap:10px}.sb-status-paths strong{font-size:13px;font-weight:400}.sb-status-paths span{font-size:10px;color:#b8c2bc;line-height:1.6}
@media(max-width:1100px){.sb-page .sa-hero-integrated{grid-template-columns:1fr}.sb-page .sa-hero-heading{grid-template-columns:minmax(0,1fr) 110px;max-width:550px}.sb-page .sa-hero-copy{padding-top:0}.sb-page .sa-hero-intro{max-width:48em}.sb-page .sa-row{grid-template-columns:1fr;gap:24px}.sb-page .sb-diagram{width:100%;box-sizing:border-box}.sb-overview{grid-template-columns:1fr;gap:20px}}
@media(max-width:620px){.sb-page .sa-hero-title .sa-hero-en{font-size:clamp(34px,9vw,48px)}.sb-page .sa-hero-heading{grid-template-columns:minmax(0,1fr) 62px;gap:10px}.sb-page .sa-hero{padding-inline:22px}.sb-page .sa-hero-intro{font-size:14px}.sb-page .sa-row{padding-block:28px}.sb-page .sb-diagram{padding:20px 16px}.sb-overview{margin:0 22px 36px}.sb-flow strong{font-size:13px}.sb-flow span{font-size:10px}.sb-page .sb-flow{gap:18px}.sb-flow>li+li:before{left:-16px}.sb-browser-grid{gap:15px;padding:15px}.sb-browser strong{font-size:12px}.sb-split{gap:15px}.sb-split>div+div{padding-left:15px}.sb-split h4{font-size:17px}.sb-hub{grid-template-columns:1fr;gap:17px}.sb-endpoints{grid-template-columns:repeat(3,1fr);gap:10px}.sb-hub-core{width:145px;margin:auto}.sb-endpoints:first-child>span:after,.sb-endpoints:last-child>span:before{display:none}.sb-hub-core:before,.sb-hub-core:after{content:'↓';color:#b1c8bc}.sb-status{gap:15px}}
.sb-overview>p{font-family:"benton-modern-display",serif;font-weight:400}.sb-page .sa-start .sa-copy>h3{margin-bottom:20px}.sb-page .sa-pains li{line-height:1.9}.sb-page .sa-start-output{margin-top:25px}
/* Service outcomes and practical AI use cases follow the existing editorial grid. */
.sa-page .sa-service-role{margin:0 var(--sa-gutter) 42px;font-size:13px;line-height:1.9;letter-spacing:.025em;color:#b8c5bf;max-width:62em}
.sa-usecases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 44px;padding:36px 0 12px}
.sa-usecase{min-width:0;display:flex;flex-direction:column}
.sa-usecase-label{font-family:"benton-modern-display",serif;font-style:italic;font-size:14px;letter-spacing:.08em;color:#a8beb2;margin-bottom:18px}
.sa-usecase.sa-copy h3{font-size:clamp(20px,1.65vw,25px);margin-bottom:17px;line-height:1.8}
.sa-usecase>p{margin-bottom:24px}
.sa-page .sa-usecase-flow{list-style:none;display:grid;gap:0;background:linear-gradient(135deg,#282d2a,#191c1a);padding:16px 22px;margin-top:auto;border-radius:8px}
.sa-usecase-flow li{display:grid;grid-template-columns:24px 1fr;gap:16px;padding:13px 0;font-size:13px;line-height:1.7;color:#e3e7e1}
.sa-usecase-flow li+li{border-top:1px solid #414a44}
.sa-usecase-flow li>span{font-family:"benton-modern-display",serif;font-style:italic;font-size:17px;color:#b3c7b9}
.sa-usecase.sa-copy p.sa-usecase-result{font-size:12px;line-height:1.9;color:#aebdb4;margin:15px 0 0}
.sa-usecase[id]{scroll-margin-top:110px}
.sa-usecase-reading{grid-column:1;margin-top:14px;font-size:12px;line-height:1.9;letter-spacing:.02em}
.sa-usecase-reading a{display:inline-block;padding:4px 0;color:#d2e2d7;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#71867a;transition:color .18s ease}
.sa-usecase-reading a:hover{color:#fff;text-decoration-color:currentColor}
.sa-usecase-reading a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.sa-usecase-reading span{display:inline-block;margin-left:5px}
@media(min-width:1201px){.sa-usecase:has(.aw-figure){position:relative;padding-bottom:44px}.sa-usecase-reading{position:absolute;inset:auto 0 0;margin-top:0}}

/* Reading follows each explanation, with a concise image-led index at the end. */
.sa-context-reading{grid-column:1/-1;min-width:0;margin-top:-8px;font-size:13px;line-height:1.9}
.sa-context-reading a{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;max-width:100%;padding:8px 0;color:#d4dfd7}
.sa-context-label{flex:none;font-size:11px;color:#a9b2aa;letter-spacing:.04em}
.sa-context-reading a>span:last-child{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#71867a;overflow-wrap:anywhere}
.sa-context-reading a:hover{color:#fff}
.sa-context-reading a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.sa-journal-intro{max-width:42em;margin:34px 0 40px}
.sa-page .sa-journal-intro h3{font-size:clamp(23px,2.2vw,30px);line-height:1.7;margin:0 0 16px}
.sa-journal-intro .sa-journal-read{margin-top:18px}
.sa-journal-list{gap:0}
.sa-journal-link{display:grid;grid-template-columns:clamp(110px,15vw,160px) minmax(0,1fr);align-items:center;gap:28px;padding:28px 0;border-top:1px solid #444}
.sa-journal-link:not(:has(.sa-journal-image)){grid-template-columns:1fr}
.sa-journal-image{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px;filter:grayscale(1)}
.sa-journal-copy{min-width:0}
.sa-journal-copy .sa-journal-label{font-size:10px;line-height:1.7;margin:0 0 12px;color:#aaa;overflow-wrap:anywhere}
.sa-page .sa-journal-copy h3{font-family:var(--font-editorial-jp);font-size:clamp(19px,1.8vw,25px);font-weight:400;line-height:1.7;letter-spacing:.02em;margin:0}
.sa-journal-copy .sa-journal-read{font-size:12px;gap:20px;margin:18px 0 0}
@media(max-width:600px){.sa-context-reading{margin-top:0;font-size:13px}.sa-context-reading a{display:flex;flex-direction:column;gap:7px}.sa-journal-intro{margin:26px 0 28px}.sa-journal-link{grid-template-columns:1fr;gap:22px;padding:28px 0}.sa-journal-image{aspect-ratio:16/10;max-height:260px}.sa-page .sa-journal-copy h3{font-size:22px}.sa-journal-copy .sa-journal-label{margin-bottom:10px}}
.sb-handover{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.sb-handover>div{display:flex;flex-direction:column;gap:12px}
.sb-handover span{font-family:"benton-modern-display",serif;font-style:italic;font-size:24px;color:#b4c6b9}
.sb-handover strong{font-size:14px;font-weight:400;line-height:1.7}.sb-handover p{font-size:11px;line-height:1.9;color:#b3bdb6}
@media(max-width:760px){.sa-usecases{grid-template-columns:1fr;gap:38px;padding-top:25px}.sa-usecase>p{margin-bottom:20px}.sa-page .sa-service-role{margin-bottom:30px}.sa-page .sa-usecase-flow{padding:12px 18px}.sb-handover{gap:22px 15px}.sb-handover strong{font-size:13px}}
@media(max-width:620px){.sa-page .sa-service-role{margin-inline:22px;font-size:12px}.sa-usecase.sa-copy h3{font-size:20px}}
/* A shorter service page: three representative offers and one quiet process figure. */
.sa-compact .sa-hero{padding-bottom:60px}
.sa-compact .sa-hero-intro{max-width:34em}
.sc-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding:14px 0 50px}
.sa-compact .sc-offers h3{font-size:clamp(19px,1.6vw,24px);line-height:1.75;margin-bottom:18px}
.sa-compact .sc-offers p{font-size:14px;line-height:2}
.sa-compact p.sc-note{margin:0 0 40px!important;font-size:12px}
.sa-compact .sc-process-intro{font-size:15px;line-height:2;color:#c8c8c3;max-width:45em;margin:0 0 28px}
.sa-compact .sc-process-figure{background:linear-gradient(135deg,#252c28,#191d1a);border-radius:8px;padding:32px 34px;margin:0 0 50px}
.sa-compact .sc-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;padding:0}
.sc-steps li{position:relative;min-width:0}
.sc-steps li+li:before{content:'→';position:absolute;left:-29px;top:13px;color:#8c9f92;font-size:17px}
.sc-step-number{display:block;font-family:"benton-modern-display",serif;font-style:italic;font-size:27px;line-height:1.3;color:#b4c7b9;margin-bottom:18px}
.sa-compact .sc-steps h3{font-size:19px;line-height:1.7;margin-bottom:12px}
.sa-compact .sc-steps p{font-size:12px;line-height:1.9;color:#b6c1b9}
.sc-anchor{position:absolute;top:0;scroll-margin-top:100px}
.sc-reading>div{display:grid;gap:20px}.sc-reading a{font-family:var(--font-editorial-jp);font-size:15px;line-height:1.9}.sc-reading a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1100px){.sc-offers{gap:26px}.sa-compact .sc-process-figure{padding:28px 24px}.sa-compact .sc-steps{gap:28px}.sc-steps li+li:before{left:-23px}}
@media(max-width:760px){.sc-offers{grid-template-columns:1fr;gap:32px;padding:8px 0 38px}.sa-compact .sc-offers h3{font-size:21px;margin-bottom:12px}.sa-compact .sc-offers p{max-width:40em}.sa-compact .sc-process-intro{font-size:14px;margin-bottom:22px}.sa-compact .sc-process-figure{padding:28px 24px;margin-bottom:38px}.sa-compact .sc-steps{grid-template-columns:1fr;gap:34px}.sc-steps li{display:grid;grid-template-columns:38px 1fr;gap:0 18px}.sc-step-number{grid-row:span 2;margin:0;font-size:26px}.sa-compact .sc-steps h3{font-size:20px;margin-bottom:8px}.sa-compact .sc-steps p{grid-column:2;font-size:13px}.sc-steps li+li:before{content:'↓';left:8px;top:-29px;font-size:15px}.sa-compact .sa-hero{padding-bottom:42px}}

/* Balance descriptive section headings on narrow screens. */
.sa-page[data-service-layout="1.0.149"] .sa-section-title h2{text-wrap:balance}

/* Icon-led workflows: source information → AI → human review → the next task. */
.sa-page .aw-figure{margin:0;border-radius:8px;padding:24px 20px 20px;background:radial-gradient(ellipse at 45% 12%,#374b3c40,transparent 68%),linear-gradient(145deg,#242b26,#151917);margin-top:auto;color:#c4d2c7;min-width:0}
.aw-map{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1.3fr) 28px minmax(0,1fr);align-items:center;min-width:0}
.aw-lane{height:240px;display:grid;grid-template-rows:100px 100px;gap:20px;align-content:center;position:relative;min-width:0}
.aw-node{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;min-width:0;position:relative}
.aw-node>span{font-family:var(--font-body,sans-serif);font-size:12px;line-height:1.5;letter-spacing:0;color:#e8ece6;overflow-wrap:anywhere}
.aw-icon{display:block;flex-shrink:0;width:32px;height:32px;overflow:visible}
.aw-process{gap:20px}.aw-process .aw-node{background:#3d4c3f33;border-radius:8px;gap:8px;padding:7px 4px}.aw-process .aw-icon{width:27px;height:27px;color:#cfe3c4}
.aw-process .aw-node>span{font-size:12px}.aw-node>small{font-family:var(--font-body,sans-serif);font-size:10px;line-height:1.5;color:#a9b8aa;letter-spacing:.03em;display:flex;align-items:center;justify-content:center;gap:4px}
.aw-ai>small{font-size:10px;letter-spacing:.14em;line-height:1}.aw-ai .aw-icon{width:25px;height:25px}
.aw-review>small .aw-icon{width:12px;height:12px;flex-shrink:0}.aw-step-arrow{position:absolute;top:110px;left:0;width:100%;height:20px;line-height:20px;text-align:center;color:#9eb99f;font-size:15px}
.aw-connector{width:100%;height:240px;color:#7b9480;overflow:visible}
.aw-target .aw-icon{width:34px;height:34px;color:#eef1e9}.aw-icon-instagram,.aw-icon-x{padding:9px;box-sizing:content-box;border-radius:14px;background:#bacdb80d}
.aw-targets-sequential:after{content:'↓';position:absolute;top:110px;left:0;width:100%;line-height:20px;text-align:center;color:#9eb99f;font-size:15px}
.aw-figure .aw-caption{font-family:var(--font-body,sans-serif);font-size:11px;color:#aebbaf;line-height:1.8;letter-spacing:.015em;margin-top:16px;text-align:left}
@media(max-width:1200px){.sa-usecases:has(.aw-figure){grid-template-columns:1fr}}
@media(min-width:1001px) and (max-width:1200px){.sa-usecase:has(.aw-figure){display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,1.1fr);gap:0 30px;align-items:start}.sa-usecase:has(.aw-figure)>.sa-usecase-label,.sa-usecase:has(.aw-figure)>h3,.sa-usecase:has(.aw-figure)>p{grid-column:1}.sa-usecase>.aw-figure{grid-column:2;grid-row:1/span 4;margin:0}}
@media(max-width:620px){.sa-page .aw-figure{padding:18px 12px 16px}.aw-map{grid-template-columns:minmax(0,1fr) 20px minmax(0,1.4fr) 20px minmax(0,1fr)}.aw-node>span{font-size:11px}.aw-process .aw-node>span{font-size:11px}.aw-process .aw-node{padding:7px 2px}.aw-node>small{font-size:9px;letter-spacing:0}.aw-icon{width:28px;height:28px}.aw-target .aw-icon{width:29px;height:29px}.aw-figure .aw-caption{font-size:11px}.sa-page[data-service-layout="1.0.150"] .sa-section-title h2{text-wrap:balance}}
@media(forced-colors:active){.aw-figure,.aw-process .aw-node{outline:1px solid CanvasText}.aw-node>span,.aw-node>small,.aw-icon,.aw-connector,.aw-figure .aw-caption{color:CanvasText}}
