/* Scoped project hub. Existing site navigation, footer and consent remain intact. */
.ip-page{--ip-ink:#17202a;--ip-muted:#536170;--ip-blue:#314969;--ip-line:#dce2e8;--ip-paper:#f4f6f8;--ip-lime:#e8f2ba}
.ip-main{color:var(--ip-ink);font-family:Onest,Arial,sans-serif;font-size:17px;line-height:1.65}
.ip-main *{box-sizing:border-box}
.ip-wrap{width:min(1160px,calc(100% - 64px));margin:0 auto}
.ip-main h1,.ip-main h2,.ip-main h3,.ip-main p,.ip-main figure{margin:0}
.ip-main h1{font-size:clamp(32px,3.8vw,50px);line-height:1.12;letter-spacing:-.035em;font-weight:750;max-width:820px;color:var(--ip-ink)}
.ip-main h1 em{font-style:normal;color:var(--ip-blue)}
.ip-main h2{font-size:clamp(26px,3vw,38px);line-height:1.18;letter-spacing:-.025em;font-weight:720;color:var(--ip-ink)}
.ip-main h3{font-size:21px;line-height:1.3;font-weight:700;color:var(--ip-ink)}
.ip-main p+p{margin-top:16px}
.ip-main a{color:#2d4d79;text-underline-offset:4px}
.ip-main a:focus-visible,.ip-main button:focus-visible,.ip-main summary:focus-visible,.ip-main input:focus-visible{outline:3px solid #5074aa;outline-offset:4px}
.ip-main [hidden]{display:none!important}
.ip-eyebrow{display:block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;line-height:1.5;font-weight:700;color:var(--ip-muted);margin-bottom:16px}
.ip-lead{font-size:19px;line-height:1.65;max-width:760px;margin-top:22px!important}
.ip-note,.ip-main .ip-form-note{font-size:13px;line-height:1.6;color:var(--ip-muted)}
.ip-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:44px;align-items:center;padding-top:36px;padding-bottom:44px}
.ip-hero-copy{min-width:0}
.ip-hero-copy>.ip-note{margin-top:14px;max-width:470px}
.ip-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px;margin-top:26px}
.ip-main .ip-button{display:inline-flex;align-items:center;justify-content:center;background:var(--ip-ink);border:1px solid var(--ip-ink);color:#fff!important;text-decoration:none;font:650 15px/1.4 Onest,Arial,sans-serif;padding:16px 23px;border-radius:10px;min-height:52px;max-width:100%;cursor:pointer;text-align:center;transition:background .15s}
.ip-main .ip-button:hover{background:#314969;border-color:#314969}
.ip-main .ip-button:disabled{opacity:.65;cursor:wait}
.ip-text-link{font-size:14px;font-weight:600}
.ip-hero-photo{border-radius:22px;overflow:hidden;background:#e5e9ee;position:relative;align-self:stretch;min-height:390px}
.ip-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:51% center}
.ip-hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:70px 26px 26px;color:white;background:linear-gradient(transparent,rgba(12,20,29,.84));font-size:20px;font-weight:650;line-height:1.4}
.ip-hero-photo figcaption small{display:block;font-size:11px;font-weight:450;margin-top:12px;color:#e3e8ed}
.ip-guide-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--ip-line)}
.ip-guide-links a{position:relative;padding:22px 32px 22px 0;text-decoration:none;min-width:0}
.ip-guide-links a+a{padding-left:26px;border-left:1px solid var(--ip-line)}
.ip-guide-links a span{display:block;font-weight:700;font-size:16px;color:var(--ip-ink)}
.ip-guide-links a small{display:block;font-size:12px;color:var(--ip-muted);margin-top:5px;line-height:1.5}
.ip-guide-links a b{position:absolute;right:17px;top:19px;color:var(--ip-blue);font-size:24px;font-weight:400}
.ip-guide-links a[aria-current]{box-shadow:inset 0 -3px 0 #7890c0}
.ip-section{padding:64px 0;scroll-margin-top:92px;border-bottom:1px solid var(--ip-line)}
.ip-editorial{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
.ip-editorial>div>h2+p{margin-top:20px;color:var(--ip-muted)}
.ip-prose{max-width:740px}
.ip-prose ul,.ip-prose ol{padding-left:24px;margin:20px 0}
.ip-prose li+li{margin-top:10px}
.ip-heading{max-width:760px;margin-bottom:30px}
.ip-heading p{margin-top:16px;color:var(--ip-muted)}
.ip-steps{list-style:none;margin:0;padding:0}
.ip-steps>li{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--ip-line)}
.ip-steps>li>span{font-size:34px;line-height:1.2;font-weight:600;color:#7890c0}
.ip-steps p{margin-top:9px;max-width:870px}
.ip-steps a{display:inline-block;font-size:14px;font-weight:600;margin-top:10px}
.ip-example{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin:36px 0;padding:38px;background:var(--ip-paper);border:0;border-radius:20px}
.ip-example>div>p{margin-top:18px;color:var(--ip-muted)}
.ip-passport{margin:0;background:white;padding:12px 26px;border:1px solid var(--ip-line);border-radius:6px;box-shadow:5px 5px 0 #e0e6ec}
.ip-passport>div{padding:13px 0;border-bottom:1px solid var(--ip-line)}
.ip-passport>div:last-child{border-bottom:0}
.ip-passport dt{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--ip-muted)}
.ip-passport dd{margin:5px 0 0;font-size:15px;line-height:1.55}
.ip-download{display:inline-block;margin-top:15px;font-size:15px;font-weight:650}
.ip-workshop{display:grid;grid-template-columns:1.08fr 1fr;gap:44px;background:#edf1f7;border:0;border-radius:22px;padding:40px;margin:24px 0}
.ip-workshop h2+p{margin-top:20px}
.ip-workshop .ip-checks{padding-left:20px;margin:22px 0}
.ip-checks li{margin:8px 0}
.ip-form-card{background:#fff;padding:28px;border:1px solid #d6dfe9;border-radius:14px;align-self:start}
.ip-form-card>h3{margin-bottom:22px}
.ip-form>label:not(.ip-consent){display:block;font-size:13px;font-weight:600;line-height:1.5;margin-bottom:8px}
.ip-form input[type=tel]{width:100%;border:1px solid #bac7d5;border-radius:8px;padding:14px 16px;font:inherit;font-size:18px;color:var(--ip-ink);background:#fff;min-height:52px;box-shadow:none}
.ip-form .ip-form-note{margin-top:12px}
.ip-form .ip-consent{display:flex;align-items:flex-start;gap:9px;margin:20px 0;font-size:12px;line-height:1.55;font-weight:400;color:var(--ip-muted)}
.ip-consent input{flex:0 0 18px;width:18px;height:18px;accent-color:#314969;margin:1px 0 0}
.ip-form .ip-button{width:100%}
.ip-form-status{margin-top:14px!important;font-size:14px;line-height:1.6}
.ip-form-status:empty{display:none}
.ip-form-status[data-state=success]{padding:14px;background:#eff5dc;color:#263518;border-radius:8px}
.ip-form-status[data-state=error]{padding:14px;background:#fff2ef;color:#8b271c;border-radius:8px}
.ip-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ip-help-form{margin-top:24px;border:1px solid var(--ip-line);border-radius:12px;padding:18px 22px}
.ip-help-form summary{font-weight:650;cursor:pointer}
.ip-help-form .ip-form{margin-top:24px;max-width:480px}
.ip-checklist{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.ip-checklist label{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--ip-line);font-size:16px;line-height:1.5;cursor:pointer}
.ip-checklist input{width:20px;height:20px;margin:2px 0 0;flex:0 0 20px;accent-color:#314969}
.ip-check-progress{font-size:13px;color:var(--ip-muted);grid-column:1/-1;margin-top:16px!important}
.ip-faq h2{margin-bottom:24px}
.ip-faq details{border-top:1px solid var(--ip-line);padding:0}
.ip-faq summary{padding:20px 28px 20px 0;font-size:18px;font-weight:600;line-height:1.45;cursor:pointer}
.ip-faq details p{max-width:870px;padding:0 0 20px}
.ip-faq details p+p{margin-top:0}
.ip-sources{padding:32px 0;color:var(--ip-muted);font-size:13px;line-height:1.7}
.ip-sources p{margin:8px 0 10px}
.ip-sources small{font-size:12px}
.ip-bottom-link{padding:10px 0 55px;font-weight:650;font-size:16px}
.ip-article-hero{padding:50px 0 42px;max-width:900px}
.ip-article-hero .ip-text-link{display:inline-block;margin-top:20px}
.ip-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ip-filters button{padding:11px 16px;min-height:44px;background:#fff;border:1px solid #cbd4df;border-radius:8px;color:var(--ip-blue);font:600 14px/1.4 Onest,Arial,sans-serif;cursor:pointer}
.ip-filters button[aria-pressed=true]{background:var(--ip-blue);color:#fff;border-color:var(--ip-blue)}
.ip-topics{margin-top:20px}
.ip-topic{display:grid;grid-template-columns:64px 1fr;gap:26px;padding:28px 0;border-top:1px solid var(--ip-line)}
.ip-topic-num{font-size:32px;line-height:1.4;color:#7890c0;font-weight:600}
.ip-topic .ip-eyebrow{margin-bottom:8px}
.ip-topic h3{font-size:24px;max-width:870px}
.ip-topic dl{display:grid;grid-template-columns:175px 1fr;gap:10px 18px;margin:20px 0 0;font-size:15px;line-height:1.6}
.ip-topic dt{font-weight:650;color:var(--ip-muted)}
.ip-topic dd{margin:0;max-width:700px}
.ip-paper-list{list-style:none;counter-reset:line;padding:6px 28px;margin:0;background:#f7f7f2;border:1px solid #e3e5db;border-radius:8px}
.ip-paper-list li{display:flex;flex-direction:column;border-bottom:1px solid #dedfd4;padding:18px 0}
.ip-paper-list li:last-child{border:0}
.ip-paper-list li span{font-size:15px;color:var(--ip-muted);margin-top:5px}
.ip-slides{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 38px}
.ip-slides li{display:flex;gap:18px;padding:24px 0;border-top:1px solid var(--ip-line)}
.ip-slides b{font-size:14px;font-weight:600;background:var(--ip-lime);min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ip-ink)}
.ip-slides p{font-size:16px;margin-top:9px;color:var(--ip-muted)}
.ip-speech{padding:26px;background:white;border:1px solid var(--ip-line);border-radius:8px;font-size:17px}
.ip-speech small{display:block;font-size:12px;color:var(--ip-muted);margin-top:20px}
@media(max-width:900px){.ip-wrap{width:calc(100% - 40px)}.ip-hero{gap:28px;grid-template-columns:1.1fr .9fr}.ip-hero-photo{min-height:390px}.ip-hero-photo figcaption{font-size:17px;padding:60px 20px 22px}.ip-editorial{grid-template-columns:1fr;gap:25px}.ip-workshop{gap:28px;padding:28px}.ip-example{gap:28px;padding:28px}.ip-main h1{font-size:38px}.ip-main h2{font-size:31px}.ip-guide-links a small{font-size:11px}.ip-guide-links a span{font-size:14px}.ip-guide-links a+a{padding-left:16px}.ip-topic dl{grid-template-columns:145px 1fr}}
@media(max-width:640px){.ip-main{font-size:16px}.ip-wrap{width:calc(100% - 36px)}.ip-hero{display:flex;flex-direction:column;gap:24px;padding:25px 0 30px}.ip-main h1{font-size:32px;line-height:1.13}.ip-main h2{font-size:28px}.ip-main h3{font-size:20px}.ip-lead{font-size:16px;margin-top:18px!important}.ip-eyebrow{font-size:11px;margin-bottom:12px}.ip-actions{gap:14px;margin-top:20px}.ip-actions .ip-button{width:100%;font-size:14px;padding:14px 12px}.ip-hero-copy>.ip-note{font-size:12px}.ip-hero-photo{min-height:270px;width:100%;border-radius:16px}.ip-hero-photo figcaption{font-size:17px}.ip-guide-links{grid-template-columns:1fr}.ip-guide-links a,.ip-guide-links a+a{padding:17px 32px 17px 0;border-left:0;border-bottom:1px solid var(--ip-line)}.ip-guide-links a span{font-size:15px}.ip-guide-links a small{font-size:12px}.ip-guide-links a[aria-current]{box-shadow:none}.ip-guide-links a[aria-current] span{color:#5074aa}.ip-section{padding:40px 0}.ip-example,.ip-workshop{display:grid;grid-template-columns:1fr;margin:20px 0;padding:24px 20px;border-radius:16px;gap:24px}.ip-form-card{padding:22px 18px}.ip-workshop h2 br{display:none}.ip-checklist{grid-template-columns:1fr}.ip-steps>li{grid-template-columns:40px 1fr;gap:15px}.ip-steps>li>span{font-size:27px}.ip-steps h3{font-size:19px}.ip-steps p{font-size:15px}.ip-article-hero{padding:30px 0}.ip-topic{grid-template-columns:34px 1fr;gap:12px;padding:24px 0}.ip-topic-num{font-size:24px}.ip-topic h3{font-size:21px}.ip-topic dl{display:block;font-size:15px}.ip-topic dt{margin-top:15px;font-size:12px}.ip-topic dd{margin-top:3px}.ip-filters{gap:6px}.ip-filters button{font-size:12px;padding:10px 12px}.ip-slides{grid-template-columns:1fr}.ip-faq summary{font-size:17px}.ip-faq details p{font-size:15px}.ip-passport{padding:10px 18px}.ip-speech{padding:20px}.ip-paper-list{padding:4px 20px}.ip-bottom-link{font-size:15px}.ip-help-form{padding:18px}.ip-form .ip-consent{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ip-main *{scroll-behavior:auto!important;transition:none!important}}
