
body{background:#F6F1E8}
.osf-win{background:#FFFDF9;color:#14211D;box-shadow:0 30px 70px rgba(58,46,30,.14),0 0 0 1px #E4DACA}
.osf-top,.osf-foot{background:#FBF7F0;border-color:#ECE3D5}
.osf-foot div{border-color:#ECE3D5}
.osf-live{background:#EAF3EE;color:#1A7A5A}
.osf-ex{color:#6B665C;border-color:#E4DACA}
.osf-legend,.osf-foot span{color:#6B665C}
.osf-st:nth-child(1){background:#EEF6F1}
.osf-st:nth-child(2){background:#E2F0E8}
.osf-st:nth-child(3){background:#D3E8DC}
.osf-st:nth-child(4){background:#BFDECD}
.osf-st:nth-child(5){background:#A9D3BC}
.osf-chip{background:#FFFFFF;color:#14211D;box-shadow:0 1px 0 #E4DACA,0 2px 8px rgba(58,46,30,.08)}
.osf-dot{box-shadow:0 0 0 2px #FFFDF9,0 0 8px rgba(26,122,90,.5)}
.osf-dot.leak{box-shadow:0 0 0 2px #FFFDF9,0 0 8px rgba(143,54,41,.5)}
/* v34 fixes: frames that were light on the dark site stay light on cream */
.os-frame{background:#FFFDF9;border:1px solid #E4DACA}
.os-bar{background:#F1EBE0;color:#6B665C;border-bottom:1px solid #E4DACA}
.os-bar i{background:#D9CFBE}
.os-bar span{background:#FFFDF9;color:#4A4740}
.os-frame img,.os-frame video{background:#FFFDF9}
.os-phone{background:#FFFDF9;border-color:#FFFDF9;box-shadow:0 0 0 1px #E4DACA,0 24px 60px rgba(58,46,30,.16)}
.book-frame{background:#FFFDF9;border:1px solid #E4DACA}
/* glance boxes with an odd number of facts: last fact fills the row (no empty block) */
.glance-facts > div:last-child:nth-child(odd){grid-column:1/-1}
/* calculator comparison bar: soft taupe instead of heavy charcoal */
.hc-fill.ft{background:#8E8371}
/* How we work: "On every engagement" promise panel */
.hw-promise{margin-top:clamp(36px,5vw,56px);padding:clamp(24px,4vw,48px);border-radius:24px;background:linear-gradient(135deg,#E8F2EC 0%,#F6F1E8 70%);border:1px solid #D6E5DC}
.hw-pr-head{max-width:640px;margin-bottom:clamp(22px,3vw,32px)}
.hw-pr-head .v29-eyebrow{margin:0 0 10px}
.hw-pr-head h3{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15;letter-spacing:-.01em;margin:0 0 12px;color:#14211D}
.hw-pr-head p:last-child{margin:0;color:#4A4740;font-size:1.05rem;line-height:1.55}
.hw-pr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hw-pr-item{background:#FFFDF9;border:1px solid #E4DACA;border-radius:16px;padding:20px 20px 22px}
.hw-pr-item .hw-ic{margin-bottom:12px}
.hw-pr-item h4{margin:0 0 6px;font-size:1.05rem;font-weight:600;color:#14211D}
.hw-pr-item p{margin:0;font-size:.95rem;line-height:1.55;color:#4A4740}
@media (max-width:900px){.hw-pr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.hw-pr-grid{grid-template-columns:1fr}}
/* v35 Ask Promptwise */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.os-try{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;font-size:14px;line-height:1.45;color:#4A4740;max-width:520px}
.os-try svg{width:16px;height:16px;flex:none;margin-top:2px;fill:none;stroke:#1A7A5A;stroke-width:2;stroke-linejoin:round}
.ask-strip{background:#14211D;color:#F6F1E8;padding:18px 0}
.ask-strip-in{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ask-strip p{margin:0;flex:1 1 420px;font-size:1.05rem;line-height:1.5}
.ask-strip p b{font-weight:600;color:#FFFCF6}
.ask-strip p span{color:#D9CFBE}
.ask-strip .v29-link{color:#A9D3BC;white-space:nowrap}
.ask-ic{width:40px;height:40px;border-radius:12px;background:#1A7A5A;display:grid;place-items:center;flex:none}
.ask-ic svg{width:20px;height:20px;fill:none;stroke:#FFFCF6;stroke-width:2;stroke-linejoin:round}
.ask-pts{list-style:none;padding:0;margin:16px 0 18px;display:grid;gap:12px}
.ask-pts li{padding-left:16px;border-left:3px solid #A9D3BC}
.ask-pts b{display:block;font-weight:600;color:#14211D;margin-bottom:2px}
.ask-pts span{color:#4A4740;font-size:.95rem;line-height:1.55}
.ask-head{max-width:720px;margin-bottom:26px}
.ask-chats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 clamp(36px,5vw,56px)}
.ask-chat{margin:0;background:#FFFDF9;border:1px solid #E4DACA;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 30px rgba(58,46,30,.06)}
.ask-chat figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #ECE3D5;margin-bottom:2px}
.ask-tag{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#1A7A5A}
.ask-where{font-size:12.5px;color:#6B665C}
.ask-msg{margin:0;padding:10px 13px;border-radius:14px;font-size:.93rem;line-height:1.5;max-width:92%}
.ask-msg.you{align-self:flex-end;background:#E2F0E8;color:#14211D;border-bottom-right-radius:4px}
.ask-msg.ai{align-self:flex-start;background:#F4EEE3;color:#14211D;border-bottom-left-radius:4px}
.ask-card{border:1.5px solid #D9A441;background:#FFFCF6;border-radius:12px;padding:12px 13px}
.ask-card b{display:block;color:#14211D;font-weight:600}
.ask-card p{margin:2px 0 10px;font-size:13px;color:#6B665C}
.ask-btns{display:flex;gap:8px}
.ask-btns span{font-size:13px;padding:5px 12px;border-radius:999px;border:1px solid #E4DACA;color:#4A4740;background:#FFFDF9}
.ask-btns .ask-ok{background:#1A7A5A;border-color:#1A7A5A;color:#FFFCF6;font-weight:600}
.ask-done{margin:0;display:flex;align-items:center;gap:8px;font-size:13px;color:#4A4740;background:#F6F1E8;border:1px solid #ECE3D5;border-radius:10px;padding:8px 11px}
.ask-done i{width:8px;height:8px;border-radius:50%;background:#1A7A5A;flex:none}
.ask-why{margin:6px 0 16px}
.ask-why h3{font-size:1.05rem;margin:14px 0 4px;color:#14211D}
.ask-why p{margin:0;color:#4A4740;line-height:1.55}
.ask-split{margin-bottom:clamp(30px,4vw,44px)}
.os-panel .ask-pts{margin:12px 0 14px}
/* funnel tabs */
.osf-tabs{display:flex;gap:6px;padding:12px 18px 0}
.osf-tab{font:inherit;font-size:13px;font-weight:500;padding:6px 14px;border-radius:999px;border:1px solid #E4DACA;background:#FFFFFF;color:#4A4740;cursor:pointer}
.osf-tab[aria-pressed=true]{background:#1A7A5A;border-color:#1A7A5A;color:#FFFCF6}
.osf-tab:focus-visible{outline:2px solid #1A7A5A;outline-offset:2px}
.osf-stack{display:grid;align-items:center}
.osf-stack>.osf-grp{grid-area:1/1}
.osf-stack>.osf-grp[hidden]{display:block;visibility:hidden}
@media (max-width:900px){.ask-chats{grid-template-columns:1fr;max-width:560px}}
@media (max-width:560px){.osf-tabs{padding:10px 10px 0}.osf-tab{padding:6px 11px;font-size:12.5px}.ask-strip p{flex-basis:100%}.ask-strip-in{gap:12px}}
.ask-split{align-items:start}
.ask-links{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin:4px 0 0}
.ask-links .os-demo{margin:0}
.osf-foot span{white-space:nowrap}

/* v37: security and compliance band, cards, seven steps */
.ar-sec { --c: #0f5e4a; background: #e3efe9; border-width: 2px; box-shadow: 0 0 0 4px rgba(15,94,74,.08); }
.ar-sec h3 { color: #0f5e4a; }
.ar-sec .ar-num { background: #0f5e4a; color: #fff; border-color: #0f5e4a; }
.sec-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.sec-card { border-top: 3px solid #0f5e4a; }
.sec-card h3 { font-size: 1.02rem; margin: 0 0 6px; }
.sec-card p { margin: 0; font-size: .92rem; }
@media (max-width: 1000px) { .sec-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .sec-grid { grid-template-columns: 1fr; } }
@media (min-width: 601px) { .fw-7 > li:last-child { grid-column: 1 / -1; } }
@media (min-width: 1001px) { .ar-span .ar-head { flex-basis: 250px; } }
.sec-tech { margin: 18px 0 0; padding: 14px 16px; border-left: 3px solid #0f5e4a; background: #e3efe9; border-radius: 8px; font-size: .95rem; max-width: 900px; }

/* v37.2: security guide (sec_guide.py) */
.sg-ic{width:28px;height:28px;color:#1f8a66;margin-bottom:10px}
.sg-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sg-chart{margin:0}.sg-chart h3{margin:4px 0 16px}
.sg-bars{display:grid;gap:12px}
.sg-bar-row{display:grid;grid-template-columns:120px 1fr 92px;align-items:center;gap:12px;font-size:.92rem}
.sg-bar-track{height:22px;background:#e7ece8;border-radius:6px;overflow:hidden}
.sg-bar{display:block;height:100%;background:#9cc9b6;border-radius:6px}.sg-bar-hi{background:#1f8a66}
.sg-bar-val{font-weight:600;text-align:right;white-space:nowrap}
.sg-donut-row{display:flex;align-items:center;gap:16px;margin-top:18px}.sg-donut-row p{margin:0;font-size:.92rem}
.sg-donut{flex:0 0 76px;height:76px;border-radius:50%;background:conic-gradient(#1f8a66 calc(var(--p)*1%),#e7ece8 0);display:grid;place-items:center;position:relative}
.sg-donut::before{content:"";position:absolute;inset:12px;border-radius:50%;background:#fffdf8}
.sg-donut span{position:relative;font-weight:700;font-size:.95rem}
.sg-chart-note{margin:16px 0 0;font-size:.92rem}.sg-src{margin:14px 0 0;font-size:.8rem;color:var(--sage)}
.sg-cards{display:grid;gap:16px}.sg-cards-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sg-cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sg-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sg-cards-2{grid-template-columns:1fr 1fr}
.sg-card h3{font-size:1.04rem;margin:0 0 6px}.sg-card p{margin:0 0 8px;font-size:.93rem}.sg-why{color:#0f5e4a}
.sg-mt{margin-top:22px}.sg-note{margin-top:16px;font-size:.92rem}
.sg-split{align-items:center}
.sg-layers .sg-layer{border:1.5px solid #9cc9b6;border-radius:18px;padding:14px 14px 14px;background:rgba(31,138,102,.05)}
.sg-layers .sg-layer .sg-layer{margin-top:10px;background:rgba(31,138,102,.07)}
.sg-layer-h{margin:0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:.9rem}.sg-layer-h strong{color:#0f5e4a;font-size:.98rem}
.sg-core{margin-top:10px;border-radius:14px;background:#0f5e4a;color:#fff;padding:16px;display:grid;gap:2px;text-align:center;justify-items:center}
.sg-core .sg-ic{color:#bfe8d6;margin:0 0 4px}.sg-core span{font-size:.88rem;opacity:.92}
.sg-mfa{display:grid;gap:16px}.sg-mfa-name{margin:0 0 6px;font-weight:600}.sg-mfa-note{margin:6px 0 0;font-size:.86rem;color:var(--sage)}
.sg-mfa-track{display:block;height:14px;background:#e7ece8;border-radius:99px;overflow:hidden}.sg-mfa-bar{display:block;height:100%;border-radius:99px}
.sg-mfa-0{background:#0f5e4a}.sg-mfa-1{background:#1f8a66}.sg-mfa-2{background:#c99a3b}.sg-mfa-3{background:#b5533c}
.sg-ai{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}
.sg-shot{margin:0}.sg-shot img{width:100%;height:auto;border-radius:16px;border:1px solid var(--line-strong);box-shadow:0 18px 40px rgba(20,35,31,.12)}
.sg-shot figcaption{margin-top:10px;font-size:.86rem;color:var(--sage)}
.sg-rules{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:r}
.sg-rules li{counter-increment:r;position:relative;padding:14px 16px 14px 56px;border:1px solid var(--line-strong);border-radius:14px;background:#fffdf8}
.sg-rules li::before{content:counter(r);position:absolute;left:16px;top:14px;width:26px;height:26px;border-radius:50%;background:#0f5e4a;color:#fff;font-weight:700;font-size:.85rem;display:grid;place-items:center}
.sg-rules h3{font-size:1rem;margin:0 0 4px}.sg-rules p{margin:0;font-size:.92rem}
.sg-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1.2fr auto 1fr;align-items:center;gap:10px}
.sg-flow>.sg-branch{display:grid;gap:10px}
.sg-flow>.sg-node:nth-of-type(3)+.sg-branch{grid-column:auto}
.sg-node{border:1.5px solid #9cc9b6;border-radius:16px;padding:16px;background:#fffdf8;display:grid;gap:4px;justify-items:start}.sg-node .sg-ic{margin:0}
.sg-node strong{font-size:1rem}.sg-node span{font-size:.88rem;color:var(--sage)}
.sg-node-hi{background:#0f5e4a;border-color:#0f5e4a;color:#fff}.sg-node-hi span{color:#d6efe4}.sg-node-hi .sg-ic{color:#bfe8d6}
.sg-arrow{display:grid;justify-items:center;color:#1f8a66;font-size:1.4rem;line-height:1}.sg-arrow span{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sage)}
.sg-tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;position:relative}
.sg-tl li{position:relative;padding-top:26px}
.sg-tl li::before{content:"";position:absolute;top:6px;left:0;right:-14px;height:2px;background:#9cc9b6}
.sg-tl li:last-child::before{right:0}
.sg-tl li::after{content:"";position:absolute;top:0;left:0;width:14px;height:14px;border-radius:50%;background:#fffdf8;border:2px solid #1f8a66}
.sg-tl-now::after{background:#1f8a66!important}
.sg-tl-d{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1f8a66}
.sg-tl h3{font-size:1rem;margin:4px 0}.sg-tl p{font-size:.9rem;margin:0}
.sg-ticks{columns:2;column-gap:28px}.sg-ticks li{break-inside:avoid}
.sg-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.sg-h3{margin:30px 0 14px;font-size:1.2rem}
.sg-table td:first-child{width:170px}.sg-ctl td:last-child{width:220px;color:#0f5e4a;font-weight:500}
.sg-owasp{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.sg-ow{padding:14px}.sg-ow-n{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.08em;color:#1f8a66}.sg-ow h4{margin:4px 0 6px;font-size:.96rem}.sg-ow p{margin:0;font-size:.86rem}
.sg-chips{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px}.sg-chips li{border:1px solid #1f8a66;border-radius:99px;padding:3px 10px;font-size:.84rem;color:#0f5e4a}
.sg-shared table{font-size:.9rem}.sg-shared td:first-child{width:150px}
.sg-claim{border-top:3px solid #b5533c}.sg-pack{border-top:3px solid #0f5e4a}
@media (max-width:1100px){.sg-cards-5,.sg-owasp{grid-template-columns:repeat(3,minmax(0,1fr))}.sg-tl{grid-template-columns:1fr}.sg-tl li{padding:0 0 0 30px}.sg-tl li::before{top:14px;bottom:-14px;left:6px;right:auto;width:2px;height:auto}.sg-tl li:last-child::before{display:none}
 .sg-flow{grid-template-columns:1fr}.sg-arrow{transform:rotate(90deg);height:34px}.sg-arrow span{transform:rotate(-90deg)}}
@media (max-width:1000px){.sg-charts,.sg-ai,.sg-cards-2{grid-template-columns:1fr}.sg-cards-4,.sg-cards-3,.sg-steps{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.sg-cards-5,.sg-cards-4,.sg-cards-3,.sg-steps,.sg-owasp{grid-template-columns:1fr}.sg-ticks{columns:1}.sg-bar-row{grid-template-columns:92px 1fr 78px;gap:8px;font-size:.86rem}.sg-table td:first-child,.sg-ctl td:last-child,.sg-shared td:first-child{width:auto}}

.sg-flow{grid-template-columns:1fr auto 1fr auto 1.15fr auto 1.15fr}
.model-card.sg-chart p.sg-src,.model-card p.sg-src{margin:16px 0 0}
.model-card.sg-chart p.sg-chart-note{margin:18px 0 0}
.sg-donut-row{margin-top:22px}
.sg-shared td,.sg-shared td:last-child{color:inherit;font-weight:400}
@media (max-width:1100px){.sg-flow{grid-template-columns:1fr}}
.sg-arrow i{font-style:normal}
@media (max-width:1100px){.sg-arrow,.sg-arrow span{transform:none}.sg-arrow{display:flex;justify-content:center;align-items:center;gap:8px;height:auto;padding:2px 0}.sg-arrow i{display:inline-block;transform:rotate(90deg)}}
