/* SWIN investment editorial collection. Scoped to the new section and home feature. */
.page-investment { --inv-accent:#2564d9; --inv-soft:#e9f1ff; --inv-deep:#173b7c; background:#fffdfa; }
.page-investment.inv-terracotta { --inv-accent:#ba573e; --inv-soft:#f8eae1; --inv-deep:#703823; }
.page-investment.inv-violet { --inv-accent:#7458ad; --inv-soft:#eee9f8; --inv-deep:#38275d; }
.page-investment .breadcrumb { padding-top:24px; }
.inv-shell { overflow:hidden; }
.inv-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:clamp(40px,5vw,80px); align-items:center; padding-top:74px; padding-bottom:80px; }
.inv-kicker,.inv-section-number { margin:0 0 22px; color:var(--inv-accent); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.inv-hero h1 { max-width:770px; margin:0 0 28px; font-size:clamp(49px,5vw,79px); line-height:.98; letter-spacing:-.062em; font-weight:870; overflow-wrap:normal; }
.inv-lead { max-width:650px; margin:0; color:#3a4a5c; font-size:clamp(18px,1.65vw,21px); line-height:1.62; }
.inv-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:38px; }
.inv-button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:58px; padding:15px 23px; border-radius:8px; background:var(--inv-accent); color:#fff; font-size:14px; font-weight:800; transition:transform .2s ease,box-shadow .2s ease; }
.inv-button:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(20,30,50,.18); }
.inv-text-link { color:var(--inv-deep); font-size:13px; font-weight:850; border-bottom:1px solid currentColor; }
.inv-visual { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:540px; padding:32px; overflow:hidden; border-radius:8px 130px 8px 8px; background:var(--inv-soft); color:var(--inv-deep); }
.inv-visual::before { content:""; position:absolute; width:390px; height:390px; left:-120px; top:90px; border:1px solid currentColor; border-radius:50%; opacity:.2; }
.inv-visual::after { content:""; position:absolute; width:280px; height:280px; right:-60px; top:130px; border:36px solid currentColor; border-radius:50%; opacity:.08; }
.inv-visual-index,.inv-visual-footer { position:relative; z-index:1; font-size:10px; font-weight:900; letter-spacing:.17em; }
.inv-visual strong { position:relative; z-index:1; max-width:390px; font-size:clamp(36px,3.7vw,55px); line-height:1.04; letter-spacing:-.055em; }
.inv-visual-lines { position:absolute; inset:0; display:flex; align-items:stretch; justify-content:space-evenly; opacity:.16; }
.inv-visual-lines span { border-left:1px solid currentColor; transform:rotate(18deg); }
.inv-visual-footer { display:flex; align-items:center; gap:12px; }
.inv-visual-footer i { flex:1; max-width:70px; border-top:1px solid currentColor; }
.inv-alt .inv-hero-copy { order:2; }
.inv-alt .inv-visual { order:1; border-radius:130px 8px 8px 8px; }
.inv-scope-strip { display:grid; grid-template-columns:repeat(3,1fr); padding:0 0 24px; border-bottom:1px solid #cbd2d8; }
.inv-scope-strip span { padding:9px 18px; border-left:2px solid var(--inv-accent); font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.inv-scope-strip span:first-child { padding-left:0; border-left:0; }
.inv-intro { display:grid; grid-template-columns:180px minmax(0,1fr); gap:64px; padding-top:110px; padding-bottom:110px; }
.inv-intro h2,.inv-split h2,.inv-approach h2,.inv-questions h2,.inv-faq-section h2,.inv-related h2,.inv-contact h2 { max-width:760px; font-size:clamp(36px,3.8vw,56px); line-height:1.07; letter-spacing:-.052em; }
.inv-audience { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:42px 0 0; padding:0; list-style:none; }
.inv-audience li { padding:24px 24px 24px 0; border-top:2px solid var(--inv-accent); color:#394b59; font-size:16px; line-height:1.5; }
.inv-split { padding:100px 0; background:var(--inv-soft); }
.inv-split-grid { display:grid; grid-template-columns:1.05fr .8fr; gap:9%; align-items:end; }
.inv-split-grid h2 { margin:0; }
.inv-split-grid > p { margin:0; max-width:530px; color:#334354; font-size:19px; line-height:1.72; }
.inv-approach { padding-top:110px; padding-bottom:110px; }
.inv-approach-grid { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:start; }
.inv-approach-grid h2 { margin:0; }
.inv-approach-grid p { margin:0; color:#3b4c5b; font-size:18px; line-height:1.75; }
.inv-deliverables { display:grid; grid-template-columns:180px minmax(0,1fr); gap:64px; margin-top:95px; border-top:1px solid #d1d8df; padding-top:25px; }
.inv-deliverables h3 { margin:0; font-size:13px; letter-spacing:.02em; }
.inv-deliverables ul { display:grid; grid-template-columns:repeat(2,1fr); gap:0 26px; padding:0; margin:0; list-style:none; }
.inv-deliverables li { display:flex; gap:18px; padding:22px 0; border-bottom:1px solid #d1d8df; color:#273848; font-size:16px; font-weight:680; }
.inv-deliverables li span { color:var(--inv-accent); }
.inv-questions { padding:90px 0; background:#f5f3ee; }
.inv-questions-grid { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.inv-questions ol { margin:0; padding:0; list-style:none; counter-reset:question; }
.inv-questions li { display:flex; gap:22px; padding:20px 0; border-top:1px solid #c9ced0; color:#263949; font-size:18px; font-weight:700; }
.inv-questions li::before { counter-increment:question; content:"0" counter(question); color:var(--inv-accent); font-size:12px; font-weight:900; }
.inv-faq-section { padding-top:110px; padding-bottom:110px; }
.inv-faq-list { max-width:950px; margin-top:50px; border-top:1px solid #cbd2d8; }
.inv-faq { border-bottom:1px solid #cbd2d8; }
.inv-faq summary { position:relative; cursor:pointer; padding:25px 45px 25px 0; color:#17293b; font-size:19px; font-weight:750; list-style:none; }
.inv-faq summary::-webkit-details-marker { display:none; }
.inv-faq summary::after { content:"+"; position:absolute; right:10px; color:var(--inv-accent); }
.inv-faq[open] summary::after { content:"−"; }
.inv-faq p { max-width:790px; margin:0 0 28px; color:#4c5b66; font-size:16px; }
.inv-related { padding-top:90px; padding-bottom:100px; border-top:1px solid #d2d9df; }
.inv-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:43px; }
.inv-related-grid a { min-height:165px; display:flex; justify-content:space-between; align-items:flex-end; gap:12px; padding:24px; border:1px solid #cbd3d9; border-radius:6px; color:#1d3344; font-size:20px; font-weight:800; line-height:1.2; transition:background .2s ease,transform .2s ease; }
.inv-related-grid a:hover { background:var(--inv-soft); transform:translateY(-3px); }
.inv-related-grid a span:last-child { color:var(--inv-accent); }
.inv-contact { padding:100px 0; background:#173449; color:#fff; }
.inv-contact-grid { display:grid; grid-template-columns:1.25fr .7fr; gap:12%; }
.inv-contact .inv-section-number { color:#9fd0ff; }
.inv-contact h2 { margin:0; color:#fff; }
.inv-contact-grid > div:last-child { align-self:end; }
.inv-contact p:not(.inv-section-number) { color:#d8e3e9; }
.inv-button-light { margin-top:15px; background:#fff; color:#173449; }
.inv-phone { display:block; margin-top:18px; color:#d8e3e9; font-size:13px; }
.inv-home-feature { padding:110px 0; background:#f1f5f8; }
.inv-home-top { display:grid; grid-template-columns:1fr .65fr; gap:4% 10%; align-items:end; }
.inv-home-top .eyebrow { grid-column:1/-1; margin-bottom:0; }
.inv-home-top h2 { max-width:750px; margin:0; }
.inv-home-top > p:last-child { max-width:480px; margin:0; color:#445469; }
.inv-home-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:50px; }
.inv-home-grid a { position:relative; min-height:270px; display:flex; flex-direction:column; align-items:flex-start; padding:26px; border:1px solid #cbd7e0; border-radius:5px; background:#fff; transition:transform .2s ease,box-shadow .2s ease; }
.inv-home-grid a:hover { transform:translateY(-4px); box-shadow:0 14px 35px rgba(20,40,60,.1); }
.inv-home-grid a:nth-child(2) { background:#f8eee9; }
.inv-home-grid a:nth-child(3) { background:#ede9f8; }
.inv-home-grid span { color:#54677e; font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.inv-home-grid strong { margin-top:auto; color:#122b42; font-size:clamp(28px,2.7vw,38px); line-height:1.05; letter-spacing:-.04em; }
.inv-home-grid small { max-width:270px; margin-top:12px; color:#4b5d6f; font-size:14px; line-height:1.5; }
.inv-home-grid b { position:absolute; right:25px; bottom:25px; font-size:21px; }
.inv-home-all { display:inline-block; margin-top:29px; padding-bottom:5px; border-bottom:1px solid #274869; color:#173449; font-size:14px; font-weight:850; }
@media (max-width:900px) { .inv-hero { grid-template-columns:1fr; padding-top:55px; } .inv-alt .inv-hero-copy { order:1; } .inv-alt .inv-visual { order:2; } .inv-visual { min-height:390px; } .inv-intro,.inv-deliverables { grid-template-columns:1fr; gap:14px; } .inv-split-grid,.inv-approach-grid,.inv-questions-grid,.inv-contact-grid,.inv-home-top { grid-template-columns:1fr; gap:25px; } .inv-home-top .eyebrow { grid-column:1; } }
@media (max-width:700px) { .inv-hero { padding-bottom:50px; } .inv-hero h1 { font-size:clamp(43px,10vw,62px); } .inv-visual { min-height:310px; padding:24px; border-radius:6px 90px 6px 6px; } .inv-visual strong { font-size:37px; } .inv-scope-strip { grid-template-columns:1fr; gap:0; } .inv-scope-strip span { padding:10px 0; border-left:0; border-bottom:1px solid #d6dce1; } .inv-intro,.inv-split,.inv-approach,.inv-questions,.inv-faq-section,.inv-related,.inv-contact,.inv-home-feature { padding-top:70px; padding-bottom:70px; } .inv-audience,.inv-deliverables ul,.inv-related-grid,.inv-home-grid { grid-template-columns:1fr; } .inv-audience { gap:0; margin-top:25px; } .inv-audience li { padding:17px 0; } .inv-deliverables { margin-top:55px; } .inv-faq summary { font-size:17px; } .inv-related-grid a { min-height:110px; } .inv-home-grid a { min-height:220px; } }
@media (prefers-reduced-motion:reduce) { .inv-button,.inv-related-grid a,.inv-home-grid a { transition:none; } }
