/* Selected concept 03. The illustrations and paper are raster assets, not CSS drawings. */
:root{--paper:#f6eede;--ink:#061b30;--muted:#405060;--line:#9b9c97;--gutter:clamp(22px,3vw,54px)}
body{background:var(--paper) url('/assets/comic-cream-paper-640.webp') repeat;background-size:640px;color:var(--ink)}
.container{max-width:1376px}
.preview-bar{background:#e9e2d4;color:#253b50}
.site-header{background:transparent;border:0}
.header-inner{min-height:68px;gap:24px;max-width:1484px}
.logo-crop{width:184px;mix-blend-mode:multiply}
.header-locality{background:#ffdf69;color:var(--ink);font-size:clamp(11px,1.15vw,16px);font-weight:900;padding:7px 11px;line-height:1.5;margin:0 auto 0 0;white-space:nowrap;box-shadow:0 3px 0 #d3b24855}
.site-navigation{gap:23px}
.site-navigation .button{padding:11px 21px}
.button{border-radius:999px;box-shadow:0 4px 0 #0b27581f;transition:background .18s,color .18s,box-shadow .18s}
.button:hover{box-shadow:0 2px 0 #0b275830}
.menu-toggle{border-radius:999px;font-size:14px}
.small-only{display:none}
.comic-locality{display:none}
.comic-hero{overflow:hidden;overflow:clip;position:relative}
.comic-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,3vw,48px);align-items:center;min-height:0;padding-block:42px 64px}
.comic-hero-copy{position:relative;min-width:0}
.comic-hero h1{font-size:clamp(44px,5.95vw,88px);line-height:1.1;letter-spacing:-.065em;white-space:nowrap;text-wrap:nowrap;-webkit-text-stroke:.6px currentColor;text-shadow:0 3px 1px #1a24321c}
.comic-title-second{display:block;font-size:1.06em;line-height:1.17;letter-spacing:-.065em}
.comic-ai{font-family:DejikitaSans,sans-serif;font-size:1.39em;letter-spacing:-.08em;color:var(--blue);margin-right:.05em}
.comic-hero h2{font-size:clamp(23px,2.5vw,36px);line-height:1.5;margin-top:18px;letter-spacing:-.04em}
.comic-summary{font-size:clamp(13px,1.45vw,20px);font-weight:800;line-height:1.85;margin-top:10px;max-width:33em}
.comic-primary{margin-top:24px;padding:18px 34px;font-size:clamp(16px,1.75vw,24px)}
.comic-hero .hero-note{font-size:13px;margin-top:15px;max-width:26em;color:var(--ink)}
.hero-visual{position:relative;width:100%;min-width:0;aspect-ratio:4/3;perspective:1100px}
.hero-visual>.editorial-art{width:100%;height:100%;overflow:visible;transform:translate3d(var(--depth-x,0px),var(--depth-y,0px),0) rotateY(var(--depth-rotate,0deg));transition:transform .18s ease-out}
.comic-frame{background:var(--ink);padding:6px;overflow:hidden;clip-path:polygon(1% 0,100% 5%,97% 100%,0 97%)}
.comic-frame img{width:100%;height:100%;object-fit:cover;display:block}
.hero-visual figcaption{position:absolute;right:17%;bottom:-18px;padding:2px 0;font-size:11px}
.comic-story{padding:10px 0 40px;overflow:hidden;overflow:clip}
.comic-story-heading{text-align:center;margin-bottom:22px}
.comic-story-heading h2{font-size:clamp(40px,6.5vw,95px);letter-spacing:-.065em;line-height:1.25;white-space:nowrap;-webkit-text-stroke:.4px currentColor}
.comic-story-heading p{font-size:clamp(18px,2.2vw,30px);font-weight:900;margin-top:8px}
.comic-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.comic-story-item{min-width:0}
.comic-story-item .editorial-art{overflow:visible}
.comic-story-item .comic-frame{height:clamp(230px,25vw,354px);padding:5px}
.comic-story-item:nth-child(2) .comic-frame{clip-path:polygon(4% 5%,100% 2%,97% 100%,0 96%)}
.comic-story-item:nth-child(3) .comic-frame{clip-path:polygon(5% 4%,100% 0,100% 96%,0 100%)}
.comic-story-item .comic-frame img{clip-path:inherit;aspect-ratio:auto;object-position:center}
.comic-story-item figcaption{font-size:13px;font-weight:900;color:var(--blue);text-align:left;padding:13px 4px 0;line-height:1.5}
.comic-story-item h3{font-size:clamp(20px,1.85vw,27px);line-height:1.55;letter-spacing:-.025em;padding-inline:4px;margin-top:9px}
.comic-story-item>p{font-size:15px;line-height:1.85;padding-inline:4px;margin-top:12px}
.comic-story-item>.text-link{font-size:14px;margin:10px 4px 0}
.comic-boundary{font-size:12px;color:var(--muted);margin-top:24px;line-height:1.8}
.comic-more{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;display:flex;align-items:center;gap:28px;font-size:14px;flex-wrap:wrap}
.comic-more p{font-weight:900;margin-right:auto;font-size:17px}
.comic-more a{min-height:44px;display:flex;align-items:center;color:var(--blue);font-weight:800}
.comic-cta{background:var(--blue) url('/assets/comic-cta-landscape-1536.webp') center bottom/cover no-repeat;color:white;text-align:center;padding:48px 0 68px;min-height:390px}
.comic-cta-kicker{font-size:14px;font-weight:700;letter-spacing:.06em}
.comic-cta h2{font-size:clamp(36px,5.9vw,88px);letter-spacing:-.07em;margin-top:10px}
.comic-cta h2+p{font-size:16px;line-height:1.8;margin-top:12px}
.comic-cta .button{font-size:19px;padding:16px 38px;margin-top:25px;background:var(--paper);color:var(--blue)}
.comic-cta .button:hover{background:white}
.comic-cta-note{font-size:12px;margin-top:20px!important}
.site-footer{background:transparent}
.footer-main{border-top:0}
.section--tint{background:#eae9e0}
.page-hero{background:transparent;color:var(--ink);padding-block:30px 70px;overflow:hidden;overflow:clip}
.page-hero .split{gap:42px}
.page-hero h1{font-size:clamp(36px,3.6vw,56px);line-height:1.32;letter-spacing:-.055em}
.page-hero .eyebrow{color:var(--blue)}
.page-hero .inline-note,.page-hero figcaption{color:var(--muted)}
.page-hero .button{color:white;background:var(--blue)}
.page-hero .button:hover{background:#003bc8}
.page-hero .editorial-art{padding:6px;background:var(--ink);clip-path:polygon(3% 0,100% 4%,97% 100%,0 96%)}
.page-hero .editorial-art img{aspect-ratio:1.2;object-fit:cover;clip-path:polygon(2% 0,100% 3%,97% 100%,0 96%)}
.page-hero .editorial-art figcaption{background:var(--paper);padding:8px 20px;color:var(--ink)}
.section--dark{background:#071d35}
.form-card{border:1px solid #a4adaf;box-shadow:7px 7px 0 #08284a10}
.mobile-cta{background:var(--paper)}
/* A one-time panel entrance. Text and buttons never animate. */
@keyframes comic-panel-enter{from{transform:perspective(1000px) translateY(24px) rotateY(-4deg)}to{transform:perspective(1000px) translateY(0) rotateY(0)}}
.motion-enabled [data-comic-panel].is-inview .comic-frame{animation:comic-panel-enter .85s cubic-bezier(.2,.7,.2,1) both}
.comic-story-item:nth-child(2) .is-inview .comic-frame{animation-delay:.12s}
.comic-story-item:nth-child(3) .is-inview .comic-frame{animation-delay:.24s}
.motion-enabled [data-comic-panel].is-inview img{animation:none!important;transform:none}
.motion-paused [data-comic-panel] .comic-frame{animation-play-state:paused!important}
.motion-reduced [data-comic-panel] .comic-frame{animation:none!important;transform:none!important;opacity:1!important}
.motion-reduced .hero-visual>.editorial-art,.motion-paused .hero-visual>.editorial-art{transform:none!important;transition:none!important}
@media(max-width:1200px){.header-inner{gap:18px}.site-navigation{gap:18px}.header-locality{font-size:11px;padding-inline:8px}.logo-crop{width:162px}.site-navigation>a{font-size:13px}.site-navigation .button{font-size:12px;padding-inline:15px}}
@media(max-width:1000px){.header-locality{margin-right:auto;font-size:13px}.site-navigation{background:var(--paper);border-color:var(--ink)}.site-navigation .button{font-size:14px}.comic-hero h2{font-size:2.45vw}.comic-summary{font-size:14px;max-width:28em}.comic-primary{font-size:16px;padding-inline:26px}.comic-story-item h3{font-size:20px}.comic-story-item>p{font-size:14px}}
@media(max-width:800px){
 .header-inner{min-height:80px}.header-locality{display:none}.logo-crop{width:174px}.small-only{display:block}
 .comic-hero-inner{grid-template-columns:1fr;gap:28px;padding-block:20px 36px}
 .comic-hero-copy{width:100%;pointer-events:auto}.comic-locality{display:block;font-size:13px;font-weight:800;color:var(--blue);margin-bottom:12px}
 .comic-hero h1{font-size:clamp(36px,10.8vw,78px);line-height:1.15;letter-spacing:-.065em}.comic-title-second{font-size:1.15em}
 .comic-hero h2{font-size:clamp(22px,4.6vw,34px);line-height:1.45;margin-top:17px}.comic-summary{font-size:15px;max-width:none;line-height:1.8}
 .comic-summary .small-only{display:none}.comic-primary{font-size:17px;margin-top:20px;padding:15px 27px}.comic-hero .hero-note{margin-top:10px;font-size:12px}
 .hero-visual{aspect-ratio:1.5;perspective:none}
 .hero-visual>.editorial-art{height:100%}
 .hero-visual figcaption{right:12px;bottom:-19px}
 .comic-story{padding-top:18px}.comic-story-heading h2{white-space:normal;font-size:clamp(34px,7.5vw,58px);line-height:1.3}.comic-story-heading p{font-size:clamp(16px,3.2vw,24px);margin-top:12px}
 .comic-strip{grid-template-columns:1fr;gap:30px}.comic-story-item .comic-frame{height:auto;aspect-ratio:1.6}.comic-story-item h3{font-size:24px}.comic-story-item>p{font-size:16px;max-width:40em}.comic-story-item figcaption{font-size:14px}.comic-story-item .text-link{font-size:15px}
 .comic-boundary{font-size:12px}.comic-more{gap:12px 25px}.comic-more p{width:100%}
 .comic-cta{min-height:365px;padding:38px 0 60px;background-image:url('/assets/comic-cta-landscape-1024.webp');background-size:auto 100%}
 .comic-cta h2{font-size:clamp(32px,5.8vw,47px);line-height:1.4}.comic-cta h2+p{font-size:15px}.comic-cta .button{font-size:17px;padding:14px 29px}
 .page-hero{padding-block:20px 42px}.page-hero .split{gap:28px}.page-hero h1{font-size:clamp(32px,6.5vw,51px)}.page-hero .editorial-art img{aspect-ratio:1.5}
}
@media(max-width:430px){.comic-hero h1{font-size:10.7vw}.comic-summary .small-only{display:block}.comic-story-heading h2{font-size:8.7vw}.comic-story-item h3{font-size:22px}.comic-cta h2{font-size:7.25vw}.comic-cta-kicker{font-size:12px}.comic-cta .button{font-size:16px}.comic-primary{font-size:16px}}
@media(prefers-reduced-motion:reduce){[data-comic-panel] .comic-frame{animation:none!important;transform:none!important;opacity:1!important}.hero-visual>.editorial-art{transform:none!important;transition:none!important}}

/* Release polish: progressive navigation and illustrated workflows, no new visual system. */
html{scroll-padding-top:100px;scroll-padding-bottom:100px}
.keep-phrase{display:inline-block}
.site-header{position:sticky;top:0;background:var(--paper) url('/assets/comic-cream-paper-640.webp') repeat;background-size:640px;box-shadow:0 1px 0 #061b3015}
.logo-crop img{position:static;width:100%;height:auto;max-width:100%;inset:auto}
.preview-bar button{min-height:44px}
.site-navigation a,.text-link{min-height:44px;align-content:center}
.workbench{border-block:1px solid #9b9c9745;background:#e9e9df88}
.workbench .section-heading{max-width:none;margin-bottom:30px}
.workbench h2,.home-questions h2{font-size:clamp(34px,4.5vw,62px);letter-spacing:-.055em;line-height:1.35}
.workbench .section-heading>p:last-child{font-size:18px;line-height:1.8;margin-top:14px}
.workbench-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:610px;margin-bottom:30px}
.workbench-tabs button{font:inherit;font-weight:850;min-height:54px;padding:12px 18px;color:var(--ink);background:transparent;border:1px solid var(--ink);border-radius:999px;cursor:pointer}
.workbench-tabs button[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 3px 0 #061b3020}
.workbench-tabs button:hover{border-color:var(--blue)}
.workbench-panel{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:clamp(24px,4vw,56px);scroll-margin-top:110px}
.workbench-panel+.workbench-panel{margin-top:60px}
.workbench-enhanced .workbench-panel{margin-top:0}
.workbench-art{min-width:0;margin:0;overflow:visible}
.workbench-art .comic-frame{aspect-ratio:1.5;padding:6px;clip-path:polygon(0 3%,98% 0,100% 96%,2% 100%)}
.workbench-art img{clip-path:inherit}
.workbench-copy{min-width:0}
.workbench-before{color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:8px}
.workbench-copy h3{font-size:clamp(25px,2.6vw,38px);line-height:1.45;letter-spacing:-.045em}
.workbench-after{font-size:17px;line-height:1.85;margin-top:14px;min-height:3.7em}
.workbench-flow{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:6px}
.workbench-flow li{display:flex;gap:14px;align-items:center;border:1px solid #9b9c9770;padding:10px 14px;min-height:65px;transition:background .2s,color .2s,border-color .2s}
.workbench-step-number{font-size:22px;font-weight:900;min-width:30px;color:var(--blue)}
.workbench-flow strong{display:block;font-size:16px;line-height:1.5}
.workbench-flow li div>span{display:block;font-size:13px;line-height:1.6;color:var(--muted)}
.workbench-flow li.is-active{background:var(--blue);color:white;border-color:var(--blue)}
.workbench-flow li.is-active .workbench-step-number,.workbench-flow li.is-active div>span{color:white}
.workbench-controls{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;margin-top:14px;min-height:48px}
.workbench-play{font:inherit;font-size:14px;font-weight:800;color:var(--blue);border:1px solid var(--blue);border-radius:999px;padding:10px 16px;min-height:44px;background:transparent;cursor:pointer}
.workbench-play:disabled{cursor:default;color:var(--muted);border-color:var(--line)}
[data-workbench-status]{font-size:12px;min-height:20px}
.workbench-copy>.text-link{margin-top:12px;display:inline-flex;align-items:center;font-size:15px}
@keyframes workbench-scene{0%,100%{transform:scale(1)}45%{transform:scale(1.025) translateX(-2px)}}
.motion-enabled .workbench-panel.is-running [data-comic-panel].is-inview img{animation:workbench-scene 2.6s ease-in-out!important;transform-origin:center}
.motion-paused .workbench-art img,.motion-reduced .workbench-art img{animation:none!important;transform:none!important}
.home-questions .split{align-items:start;gap:clamp(30px,6vw,85px)}
.home-questions .lead{font-size:18px;margin-top:20px;line-height:1.85}
.home-questions .text-link{display:inline-flex;align-items:center;margin-top:18px;font-size:15px}
.question-list{border-top:1px solid var(--ink)}
.question-list details{border-bottom:1px solid var(--line);padding:0}
.question-list summary{padding:23px 6px;font-size:17px;line-height:1.6;font-weight:800;cursor:pointer;list-style-position:outside;margin-left:20px;min-height:60px}
.question-list summary::marker{color:var(--blue)}
.question-list details p{font-size:16px;line-height:1.9;padding:0 6px 24px;margin-left:20px}
@media(max-width:1000px){
 .no-js .site-header{position:relative}
 .no-js .header-inner{flex-wrap:wrap;padding-bottom:12px}
 .no-js .site-navigation{display:flex;position:static;width:100%;flex-wrap:wrap;gap:8px 18px;border:0;padding:0}
 .no-js .menu-toggle{display:none}
}
@media(max-width:800px){
 body{font-size:16px}
 .header-inner{min-height:64px;gap:12px}
 .logo-crop{width:154px}
 .menu-toggle{min-height:48px;min-width:80px}
 .site-navigation{top:100%;box-shadow:0 6px 0 #061b300c}
 .site-navigation>a{font-size:15px;min-height:48px}
 .preview-bar .container{gap:8px}
 .preview-bar span{font-size:10px}
 .preview-bar button{font-size:11px}
 .comic-summary,.page-hero .lead{font-size:16px;line-height:1.85}
 .comic-hero-inner{padding-top:20px}
 .workbench,.home-questions{padding-block:46px}
 .workbench .section-heading{margin-bottom:24px}
 .workbench .section-heading>p:last-child{font-size:16px}
 .workbench-tabs{gap:6px;margin-bottom:24px}
 .workbench-tabs button{font-size:15px;padding:12px 8px;min-height:50px}
 .workbench-panel{grid-template-columns:1fr;gap:22px}
 .workbench-art .comic-frame{aspect-ratio:1.5}
 .workbench-copy h3{font-size:27px}
 .workbench-after{font-size:16px;min-height:0}
 .workbench-controls{align-items:start;flex-direction:column;gap:4px;min-height:74px}
 .workbench-copy>.text-link{margin-top:8px}
 .home-questions h2{font-size:34px}
 .home-questions .lead{font-size:16px}
 .question-list summary{font-size:16px;padding-block:20px}
 .mobile-cta{display:flex;position:fixed;inset:auto 0 0;z-index:30;align-items:center;justify-content:center;gap:14px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid #a4adaf;box-shadow:0 -3px 16px #061b3010}
 .mobile-cta p{font-size:11px;line-height:1.5;font-weight:750;margin:0}
 .mobile-cta .button{font-size:14px;min-height:48px;padding:12px 18px;white-space:nowrap}
}
@media(max-width:360px){.mobile-cta{gap:8px;padding-inline:10px}.mobile-cta .button{font-size:13px;padding-inline:14px}.workbench-copy h3{font-size:25px}.workbench-flow li{padding-inline:10px;gap:10px}.workbench-flow strong{font-size:15px}.workbench h2,.home-questions h2{font-size:30px}.preview-bar span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.motion-enabled .workbench-panel.is-running [data-comic-panel].is-inview img{animation:none!important;transform:none!important}}

/* User reference palette: cream copy space, cobalt on the illustration side. */
.home-page{--fv-cream:#f7f3e9;--fv-blue:#284fea;--fv-ink:#171921;--fv-yellow:#fff274}
.home-page .header-locality{background:none;box-shadow:none;color:#56636a;font-weight:500;padding:0}
.home-page .site-navigation .button{background:var(--fv-blue);box-shadow:3px 3px 0 var(--fv-ink)}
.manga-opening{background:var(--fv-cream);color:var(--fv-ink)}
.manga-opening .comic-hero-inner{max-width:1376px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);padding-block:40px 56px;gap:clamp(32px,4vw,56px)}
.manga-opening .comic-hero-copy{z-index:1;align-self:start;padding-top:16px}
.manga-opening h1{font-size:clamp(48px,5.8vw,88px);font-weight:900;line-height:1.3;letter-spacing:-.035em;color:var(--fv-ink);-webkit-text-stroke:0;text-shadow:none}
.manga-opening .comic-title-second{font-size:1em;line-height:1.3;letter-spacing:-.035em;color:var(--fv-blue);text-shadow:none}
.manga-opening .comic-title-mark{color:inherit}
.manga-opening .comic-ai{font-size:1em;letter-spacing:-.025em;color:inherit;margin-right:0}
.manga-opening h2{font-size:clamp(24px,2.1vw,30px);font-weight:700;line-height:1.6;margin-top:28px;letter-spacing:0}
.manga-opening .comic-tasks{font-size:21px;font-weight:700;line-height:1.8;margin-top:20px;color:var(--fv-ink)}
.manga-opening .comic-summary{font-size:21px;font-weight:400;line-height:1.85;margin-top:8px;color:#343640}
.manga-opening .comic-locality{display:inline-block;background:var(--fv-yellow);color:var(--fv-ink);font-size:16px;font-weight:700;padding:5px 10px;margin-bottom:24px;box-shadow:3px 3px 0 var(--fv-ink)}
.manga-opening .comic-primary{font-size:21px;font-weight:700;min-height:64px;max-width:100%;padding:16px 28px;margin-top:28px;background:var(--fv-blue);color:#fff;border:2px solid var(--fv-ink);box-shadow:4px 4px 0 var(--fv-ink)}
.manga-opening .comic-consult-note{font-size:16px;line-height:1.7;margin-top:14px;color:#343640}
.manga-opening .comic-primary:hover{background:#173ac3;box-shadow:2px 2px 0 var(--fv-ink)}
.manga-conversation{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;width:100%;padding:18px 26px 20px}
.manga-conversation::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--fv-blue);border:3px solid var(--fv-ink);transform:skewY(-2deg);box-shadow:-7px 7px 0 var(--fv-yellow),-11px 11px 0 var(--fv-ink)}
.manga-stage{aspect-ratio:1.5;perspective:none;max-width:400px;align-self:center;transform:rotate(1deg)}
.manga-stage>.editorial-art{transform:none;transition:none;background:var(--fv-cream);padding:7px;border:3px solid var(--fv-ink);box-shadow:8px 8px 0 var(--fv-ink)}
.manga-scene{position:relative}
.manga-scene img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;border:0}
.manga-question{position:relative;order:-1;z-index:1;width:100%;max-width:400px;margin:0 auto 26px;padding:18px 24px;background:var(--fv-cream);border:3px solid var(--fv-ink);border-radius:22px;box-shadow:4px 5px 0 var(--fv-ink);font-size:22px;font-weight:700;line-height:1.45;color:var(--fv-ink);min-height:124px;align-content:center;text-align:center;transform-origin:50% 100%}
.manga-question::after{content:"";position:absolute;width:18px;height:18px;left:calc(50% - 12px);bottom:-12px;background:var(--fv-cream);border-right:3px solid var(--fv-ink);border-bottom:3px solid var(--fv-ink);transform:rotate(45deg)}
.manga-question [data-manga-line]{display:block;white-space:nowrap}
.manga-question [data-manga-line]:last-child{margin-top:3px;font-size:30px;font-weight:900;color:var(--fv-blue)}
.manga-topic-detail{color:var(--fv-cream);font-size:17px;line-height:1.7;margin-top:16px;min-height:3.4em;max-width:38em}
.manga-choices{position:relative;margin-top:8px}
.manga-choices>p{font-size:17px;font-weight:600;line-height:1.6;color:var(--fv-cream);margin-bottom:8px}
.manga-choices [role="group"]{display:flex;flex-wrap:wrap;gap:8px}
.manga-choices button{font:inherit;font-size:16px;font-weight:600;line-height:1.5;padding:10px 13px;min-height:52px;border:2px solid var(--fv-ink);background:var(--fv-cream);color:var(--fv-ink);border-radius:2px;box-shadow:3px 3px 0 var(--fv-ink);cursor:pointer;transition:background .15s,color .15s}
.manga-choices button:hover,.manga-choices button[aria-pressed="true"]{background:var(--fv-yellow)}
.manga-choices button[aria-pressed="true"]{box-shadow:inset 0 -3px 0 var(--fv-ink)}
.manga-opening :focus-visible{outline:3px solid var(--fv-ink);outline-offset:5px}
.manga-conversation :focus-visible{outline-color:var(--fv-yellow)}
.manga-work{padding-block:72px 82px}
.manga-work-inner{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(28px,5vw,76px)}
.manga-work-copy{min-width:0}
.manga-work h2{font-size:clamp(26px,3vw,43px);line-height:1.45;letter-spacing:-.065em;margin-top:16px}
.manga-work .lead{font-size:clamp(21px,2.25vw,32px);font-weight:850;line-height:1.6;margin-top:30px}
.manga-work-copy>p:not(.lead):not(.eyebrow){font-size:17px;line-height:1.95;margin-top:18px;max-width:32em}
.manga-work-steps{list-style:decimal-leading-zero;padding-left:32px;margin-top:30px;display:grid;gap:20px}
.manga-work-steps li{padding-left:8px}
.manga-work-steps li::marker{color:var(--blue);font-weight:900}
.manga-work-steps strong{display:block;font-size:20px;line-height:1.6}
.manga-work-steps span{display:block;font-size:15px;line-height:1.85;margin-top:5px;max-width:33em}
.manga-work .text-link{display:inline-flex;margin-top:24px}
.manga-sheet{overflow:visible;max-width:545px;justify-self:center;width:100%}
.manga-sheet img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border:0}
.motion-enabled .manga-sheet.is-inview{animation:comic-panel-enter .7s cubic-bezier(.2,.7,.2,1) backwards}
.motion-paused .manga-sheet{animation-play-state:paused!important}
.motion-reduced .manga-sheet{animation:none!important;transform:none!important}
@media(max-width:1000px){.manga-work-steps strong{font-size:18px}}
/* Stack the hero before the seven choices make a narrow right column too tall. */
@media(max-width:1100px){
 .manga-opening .comic-hero-inner{grid-template-columns:1fr;padding-block:36px 38px;gap:40px;max-width:620px}
 .manga-conversation{padding:20px 18px}
 .manga-choices{order:-2;margin:0 0 24px}
 .manga-question{font-size:clamp(18px,4.4vw,22px);padding:16px 12px;min-height:112px}
 .manga-question [data-manga-line]:last-child{font-size:clamp(20px,5.2vw,30px)}
 .manga-choices [role="group"]{gap:6px}
 .manga-choices button{font-size:15px;padding:10px 12px}
 .manga-opening .comic-hero-copy{padding-top:0}
 .manga-opening .comic-locality{margin-bottom:22px;font-size:14px}
 .manga-opening h1{font-size:clamp(32px,10vw,64px)}
 .manga-opening h2{margin-top:22px;font-size:clamp(20px,5.6vw,24px)}
 .manga-opening .comic-tasks{font-size:18px;margin-top:18px}
 .manga-opening .comic-summary{font-size:18px;margin-top:6px}
 .manga-opening .comic-primary{margin-top:24px;padding:14px 24px;font-size:19px}
 .manga-opening .comic-consult-note{font-size:15px}
}
@media(max-width:800px){
 .manga-work{padding-block:44px 50px}
 .manga-work-inner{grid-template-columns:1fr;gap:30px}
 .manga-work h2{font-size:clamp(25px,5.8vw,40px)}
 .manga-work .lead{font-size:clamp(20px,5.8vw,24px);margin-top:22px}
 .manga-work-copy>p:not(.lead):not(.eyebrow){font-size:16px}
 .manga-work-steps{margin-top:24px;gap:18px}
 .manga-work-steps strong{font-size:18px}
 .manga-work-steps span{font-size:15px}
 .manga-sheet{max-width:490px}
}
@media(max-width:360px){.manga-work h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.motion-enabled .manga-sheet.is-inview{animation:none!important;transform:none!important}}

/* Home-only reading scale: preserve other pages and existing lower-section layout. */
.home-page .site-navigation>a{font-size:16px}
.home-page .manga-work-copy>p:not(.lead):not(.eyebrow),.home-page .comic-story-item>p,.home-page .workbench-after,.home-page .home-questions .lead,.home-page .question-list details p,.home-page .comic-cta h2+p{font-size:18px;line-height:1.85}
.home-page .manga-work-steps span,.home-page .workbench-before,.home-page .workbench-flow li div>span{font-size:16px;line-height:1.8}
.home-page .comic-story-item>.text-link,.home-page .workbench-copy>.text-link,.home-page .home-questions .text-link,.home-page .workbench-play{font-size:16px}
.home-page .workbench-flow strong,.home-page .question-list summary{font-size:18px}
/* Concrete workbench examples */
.workbench-example{min-width:0;border:2px solid var(--ink);border-radius:8px;padding:clamp(18px,2.5vw,32px);background:var(--paper,#f7f3e9);box-shadow:6px 6px 0 #061b3014;font-size:18px;line-height:1.75}
.workbench-example-label{display:inline-block;margin:0 0 20px;padding:3px 12px;background:#fff274;font-size:16px;font-weight:800}
.workbench-example-input{border:1px solid #9b9c9770;padding:18px;background:#fffdf7}
.workbench-example-title{margin:0 0 8px;font-size:16px;font-weight:850;color:var(--blue)}
.workbench-example-input>p:last-child{margin:0;font-size:20px;line-height:1.8}
.workbench-example-action{margin:16px 0;text-align:center;color:var(--blue);font-size:16px;font-weight:800}
.workbench-example-action>span{font-size:24px;vertical-align:middle;margin-right:5px}
.workbench-example-output{border:2px solid var(--blue);background:#fff;padding:18px}
.workbench-example-output dl{margin:12px 0 0}
.workbench-example-output dl>div{display:grid;grid-template-columns:5em minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid #9b9c9745}
.workbench-example-output dt{font-size:16px;font-weight:700;color:var(--muted)}
.workbench-example-output dd{margin:0;min-width:0;font-size:18px;font-weight:750;overflow-wrap:anywhere}
.workbench-example-outcome{margin:20px 0 0;font-size:18px;font-weight:850}
@media(max-width:800px){.workbench-example{padding:18px;box-shadow:4px 4px 0 #061b3014}.workbench-example-input,.workbench-example-output{padding:14px}.workbench-example-input>p:last-child{font-size:18px}.workbench-example-output dl>div{grid-template-columns:1fr;gap:3px}.workbench-example-output dd{font-size:18px}}
/* End concrete workbench examples */
/* Site-wide readability 20260913 */
body:not(.home-page){font-size:18px}
body:not(.home-page) main p,body:not(.home-page) main .editorial-row p,body:not(.home-page) main dd,body:not(.home-page) .step>span,body:not(.home-page) .check-list li{font-size:18px;line-height:1.85}
body:not(.home-page) .page-hero h1{font-size:clamp(34px,4.4vw,64px);line-height:1.4}
body:not(.home-page) .page-hero .lead{font-size:20px;line-height:1.85;max-width:36em}
body:not(.home-page) .page-hero .split{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(28px,4vw,56px)}
body:not(.home-page) .page-hero .editorial-art img{aspect-ratio:1.5}
body:not(.home-page) .inline-note,body:not(.home-page) main .eyebrow,body:not(.home-page) main .editorial-row .eyebrow,body:not(.home-page) .ai-example-roles dt,body:not(.home-page) .case-detail dt,body:not(.home-page) main .field-hint,body:not(.home-page) main .form-footnote,body:not(.home-page) .preview-notice p{font-size:16px;line-height:1.8}
body:not(.home-page) .breadcrumb{font-size:16px;flex-wrap:wrap}
body:not(.home-page) main .text-link{font-size:18px;display:inline-flex;align-items:center;min-height:44px;line-height:1.7}
body:not(.home-page) .page-hero .button{font-size:18px;min-height:50px;padding:15px 26px}
body:not(.home-page) .work-row{gap:clamp(20px,3vw,42px)}
body:not(.home-page) .work-row h3{grid-row:auto;line-height:1.5}
body:not(.home-page) .ai-example-roles>div{grid-template-columns:128px minmax(0,1fr)}
body:not(.home-page) .data-table{font-size:18px}
body:not(.home-page) .form-card legend,body:not(.home-page) .field>label{font-size:18px}
body:not(.home-page) .service-options label,body:not(.home-page) .consent-label{font-size:16px;line-height:1.7}
body:not(.home-page) .field input,body:not(.home-page) .field textarea{font-size:18px}
body:not(.home-page) .header-locality{background:none;box-shadow:none;color:var(--muted);font-weight:500;padding:0}
.home-page #work-examples h2{white-space:normal}
.home-page #work-examples h2 .small-only{display:block}
@media(max-width:1000px){
 body:not(.home-page) .page-hero .split{grid-template-columns:minmax(0,1fr);gap:28px}
 body:not(.home-page) .page-hero .editorial-art{max-width:680px;width:100%;margin-inline:auto}
}
@media(max-width:800px){
 body:not(.home-page) .page-hero .lead{font-size:18px}
 body:not(.home-page) .work-row{display:block}
 body:not(.home-page) .work-row h3{margin-bottom:14px}
 body:not(.home-page) .step{grid-template-columns:minmax(0,1fr);gap:12px}
 body:not(.home-page) .ai-example-roles>div{grid-template-columns:minmax(0,1fr);gap:5px}
}
@media(max-width:600px){
 body:not(.home-page) .service-options{grid-template-columns:minmax(0,1fr)}
 body:not(.home-page) .form-card{padding:22px 16px}
}
/* End site-wide readability 20260913 */
/* Page expansion 20260913 */
.detail-navigation.section{padding-block:28px}
.detail-toc .eyebrow{margin-bottom:12px}
.detail-toc ul{display:flex;flex-wrap:wrap;gap:10px 14px;list-style:none;margin:0;padding:0}
.detail-toc li+li{margin:0}
body:not(.home-page) .detail-toc .text-link{padding:10px 18px;border:1px solid var(--blue);border-radius:6px;text-decoration:none;min-height:48px;background:#fffdf6;line-height:1.5}
.detail-toc a:hover{background:#e9efff}
.detail-art{max-width:600px;width:100%;margin-inline:auto}
.detail-sample{padding:28px;border:2px solid var(--blue);background:#fffdf6;box-shadow:5px 5px 0 #061b3014;border-radius:8px;min-width:0}
.detail-sample h3{font-size:26px;line-height:1.5}
.detail-sample dl{margin:24px 0 0}
.detail-sample dl>div{display:grid;grid-template-columns:7em minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.detail-sample dt{font-size:18px;font-weight:800}
.detail-sample dd{margin:0;font-weight:700}
.detail-sample .detail-outcome{padding-top:18px;border-top:2px solid var(--blue);font-weight:800}
.detail-faq{border-top:1px solid var(--line);max-width:1000px}
.detail-faq details{padding:0;border-bottom:1px solid var(--line)}
.detail-faq summary{cursor:pointer;min-height:52px;padding:22px 4px;font-size:22px;font-weight:800;line-height:1.7}
.detail-faq details>p{padding:0 4px 24px;max-width:44em}
.case-index-group+.case-index-group{margin-top:72px;padding-top:64px;border-top:2px solid var(--line)}
.case-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.case-index-grid--related-support{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-index-grid--owned-product{grid-template-columns:minmax(0,1fr)}
.case-index-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fffdf6;box-shadow:4px 4px 0 #061b3010}
.case-index-media{display:block;border-bottom:1px solid var(--line);border-radius:8px 8px 0 0}
.case-index-card .case-image{width:100%;aspect-ratio:16/9;object-fit:contain;border-radius:8px 8px 0 0}
.case-index-card .case-body{display:flex;flex-direction:column;flex:1;padding:24px;min-width:0}
.case-index-card .tags{margin:0 0 16px;gap:8px 12px}
.case-index-card .tag,.case-article .tag{font-size:16px;line-height:1.6}
body:not(.home-page) .case-index-card h3 .text-link{font-size:24px;line-height:1.5;text-decoration:none;min-height:0}
.case-index-card .case-body>p:last-child{margin-top:auto;padding-top:18px}
.case-cover-box{display:flex;flex-direction:column;justify-content:center;gap:18px;min-width:0;aspect-ratio:16/9;padding:28px;color:var(--blue);background:#fff7c9;border:3px solid var(--ink);text-align:center;border-radius:8px}
.case-cover-box span{font-size:18px;font-weight:700}
.case-cover-box strong{font-size:clamp(28px,3vw,44px);line-height:1.4;font-weight:900}
.case-index-grid--owned-product .case-index-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.case-index-grid--owned-product .case-index-media{border-bottom:0}
.case-related-links{list-style:none;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:8px 22px}
.case-related-links li+li{margin:0}
.case-article .page-hero>.container>.case-image{width:100%;max-width:640px;aspect-ratio:16/9;object-fit:contain;margin-inline:auto}
body.case-detail-page .page-hero h1{font-size:clamp(34px,4vw,56px);line-height:1.45}
.case-article>.section:not(.page-hero):not(.detail-navigation){padding-block:54px}
.case-article>.section:not(.page-hero)>.container.split{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:start;gap:42px}
.case-article>.section:not(.page-hero) h2{font-size:clamp(28px,3vw,40px);line-height:1.5}
@media(max-width:1000px){.case-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-index-grid--owned-product{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){
 .case-index-grid,.case-index-grid--owned-product .case-index-card{grid-template-columns:minmax(0,1fr)}
 .case-article>.section:not(.page-hero)>.container.split{grid-template-columns:minmax(0,1fr);gap:22px}
 .case-article>.section:not(.page-hero):not(.detail-navigation){padding-block:40px}
 .case-index-group+.case-index-group{margin-top:48px;padding-top:44px}
 .case-index-card .case-body{padding:22px}
 .case-index-card .case-image{max-height:340px}
 .case-cover-box{min-height:190px;aspect-ratio:auto}
}
@media(max-width:600px){
 .detail-navigation.section{padding-block:22px}
 .detail-toc ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 body:not(.home-page) .detail-toc .text-link{width:100%;height:100%;padding:10px;justify-content:center;text-align:center}
 .detail-sample{padding:20px}
 .detail-sample dl>div{grid-template-columns:minmax(0,1fr);gap:6px}
 .detail-sample h3{font-size:24px}
 .detail-faq summary{font-size:20px}
 .case-cover-box{padding:24px 16px}
}
.case-article h1,
:is(.inventory-management-page, .app-customization-page, .booking-system-page) h2 { text-wrap: balance; }
/* End page expansion 20260913 */

/* Conventional navigation 20260913 */
.site-navigation{gap:clamp(16px,1.5vw,24px)}
.site-navigation>a,.site-navigation .button{font-size:16px}
.site-navigation .button{padding:11px 20px}
.site-navigation>a[aria-current="location"]:not(.button){color:var(--blue);text-decoration:underline;text-underline-offset:8px}
@media(min-width:1001px) and (max-width:1250px){
 .header-locality{display:none}
 .site-navigation{margin-left:auto}
}
/* End conventional navigation 20260913 */

/* Service catalog clarity 20260913 */
body.service-page .service-intro{padding-block:24px 30px}
body.service-page .service-intro h1{font-size:clamp(38px,4.5vw,60px);line-height:1.4;margin:0}
body.service-page .service-intro .lead{font-size:24px;line-height:1.75;margin-block:20px 12px;max-width:40em}
body.service-page .service-intro p>span{display:inline-block}
body.service-page .service-intro p:last-child{max-width:56em;margin-bottom:0}
body.service-page .service-catalog{padding-block:0 64px}
body.service-page .service-offers{display:grid;grid-template-columns:minmax(0,1fr);gap:36px}
body.service-page .service-offer{min-width:0;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:auto 1fr;gap:0 36px;padding:32px;border:1px solid var(--line);border-radius:12px;background:#fffdf6;align-items:start}
body.service-page .service-offer-content{display:flex;flex-direction:column;min-width:0;padding:22px 0 0;grid-column:1;grid-row:2}
body.service-page .service-offer h2{font-size:32px;line-height:1.5;margin:0;padding:0;text-wrap:balance;grid-column:1;grid-row:1}
body.service-page .service-offer h2 a{display:block;color:var(--ink);text-decoration:none}
body.service-page .service-offer h2 a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
body.service-page .service-offer h2 span{display:inline-block}
body.service-page .service-offer-problem{font-size:19px;line-height:1.8;margin:0 0 24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
body.service-page .service-offer-problem strong{display:block;color:var(--blue);font-size:16px;margin-bottom:8px}
body.service-page .service-offer h3{font-size:18px;line-height:1.7;margin:0 0 10px}
body.service-page .service-offer ul{font-size:18px;line-height:1.8;padding-left:1.2em;margin:0 0 18px}
body.service-page .service-offer li+li{margin-top:8px}
body.service-page .service-offer li::marker{color:var(--blue)}
body.service-page .service-offer-note{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 18px}
body.service-page main .service-detail-link{display:flex;justify-content:space-between;gap:8px;margin-top:auto;min-height:52px;padding-block:12px;border-top:2px solid var(--blue);text-decoration:none;font-size:18px;line-height:1.7}
body.service-page .service-detail-link>span{flex-shrink:0}
body.service-page .service-other{padding-block:54px}
body.service-page .service-other .section-heading{margin-bottom:28px}
body.service-page .service-other h2,body.service-page .service-support h2{font-size:clamp(28px,3vw,40px);line-height:1.5}
body.service-page .service-other-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px}
body.service-page .service-other-grid article{min-width:0;padding-top:22px;border-top:1px solid var(--line)}
body.service-page .service-other-grid h3{font-size:24px;line-height:1.5;margin:0 0 12px}
body.service-page .service-other-grid p{font-size:18px;line-height:1.85;margin:0 0 12px}
body.service-page .service-other-grid .text-link{gap:8px}
body.service-page .service-support{padding-block:60px}
body.service-page .service-support>.container{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:60px;align-items:center}
body.service-page .service-support h2{margin:0 0 24px}
body.service-page .service-support-copy>p{font-size:18px;line-height:1.85;max-width:38em}
body.service-page .service-support .button{font-size:18px;min-height:52px;margin-top:12px;white-space:normal}
body.service-page .service-next-links{display:grid;gap:18px}
body.service-page .service-next-links>a{padding:24px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:#fffdf6}
body.service-page .service-next-links strong{display:flex;justify-content:space-between;color:var(--blue);font-size:24px;line-height:1.5}
body.service-page .service-next-links>a>span{display:block;font-size:18px;margin-top:10px;line-height:1.8}
body.service-page .service-next-links>a:hover,body.service-page .service-offer .service-detail-link:hover{background:#eaf0ff}
@media(max-width:1100px){
 body.service-page .service-support>.container{grid-template-columns:minmax(0,1fr);gap:28px}
 body.service-page .service-next-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
 body.service-page .service-offer{grid-template-columns:minmax(0,1fr);gap:24px;padding:26px}
 body.service-page .service-offer-content{grid-column:1;grid-row:3;padding:0}
}
@media(max-width:600px){
 body.service-page .service-intro{padding-block:12px 28px}
 body.service-page .service-intro .lead{font-size:20px;margin-top:16px}
 body.service-page .service-offer{padding:16px;gap:20px}
 body.service-page .service-offer h2{font-size:28px}
 body.service-page .service-offer-problem{font-size:18px}
 body.service-page .service-other-grid,body.service-page .service-next-links{grid-template-columns:minmax(0,1fr)}
 body.service-page .service-catalog{padding-bottom:42px}
 body.service-page .service-other,body.service-page .service-support{padding-block:40px}
 body.service-page .service-next-links>a{padding:20px}
}
/* End service catalog clarity 20260913 */

/* Service screen previews 20260913 */
.service-screen{--screen-accent:#146954;--screen-soft:#e8f3ee;min-width:0;width:100%;margin:0;border:1px solid #baccc6;border-radius:10px;background:#f0f5f3;color:#192d37;font-size:16px;line-height:1.6;box-shadow:0 8px 24px #173e3310;overflow:hidden}
.service-screen--apps{--screen-accent:#5b3d92;--screen-soft:#f0eaf8;background:#f4f1f8;border-color:#cfc5df}
.service-screen--booking{--screen-accent:#8a4b15;--screen-soft:#fff0dc;background:#fff8ee;border-color:#dbc5a9}
.service-screen figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:16px 20px;background:var(--screen-accent);color:white}
.service-screen figcaption>strong{font-size:20px;line-height:1.5}
.service-screen .screen-sample-label{font-size:16px;line-height:1.5;border:1px solid currentColor;padding:2px 8px;border-radius:4px;white-space:nowrap}
.service-screen .screen-body{padding:20px}
.service-screen .screen-location{font-size:16px;color:#4b6068;margin-bottom:16px}
.service-screen .screen-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.service-screen .screen-metrics>div{background:white;border:1px solid #d1dfd9;border-radius:6px;padding:12px 16px}
.service-screen .screen-metrics dt{font-size:16px;font-weight:700}
.service-screen .screen-metrics dd{font-size:30px;font-weight:800;color:var(--screen-accent);margin:4px 0 0;line-height:1.4}
.service-screen .screen-metrics dd span{font-size:16px;margin-left:6px}
.service-screen .screen-sheet{padding:4px 12px;background:white;border:1px solid #d4dcdd;border-radius:6px}
.service-screen table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.5}
.service-screen caption{text-align:left;font-size:16px;font-weight:800;padding:12px 0;color:#263d46}
.service-screen caption span{display:block;font-size:16px;font-weight:400;color:#51636a}
.service-screen th,.service-screen td{padding:10px 5px;border-bottom:1px solid #d9e2df;text-align:center;vertical-align:middle;font-size:16px}
.service-screen thead th{background:var(--screen-soft);color:var(--screen-accent);font-weight:800}
.service-screen tbody tr:last-child>*{border-bottom:0}
.service-screen .screen-stock-table th:first-child{width:28%;text-align:left}
.service-screen .screen-stock-table td{font-weight:700;font-variant-numeric:tabular-nums}
.service-screen .screen-forecast{background:white;border:1px solid #d4dcdd;border-radius:6px;padding:16px;margin-top:16px}
.service-screen .screen-subtitle{font-size:16px;font-weight:800;line-height:1.6;margin:0 0 12px}
.service-screen .screen-subtitle>strong{display:inline-block;color:var(--screen-accent);margin-left:6px}
.service-screen .screen-bars{height:112px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end}
.service-screen .screen-day{display:flex;flex-direction:column;text-align:center;gap:6px;font-size:16px}
.service-screen .screen-bar{display:block;border-radius:4px 4px 0 0;background:var(--screen-accent);color:white;font-weight:700;line-height:24px}
.service-screen .screen-bar--1{height:24px}.service-screen .screen-bar--2{height:48px}.service-screen .screen-bar--3{height:72px}
.service-screen .screen-result{margin:18px 0 0;padding:12px 14px;border-left:3px solid var(--screen-accent);background:var(--screen-soft);font-size:16px;line-height:1.7}
.service-screen .screen-result>strong,.service-screen .screen-result>span{display:block;font-size:16px}
.service-screen .screen-result>span{margin-top:5px}
.service-screen .screen-config{padding:16px;background:white;border:1px solid #d7cee3;border-radius:6px}
.service-screen .screen-fields{margin:0}
.service-screen .screen-fields>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e2dbea}
.service-screen .screen-fields dt{font-size:16px;font-weight:800}
.service-screen .screen-fields dt span{display:block;font-size:16px;font-weight:400;color:#635871}
.service-screen .screen-fields dd{margin:0;padding:8px 10px;background:var(--screen-soft);border:1px solid #d0c2e1;border-radius:4px;font-size:16px}
.service-screen .screen-workflow{padding:18px 0}
.service-screen .screen-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.5fr) auto minmax(0,1fr);align-items:center;gap:6px;text-align:center;font-size:16px}
.service-screen .screen-flow>span,.service-screen .screen-flow>strong{padding:8px 6px;border:1px solid #cfc2e0;border-radius:4px;background:white;font-size:16px}
.service-screen .screen-flow>strong{background:var(--screen-accent);color:white;border-color:var(--screen-accent)}
.service-screen .screen-state{display:inline-block;padding:4px 5px;border-radius:4px;background:#edf2f0;color:#37584a;font-size:16px}
.service-screen .screen-state--waiting{background:var(--screen-soft);color:var(--screen-accent);font-weight:700}
.service-screen .screen-app-table th:first-child{width:28%}
.service-screen .screen-app-table th:nth-child(2){width:29%}
.service-screen .screen-state{white-space:nowrap}
.service-screen .screen-calendar-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 16px;font-size:16px}
.service-screen .screen-calendar-heading strong{font-size:20px}
.service-screen .screen-calendar{background:white;border:1px solid #e0cfb9;border-radius:6px;padding:4px 10px}
.service-screen .screen-calendar thead th:first-child{width:23%}
.service-screen .screen-calendar td{padding:10px 4px}
.service-screen .screen-calendar tbody th{font-weight:500;font-variant-numeric:tabular-nums}
.service-screen .screen-appointment{display:flex;flex-direction:column;justify-content:center;min-height:68px;gap:3px;background:var(--screen-soft);border-left:3px solid var(--screen-accent);border-radius:4px;padding:6px;color:#784215;font-size:16px}
.service-screen .screen-appointment strong,.service-screen .screen-appointment span{font-size:16px}
.service-screen .screen-available{display:flex;align-items:center;justify-content:center;min-height:68px;border:1px dashed #c5b092;border-radius:4px;color:#64543f;font-size:16px}
.service-screen .screen-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px;font-size:16px;color:#784215}
body.service-page .service-offer>.service-screen{grid-column:2;grid-row:1/3;align-self:start}
body.service-page .service-offer--inventory{background:#f7fcf9;border-color:#b4d3c6}
body.service-page .service-offer--apps{background:#faf8ff;border-color:#d4c9e9}
body.service-page .service-offer--booking{background:#fffbf5;border-color:#e1caa9}
body:is(.inventory-management-page,.app-customization-page,.booking-system-page) .page-hero .split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:40px}
body:is(.inventory-management-page,.app-customization-page,.booking-system-page) .page-hero h1{font-size:clamp(34px,3.1vw,48px);text-wrap:balance}
@media(max-width:1000px){
 body.service-page .service-offer>.service-screen{grid-column:1;grid-row:2}
 body:is(.inventory-management-page,.app-customization-page,.booking-system-page) .page-hero .split{grid-template-columns:minmax(0,1fr);gap:28px}
}
@media(max-width:600px){
 .service-screen figcaption{padding:12px}
 .service-screen .screen-body{padding:12px}
 .service-screen .screen-metrics>div{padding:10px}
 .service-screen .screen-sheet,.service-screen .screen-calendar{padding-inline:4px}
 .service-screen th,.service-screen td{padding:9px 3px}
 .service-screen .screen-forecast,.service-screen .screen-config{padding:12px}
 .service-screen .screen-bars{gap:5px}
 .service-screen .screen-result{padding:10px}
 .service-screen .screen-flow{grid-template-columns:minmax(0,1fr);gap:4px}
 .service-screen .screen-flow>b{transform:rotate(90deg);line-height:1.2}
 .service-screen .screen-calendar td{padding:8px 2px}
 .service-screen .screen-appointment{padding:5px 2px}
}
/* End service screen previews 20260913 */

/* Smahospital client logo 20260913 */
#smahospital-dx .smahospital-logo{max-width:520px;margin-top:24px;padding:16px;background:#fff}
#smahospital-dx .smahospital-logo img{display:block;width:100%;height:auto;object-fit:contain}
/* End Smahospital client logo 20260913 */

/* Case article clarity 20260913 */
.case-story .case-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:56px;align-items:center}
.case-story .case-client{font-size:24px;font-weight:800;line-height:1.6;margin:0 0 16px}
body.case-detail-page .case-story .page-hero h1{font-size:clamp(34px,3.4vw,50px);line-height:1.5;letter-spacing:-.035em;text-wrap:balance;max-width:18em}
.case-story .page-hero .lead{font-size:20px;line-height:1.9;max-width:38em;margin-top:24px}
.case-story .case-profile{max-width:400px;width:100%;justify-self:end}
.case-story .case-profile .case-image{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}
.case-story .case-profile>p{font-size:16px;line-height:1.8;color:var(--muted);margin:18px 0 0}
.case-story .case-profile .case-cover-box{min-height:0;padding:24px 18px;aspect-ratio:16/9}
.case-story .case-profile .case-cover-box strong{font-size:30px}
.case-story>.section.detail-navigation{padding-block:24px}
.case-story .detail-toc{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.case-story .detail-toc .eyebrow{margin:0}
.case-story .case-reading{max-width:1020px}
.case-story .case-reading>h2{font-size:clamp(28px,2.6vw,36px);line-height:1.6;letter-spacing:-.025em;text-wrap:balance;max-width:26em;margin:0 0 24px}
.case-story .case-reading>p:not(.eyebrow),.case-story .check-list{font-size:20px;line-height:1.95;max-width:44em}
.case-story .case-work-list{list-style:none;counter-reset:case-work;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.case-story .case-work-list>li{counter-increment:case-work;min-width:0;padding:24px;background:#fffdf6;border:1px solid var(--line);border-top:3px solid var(--blue);margin:0}
.case-story .case-work-list>li::before{content:counter(case-work,decimal-leading-zero);display:block;font-size:18px;font-weight:800;color:var(--blue);margin-bottom:10px}
.case-story .case-work-list>li:last-child:nth-child(odd){grid-column:1/-1}
.case-story .case-work-list h3{font-size:24px;line-height:1.6;margin:0 0 14px;letter-spacing:-.02em;text-wrap:balance}
.case-story .case-work-list p{font-size:20px;line-height:1.9;max-width:44em;margin:0}
.case-story #change{border-bottom:1px solid var(--line)}
.case-story #source .container{max-width:1020px}
.case-story #source h2,.case-story #source h3{font-size:22px;line-height:1.7;margin-bottom:14px}
.case-story #source p,.case-story #source .text-link{font-size:16px;line-height:1.8}
.case-story .button{white-space:normal;text-align:center;line-height:1.6}
.case-index-card .case-client{font-size:18px;font-weight:800;line-height:1.7;margin:0 0 12px}
body:not(.home-page) .case-index-card h3 .text-link{font-size:24px;line-height:1.6;text-wrap:balance}
@media(max-width:1000px){
 .case-story .case-hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .case-story .case-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;max-width:680px;justify-self:start}
 .case-story .case-profile>p{margin:0}
 .case-story .case-client{font-size:22px}
}
@media(max-width:680px){
 .case-story .case-profile{grid-template-columns:minmax(0,1fr);max-width:340px;gap:12px}
 .case-story .case-profile .case-image{max-height:150px;object-position:left center}
 .case-story .case-profile .case-cover-box{aspect-ratio:auto;min-height:150px;gap:10px}
 .case-story .case-profile .case-cover-box strong{font-size:26px}
 .case-story .case-work-list{grid-template-columns:minmax(0,1fr);gap:16px}
 .case-story .case-work-list>li{padding:22px 18px}
 .case-story .case-work-list h3{font-size:23px}
 .case-story .page-hero .lead,.case-story .case-reading>p:not(.eyebrow),.case-story .case-work-list p,.case-story .check-list{font-size:18px}
 .case-story .detail-toc{gap:14px}
 .case-story .detail-toc ul{display:flex;flex-wrap:wrap;gap:8px}
 body.case-detail-page .case-story .detail-toc .text-link{padding:10px 12px}
}
/* End case article clarity 20260913 */

/* Case index closing 20260914 */
.case-index-closing .container.split{align-items:start}
.case-index-closing h2{word-break:auto-phrase}
.case-index-closing .case-related-links{flex-direction:column;gap:12px;margin-top:20px}
.case-index-closing .case-related-links .text-link{align-self:start}
/* End case index closing 20260914 */

/* Case article visuals 20260914 */
.case-story .case-flow{margin:30px 0 34px;padding:26px 28px;background:var(--paper);border:1px solid var(--line)}
.case-story .case-flow figcaption{font-size:15px;font-weight:800;letter-spacing:.06em;color:var(--blue);margin:0 0 18px}
.case-story .case-flow ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px;counter-reset:case-flow}
.case-story .case-flow li{counter-increment:case-flow;position:relative;min-width:0;margin:0;padding:0}
.case-story .case-flow li::before{content:"STEP " counter(case-flow,decimal-leading-zero);display:block;font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.case-story .case-flow li+li::after{content:"";position:absolute;top:34px;left:-22px;width:9px;height:9px;border-top:2px solid var(--blue);border-right:2px solid var(--blue);transform:rotate(45deg)}
.case-story .case-flow-label{font-size:19px;font-weight:800;line-height:1.6;margin:0 0 8px;color:var(--blue)}
.case-story .case-flow-detail{font-size:16px;line-height:1.85;margin:0;color:var(--ink)}
.case-story .case-flow li{padding-left:52px;position:relative}
.case-story .case-flow-mark{position:absolute;left:0;top:22px;width:38px;height:38px;color:var(--blue)}
.case-story .case-contrast{margin:30px 0 0;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.case-story .case-contrast figcaption{font-size:15px;font-weight:800;letter-spacing:.06em;color:var(--blue);margin:0 0 16px}
.case-story .case-contrast-grid{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:center;gap:0 12px}
.case-story .case-contrast-col{min-width:0;padding:16px 18px;border-radius:8px;border:1px solid var(--line);background:#fff}
.case-story .case-contrast-col--after{border-color:var(--blue);background:#eef3ff}
.case-story .case-contrast-label{font-size:14px;font-weight:800;letter-spacing:.06em;color:var(--muted);margin:0 0 10px}
.case-story .case-contrast-col--after .case-contrast-label{color:var(--blue)}
.case-story .case-contrast-col ul{list-style:none;margin:0;padding:0}
.case-story .case-contrast-col li{font-size:16px;line-height:1.75;margin:0;padding-left:18px;position:relative}
.case-story .case-contrast-col li+li{margin-top:10px}
.case-story .case-contrast-col li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:2px;border-radius:1px;background:var(--line)}
.case-story .case-contrast-col--after li::before{background:var(--blue);height:8px;border-radius:2px;top:.5em}
.case-story .case-contrast-arrow{display:flex;justify-content:center;color:var(--blue)}
.case-story .case-contrast-arrow svg{width:38px;height:24px}
.case-story .case-icon{margin:26px 0 0;padding:18px;background:#f6f8fc;border:1px solid var(--line);border-radius:8px;max-width:380px}
.case-story .case-icon svg{display:block;width:100%;height:auto}
@media(max-width:760px){
 .case-story .case-flow{padding:22px 18px;margin:24px 0 28px}
 .case-story .case-flow li{padding-left:0;padding-top:46px}
 .case-story .case-flow-mark{top:0;left:0}
 .case-story .case-contrast-grid{grid-template-columns:minmax(0,1fr);gap:12px 0}
 .case-story .case-contrast-arrow svg{transform:rotate(90deg)}
 .case-story .case-flow ol{grid-template-columns:minmax(0,1fr);gap:22px 0}
 .case-story .case-flow li+li::after{top:-16px;left:2px;transform:rotate(135deg)}
 .case-story .case-flow-label{font-size:18px}
}
/* End case article visuals 20260914 */
/* Case article accent 20260915 */
.case-story{--case-accent:var(--blue);--case-tint:#eef3ff}
.case-story.case-accent--documents{--case-accent:#0754ff;--case-tint:#eef3ff}
.case-story.case-accent--page{--case-accent:#0f9d7a;--case-tint:#e6f6f1}
.case-story.case-accent--voice{--case-accent:#c2410c;--case-tint:#fdeee4}
.case-story.case-accent--review{--case-accent:#6d28d9;--case-tint:#efe8fd}
.case-story .eyebrow,.case-story .case-flow figcaption,.case-story .case-contrast figcaption{color:var(--case-accent)}
.case-story .case-section-mark{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.case-story .case-section-mark>span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:999px;background:var(--case-accent);color:#fff;font-size:17px;font-weight:900;letter-spacing:.02em;flex-shrink:0}
.case-story .case-section-mark::after{content:"";flex:1;height:1px;background:linear-gradient(to right,var(--case-accent),transparent)}
.case-story .case-flow{border-color:var(--case-accent);box-shadow:0 10px 28px #0b1e3a0d}
.case-story .case-flow-mark{color:var(--case-accent)}
.case-story .case-flow-label{color:var(--case-accent)}
.case-story .case-flow li+li::after{border-color:var(--case-accent)}
.case-story .case-work-list>li{border-top-color:var(--case-accent);box-shadow:0 6px 18px #0b1e3a0a}
.case-story .case-work-list>li::before{color:var(--case-accent)}
.case-story #change .check-list li::marker{color:var(--case-accent)}
.case-story .case-contrast{box-shadow:0 10px 28px #0b1e3a0d}
.case-story .case-contrast-col--after{border-color:var(--case-accent);background:var(--case-tint)}
.case-story .case-contrast-col--after .case-contrast-label{color:var(--case-accent)}
.case-story .case-contrast-col--after li::before{background:var(--case-accent)}
.case-story .case-contrast-arrow{color:var(--case-accent)}
.case-story .case-icon{border-color:var(--case-accent);background:var(--case-tint)}
@media(max-width:760px){
 .case-story .case-section-mark{gap:10px;margin-bottom:18px}
 .case-story .case-section-mark>span{min-width:36px;height:36px;font-size:15px}
}
/* End case article accent 20260915 */


/* Workbench example roles 20260914 */
.workbench .workbench-example-role{display:inline-block;margin:0 0 8px;padding:2px 10px;font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--paper);background:var(--ink);border-radius:2px}
.workbench .workbench-example-output .workbench-example-role{background:var(--blue)}
/* End workbench example roles 20260914 */

/* Site readability 20260914 */
h1,h2,h3,.workbench-example-title,.case-flow-label,.screen-subtitle{word-break:auto-phrase}
.comic-cta-note,.form-footnote{font-size:14px}
.required,.optional,.copyright{font-size:13px}
.footer-directory,.footer-main nav{font-size:14px}
@media(max-width:480px){
 .comic-cta-kicker{font-size:14px}
 .hero-note{font-size:13px!important}
 .inline-note,.home-process .inline-note,.cta-actions .inline-note,.page-hero .inline-note{font-size:14px}
 .footer-grid{font-size:15px}
 .footer-links a,.footer-main nav a{display:flex;align-items:center;min-height:44px}
 .footer-directory{font-size:15px}
 .footer-main nav{font-size:14px}
 .mobile-cta .button{font-size:15px}
}
/* End site readability 20260914 */

/* Workbench topic icons 20260915 */
.workbench .topic-icon{margin:0;align-self:start;padding:clamp(14px,2.4vw,26px);background:var(--white);border:3px solid var(--ink);border-radius:4px;box-shadow:9px 9px 0 #101d2d1f;min-width:0}
.workbench .topic-icon svg{display:block;width:100%;height:auto}
/* End workbench topic icons 20260915 */
/* Tap targets 20260915 */
/* Measured at 320/390/768/1372px: these were the only links left under 44px high.
   The consent link uses padding plus a matching negative margin so the hit area grows
   without moving the sentence it sits in. */
.breadcrumb a{min-height:44px}
.footer-links a,.footer-main nav a{display:flex;align-items:center;min-height:44px}
.brand{display:flex;align-items:center;min-height:44px}
.consent-label a,.form-footnote a{display:inline-block;padding-block:11px;margin-block:-11px}
/* End tap targets 20260915 */
/* Detail page rhythm 20260915 */
/* The three service detail pages ran 3,600-3,800px with nothing but type. The challenge rows
   now carry a number, and the dark section carries the same topic figure the workbench uses,
   so the page has something to look at partway down. No wording changed. */
.detail-challenges .work-row{position:relative;padding-top:46px}
.detail-challenges .detail-challenge-mark{position:absolute;grid-column:1;top:22px;left:0;margin:0;font-size:13px;font-weight:900;letter-spacing:.08em;color:var(--blue);line-height:1}
.detail-feature-intro .topic-icon{margin:26px 0 0;padding:16px;background:var(--white);border:3px solid var(--ink);border-radius:4px;box-shadow:9px 9px 0 #0000002e;max-width:430px}
.detail-feature-intro .topic-icon svg{display:block;width:100%;height:auto}
@media(max-width:800px){
 .detail-feature-intro .topic-icon{margin-top:20px;padding:12px;max-width:none;box-shadow:6px 6px 0 #0000002e}
}
/* End detail page rhythm 20260915 */
/* CEO message 20260915 */
/* 会社概要に、公開中の代表挨拶をそのまま掲載。読み物として長いので、本文は一段組の
   読みやすい行長に収め、署名を右に落として手紙の体裁にしている。 */
.ceo-split{grid-template-columns:minmax(0,34%) minmax(0,1fr);align-items:start}
.ceo-intro h2{font-size:clamp(28px,2.7vw,40px);line-height:1.45;letter-spacing:-.03em;margin-top:10px}
.ceo-message-body{max-width:40em}
.ceo-message-body p{font-size:clamp(16px,1.15vw,18px);line-height:2.05;margin-top:1.4em}
.ceo-message-body p:first-child{margin-top:0}
.ceo-message-body p:first-child::first-letter{font-size:1.5em;font-weight:900;color:var(--blue);line-height:1}
.ceo-signature{margin:clamp(24px,2.6vw,34px) 0 0;border-top:1px solid var(--line);padding-top:18px}
.ceo-signature figcaption{font-size:14px;color:var(--muted);line-height:1.6}
.ceo-signature-name{font-size:clamp(22px,2vw,28px);font-weight:900;letter-spacing:.04em;margin-top:6px;line-height:1.4}
.ceo-signature-name span{display:block;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-top:4px}
.ceo-intro .inline-note{margin-top:20px;line-height:1.9}
.ceo-intro .text-link{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:800px){
 .ceo-split{grid-template-columns:minmax(0,1fr)}
 .ceo-message-body p{line-height:1.95}
}
/* End CEO message 20260915 */
/* Header locality bar 20260916 */
/* ロゴの上に細い帯として置く。全幅が使えるので折り返さず、
   これまで1250px以下で消えていたスマホでも出せるようになった。
   元の .header-locality（ヘッダー内の黄色いバッジ）の指定はここで上書きしている。 */
.locality-bar{background:var(--ink);color:#f4efe2}
.locality-bar>.container{display:flex;align-items:center;min-height:34px;padding-block:6px}
.locality-bar .header-locality{display:block;background:none;box-shadow:none;color:inherit;margin:0;padding:0;max-width:none;white-space:normal;font-size:clamp(12px,1.05vw,14px);font-weight:700;line-height:1.5;letter-spacing:.01em}
@media(max-width:600px){
 .locality-bar>.container{min-height:0;padding-block:7px}
 .locality-bar .header-locality{font-size:11.5px;line-height:1.55}
}
/* End header locality bar 20260916 */
/* Site photos 20260916 */
/* 実写を入れたときだけ使われる。写真が無いページには何も足さない。 */
.site-photo{margin:0}
.site-photo picture{display:block}
.site-photo img{display:block;width:100%;height:auto}
.site-photo figcaption{font-size:13px;color:var(--muted);padding-top:10px;line-height:1.7}
.site-photo--company-hero img,.site-photo--contact-aside img{aspect-ratio:3/2;object-fit:cover}
.ceo-portrait-image{display:block;width:clamp(120px,12vw,168px)}
.ceo-portrait-image img{border:3px solid var(--ink);border-radius:4px;aspect-ratio:1;object-fit:cover}
.site-photo--ceo-portrait{margin-top:clamp(20px,2.4vw,30px)}
/* End site photos 20260916 */
/* Split aside 20260916 */
/* 2カラムの右側が「補助」や「導線」なのに、左と同じ重さの見出しが並んで競合し、
   下に大きな余白が残っていた（1372pxで高さ差 /company/ 54%・/cases/ 43%・/flow/ 38%）。
   右側をパネルにして、見出しの重さを一段下げる。文言は動かしていない。 */
.split-aside{align-self:start;background:var(--white);border-top:4px solid var(--blue);padding:clamp(22px,2.3vw,32px);box-shadow:0 10px 30px #0b1e3a12}
.split-aside>h2{font-size:clamp(20px,1.7vw,25px);line-height:1.5;letter-spacing:-.02em}
.split-aside>h2+p,.split-aside>h2+ul{margin-top:14px}
.split-aside>p,.split-aside li{font-size:16px;line-height:1.9}
.split-aside .button{margin-top:20px}
.split-aside .check-list li+li{margin-top:8px}
@media(max-width:800px){
 .split-aside{padding:22px 20px}
 .split-aside>h2{font-size:22px}
}
/* End split aside 20260916 */
/* Companion strip 20260916 */
/* 代表挨拶（SweetLeap全体の理念）のすぐ下に、このサービスでの「伴走」を3段階で置く。 */
.companion{margin-top:clamp(40px,4.4vw,64px);border-top:1px solid var(--line);padding-top:clamp(30px,3.2vw,44px)}
.companion-heading h2{font-size:clamp(26px,2.6vw,38px);line-height:1.45;letter-spacing:-.035em;margin-top:8px}
.companion-art{margin:clamp(22px,2.6vw,34px) 0 0;padding:clamp(14px,1.8vw,22px);background:var(--white);border:3px solid var(--ink);border-radius:4px;box-shadow:9px 9px 0 #101d2d1f}
.companion-art svg{display:block;width:100%;height:auto}
.companion-steps{list-style:none;margin:clamp(24px,2.6vw,34px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,34px)}
.companion-steps>li{margin:0;border-top:3px solid var(--blue);padding-top:14px}
.companion-mark{font-size:13px;font-weight:900;letter-spacing:.08em;color:var(--blue);line-height:1;margin:0}
.companion-steps h3{font-size:clamp(19px,1.6vw,23px);line-height:1.5;margin-top:8px}
.companion-steps>li>p:last-child{font-size:16px;line-height:1.95;margin-top:10px}
@media(max-width:800px){
 .companion-steps{grid-template-columns:minmax(0,1fr);gap:22px}
 .companion-art{box-shadow:6px 6px 0 #101d2d1f}
}
/* End companion strip 20260916 */
/* Kuchikomirobo screens 20260916 */
/* 2026-09-16 ユーザー指定：「もっと詳しく書けなくない？実際の画像とかも使いながら」
   口コミロボ™の実際の投稿画面を3枚。元画像は600x900で、表示は最大200px＝実寸の3倍。
   拡大表示にならないよう幅を固定し、狭い画面でも3列のまま縮める。 */
.case-story .case-screens{margin:30px 0 0;padding:26px 28px;background:var(--paper);border:1px solid var(--line)}
.case-story .case-screens figcaption{font-size:15px;font-weight:800;letter-spacing:.06em;color:var(--blue);margin:0 0 18px}
.case-story .case-screens ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,200px));gap:18px;justify-content:center;counter-reset:case-screen}
.case-story .case-screens li{counter-increment:case-screen;margin:0;padding:0;min-width:0}
.case-story .case-screens img{display:block;width:100%;max-width:200px;height:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.case-story .case-screens li p{font-size:15px;line-height:1.7;margin:10px 0 0;color:var(--ink)}
.case-story .case-screens li p::before{content:counter(case-screen) ". ";font-weight:800;color:var(--blue)}
.case-story .case-screens .inline-note{margin:16px 0 0;font-size:14px;line-height:1.8;color:var(--muted)}
@media(max-width:700px){
 .case-story .case-screens{padding:20px 16px}
 .case-story .case-screens ol{gap:10px}
 .case-story .case-screens li p{font-size:13px;line-height:1.6}
}
/* End kuchikomirobo screens 20260916 */
/* Case icon caption 20260916 */
/* 2026-09-16 ユーザー指定：「ここのアイコンとかよくわからん」
   図だけでは伝わらないので、短い説明を図の下に出す。説明を持つ図だけに付く。 */
.case-story .case-icon figcaption{margin:12px 2px 0;font-size:15px;line-height:1.7;color:var(--muted)}
/* End case icon caption 20260916 */
/* Case issue layout 20260916 */
/* 2026-09-16 ユーザー指定：「下にちょこんとやから修正してほしい。全画面あるんやったら活用したら」
   課題の図が幅1020pxの読み幅に対して380pxしかなく、左下に小さく置かれていた。
   広い画面では本文の右に置いて、図そのものも大きくする。狭い画面はこれまでどおり縦に積む。 */
@media(min-width:1100px){
 .case-story #issue .case-reading:has(.case-icon){display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);column-gap:48px;align-items:start}
 .case-story #issue .case-reading:has(.case-icon)>.eyebrow,
 .case-story #issue .case-reading:has(.case-icon)>h2{grid-column:1/-1}
 .case-story #issue .case-reading:has(.case-icon)>p:not(.eyebrow){grid-column:1;margin-bottom:0}
 .case-story #issue .case-reading .case-icon{grid-column:2;grid-row:3;margin:4px 0 0;max-width:none;padding:24px}
}
@media(max-width:1099px){
 .case-story #issue .case-reading .case-icon{max-width:520px}
}
/* End case issue layout 20260916 */
/* Detail intro figure width 20260917 */
/* 2026-09-17 ユーザー指定：「ほかのページも同様」。サービス詳細3ページの図が
   列幅605pxに対して430px止まりで、左下に小さく置かれていた。列いっぱいに広げる。 */
@media(min-width:1100px){
 .detail-feature-intro .topic-icon{max-width:none}
}
/* End detail intro figure width 20260917 */
/* Japanese line breaking 20260917 */
/* 2026-09-17 ユーザー指定：「改行もしっかりとやって」
   見出しには word-break:auto-phrase が入っていたが、本文・箇条書きには入っておらず、
   「カスタ／マイズ」「サービ／ス」のように語の途中で折り返していた。
   全19ルート×1372/768/390pxで実測し、語中の折り返し 58→4、1字残り 33→2、2字残り 118→6。
   text-wrap:pretty は最終行の1〜2字残りを減らすために併用。実測で auto-phrase を打ち消していない。 */
p,li,dd,dt,figcaption,summary{word-break:auto-phrase;text-wrap:pretty}
/* End japanese line breaking 20260917 */
/* Service detail balance 20260917 */
/* 2026-09-17 ユーザー指定：「ほかのページも最適化して」
   ・つくれる機能：文章と箇条書きを左にまとめ、図を右へ。図は列いっぱい。
   ・具体的な入力と表示：左は見出しだけなので列を狭くし、右の表示例を広く使う。 */
.detail-feature-art .topic-icon{margin:0;max-width:none}
@media(max-width:800px){
 .detail-feature-art .topic-icon{margin-top:20px}
}
@media(min-width:1100px){
 :is(.inventory-management-page,.app-customization-page,.booking-system-page) #inputs .container.split{grid-template-columns:minmax(0,32%) minmax(0,1fr);align-items:start}
}
/* End service detail balance 20260917 */
/* Readable colours 20260917 */
/* 2026-09-17 全19ルートで文字と背景のコントラスト比を実測したところ、3か所がAA未満だった。
   ・ロゴ上の帯：body:not(.home-page) の指定（--muted）が後から勝っていて、
     濃紺の帯の上に #405060 が出ていた（2.10。必要4.5）→ 帯の文字色を明示して15.0に。
   ・事例の緑（#0f9d7a）2.97、橙（#c2410c）4.25〜4.49 → 同系のまま濃くして4.5以上に。
   色みは変えず、明るさだけ落としている。 */
body .locality-bar .header-locality{color:#f4efe2;font-weight:600}
.case-story.case-accent--page{--case-accent:#0a7359}
.case-story.case-accent--voice{--case-accent:#b03a0a}
/* End readable colours 20260917 */
/* Detail contrast 20260917 */
/* 2026-09-17: サービス詳細3ページの課題の節に「今のまま → 仕組みを入れると」の対比図を追加。
   事例ページの同じ図（.case-contrast）と同じ見え方にそろえている。 */
.detail-contrast{margin:34px 0 0;padding:26px 28px;background:var(--white);border:1px solid var(--line);border-radius:8px}
.detail-contrast figcaption{font-size:15px;font-weight:800;letter-spacing:.06em;color:var(--blue);margin:0 0 18px}
.detail-contrast-grid{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;gap:18px}
.detail-contrast-col{min-width:0;padding:18px 20px;border-radius:8px;background:#f4f7fb}
.detail-contrast-col--after{background:var(--soft-blue,#eef3ff)}
.detail-contrast-label{margin:0 0 10px;font-size:14px;font-weight:800;letter-spacing:.06em;color:var(--muted)}
.detail-contrast-col--after .detail-contrast-label{color:var(--blue)}
.detail-contrast-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.detail-contrast-col li{font-size:16px;line-height:1.8;margin:0;padding-left:20px;position:relative}
.detail-contrast-col li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:9px;border-radius:2px;background:var(--line)}
.detail-contrast-col--after li::before{background:var(--blue)}
.detail-contrast-arrow{display:flex;align-items:center;justify-content:center;color:var(--blue)}
.detail-contrast-arrow svg{width:34px;height:auto}
@media(max-width:800px){
 .detail-contrast{padding:20px 16px}
 .detail-contrast-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .detail-contrast-arrow{transform:rotate(90deg);height:26px}
 .detail-contrast-col li{font-size:15px;line-height:1.75}
}
/* End detail contrast 20260917 */
/* Prep icon 20260917 */
/* 2026-09-17:「最初に確認する資料」の節に図を置く。見出しだけだった左カラムを使い、
   ページ下半分の「文字だけが続く区間」も割る。 */
.prep-icon{margin:20px 0 0;padding:16px;background:var(--white);border:3px solid var(--ink);border-radius:4px;box-shadow:9px 9px 0 #0000002e;max-width:360px}
.prep-icon svg{display:block;width:100%;height:auto}
@media(max-width:800px){
 .prep-icon{margin-top:16px;padding:12px;max-width:none;box-shadow:6px 6px 0 #0000002e}
}
/* End prep icon 20260917 */
/* Work row icon 20260917 */
/* 2026-09-17: /system-development/ の相談例3つに、そのサービスの図を小さく添える。
   見出しの下の余白を使い、ページ上半分の「文字だけが続く区間」を割る。 */
.work-row .topic-icon{grid-column:1;margin:16px 0 0;padding:10px;background:var(--white);border:3px solid var(--ink);border-radius:4px;box-shadow:6px 6px 0 #0000002e;max-width:220px}
.work-row .topic-icon svg{display:block;width:100%;height:auto}
@media(max-width:800px){
 .work-row .topic-icon{max-width:none;margin-bottom:4px}
}
/* End work row icon 20260917 */
/* Worry cards 20260917 */
/* 2026-09-17: /flow/ の「相談は、こんな一言から。」。持ち物の箇条書きより先に、
   ざっくりした困りごとを4枚の図で見せる。画面の幅いっぱいに4枚並べ、
   狭いところでは2枚→1枚に折り返す。 */
.worry-cards{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}
.worry-card{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--white);border:3px solid var(--ink);border-radius:4px;box-shadow:6px 6px 0 #0000002e}
.worry-card svg{display:block;width:100%;height:auto;border-radius:2px}
.worry-card p{margin:0;font-weight:700;line-height:1.7}
@media(max-width:1000px){
 .worry-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
 .worry-cards{grid-template-columns:1fr;gap:16px}
}
/* End worry cards 20260917 */
/* CEO message headings 20260917 */
/* 2026-09-17: 代表挨拶の3つの長い段落に小見出しを足したぶん。
   段落との間が詰まって、どこから新しい話か分からなかったので、上に余白を置く。 */
.ceo-message-body h3{font-size:clamp(19px,1.5vw,23px);line-height:1.55;letter-spacing:-.01em;margin-top:2.2em}
.ceo-message-body h3:first-child{margin-top:0}
.ceo-message-body h3+p{margin-top:.8em}
/* End CEO message headings 20260917 */
/* Mobile legibility 20260918 */
/* スマホで11px台だった文字を、読める大きさまで上げる。対象は地域表示・画面下の相談ボタン・プレビューの帯。 */
@media(max-width:480px){
 .locality-bar .header-locality{font-size:13px;line-height:1.6}
 .mobile-cta p{font-size:12.5px;line-height:1.45}
 .preview-bar,.preview-bar span{font-size:12px}
 .preview-bar button{font-size:12px}
}
/* End mobile legibility 20260918 */
/* News list 20260918 */
/* お知らせの一覧。記事の見出しは長いので、行間を広めに取って1本ずつ離す。 */
.news-list{list-style:none;padding:0;margin:0;max-width:52em}
.news-list li{border-top:1px solid var(--line);margin:0}
.news-list li:last-child{border-bottom:1px solid var(--line)}
.news-list .text-link{display:block;min-height:0;padding:20px 0;line-height:1.7;text-decoration-thickness:1px}
/* End news list 20260918 */
