/* Public acquisition journey. Scoped to the affiliate catalogue. */
.so-book-public{background:#191b21}
.so-book-brand{grid-column:1/-1;justify-self:start;display:block;margin-bottom:8px}
.so-book-brand img{display:block;width:178px;height:auto}
.so-book-intro{overflow:hidden;background:radial-gradient(ellipse at 80% 55%,#30343e 0,transparent 58%),linear-gradient(135deg,#191b21,#191b21);border-bottom:1px solid #191b21}
.so-book-intro__inner{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:22px;max-width:1160px;margin:auto;padding:38px 20px 34px}
.so-book-intro h1{margin:0;color:#f8f8f6;font-size:clamp(32px,3vw,42px);font-weight:750;line-height:1.13;letter-spacing:-1.8px}
.so-book-intro h1 span{color:#e9e9e4}
.so-book-intro__text{max-width:510px;margin:20px 0 25px;color:#cbcdcf;font-size:16px;line-height:1.7}
.so-book-intro__actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.so-book-public .so-book-cta{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:12px 20px;border-radius:9px;background:#191b21;color:#fff;text-decoration:none;font-size:14px;font-weight:750;box-shadow:0 7px 18px #191b2120;transition:background .2s}
.so-book-public .so-book-cta:hover{background:#545a64}
.so-book-public .so-book-text-link{color:#f8f8f6;text-decoration:none;font-size:13px;font-weight:700}
.so-book-text-link:hover{text-decoration:underline}
.so-book-intro__visual{position:relative;min-width:0;text-align:center}
.so-book-intro__visual img{display:block;width:100%;height:auto;max-height:290px;object-fit:contain}
.so-book-public .so-public-letters{padding-top:36px;padding-bottom:40px;scroll-margin-top:16px;background:#fff}
.so-book-process{padding:56px 20px 20px;background:linear-gradient(180deg,#191b21,#191b21);border-top:1px solid #30343e;scroll-margin-top:20px}
.so-book-process__inner{max-width:1120px;margin:auto}
.so-book-process__heading{max-width:650px;margin-bottom:30px}
.so-book-process h2{margin:0 0 14px;color:#f8f8f6;font-size:clamp(26px,2.5vw,34px);line-height:1.2;letter-spacing:-1px}
.so-book-process__heading>p:last-child,.so-book-faq>div>p:last-child{color:#cbcdcf;font-size:14px;line-height:1.7}
.so-book-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.so-book-steps li{padding:24px 20px;background:#191b21;border:1px solid #30343e;border-radius:14px}
.so-book-step-number{display:grid;place-items:center;width:38px;height:38px;margin-bottom:20px;border-radius:11px;background:#30343e;color:#e9e9e4;font-size:14px;font-weight:800}
.so-book-steps h3{margin:0 0 10px;color:#f8f8f6;font-size:16px;line-height:1.35;letter-spacing:-.2px}
.so-book-steps p{margin:0;color:#cbcdcf;font-size:13px;line-height:1.75}
.so-book-process__note{display:flex;align-items:flex-start;gap:12px;margin:20px 0 44px;padding:16px 20px;border:1px solid #30343e;border-radius:10px;background:#191b21;color:#cbcdcf}
.so-book-process__note>span{font-size:20px;line-height:1.5;color:#e9e9e4}
.so-book-process__note p{margin:0;font-size:12px;line-height:1.7}
.so-book-process__note strong{color:#f8f8f6}
.so-book-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;padding-top:10px}
.so-book-faq h2{font-size:28px}
.so-book-faq details{border-bottom:1px solid #30343e}
.so-book-faq summary{position:relative;list-style:none;padding:17px 30px 17px 0;color:#f8f8f6;font-size:14px;font-weight:700;cursor:pointer}
.so-book-faq summary::-webkit-details-marker{display:none}
.so-book-faq summary:after{content:'+';position:absolute;right:5px;top:13px;color:#e9e9e4;font-size:23px;font-weight:500}
.so-book-faq details[open] summary:after{content:'−'}
.so-book-faq details p{margin:0;padding:0 25px 20px 0;color:#cbcdcf;font-size:13px;line-height:1.8}
.so-book-public .so-book-disclosure{max-width:none;margin:25px 0 0;padding:0 0 15px;color:#cbcdcf;font-size:11px}
.so-book-disclosure summary{cursor:pointer;font-weight:650;padding:10px 0}
.so-book-disclosure p{max-width:920px;margin:0;padding:0 0 10px;line-height:1.8}
.so-book-public .so-book-footer{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:32px max(20px,calc((100vw - 1120px)/2));text-align:left;background:#191b21;border-top:1px solid #30343e}
.so-book-public .so-book-footer a{color:#fff;text-decoration:none}
.so-book-footer__brand{display:inline-block}
.so-book-footer__brand img{display:block;width:156px;height:auto;margin-bottom:15px}
.so-book-footer small{display:block;max-width:580px;color:#cbcdcf;font-size:11px;line-height:1.7}
.so-book-footer__guide{font-size:12px;white-space:nowrap}
.so-book-footer__guide:hover{text-decoration:underline!important;text-underline-offset:4px}
.so-book-public a:focus-visible,.so-book-public summary:focus-visible{outline:3px solid #cbcdcf;outline-offset:5px}
@media(max-width:900px){.so-book-intro__inner{gap:0}.so-book-intro h1{font-size:36px}.so-book-intro__text{font-size:14px}.so-book-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.so-book-faq{gap:30px}.so-book-intro__actions{gap:14px}}
@media(max-width:600px){.so-book-brand{margin-bottom:10px}.so-book-brand img{width:156px}.so-book-intro__inner{grid-template-columns:1fr;padding:30px 20px 22px}.so-book-intro h1{font-size:32px;letter-spacing:-1.2px}.so-book-intro__text{margin:16px 0 20px;font-size:14px}.so-book-intro__actions{gap:16px}.so-book-public .so-book-cta{font-size:13px;padding:12px 16px;gap:15px}.so-book-public .so-book-text-link{font-size:12px}.so-book-intro__visual{margin-top:14px}.so-book-intro__visual img{max-height:190px;width:100%;margin:auto}.so-book-public .so-public-letters{padding-top:28px}.so-book-process{padding:36px 20px 15px}.so-book-process__heading{margin-bottom:22px}.so-book-process h2{font-size:27px;letter-spacing:-.6px}.so-book-steps{grid-template-columns:1fr;gap:12px}.so-book-steps li{position:relative;padding:20px 20px 20px 74px}.so-book-step-number{position:absolute;left:20px;top:20px;width:34px;height:34px;margin:0}.so-book-steps h3{font-size:16px;margin-bottom:7px}.so-book-process__note{margin-bottom:30px;padding:14px}.so-book-faq{grid-template-columns:1fr;gap:4px}.so-book-faq summary{font-size:13px}.so-book-public .so-book-footer{align-items:flex-start;flex-direction:column;gap:22px;padding:28px 20px}}
@media(prefers-reduced-motion:reduce){.so-book-public .so-book-cta{transition:none}}

.so-book-public .so-book-feedback{padding-bottom:18px;background:#191b21}
