/* Keystone AI: site styles. Colors and fonts live in theme.json. */
:root{--ks-radius:18px;--ks-shadow:0 1px 2px rgba(14,23,38,.04),0 12px 32px -12px rgba(14,23,38,.14);--ks-ring:rgba(255,255,255,.09)}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ks-main{padding:0!important}
.ks-main > .wp-block-post-content{padding-inline:0!important}
.ks-main .wp-block-post-content > .alignfull{max-width:none!important;width:100%;margin-inline:0!important}
.wp-site-blocks>main,.ks-main{margin-block-start:0}
.wp-site-blocks > * + *{margin-block-start:0}
.ks-main .entry-content > * + *, .ks-main .wp-block-post-content > * + *{margin-block-start:0}

/* Header */
.ks-site-header{position:sticky;top:0;z-index:50}
.admin-bar .ks-site-header{top:32px}
.ks-header{border-bottom:1px solid var(--ks-ring);backdrop-filter:saturate(140%) blur(8px);background:rgba(6,14,28,.92)!important}
.ks-logo{display:inline-flex;align-items:center;gap:.7rem;color:#fff!important;text-decoration:none!important;font-family:var(--wp--preset--font-family--heading);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;white-space:nowrap}
.ks-logo img{height:28px;width:auto}
.ks-logo b{font-weight:600;color:#B8C4D6}
.ks-nav a{color:#D5DDEA!important}
.ks-nav a:hover{color:#fff!important;text-decoration:none!important}
.ks-nav-wrap{gap:1.75rem!important}
@media (max-width:1080px){.ks-header-cta{display:none}}
@media (max-width:600px){.ks-logo span{display:none}}

/* Sections */
.ks-section{padding-block:var(--wp--preset--spacing--60)!important;margin:0!important}
.ks-section--tight{padding-block:var(--wp--preset--spacing--50)!important}
.ks-dark{background:var(--wp--preset--gradient--night);color:#fff}
.ks-dark p{color:#B9C5D8}
.ks-dark h1,.ks-dark h2,.ks-dark h3,.ks-dark h4{color:#fff}
.ks-soft{background:var(--wp--preset--color--surface)}
.ks-line-top{border-top:1px solid var(--wp--preset--color--line)}
.ks-hero{padding-block:clamp(4.5rem,10vw,8rem) clamp(4rem,8vw,6.5rem)!important;position:relative;overflow:hidden}
.ks-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 70% 0%,#000 0%,transparent 70%);pointer-events:none}
.ks-hero > *{position:relative;z-index:1}
.ks-eyebrow{font-family:var(--wp--preset--font-family--heading);font-size:.78rem!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--wp--preset--color--blue)!important;margin-bottom:.9rem!important}
.ks-dark .ks-eyebrow{color:var(--wp--preset--color--amber)!important}
.ks-lede{font-size:var(--wp--preset--font-size--lg)!important;line-height:1.6;color:var(--wp--preset--color--slate);max-width:44rem}
.ks-dark .ks-lede{color:#C3CEDF}
.ks-center{text-align:center}
.ks-center .ks-lede{margin-inline:auto}
.ks-hl{color:var(--wp--preset--color--amber)}
.ks-section-head{max-width:46rem;margin-bottom:var(--wp--preset--spacing--50)!important}
.ks-center.ks-section-head{margin-inline:auto!important}
.ks-section-head h2{margin-top:0}
.ks-note{font-size:var(--wp--preset--font-size--xs)!important;color:var(--wp--preset--color--muted)!important;line-height:1.55}
.ks-dark .ks-note{color:#8391A7!important}
.ks-trustline{font-size:.875rem!important;color:#9FB0C8!important;margin-top:1.5rem!important}
.ks-trustline strong{color:#fff}

/* Buttons */
.wp-block-button__link{transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease;box-shadow:0 6px 18px -8px rgba(245,165,36,.6)}
.wp-block-button__link:hover{transform:translateY(-1px);text-decoration:none!important}
.wp-block-button.is-style-outline .wp-block-button__link{box-shadow:none;border:1.5px solid currentColor;background:transparent;color:inherit}
.ks-dark .wp-block-button.is-style-outline .wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.35)}
.ks-dark .wp-block-button.is-style-outline .wp-block-button__link:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:rgba(14,23,38,.04)}
.ks-btn-dark .wp-block-button__link{background:var(--wp--preset--color--navy-900);color:#fff;box-shadow:none}
.ks-btn-dark .wp-block-button__link:hover{background:var(--wp--preset--color--navy-800);color:#fff}
.ks-btn-full,.ks-btn-full .wp-block-button__link{width:100%;text-align:center}
.ks-textlink a{font-weight:600;font-family:var(--wp--preset--font-family--heading)}
.ks-textlink a::after{content:" →"}

/* Cards and grids */
.ks-grid{display:grid!important;gap:1.25rem!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.ks-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr))}
.ks-grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.ks-grid > *{margin:0!important}
.ks-card{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:var(--ks-radius);padding:1.75rem!important;box-shadow:var(--ks-shadow);display:flex;flex-direction:column;gap:.75rem}
.ks-card > *{margin:0!important}
.ks-card h3{font-size:1.3rem!important;letter-spacing:-.015em}
.ks-card p{color:var(--wp--preset--color--slate);font-size:.975rem}
.ks-card .wp-block-buttons{margin-top:auto!important;padding-top:.5rem}
.ks-card--dark{background:linear-gradient(180deg,#112445 0%,#0B1A33 100%);border-color:var(--ks-ring);color:#fff;box-shadow:none}
.ks-card--dark p,.ks-card--dark li{color:#C3CEDF}
.ks-card--feature{border:1.5px solid var(--wp--preset--color--amber);position:relative}
.ks-card--plain{box-shadow:none;background:transparent;border:0;padding:0!important}
.ks-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#EEF4FF;color:var(--wp--preset--color--blue);font-family:var(--wp--preset--font-family--heading);font-weight:800;font-size:1rem!important;line-height:1!important;margin-bottom:.25rem!important}
.ks-dark .ks-icon,.ks-card--dark .ks-icon{background:rgba(59,130,246,.15);color:#8DB5FF}
.ks-tag{display:inline-block;align-self:flex-start;font-family:var(--wp--preset--font-family--heading);font-size:.7rem!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .6rem;border-radius:999px;background:#EEF4FF;color:#1E58C8!important}
.ks-tag--amber{background:#FFF4DF;color:#9A5B00!important}
.ks-card--dark .ks-tag{background:rgba(245,165,36,.14);color:#FFC766!important}
.ks-price{font-family:var(--wp--preset--font-family--heading);font-size:2.1rem!important;font-weight:800;letter-spacing:-.03em;color:var(--wp--preset--color--ink)!important;line-height:1.1!important}
.ks-card--dark .ks-price,.ks-dark .ks-price{color:#fff!important}
.ks-price small{font-size:.95rem;font-weight:600;color:var(--wp--preset--color--muted);letter-spacing:0}
.ks-price s{font-size:1.1rem;font-weight:600;color:var(--wp--preset--color--muted);margin-right:.4rem}
.ks-price-note{font-size:.85rem!important;color:var(--wp--preset--color--muted)!important}
.ks-checks{list-style:none;padding:0!important;margin:0}
.ks-checks li{position:relative;padding-left:1.7rem;margin:.45rem 0;font-size:.95rem;color:var(--wp--preset--color--slate)}
.ks-checks li::before{content:"";position:absolute;left:0;top:.42em;width:1rem;height:1rem;border-radius:50%;background:#E6F0FF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.4 2.4L12 5.2' fill='none' stroke='%233B82F6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.ks-dark .ks-checks li,.ks-card--dark .ks-checks li{color:#C3CEDF}
.ks-dark .ks-checks li::before,.ks-card--dark .ks-checks li::before{background-color:rgba(59,130,246,.18)}

/* Steps */
.ks-steps{counter-reset:ks}
.ks-step{counter-increment:ks;position:relative;padding-top:3.4rem!important}
.ks-step::before{content:counter(ks,decimal-leading-zero);position:absolute;top:1.6rem;left:1.75rem;font-family:var(--wp--preset--font-family--heading);font-weight:800;font-size:.85rem;letter-spacing:.1em;color:var(--wp--preset--color--amber)}

/* Video */
.ks-video{margin:0}
.ks-video__frame{position:relative;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 30px 80px -30px rgba(0,0,0,.7),0 0 0 1px var(--ks-ring);aspect-ratio:16/9}
.ks-video__frame video,.ks-video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;object-fit:cover}
.ks-video__caption{font-size:.8rem;color:var(--wp--preset--color--muted);margin-top:.75rem}
.ks-video__todo{border:1.5px dashed #F5A524;border-radius:12px;padding:1rem;font-size:.85rem;color:#9A5B00;background:#FFF9EC}

/* Hero mock panel */
.ks-panel{background:rgba(255,255,255,.04);border:1px solid var(--ks-ring);border-radius:20px;padding:1.4rem;box-shadow:0 40px 90px -40px rgba(0,0,0,.8);backdrop-filter:blur(6px)}
.ks-panel__head{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#8EA0BC;font-family:var(--wp--preset--font-family--heading);font-weight:700;margin-bottom:1rem}
.ks-panel__badge{white-space:nowrap;background:rgba(245,165,36,.15);color:#FFC766;border-radius:999px;padding:.2rem .55rem;letter-spacing:.08em}
.ks-row{display:flex;gap:.9rem;align-items:flex-start;padding:.85rem .9rem;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05);margin-top:.6rem}
.ks-row__dot{flex:0 0 auto;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:.8rem;font-weight:800;font-family:var(--wp--preset--font-family--heading)}
.ks-row__dot--b{background:rgba(59,130,246,.18);color:#8DB5FF}.ks-row__dot--a{background:rgba(245,165,36,.16);color:#FFC766}.ks-row__dot--g{background:rgba(34,197,94,.15);color:#7BE3A2}
.ks-row strong{display:block;color:#fff;font-size:.92rem;font-weight:600}
.ks-row span{display:block;color:#9FB0C8;font-size:.82rem;line-height:1.45}
.ks-panel__foot{margin-top:.9rem;font-size:.72rem;color:#7183A0}

/* Stats */
.ks-stat{font-family:var(--wp--preset--font-family--heading);font-size:clamp(2.4rem,5vw,3.4rem)!important;font-weight:800;letter-spacing:-.04em;line-height:1!important;color:var(--wp--preset--color--ink)}
.ks-dark .ks-stat{color:#fff}

/* Jump nav */
.ks-jump{display:flex!important;flex-wrap:wrap;gap:.5rem!important;justify-content:center}
.ks-jump a{display:inline-block;padding:.5rem .95rem;border-radius:999px;border:1px solid var(--wp--preset--color--line);background:#fff;font-size:.875rem;font-weight:600;color:var(--wp--preset--color--ink)!important;font-family:var(--wp--preset--font-family--heading)}
.ks-jump a:hover{border-color:var(--wp--preset--color--blue);text-decoration:none!important}
.ks-jump p{margin:0!important}

/* Product rows */
.ks-product{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4.5rem)!important;align-items:center}
.ks-product > *{margin:0!important}
@media (max-width:900px){.ks-product{grid-template-columns:1fr}}
.ks-visual{border-radius:20px;padding:1.6rem!important;background:var(--wp--preset--gradient--night);color:#fff;box-shadow:var(--ks-shadow);min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;gap:.4rem}
.ks-visual > *{margin:0!important}
.ks-visual p{color:#B9C5D8}

/* FAQ */
.ks-faq .wp-block-details{padding-block:1.15rem}
.ks-faq summary{font-family:var(--wp--preset--font-family--heading);font-weight:700;font-size:1.06rem;cursor:pointer;list-style:none;position:relative;padding-right:2rem}
.ks-faq summary::-webkit-details-marker{display:none}
.ks-faq summary::after{content:"+";position:absolute;right:0;top:-.1rem;font-size:1.4rem;color:var(--wp--preset--color--blue);transition:transform .2s}
.ks-faq details[open] summary::after{transform:rotate(45deg)}
.ks-faq details p{color:var(--wp--preset--color--slate);margin-top:.6rem}

/* Footer */
.ks-footer a{color:#D5DDEA}
.ks-footer a:hover{color:#fff}
.ks-foot-h{font-family:var(--wp--preset--font-family--heading);text-transform:uppercase;letter-spacing:.14em;color:#8391A7!important;font-weight:700}
.ks-foot-list{list-style:none;padding:0!important;font-size:.92rem}
.ks-foot-list li{margin:.5rem 0}
.ks-foot-sep{border-color:rgba(255,255,255,.08)!important;opacity:1}
.ks-footer .wp-block-columns{gap:2.5rem}

/* Prose pages */
.ks-prose{max-width:760px;margin-inline:auto}
.ks-prose h2{font-size:1.5rem!important;margin-top:2.2rem}
.ks-placeholder{background:#FFF4DF;color:#9A5B00;padding:.05rem .35rem;border-radius:4px;font-size:.9em;font-weight:600}

@media (max-width:781px){.ks-section{padding-block:3.5rem!important}.ks-hero{padding-block:3.5rem 3rem!important}}

/* Rhythm after grids and heads */
.ks-section > .ks-grid + *, .ks-section > .ks-grid + .ks-grid, .ks-section > .ks-card + *, .ks-section > .wp-block-columns + .ks-grid{margin-top:2.25rem!important}
.ks-section > .ks-grid + .wp-block-buttons{margin-top:2rem!important}
.ks-section-head + .wp-block-columns{margin-top:0!important}

.ks-video-wide{max-width:920px;margin:0 auto 2.5rem!important}
.ks-visual li,.ks-visual p{color:#C3CEDF!important}
.ks-section > .ks-video-wide + .ks-grid{margin-top:0!important}
.ks-shot img{border-radius:14px;border:1px solid var(--wp--preset--color--line);box-shadow:var(--ks-shadow)}
