/* Service stories: restrained type, open editorial rows and legible working diagrams. */
.service-detail-page{--sd-paper:#090909;--sd-ink:#f5f5f2;--sd-accent:#f5f5f2;--sd-line:#373834;background:#090909;color:#f3f2ec}
.service-detail-page main{max-width:1600px;padding:132px 6vw 0;margin:auto}
.service-detail-page .breadcrumbs{margin:0 0 48px;font-size:11px}
.service-detail-page :is(h1,h2,h3,p,ul,ol,figure){margin-top:0}
.service-detail-page :is(h1,h2,h3){font-weight:400}
.service-detail-page :is(h2,h3){font-family:var(--font-editorial-jp);letter-spacing:.015em}
.service-detail-page a:focus-visible,.service-detail-page summary:focus-visible{outline:1px solid currentColor;outline-offset:7px}
.service-detail-page section[id]{scroll-margin-top:120px}
.sd-kicker{font-family:var(--font-display-en);font-size:11px;line-height:1.7;letter-spacing:.11em;color:#aaa99f;margin-bottom:28px}
.sd-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:7vw;align-items:end;padding-bottom:72px}
.sd-hero h1{margin-bottom:0}.sd-hero-en{display:block;font-family:"benton-modern-display",serif;font-size:clamp(64px,7.5vw,120px);font-weight:500;line-height:1.03;letter-spacing:-.045em}
.sd-hero-en em{font-weight:400}.sd-hero-jp{display:block;font-family:var(--font-editorial-jp);font-size:clamp(17px,1.6vw,23px);line-height:1.7;letter-spacing:.025em;margin-top:30px}
.sd-hero-side{display:flex;flex-direction:column;align-items:flex-start;gap:35px;max-width:430px}.sd-service-mark{display:block;width:126px;height:126px;object-fit:contain}.sd-hero-side>p{font-size:17px;line-height:2.1;letter-spacing:.035em;margin:0;color:#cbc9bf}
.sd-contents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--sd-line);border-bottom:1px solid var(--sd-line);padding:22px 0;gap:28px}.sd-contents>a{display:flex;justify-content:space-between;gap:15px;font-size:12px}.sd-contents>a>span:last-child{font-size:20px;line-height:1}
.sd-overview{display:grid;grid-template-columns:1fr 2fr;gap:8vw;padding:140px 0}.sd-overview h2{font-size:clamp(28px,3.3vw,49px);line-height:1.65;margin-bottom:35px}.sd-overview p:not(.sd-kicker){max-width:690px;font-size:17px;line-height:2.2;color:#c5c3ba;margin-bottom:0}
.sd-section-heading{margin-bottom:52px}.sd-section-heading h2{font-size:clamp(27px,3vw,44px);line-height:1.7;margin-bottom:20px}.sd-section-heading>p:not(.sd-kicker){max-width:720px;font-size:15px;line-height:2;color:#b7b5ac}
.sd-framework{padding-bottom:140px}
.sd-methods{padding-bottom:130px}.sd-method{display:grid;grid-template-columns:1fr 1fr;gap:9vw;border-top:1px solid var(--sd-line);padding:56px 0}.sd-method>div:first-child{display:grid;grid-template-columns:70px 1fr;gap:30px;align-items:start}.sd-method-number{font-family:"benton-modern-display",serif;font-style:italic;font-size:60px;line-height:1;color:#777b6a}.sd-method h3{font-size:clamp(23px,2.2vw,32px);line-height:1.8;margin:0}.sd-method .service-detail-copy p{font-size:16px;line-height:2.15;color:#c4c2ba;margin:0}
.sd-examples{padding-bottom:140px}.sd-example{border-top:1px solid var(--sd-line)}.sd-example:last-of-type{border-bottom:1px solid var(--sd-line)}.sd-example summary{display:grid;grid-template-columns:50px 1fr 28px;gap:22px;align-items:center;padding:32px 0;list-style:none;cursor:pointer}.sd-example summary::-webkit-details-marker{display:none}.sd-example summary h3{font-size:clamp(19px,2vw,28px);line-height:1.8;margin:0}.sd-example-number{font-size:13px;color:#999d8c}.sd-expand{font-size:27px;transition:transform .35s}.sd-example[open] .sd-expand{transform:rotate(45deg)}
.sd-example-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;margin:0;padding:8px 0 40px}.sd-example-flow>li{border-top:1px solid #626653;padding:20px 0 0}.sd-example-flow>li:nth-child(3){border-color:#ecece8}.sd-example-flow .sd-kicker{font-size:10px;letter-spacing:.03em;color:#b4b8a6}.sd-example-flow p{font-size:14px;line-height:2;color:#cbc9c1;margin:12px 0 0}.sd-example-note{font-size:12px;line-height:2;color:#9e9e94;margin-top:24px;max-width:730px}
.sd-scope{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw;padding:0 0 140px}.sd-scope>ul{list-style:none;margin:0;padding:0}.sd-scope>ul>li{display:flex;gap:25px;border-top:1px solid var(--sd-line);padding:23px 0;font-size:16px;line-height:1.9}.sd-scope li>span{font-size:11px;color:#969b88;padding-top:5px}
.sd-process{padding-bottom:140px}.sd-process>ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;padding:0;list-style:none;margin:50px 0 0}.sd-process>ol>li{position:relative;border-top:1px solid #8a8f7c;padding-top:27px}.sd-process>ol>li:not(:last-child):after{content:"↗";position:absolute;top:24px;right:0;font-size:22px;color:#8a8f7c}.sd-process>ol>li>span{display:block;font-family:"benton-modern-display",serif;font-style:italic;font-size:65px;line-height:1;margin-bottom:28px}.sd-process h3{font-size:18px;line-height:1.9;max-width:220px}
.sd-faq{display:grid;grid-template-columns:1fr 1.6fr;gap:8vw;padding-bottom:100px}.sd-faq details{border-top:1px solid var(--sd-line);padding:25px 0}.sd-faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:17px;line-height:1.9}.sd-faq summary::-webkit-details-marker{display:none}.sd-faq summary>span{font-size:23px;flex-shrink:0}.sd-faq details[open] summary>span{transform:rotate(45deg)}.sd-faq details>p{font-size:15px;line-height:2.1;color:#bbb9b0;margin:23px 0 0}
.sd-existing-work{padding:0 0 100px}.sd-existing-work>div{display:flex;gap:20px 40px;flex-wrap:wrap;font-size:18px}.sd-existing-work a{border-bottom:1px solid #626653}
.sd-invitation{border-top:1px solid var(--sd-line);padding:80px 0 100px}.sd-invitation h2{font-size:clamp(33px,4vw,60px);line-height:1.6;margin-bottom:38px}.sd-consult{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;font-size:16px;border-bottom:1px solid #929a80;padding-bottom:14px}.sd-consult>span{font-size:30px}
.sd-related{border-top:1px solid var(--sd-line);padding:40px 0 80px;display:grid;grid-template-columns:1fr 2fr;gap:8vw;font-size:13px}.sd-related>div{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px}.sd-related a{display:flex;justify-content:space-between;gap:18px;align-items:baseline}.sd-back{align-self:start}
.service-detail-page .service-read-block{opacity:var(--service-read-opacity,1);transition:opacity .18s ease-out}.service-detail-page .service-read-glyph{opacity:var(--glyph-light,1);transition:opacity .16s cubic-bezier(.22,1,.36,1)}.service-detail-page .service-read-accessible{user-select:none}.service-detail-page .service-detail-copy:focus-within :is(.service-read-block,.service-read-glyph){opacity:1!important}
@media(prefers-reduced-motion:no-preference){}
@media(max-width:1050px){.sd-hero{grid-template-columns:1.4fr 1fr;gap:35px}.sd-hero-en{font-size:clamp(58px,7.5vw,86px)}.sd-method>div:first-child{grid-template-columns:50px 1fr;gap:18px}.sd-method-number{font-size:46px}}
@media(max-width:767px){.service-detail-page main{padding:112px 7vw 0}.service-detail-page .breadcrumbs{margin-bottom:36px;font-size:10px}.sd-hero{grid-template-columns:1fr;gap:42px;padding-bottom:45px}.sd-hero-en{font-size:clamp(44px,12.7vw,88px)}.sd-hero-jp{font-size:17px;margin-top:22px}.sd-hero-side{flex-direction:row;align-items:center;gap:23px;max-width:none}.sd-service-mark{width:72px;height:72px;flex-shrink:0}.sd-hero-side>p{font-size:13px;line-height:2}.sd-contents{grid-template-columns:1fr 1fr;gap:23px 28px;padding:22px 0}.sd-contents>a{font-size:10px}.sd-overview{grid-template-columns:1fr;gap:6px;padding:85px 0}.sd-overview h2{font-size:28px;line-height:1.8}.sd-overview p:not(.sd-kicker){font-size:15px;line-height:2.1}.sd-kicker{margin-bottom:22px;font-size:10px}.sd-framework,.sd-methods,.sd-examples,.sd-process{padding-bottom:85px}.sd-section-heading{margin-bottom:32px}.sd-section-heading h2{font-size:26px}.sd-method{grid-template-columns:1fr;gap:26px;padding:35px 0}.sd-method h3{font-size:24px}.sd-method .service-detail-copy p{font-size:15px}.sd-example summary{grid-template-columns:24px 1fr 20px;gap:13px;padding:25px 0}.sd-example summary h3{font-size:19px}.sd-example-flow{grid-template-columns:1fr;gap:22px;padding-bottom:30px}.sd-example-flow>li{padding-top:16px}.sd-example-flow .sd-kicker{font-size:11px}.sd-example-flow p{font-size:14px}.sd-scope{grid-template-columns:1fr;gap:10px;padding-bottom:85px}.sd-scope>ul>li{font-size:15px;padding:20px 0}.sd-process>ol{grid-template-columns:1fr 1fr;gap:30px 22px}.sd-process>ol>li>span{font-size:52px;margin-bottom:20px}.sd-process h3{font-size:16px}.sd-faq{grid-template-columns:1fr;gap:0;padding-bottom:65px}.sd-faq summary{font-size:16px}.sd-existing-work{padding-bottom:65px}.sd-existing-work>div{font-size:16px}.sd-invitation{padding:55px 0 65px}.sd-invitation h2{font-size:33px}.sd-consult{font-size:13px;gap:20px}.sd-related{grid-template-columns:1fr;gap:32px;padding-bottom:50px}.sd-related>div{grid-template-columns:1fr;gap:20px}.sd-back{font-size:14px}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.service-detail-page :is(.service-read-block,.service-read-glyph),.sd-diagram .sd-node{opacity:1!important;transition:none!important}}
@media print{.service-detail-page :is(.service-read-block,.service-read-glyph),.sd-diagram .sd-node{opacity:1!important;transition:none!important}}


/* Monochrome frameworks: white geometry on the page itself, without a panel. */
.sd-diagram{margin:0;padding:0;color:#f5f5f2;background:transparent;overflow:visible}
.sd-figure-heading{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid #5a5a58;font-size:10px;letter-spacing:.12em;color:#a8a8a3}
.sd-diagram h3{font-size:clamp(24px,2.5vw,38px);line-height:1.7;letter-spacing:.04em;margin:35px 0 64px;max-width:900px}
.sd-nodes{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0;isolation:isolate}
.sd-nodes-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sd-node{position:relative;min-width:0;padding:clamp(195px,22vw,300px) 18px 0;display:flex;flex-direction:column;align-items:center;text-align:center;--node-art:url('assets/service-diagrams/source.svg');--node-order:0}
.sd-node::before{content:"";position:absolute;left:0;top:0;width:100%;height:clamp(175px,20vw,270px);background:var(--node-art) center/contain no-repeat}
.sd-node:not(:last-child)::after{content:"";position:absolute;top:clamp(87px,10vw,135px);left:calc(86% + 3px);width:28%;height:7px;background:linear-gradient(#dadad5,#dadad5) left center/calc(100% - 1px) 1px no-repeat;clip-path:polygon(0 42%,calc(100% - 5px) 42%,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,calc(100% - 5px) 58%,0 58%);background-color:#deded8;z-index:1}
.sd-node-en{display:block;font-family:var(--font-display-en);font-size:11px;line-height:1.6;letter-spacing:.08em;color:#a8a8a3;margin-bottom:16px}
.sd-node>strong{font-family:var(--font-editorial-jp);font-weight:400;font-size:clamp(19px,1.7vw,27px);line-height:1.7;letter-spacing:.03em;margin-bottom:19px}
.sd-node>ul{list-style:none;padding:0;margin:0}.sd-node>ul>li{font-size:13px;line-height:2.2;letter-spacing:.02em;color:#c6c6bf}
.sd-node:nth-child(2){--node-order:1;--node-art:url('assets/service-diagrams/intelligence.svg')}
.sd-node:nth-child(3){--node-order:2;--node-art:url('assets/service-diagrams/review.svg')}
.sd-node:nth-child(4){--node-order:3;--node-art:url('assets/service-diagrams/destination.svg')}
.sd-feedback{position:relative;text-align:center;max-width:75%;margin:55px auto 0;padding:30px 30px 0;font-size:12px;line-height:1.9;color:#c4c4bd;border-top:1px solid #6f6f69}
.sd-feedback::before,.sd-feedback::after{content:"";position:absolute;top:-24px;height:24px;width:1px;background:#6f6f69}.sd-feedback::before{left:0}.sd-feedback::after{right:0}
.sd-feedback>span{position:absolute;font-family:serif;font-size:19px;line-height:1;top:-29px}.sd-feedback>span:first-child{left:-5px;transform:rotate(90deg)}.sd-feedback>span:last-child{display:none}
.sd-diagram figcaption{max-width:740px;margin:55px 0 0;padding:0;font-size:13px;line-height:2;color:#aaa9a3}
/* Three equal, overlapping rings keep the shared value visible. */
.sd-diagram-brand .sd-nodes{max-width:1100px;margin:0 auto;gap:0;padding:0 5%}
.sd-diagram-brand .sd-node{padding:0 24px;aspect-ratio:1;justify-content:center}
.sd-diagram-brand .sd-node::before{height:100%;width:118%;left:-9%;border:1px solid #ddddD7;border-radius:50%;background:none}
.sd-diagram-brand .sd-node::after{display:none}.sd-diagram-brand .sd-node>strong{font-size:clamp(18px,2vw,29px)}
.sd-diagram-brand .sd-node-en{margin-bottom:12px}.sd-diagram-brand .sd-node>ul>li{font-size:12px}
.sd-diagram-center{position:relative;font-family:var(--font-editorial-jp);text-align:center;font-size:clamp(24px,3vw,43px);line-height:1.7;letter-spacing:.08em;margin:60px 0 0}
.sd-diagram-brand .sd-diagram-center::before{content:"";display:block;width:1px;height:50px;margin:0 auto 26px;background:#777770}
.sd-outputs{display:flex;justify-content:center;flex-wrap:wrap;gap:15px 45px;list-style:none;padding:25px 0 0;margin:0;font-size:13px;color:#c5c5bf}
.sd-diagram-journey .sd-node:nth-child(1){--node-art:url('assets/service-diagrams/discover.svg')}
.sd-diagram-journey .sd-node:nth-child(2){--node-art:url('assets/service-diagrams/understand.svg')}
.sd-diagram-journey .sd-node:nth-child(3){--node-art:url('assets/service-diagrams/choose.svg')}
.sd-diagram-journey .sd-node:nth-child(4){--node-art:url('assets/service-diagrams/purchase.svg')}
.sd-diagram-integration .sd-nodes{max-width:1100px;margin:auto}
.sd-diagram-integration .sd-node:nth-child(2){--node-art:url('assets/service-diagrams/connect.svg')}
.sd-diagram-integration .sd-node:nth-child(3){--node-art:url('assets/service-diagrams/destination.svg')}
/* A clock-wise loop, with the reading order preserved in the HTML. */
.sd-diagram-cycle .sd-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:85px 100px;max-width:770px;margin:auto}
.sd-diagram-cycle .sd-node{padding:35px 22px;aspect-ratio:1;justify-content:center}
.sd-diagram-cycle .sd-node::before{background:none;inset:0;width:100%;height:100%;border:1px solid #deded8;border-radius:50%}
.sd-diagram-cycle .sd-node::after{content:"";position:absolute;top:calc(50% - 3px);left:calc(100% + 20px);width:60px;height:7px;background:#deded8;clip-path:polygon(0 42%,calc(100% - 5px) 42%,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,calc(100% - 5px) 58%,0 58%)}
.sd-diagram-cycle .sd-node:nth-child(2)::after{top:calc(100% + 39px);left:calc(50% - 30px);transform:rotate(90deg)}
.sd-diagram-cycle .sd-node:nth-child(3){grid-column:2;grid-row:2}.sd-diagram-cycle .sd-node:nth-child(3)::after{left:-80px;transform:rotate(180deg)}
.sd-diagram-cycle .sd-node:nth-child(4){grid-column:1;grid-row:2}.sd-diagram-cycle .sd-node:nth-child(4)::after{top:-46px;left:calc(50% - 30px);transform:rotate(-90deg)}
@media(prefers-reduced-motion:no-preference){
 .sd-diagram[data-diagram-ready] .sd-node{opacity:.45;transition:opacity 1.15s ease;transition-delay:calc(var(--node-order)*.12s)}
 .sd-diagram[data-diagram-ready] .sd-node::before{transform:translateY(10px);transition:transform 1.4s cubic-bezier(.22,1,.36,1)}
 .sd-diagram[data-diagram-ready] .sd-node.is-inview{opacity:1}.sd-diagram[data-diagram-ready] .sd-node.is-inview::before{transform:translateY(0)}
}
@media(max-width:1050px){
 .sd-node{padding-left:10px;padding-right:10px}.sd-node>strong{font-size:19px}.sd-node-en{font-size:10px;letter-spacing:.02em}.sd-node>ul>li{font-size:12px}
 .sd-diagram-brand .sd-node{padding:20px 13px}.sd-diagram-brand .sd-node>strong{font-size:19px}.sd-diagram-brand .sd-node>ul>li{font-size:11px}
}
@media(max-width:767px){
 .sd-figure-heading{font-size:9px;padding:18px 0}.sd-diagram h3{font-size:24px;margin:25px 0 40px;line-height:1.8}
 .sd-nodes,.sd-nodes-3{grid-template-columns:1fr;gap:42px}
 .sd-node{padding:10px 0 10px 40%;min-height:170px;align-items:flex-start;text-align:left;justify-content:center}
 .sd-node::before{width:34%;height:150px;top:calc(50% - 75px);left:0}
 .sd-node:not(:last-child)::after{top:calc(100% + 18px);left:calc(17% - 22px);width:44px;transform:rotate(90deg)}
 .sd-node-en{font-size:10px;margin-bottom:10px}.sd-node>strong{font-size:20px;margin-bottom:12px}.sd-node>ul>li{font-size:12px;line-height:2}
 .sd-feedback{max-width:none;margin:40px 0 0 17%;font-size:11px;padding:24px 0 0;border-top-color:#5e5e59}.sd-feedback::after{display:none}
 .sd-diagram figcaption{font-size:12px;margin-top:38px;line-height:2}
 .sd-diagram-brand .sd-nodes{display:flex;flex-direction:column;align-items:center;padding:0;gap:0;max-width:300px}
 .sd-diagram-brand .sd-node{width:100%;aspect-ratio:1;min-height:0;align-items:center;text-align:center;padding:34px;margin:0}
 .sd-diagram-brand .sd-node:not(:first-child){margin-top:-28px}.sd-diagram-brand .sd-node::before{inset:0;width:100%;height:100%}
 .sd-diagram-brand .sd-node>strong{font-size:24px}.sd-diagram-brand .sd-node>ul>li{font-size:13px}.sd-diagram-brand .sd-diagram-center{margin-top:35px}
 .sd-diagram-center{font-size:28px}.sd-outputs{font-size:12px;gap:12px 25px}
 .sd-diagram-cycle .sd-nodes{gap:65px 24px;max-width:450px}.sd-diagram-cycle .sd-node{min-height:0;aspect-ratio:1;padding:16px 9px;text-align:center;align-items:center}
 .sd-diagram-cycle .sd-node-en{font-size:9px;letter-spacing:0;margin-bottom:8px}.sd-diagram-cycle .sd-node>strong{font-size:17px;margin-bottom:6px}.sd-diagram-cycle .sd-node>ul>li{font-size:10px}
 .sd-diagram-cycle .sd-node::before{inset:0;width:100%;height:100%}.sd-diagram-cycle .sd-node::after{width:18px;left:calc(100% + 3px);top:calc(50% - 3px);transform:none}
 .sd-diagram-cycle .sd-node:nth-child(2)::after{width:34px;left:calc(50% - 17px);top:calc(100% + 29px);transform:rotate(90deg)}
 .sd-diagram-cycle .sd-node:nth-child(3)::after{left:-21px;transform:rotate(180deg)}.sd-diagram-cycle .sd-node:nth-child(4)::after{width:34px;left:calc(50% - 17px);top:-36px;transform:rotate(-90deg)}
}
@media(max-width:390px){.sd-diagram-cycle .sd-nodes{gap:60px 22px}.sd-diagram-cycle .sd-node>strong{font-size:15px}.sd-diagram-cycle .sd-node>ul>li{font-size:9px}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.sd-diagram .sd-node{opacity:1!important;transition:none!important}.sd-diagram .sd-node::before{transform:none!important;transition:none!important}}
@media print{.sd-diagram .sd-node{opacity:1!important;transform:none!important}.sd-diagram{break-inside:avoid}}
