/* Scoped to the selected template. Parent-theme navigation and footer retain their styles. */
.okp-home{--okp-bg:#f9fafc;--okp-card:#fff;--okp-text:#18212f;--okp-muted:#637083;--okp-line:#e5e9f0;--okp-accent:#5265ee;--okp-soft:#eef0ff;--okp-visual:#edf0f9;background:var(--okp-bg);color:var(--okp-text);font-family:inherit;line-height:1.75;overflow:hidden}
.okp-home *{box-sizing:border-box}
.okp-home a{color:inherit;text-decoration:none}
.okp-home a:focus-visible{outline:3px solid var(--okp-accent);outline-offset:5px;border-radius:5px}
.okp-home img{display:block;max-width:100%;height:auto}
.okp-home p,.okp-home h1,.okp-home h2,.okp-home h3{margin:0;color:inherit}
.okp-home .okp-shell{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.okp-home .okp-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--okp-muted);display:flex;align-items:center;gap:10px}
.okp-home .okp-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7b83ff;flex-shrink:0}
.okp-home .okp-hero{position:relative;padding:90px 0 0;background:radial-gradient(ellipse at 82% 16%,#e9e7ff 0,transparent 45%),radial-gradient(ellipse at 12% 0,#e6efff 0,transparent 50%);border-bottom:1px solid var(--okp-line)}
.okp-home .okp-hero h1{max-width:860px;font-size:clamp(38px,5.4vw,68px);font-weight:800;letter-spacing:-.045em;line-height:1.22;margin-top:24px;text-wrap:balance}
.okp-home .okp-lead{font-size:17px;max-width:650px;color:var(--okp-muted);margin-top:25px;line-height:1.95}
.okp-home .okp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.okp-home .okp-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:12px 23px;border-radius:9px;font-size:14px;font-weight:650;transition:transform .2s,box-shadow .2s}
.okp-home .okp-primary{background:var(--okp-text);color:var(--okp-card)}
.okp-home .okp-secondary{background:var(--okp-card);border:1px solid var(--okp-line)}
.okp-home .okp-button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #18212f12}
.okp-home .okp-hero-foot{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--okp-line);margin-top:64px;padding:19px 0;font-size:11px;color:var(--okp-muted);letter-spacing:.09em}
.okp-home .okp-hero-foot a{padding:0 4px}
.okp-home .okp-projects{padding-top:76px;scroll-margin-top:100px}
.okp-home .okp-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:30px}
.okp-home .okp-section-heading h2,.okp-home .okp-about h2{font-size:clamp(25px,3vw,34px);font-weight:750;line-height:1.4;letter-spacing:-.035em;margin-top:10px}
.okp-home .okp-section-heading>p{font-size:13px;color:var(--okp-muted)}
.okp-home .okp-card{border:1px solid var(--okp-line);background:var(--okp-card);border-radius:18px;overflow:hidden}
.okp-home .okp-note{display:grid;grid-template-columns:.85fr 1.15fr;min-height:395px}
.okp-home .okp-note-copy{padding:42px 36px}
.okp-home .okp-product-top{display:flex;align-items:center;gap:15px;margin-bottom:22px}
.okp-home .okp-note-icon{border:2px solid var(--okp-text);border-radius:11px;box-shadow:3px 3px 0 var(--okp-text);height:40px;width:40px;display:grid;place-items:center;font-size:20px;font-weight:800}
.okp-home .okp-tag{display:inline-block;font-size:11px;color:var(--okp-muted);font-weight:600;letter-spacing:.04em}
.okp-home .okp-card h3{font-size:32px;font-weight:750;line-height:1.3;margin-bottom:14px;letter-spacing:-.035em}
.okp-home .okp-card p{color:var(--okp-muted);font-size:14px;line-height:1.9}
.okp-home .okp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 25px}
.okp-home .okp-chips span{padding:3px 9px;border:1px solid var(--okp-line);border-radius:5px;font-size:10px;color:var(--okp-muted)}
.okp-home .okp-text-link{display:inline-flex;align-items:center;gap:20px;font-size:13px;font-weight:700;min-height:34px}
.okp-home .okp-text-link:hover{color:var(--okp-accent)}
.okp-home .okp-note-visual{background:var(--okp-visual);align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:32px 0 32px 32px;overflow:hidden}
.okp-home .okp-note-visual img{width:100%;border:1px solid #d9dce5;border-top:0;border-radius:0 0 0 9px}
.okp-home .okp-browser-bar{display:flex;align-items:center;gap:25px;padding:10px 14px;background:#fff;color:#788393;font-size:9px;border:1px solid #d9dce5;border-radius:9px 0 0 0}
.okp-home .okp-browser-bar>span:first-child{color:#abb4c3;letter-spacing:3px}
.okp-home .okp-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.okp-home .okp-wall-visual{height:235px;overflow:hidden;background:#eaecff;padding:24px 24px 0}
.okp-home .okp-wall-visual img{width:100%;border-radius:10px 10px 0 0;box-shadow:0 10px 30px #424c8a12}
.okp-home .okp-card-copy{padding:28px 32px 30px}
.okp-home .okp-card-copy h3{font-size:27px;margin-top:9px}
.okp-home .okp-card-copy p{min-height:54px}
.okp-home .okp-card-copy .okp-text-link,.okp-home .okp-coming{margin-top:20px}
.okp-home .okp-skill-visual{height:235px;position:relative;display:grid;place-items:center;background:#eff2ed;overflow:hidden;color:#697c59}
.okp-home .okp-skill-symbol{font-size:105px;line-height:1;z-index:1;font-family:Arial,sans-serif}
.okp-home .okp-orbit{position:absolute;border:1px solid #b7c5b480;border-radius:50%;width:310px;height:130px;transform:rotate(-24deg)}
.okp-home .okp-orbit-two{transform:rotate(28deg);width:240px;height:170px}
.okp-home .okp-mini-tag{position:absolute;right:26px;bottom:21px;letter-spacing:.18em;font-size:9px}
.okp-home .okp-coming{display:flex;align-items:center;gap:9px;min-height:34px;font-size:12px;color:var(--okp-muted)}
.okp-home .okp-coming .okp-dot{background:#91a582}
.okp-home .okp-writing{padding-top:78px}
.okp-home .okp-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.okp-home .okp-article{border-top:1px solid var(--okp-line);padding-top:22px;display:flex;flex-direction:column;min-width:0}
.okp-home .okp-article-meta{display:flex;justify-content:space-between;gap:12px;color:var(--okp-muted);font-size:10px}
.okp-home .okp-article h3{font-size:18px;line-height:1.6;margin:15px 0 12px;font-weight:700;overflow-wrap:anywhere}
.okp-home .okp-article h3 a:hover{color:var(--okp-accent)}
.okp-home .okp-article p{font-size:13px;color:var(--okp-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:20px}
.okp-home .okp-article-read{font-size:11px;display:flex;justify-content:space-between;align-items:center;margin-top:auto;min-height:36px}
.okp-home .okp-about{padding-top:78px;padding-bottom:76px}
.okp-home .okp-about-inner{display:grid;grid-template-columns:180px 1fr;gap:42px;border-top:1px solid var(--okp-line);padding-top:45px;align-items:center}
.okp-home .okp-about-mark{position:relative;font-size:50px;font-weight:800;letter-spacing:-.08em;line-height:1}
.okp-home .okp-about-mark span{font-size:32px;font-weight:500}
.okp-home .okp-about-desc{font-size:14px;color:var(--okp-muted);max-width:720px;margin-top:14px}
.okp-home .okp-about .okp-text-link{margin-top:14px}
.okp-home .okp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.okp-home .okp-note{grid-template-columns:1fr}.okp-home .okp-note-visual{padding:24px 24px 0}.okp-home .okp-note-visual img{border-radius:0}.okp-home .okp-browser-bar{border-radius:9px 9px 0 0}.okp-home .okp-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.okp-home .okp-wall-visual,.okp-home .okp-skill-visual{height:190px}.okp-home .okp-articles{gap:20px}}
@media(max-width:600px){.okp-home .okp-shell{width:calc(100% - 36px)}.okp-home .okp-hero{padding-top:54px}.okp-home .okp-hero h1{font-size:39px}.okp-home .okp-lead{font-size:15px}.okp-home .okp-hero-foot{margin-top:40px}.okp-home .okp-projects,.okp-home .okp-writing{padding-top:48px}.okp-home .okp-note-copy{padding:28px 24px}.okp-home .okp-project-grid,.okp-home .okp-articles{grid-template-columns:1fr}.okp-home .okp-wall-visual,.okp-home .okp-skill-visual{height:210px}.okp-home .okp-card-copy{padding:25px}.okp-home .okp-articles{gap:26px}.okp-home .okp-about{padding-top:48px;padding-bottom:48px}.okp-home .okp-about-inner{grid-template-columns:1fr;gap:32px;padding-top:35px}.okp-home .okp-about-mark{width:180px}.okp-home .okp-eyebrow{font-size:10px}.okp-home .okp-button{padding-inline:18px;gap:15px}.okp-home .okp-card-copy p{min-height:0}}
@media(prefers-reduced-motion:reduce){.okp-home .okp-button{transition:none}.okp-home .okp-button:hover{transform:none}}

[data-bs-theme=dark] .okp-home{--okp-bg:#151e2c;--okp-card:#1c2838;--okp-text:#edf1f8;--okp-muted:#a8b5c8;--okp-line:#314057;--okp-accent:#a7afff;--okp-soft:#2a3451;--okp-visual:#253249}
[data-bs-theme=dark] .okp-home .okp-hero{background:radial-gradient(ellipse at 82% 16%,#302b50 0,transparent 45%),radial-gradient(ellipse at 12% 0,#23354e 0,transparent 50%)}
[data-bs-theme=dark] .okp-home .okp-wall-visual{background:#2b3150}
[data-bs-theme=dark] .okp-home .okp-skill-visual{background:#28382f;color:#b1c69e}
[data-bs-theme=dark] .okp-home .okp-orbit{border-color:#7f977855}

/* Product presentation, v1.1.0 */
.okp-home .okp-hero{padding-top:48px}
.okp-home .okp-hero h1{font-size:clamp(34px,4.2vw,52px);max-width:1000px;margin-top:18px}
.okp-home .okp-lead{font-size:15px;margin-top:16px;max-width:750px}
.okp-home .okp-actions{margin-top:23px}
.okp-home .okp-hero-foot{margin-top:30px;padding-block:14px}
.okp-home .okp-projects{padding-top:46px}
.okp-home .okp-product-nav{display:flex;gap:8px;flex-wrap:wrap}
.okp-home .okp-product-nav a{font-size:11px;min-height:40px;display:inline-flex;align-items:center;border:1px solid var(--okp-line);border-radius:7px;padding:7px 12px;color:var(--okp-muted)}
.okp-home .okp-product-nav a:hover{border-color:var(--okp-accent);color:var(--okp-text)}
.okp-home .okp-stage{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border-radius:22px;overflow:hidden;min-height:490px;scroll-margin-top:95px}
.okp-home .okp-stage+.okp-stage{margin-top:28px}
.okp-home .okp-stage-wall{--stage-text:#fff;--stage-muted:#d5d2ee;background:#211b43;color:var(--stage-text)}
.okp-home .okp-stage-note{--stage-text:var(--okp-text);--stage-muted:var(--okp-muted);background:var(--okp-card);color:var(--stage-text);border:1px solid var(--okp-line)}
.okp-home .okp-stage-copy{padding:44px 36px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.okp-home .okp-stage-label{font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--stage-muted);margin-bottom:24px}
.okp-home .okp-stage h3{font-size:clamp(30px,3.5vw,44px);font-weight:800;line-height:1.15;letter-spacing:-.035em;color:var(--stage-text);margin-bottom:17px}
.okp-home .okp-stage-pitch{font-size:23px;line-height:1.5;font-weight:650;color:var(--stage-text);text-wrap:balance}
.okp-home .okp-stage-desc{font-size:13px;line-height:1.95;color:var(--stage-muted);margin-top:15px}
.okp-home .okp-stage-features{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:22px 0 28px}
.okp-home .okp-stage-features li{font-size:10px;padding:4px 9px;border:1px solid #ffffff38;border-radius:5px;color:var(--stage-muted)}
.okp-home .okp-stage-note .okp-stage-features li{border-color:var(--okp-line)}
.okp-home .okp-product-cta{background:#fff;color:#282047;border:1px solid transparent;font-weight:750;min-width:168px}
.okp-home .okp-stage-note .okp-product-cta{background:var(--okp-text);color:var(--okp-card)}
.okp-home .okp-stage-media{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:44px 30px 30px 16px;background:radial-gradient(ellipse at 64% 34%,#8272bb80,transparent 72%)}
.okp-home .okp-stage-note .okp-stage-media{background:var(--okp-visual)}
.okp-home .okp-product-window{border:1px solid #ffffff38;border-radius:10px;overflow:hidden;box-shadow:0 24px 48px #08081940;background:#fff}
.okp-home .okp-product-window img{width:100%;height:auto;border:0;border-radius:0}
.okp-home .okp-window-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:#f5f5f9;border-bottom:1px solid #e2e5ec;color:#687387;font-size:10px}
.okp-home .okp-window-dots{font-size:9px;color:#a5acc0;letter-spacing:2px}
.okp-home .okp-media-caption{display:flex;justify-content:space-between;gap:12px;margin-top:20px;color:var(--stage-muted);font-size:10px;letter-spacing:.03em}
.okp-home .okp-skill-strip{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:28px;padding:28px 34px;border:1px solid var(--okp-line);border-radius:16px;margin-top:28px;scroll-margin-top:95px;background:var(--okp-card)}
.okp-home .okp-skill-strip h3{font-size:27px;margin-top:6px;font-weight:750}
.okp-home .okp-skill-description{color:var(--okp-muted);font-size:13px}
.okp-home .okp-release-badge{color:var(--okp-muted);background:var(--okp-bg);border:1px solid var(--okp-line);border-radius:24px;white-space:nowrap;padding:9px 18px;font-size:11px}
@media(min-width:1100px){.okp-home .okp-stage{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.okp-home .okp-stage-media{padding-left:20px}}
@media(max-width:850px){.okp-home .okp-stage{grid-template-columns:1fr}.okp-home .okp-stage-copy{padding:32px}.okp-home .okp-stage-media{padding:24px 30px 26px}.okp-home .okp-stage-label{margin-bottom:18px}.okp-home .okp-stage-desc{max-width:570px}.okp-home .okp-skill-strip{grid-template-columns:1fr auto;gap:18px}.okp-home .okp-skill-description{grid-column:1;grid-row:2}.okp-home .okp-skill-strip>.okp-button,.okp-home .okp-release-badge{grid-column:2;grid-row:1/3}}
@media(max-width:500px){.okp-home .okp-hero{padding-top:36px}.okp-home .okp-stage-copy{padding:28px 24px}.okp-home .okp-stage-media{padding:18px 16px 22px}.okp-home .okp-stage-pitch{font-size:21px}.okp-home .okp-stage{border-radius:15px}.okp-home .okp-skill-strip{padding:23px;grid-template-columns:1fr}.okp-home .okp-skill-strip>.okp-button,.okp-home .okp-release-badge{grid-column:1;grid-row:auto;justify-self:start}.okp-home .okp-product-nav a{font-size:10px}.okp-home .okp-media-caption{font-size:9px}}

/* v1.1.1: remove decorative labels and their spacing. */
.okp-home .okp-hero h1,.okp-home .okp-section-heading h2,.okp-home .okp-about h2,.okp-home .okp-skill-strip h3{margin-top:0}
.okp-home .okp-hero-foot{justify-content:flex-end}
/* v1.2.0: platform-based application catalog */
.okp-home .okp-catalog{padding-top:50px;scroll-margin-top:90px}
.okp-home .okp-app-group+.okp-app-group{margin-top:58px}
.okp-home .okp-app-group h2{font-size:25px;font-weight:750;line-height:1.4;margin:0 0 28px;letter-spacing:-.025em}
.okp-home .okp-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:34px;row-gap:34px}
.okp-home .okp-app-item{display:flex;align-items:flex-start;gap:20px;min-width:0}
.okp-home .okp-app-icon{width:92px;height:92px;border-radius:22px;flex:0 0 92px;display:grid;place-items:center;overflow:hidden;color:white;box-shadow:inset 0 0 0 1px #ffffff20}
.okp-home .okp-app-icon span{font-size:34px;font-weight:750;letter-spacing:-.06em;line-height:1.15;max-width:100%;overflow:hidden;padding:8px;font-family:system-ui,sans-serif}
.okp-home .okp-app-icon img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.okp-home .okp-icon-violet{background:linear-gradient(145deg,#a897fc,#6650d4)}
.okp-home .okp-icon-blue{background:linear-gradient(145deg,#52baff,#2169dd)}
.okp-home .okp-icon-green{background:linear-gradient(145deg,#67cbb1,#25846d)}
.okp-home .okp-icon-orange{background:linear-gradient(145deg,#ffbf7c,#de7835)}
.okp-home .okp-icon-pink{background:linear-gradient(145deg,#f58dbe,#be479a)}
.okp-home .okp-icon-slate{background:linear-gradient(145deg,#64748b,#26354e)}
.okp-home .okp-app-info{flex:1;min-width:0;padding-top:1px}
.okp-home .okp-app-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.okp-home .okp-app-title h3{font-size:19px;line-height:1.4;font-weight:750;letter-spacing:-.02em;margin:0;overflow-wrap:anywhere}
.okp-home .okp-app-badge{background:#098466;color:#fff;font-size:10px;font-weight:600;border-radius:4px;padding:1px 5px;line-height:1.6}
.okp-home .okp-app-desc{font-size:12px;color:var(--okp-muted);line-height:1.65;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.okp-home .okp-app-action{margin-top:10px;min-height:34px;display:flex;align-items:center}
.okp-home .okp-get-app{display:inline-flex;justify-content:center;align-items:center;min-width:75px;min-height:34px;padding:4px 18px;border-radius:24px;background:#0877ef;color:#fff;font-size:13px;font-weight:650;line-height:1.5}
.okp-home .okp-get-app:hover{background:#0065d6;color:#fff}
.okp-home .okp-app-soon{display:inline-flex;align-items:center;min-height:34px;border-radius:24px;padding:4px 13px;background:var(--okp-line);color:var(--okp-muted);font-size:11px}
@media(max-width:1080px){.okp-home .okp-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}}
@media(max-width:600px){.okp-home .okp-catalog{padding-top:34px}.okp-home .okp-app-grid{grid-template-columns:1fr;gap:26px}.okp-home .okp-app-group+.okp-app-group{margin-top:40px}.okp-home .okp-app-group h2{font-size:23px;margin-bottom:24px}.okp-home .okp-app-item{gap:17px}.okp-home .okp-app-icon{width:82px;height:82px;flex-basis:82px;border-radius:19px}.okp-home .okp-app-title h3{font-size:18px}.okp-home .okp-app-desc{font-size:13px}.okp-home .okp-get-app{min-height:40px}}

/* Uploaded icons use their own artwork; transparent fallback follows theme text color. */
.okp-home .okp-app-icon.okp-icon-transparent{background:transparent;box-shadow:none;color:var(--okp-text)}