/* VLAZI explanatory visual system v2 */
:root{--ink:#1b1a17;--paper:#f5f0e4;--line:#b7af9f;--muted:#665f54;--tender:#c98b61;--halal:#adc0a0;--tkdn:#9aa8c0;--pra:#d3ad68;--warn:#b95539;--ok:#60785c;--gold:#d9a944}
.folder .folder-sheet:after,.dossier-sheet:after,.dossier-sheet:before,.service-file:after{display:none!important}
.folder .folder-sheet>p,.folder .sheet-grid,.service-file .file-list{max-width:none!important;width:auto!important}
.service-file{padding-bottom:78px!important;overflow:visible!important}.service-file .open-link{background:none!important}.dossier-sheet{min-height:auto!important;padding-bottom:32px!important;overflow:visible!important}
body{font-size:16px}.case-intro,.sheet-copy,.guard-grid p,.contact-file p{font-size:17px!important;line-height:1.7!important}.problem-card p,.workflow-step p,.io-card li,.faq-item p{font-size:15px!important;line-height:1.62!important}.problem-card h3{font-size:28px!important}.workflow-step h3{font-size:17px!important}.meta-label,.file-id,.case-kicker,.eyebrow,.case-nav-tabs a{font-size:10px!important}.case-meta b{font-size:13px!important}.dossier-sheet>p{font-size:14px!important;max-width:100%!important}.case-number small{font-size:9px!important}.case-number b{font-size:30px!important}
.explain-hero{margin-top:28px;padding:20px;border:1px solid #9d9588;background:#f8f3e7;box-shadow:8px 10px 0 rgba(0,0,0,.12)}
.explain-caption{font-family:"Courier New",monospace;font-size:10px;letter-spacing:.1em;color:#71695e;margin-bottom:14px}
.flow-diagram{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;gap:8px;align-items:stretch}.flow-arrow{display:flex;align-items:center;justify-content:center;font-size:28px;color:#756f64}.flow-node{border:1px solid #aaa193;background:#fffaf0;padding:16px;min-height:128px;position:relative}.flow-node strong{font-family:Georgia,serif;font-weight:400;font-size:22px;display:block;margin:8px 0 10px}.flow-node p{font-size:13px;line-height:1.45;color:#655f55;margin:0}.flow-node .node-no{font-family:"Courier New",monospace;font-size:9px;color:#7b7469}.node-docs{display:flex;gap:5px;margin-top:12px}.node-docs i{display:block;width:28px;height:36px;border:1px solid #8d867a;background:#f3ede0;transform:rotate(-3deg)}.node-docs i:nth-child(2){transform:rotate(2deg);background:#eee5d6}.node-docs i:nth-child(3){transform:rotate(-1deg);background:#faf5e9}.node-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:12px}.node-grid i{height:16px;border:1px solid #b7afa1;background:#f5f0e5}.node-grid i.ok{background:#dce5d8}.node-grid i.warn{background:#f1d7c9}.node-stack{display:grid;gap:5px;margin-top:10px}.node-stack i{height:18px;border:1px solid #b1a99a;background:#f4ede0}.node-stack i:nth-child(2){background:#efd4c6}.node-stack i:nth-child(3){background:#e1e6dc}
.case-visual-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:46px;align-items:start;margin-top:34px}.case-visual-grid.reverse{grid-template-columns:1.08fr .92fr}.visual-copy h3{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:0 0 12px}.visual-copy p{font-size:16px;line-height:1.7;color:#5e584f}.illustration-board{border:1px solid #9f9789;background:#f8f3e7;padding:22px;box-shadow:8px 10px 0 rgba(70,62,50,.12);min-height:330px;position:relative}.illustration-board .board-title{font-family:"Courier New",monospace;font-size:10px;letter-spacing:.1em;margin-bottom:18px;color:#70695f}.messy-flow{display:grid;grid-template-columns:1fr 56px 1fr;gap:14px;align-items:center}.messy-pile{position:relative;height:230px}.paper-chip{position:absolute;width:145px;height:92px;border:1px solid #a39a8b;background:#fff9ed;padding:12px;font-family:Georgia,serif;font-size:22px;box-shadow:5px 6px 0 rgba(0,0,0,.08)}.paper-chip small{display:block;font-family:"Courier New",monospace;font-size:9px;color:#6c655b;margin-top:12px}.paper-chip:nth-child(1){left:5px;top:14px;transform:rotate(-5deg)}.paper-chip:nth-child(2){left:96px;top:46px;transform:rotate(4deg)}.paper-chip:nth-child(3){left:40px;top:128px;transform:rotate(-1deg)}.search-lens{width:46px;height:46px;border:5px solid #2c2a26;border-radius:50%;position:relative;margin:auto}.search-lens:after{content:"";position:absolute;width:28px;height:5px;background:#2c2a26;right:-20px;bottom:-9px;transform:rotate(45deg)}.gap-board{display:grid;gap:10px}.gap-card{border:1px solid #ad9e90;padding:14px;background:#fffaf0;display:flex;justify-content:space-between;align-items:center;font-size:14px}.gap-card b{font-family:Georgia,serif;font-size:19px;font-weight:400}.badge{font-family:"Courier New",monospace;font-size:9px;padding:6px 8px;border:1px solid currentColor}.badge.warn{color:#a44932}.badge.ok{color:#557051}
.workflow-visual{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:34px}.workflow-vstep{position:relative;border:1px solid #a69e90;background:#faf5e9;padding:18px;min-height:250px}.workflow-vstep:not(:last-child):after{content:"→";position:absolute;right:-17px;top:104px;font-size:24px;z-index:2;color:#756d62}.workflow-vstep .step-no{font-family:"Courier New",monospace;font-size:11px;color:#7a7267}.workflow-vstep h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:14px 0 10px}.workflow-vstep p{font-size:14px;line-height:1.55;color:#625c53}.step-icon{height:82px;margin:14px 0;display:flex;align-items:center;justify-content:center}.icon-doc{width:60px;height:76px;border:2px solid #776f65;background:#f3ecdf;box-shadow:8px 7px 0 #dfd4c2}.icon-matrix{width:78px;height:68px;border:2px solid #776f65;background:repeating-linear-gradient(0deg,#f8f3e7 0,#f8f3e7 15px,#b6ad9e 16px),repeating-linear-gradient(90deg,transparent 0,transparent 25px,#b6ad9e 26px)}.icon-match{display:grid;grid-template-columns:repeat(2,34px);gap:7px}.icon-match i{width:34px;height:38px;border:1px solid #8f877a;background:#f3ede1;position:relative}.icon-match i:after{content:"✓";position:absolute;right:-5px;bottom:-5px;border-radius:50%;background:#60785c;color:white;width:18px;height:18px;text-align:center;line-height:18px;font-size:11px}.icon-alert{width:72px;height:72px;border-radius:50%;border:5px solid #b95539;display:flex;align-items:center;justify-content:center;font-size:42px;color:#b95539;font-family:Georgia,serif}.icon-pack{width:86px;height:62px;border:2px solid #776f65;background:#d9c09a;position:relative}.icon-pack:after{content:"REVIEW";position:absolute;left:10px;right:10px;top:15px;background:#f5efe2;border:1px solid #958d80;text-align:center;padding:7px;font-family:"Courier New",monospace;font-size:9px}
.pilot-transform{display:grid;grid-template-columns:1fr 76px 1fr;gap:24px;align-items:center;margin-top:36px}.pilot-col{border:1px solid #9e9688;background:#faf5e9;padding:24px;min-height:390px}.pilot-col h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0 0 18px}.pilot-item{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #d0c8ba;font-size:15px}.pilot-icon{width:40px;height:40px;border:1px solid #9b9386;background:#efe5d3;display:flex;align-items:center;justify-content:center;font-family:"Courier New",monospace;font-size:10px}.pilot-arrow{font-size:52px;text-align:center;color:#7b7265}
.guard-visual{display:grid;grid-template-columns:120px 1fr;gap:28px;align-items:center}.guard-shield{width:100px;height:112px;border:4px solid #d7d0c1;border-radius:50% 50% 44% 44%;display:flex;align-items:center;justify-content:center;font-size:42px;color:#d7d0c1}.guard-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.guard-point{border-top:1px solid #5a5750;padding-top:12px}.guard-point b{display:block;font-size:15px;color:#eee9dc;margin-bottom:5px}.guard-point span{font-size:13px;color:#aaa69b;line-height:1.5}
.service-mini-flow{margin:24px 0 12px;border-top:1px solid #c9c1b3;border-bottom:1px solid #c9c1b3;padding:16px 0;display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr;gap:5px;align-items:center}.service-mini-flow span{font-family:"Courier New",monospace;font-size:11px;text-align:center;border:1px solid #b3ab9d;padding:12px 5px;background:#f3ede1}.service-mini-flow i{font-style:normal;text-align:center;color:#756d62}.service-file{min-height:560px!important}.service-file h3{margin-top:48px!important}.service-file p{font-size:15px!important;line-height:1.6!important}
.relation-map{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr;gap:8px;align-items:center}.relation-col{display:grid;gap:10px}.relation-card{border:1px solid #a79f92;background:#fffaf0;padding:14px;min-height:70px;position:relative}.relation-card b{font-family:Georgia,serif;font-size:18px;font-weight:400;display:block}.relation-card small{font-family:"Courier New",monospace;font-size:9px;color:#6e675d}.relation-line{text-align:center;font-size:24px;color:#63785c}.relation-card.ready{border-left:5px solid #60785c}.relation-card.review{border-left:5px solid #d9a944}.relation-card.expired{border-left:5px solid #b95539}.impact-strip{margin-top:18px;border:1px solid #a79f92;background:#f3ecdf;padding:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.impact-strip b{font-size:14px}.impact-pill{font-family:"Courier New",monospace;font-size:9px;border:1px solid #a79f92;padding:7px 9px;background:#fffaf0}.impact-pill.warn{color:#a54b34;border-color:#a54b34}.bom-flow{display:grid;grid-template-columns:1.05fr 32px 1fr 32px 1fr;gap:10px;align-items:center}.bom-list{display:grid;gap:7px}.bom-row{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid #aaa193;background:#fffaf0;padding:11px 12px;font-size:13px}.bom-row span:last-child{font-family:"Courier New",monospace;font-size:9px}.calc-card{border:1px solid #8e98a7;background:#eef1f5;padding:20px;text-align:center}.calc-ring{width:112px;height:112px;margin:10px auto;border-radius:50%;border:15px solid #9aa8c0;border-right-color:#ded7c8;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:31px}.review-stack{display:grid;gap:8px}.review-chip{border:1px solid #aaa193;background:#fffaf0;padding:12px;font-size:13px}.review-chip.ok{border-left:5px solid #60785c}.review-chip.warn{border-left:5px solid #b95539}.section-proof{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;margin-top:38px}.proof-list{display:grid;gap:12px}.proof-item{border-top:1px solid #b7af9f;padding:14px 0;display:grid;grid-template-columns:34px 1fr;gap:12px}.proof-item b{font-size:16px}.proof-item p{font-size:14px;line-height:1.5;color:#645e55;margin:4px 0 0}.proof-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #8f877a;font-family:"Courier New",monospace;font-size:9px;background:#efe7d8}
.visual-copy .problem-grid{grid-template-columns:1fr;margin-top:24px}.visual-copy .problem-card{min-height:auto}.flow-node p,.workflow-vstep p{font-size:15px}
@media(max-width:1000px){.flow-diagram{grid-template-columns:1fr}.relation-map,.bom-flow,.section-proof{grid-template-columns:1fr}.relation-line{transform:rotate(90deg)}.flow-arrow{transform:rotate(90deg)}.case-visual-grid,.case-visual-grid.reverse{grid-template-columns:1fr}.workflow-visual{grid-template-columns:1fr 1fr}.workflow-vstep:not(:last-child):after{display:none}.pilot-transform{grid-template-columns:1fr}.pilot-arrow{transform:rotate(90deg)}.guard-visual{grid-template-columns:1fr}.guard-points{grid-template-columns:1fr}}
@media(max-width:640px){body{font-size:16px}.case-intro,.sheet-copy,.guard-grid p,.contact-file p{font-size:16px!important}.problem-card p,.workflow-step p,.io-card li,.faq-item p{font-size:15px!important}.workflow-visual{grid-template-columns:1fr}.messy-flow{grid-template-columns:1fr}.messy-pile{height:270px}.paper-chip{width:130px}.flow-node strong{font-size:20px}.case-visual-grid{gap:24px}.illustration-board{padding:16px}.guard-points{grid-template-columns:1fr}.service-file{min-height:520px!important}.service-mini-flow{grid-template-columns:1fr}.service-mini-flow i{transform:rotate(90deg)}}

/* homepage service-card readability */
.service-file .file-id{font-size:10.5px!important;line-height:1.4;color:#5f5a51!important}
.service-file p{font-size:15.5px!important;line-height:1.62!important;color:#47433d!important}
.service-mini-flow{margin:24px 0 18px!important;padding:18px 0!important;gap:7px!important}
.service-mini-flow span{font-size:10.5px!important;font-weight:700;line-height:1.2;padding:13px 6px!important;color:#292722;background:#f7f1e5!important}
.file-list{margin:0!important;padding:4px 0 0!important;border-top:1px solid #b9b1a4!important}
.file-list li{font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;font-weight:600;line-height:1.4;color:#292722;padding:12px 2px!important;border-bottom:1px solid #cec7ba!important;display:flex;align-items:center;justify-content:space-between;gap:14px}
.file-list li:after{content:""!important;width:9px;height:5px;border-left:2px solid #60785c;border-bottom:2px solid #60785c;transform:rotate(-45deg);flex:0 0 auto;margin-right:3px}
.service-file .open-link{font-size:12px!important;letter-spacing:.02em;padding-top:16px!important}
@media(max-width:640px){.service-file .file-id{font-size:10px!important}.service-file p{font-size:15px!important}.service-mini-flow span{font-size:11px!important}.file-list li{font-size:15px!important;padding:13px 2px!important}.service-file .open-link{font-size:12px!important}}
/* 2026-09-06 readability hotfix: light explanatory surfaces must not inherit light hero text */
.explain-hero,.illustration-board,.flow-node,.gap-card,.pilot-col,.pilot-item,.relation-card,.review-chip,.calc-card,.io-card,.problem-card{color:var(--ink)!important}
.explain-hero strong,.explain-hero b,.illustration-board strong,.illustration-board b,.flow-node strong,.gap-card b,.pilot-col h3,.pilot-item,.relation-card b,.review-chip,.calc-card b,.io-card h3,.problem-card h3{color:var(--ink)!important}
.flow-node strong{font-size:24px!important;line-height:1.08!important}
.flow-node p{color:#4f4a42!important;font-size:15.5px!important;line-height:1.55!important}
.explain-caption,.flow-node .node-no,.pilot-icon,.relation-card small{color:#5d574e!important}
.badge.warn{color:#8f351f!important;border-color:#8f351f!important;background:#fff7f0!important}
.badge.ok{color:#3f633f!important;border-color:#3f633f!important;background:#f4f8f2!important}
@media(max-width:640px){.flow-node strong{font-size:22px!important}.flow-node p{font-size:15px!important}}
