.olap-hero{background:linear-gradient(135deg,#071728 0%,#16364b 55%,#315441 100%)}.architecture-figure svg{width:100%;height:auto;background:#e8ecea;border:1px solid var(--line);border-radius:16px}.architecture-figure figcaption,.speed-figure figcaption{font-size:13px;color:var(--muted);margin-top:12px}.plane{fill:#dfe5e3;stroke:#bbc8c5}.control{fill:#102b43}.plane-label{font:700 11px 'Noto Sans Thai',sans-serif;letter-spacing:1.4px;fill:#536873}.plane-label.light{fill:#72ded3}.box{fill:#fafaf7;stroke:#bdcac7}.box.source{fill:#ece3d8}.box.olap{fill:#dbe9e7;stroke:#70aca5}.box.model{fill:#f5f0e8}.box.transform{fill:#d4ebe7;stroke:#58a99f}.box.store,.box.online{fill:#e8e0d5;stroke:#c5936f}.box.consumer{fill:#f8f8f4}.title{font:700 15px 'Noto Sans Thai',sans-serif;fill:#172636}.sub{font:400 10.5px 'Noto Sans Thai',sans-serif;fill:#5c6c76}.pill{fill:#e5d3c4}.pill.green{fill:#b9ded8}.pilltext{font:600 9px 'Noto Sans Thai',sans-serif;fill:#334957}.arrow{fill:none;stroke:#d67932;stroke-width:3;marker-end:url(#a)}.control-item{font:600 12px 'Noto Sans Thai',sans-serif;fill:#e1ecef}.benefit-grid,.lever-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.benefit-grid article,.lever-grid article{background:var(--card);border:1px solid var(--line);padding:26px}.benefit-grid b,.lever-grid b{font-size:11px;color:var(--orange)}.benefit-grid h3,.lever-grid h3{margin:7px 0}.benefit-grid p,.lever-grid p{font-size:14px;color:var(--muted);margin:0}.spine-visual{display:grid;grid-template-columns:1.1fr auto 1.1fr auto .8fr;align-items:center;gap:16px}.spine,.history,.vector{background:#fafaf7;border:1px solid var(--line);padding:23px;min-height:160px}.spine>span,.history>span,.vector>span{display:block;font-size:10px;color:#087e83;letter-spacing:.1em;font-weight:700;margin-bottom:14px}.spine>div{display:grid;grid-template-columns:.7fr 1.4fr 1.2fr;gap:5px;font-size:10px}.spine code{font-size:9px}.spine-visual>i{font-size:27px;color:var(--orange)}.windowbar{height:56px;display:grid;grid-template-columns:1fr auto;align-items:center;background:#cce4df;position:relative;margin-top:25px;padding:10px}.windowbar small{position:absolute;left:5px;bottom:-24px}.windowbar em{position:absolute;right:0;bottom:-24px}.windowbar strong{position:absolute;right:-80px;width:75px;background:#ead4c4;top:0;bottom:0;padding:8px;font-size:10px}.layers{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.layers article{background:#fafaf7;border-top:5px solid #2aa9aa;padding:23px;position:relative}.layers article:nth-child(4),.layers article:nth-child(5){border-color:#d67932}.layers b{position:absolute;right:15px;color:#d8dfdc;font-size:32px}.layers span{font-size:9px;color:#087e83;font-weight:700;letter-spacing:.1em}.layers h3{font-size:18px}.layers p{font-size:13px;color:var(--muted)}.speed-figure{margin:25px 0}.speed-path{position:relative;min-height:180px;padding:48px 25px 20px;background:#fafaf7;border:1px solid var(--line);display:grid;grid-template-columns:120px auto 1fr auto 90px;align-items:center;gap:12px}.speed-path>span{position:absolute;top:15px;left:20px;font-size:10px;font-weight:700;letter-spacing:.1em;color:#087e83}.speed-path>div{padding:14px;background:#e9ece9;text-align:center;font-size:12px}.speed-path .work{background:#ead8ca}.view-path .q2{grid-column:1;grid-row:2}.view-path .i2{grid-column:2;grid-row:2}.view-path .w2{grid-column:3;grid-row:2}.view-path .i3{grid-column:4;grid-row:2}.view-path .r2{grid-column:5;grid-row:2}.stored-path{margin-top:12px;grid-template-columns:200px auto 1fr 1fr}.stored-path .stored{background:#cde5e0;padding:23px}.stored-path .fan{display:grid;gap:6px;background:transparent;text-align:left}.stored-path .fan b{background:#e7ebe8;padding:8px}.speed-table,.decision-table{border:1px solid var(--line)}.speed-table .row{display:grid;grid-template-columns:170px repeat(3,1fr);border-bottom:1px solid var(--line)}.speed-table .row:last-child{border:0}.speed-table .row>*{padding:16px;border-right:1px solid var(--line);font-size:13px}.speed-table .row>*:last-child{border:0}.speed-table .head{background:#102b43;color:white;font-weight:700}.lever-grid{grid-template-columns:repeat(4,1fr)}.store-map{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.store-map article{background:#fafaf7;border:1px solid var(--line);border-top:5px solid #2aa9aa;padding:28px}.store-map article:last-child{border-color:#d67932}.store-map span,.decision-grid span{font-size:10px;color:#087e83;font-weight:700;letter-spacing:.1em}.store-map code{display:block;background:#102b43;color:#dbeceb;padding:12px;font-size:11px;overflow:auto}.quality-matrix{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.quality-matrix div{background:#fafaf7;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:130px 1fr;gap:15px}.quality-matrix span{font-size:13px;color:var(--muted)}.decision-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.decision-grid article{padding:25px;background:#fafaf7;border:1px solid var(--line)}.decision-grid h3{font-size:19px}.decision-grid p{font-size:13px;color:var(--muted)}.next-links{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:25px}.next-links a{background:#102b43;color:white;padding:22px;text-decoration:none;display:flex;flex-direction:column}.next-links span{font-size:10px;color:#72ded3;letter-spacing:.1em}.next-links b{margin-top:5px}@media(max-width:900px){.architecture-figure{overflow:auto}.architecture-figure svg{width:1100px;max-width:none}.benefit-grid{grid-template-columns:1fr 1fr}.lever-grid{grid-template-columns:1fr 1fr}.spine-visual{grid-template-columns:1fr}.spine-visual>i{transform:rotate(90deg);justify-self:center}.layers{grid-template-columns:1fr 1fr}.speed-table{overflow:auto}.speed-table .row{min-width:800px}.store-map,.decision-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.benefit-grid,.lever-grid,.store-map,.decision-grid,.quality-matrix,.next-links{grid-template-columns:1fr}.layers{grid-template-columns:1fr}.quality-matrix div{border-right:0;grid-template-columns:1fr}.speed-path{display:flex;flex-direction:column;align-items:stretch;padding-top:50px}.speed-path>i{transform:rotate(90deg);align-self:center}.view-path .q2,.view-path .i2,.view-path .w2,.view-path .i3,.view-path .r2{grid-column:auto;grid-row:auto}}
