body:has(#ip-portal) .wp-site-blocks .wp-block-group:has(#ip-portal){padding:0!important;margin:0!important;max-width:none!important}
body:has(#ip-portal){background:#f5f6fa}body:has(#ip-portal) .wp-site-blocks>header,body:has(#ip-portal) .wp-site-blocks>footer,body:has(#ip-portal) .wp-block-post-title{display:none}body:has(#ip-portal) .wp-site-blocks{padding:0}body:has(#ip-portal) main{margin:0!important;padding:0!important}body:has(#ip-portal) .entry-content,body:has(#ip-portal) .wp-block-post-content{max-width:none!important;margin:0!important}#ip-portal{width:100%;max-width:none;font-family:system-ui,-apple-system,sans-serif;color:#18213b;line-height:1.55;background:#f5f6fa}#ip-portal *{box-sizing:border-box}#ip-portal a{color:inherit;text-decoration:none}#ip-portal a:hover{text-decoration:underline}#ip-portal a:focus-visible,#ip-portal input:focus-visible,#ip-portal button:focus-visible{outline:3px solid #f5ad47;outline-offset:4px}#ip-portal h1,#ip-portal h2,#ip-portal h3,#ip-portal p{margin:0}#ip-portal .wrap{max-width:1200px;margin:auto;padding:0 28px}#ip-portal .utility{border-bottom:1px solid #e0e4ed;background:#fff;font-size:12px;color:#62708a}#ip-portal .utility .wrap{display:flex;justify-content:space-between;padding-top:10px;padding-bottom:10px;gap:16px}#ip-portal .languages{display:flex;gap:14px}#ip-portal .languages strong{color:#2654d8}#ip-portal .masthead{background:#fff;border-bottom:1px solid #e0e4ed}#ip-portal .masthead .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:24px;padding-bottom:24px}#ip-portal .brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:850;letter-spacing:-1.4px}#ip-portal .pixel{display:grid;grid-template-columns:repeat(2,9px);gap:3px;transform:rotate(-8deg)}#ip-portal .pixel i{height:9px;background:#315be8;border-radius:2px}#ip-portal .pixel i:last-child{background:#8edbc9}#ip-portal nav{display:flex;gap:28px;font-size:14px;font-weight:650}#ip-portal .pill{padding:9px 15px;border:1px solid #dce2f1;border-radius:99px;font-size:12px;color:#53617d}#ip-portal .hero{padding-top:60px;padding-bottom:58px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}#ip-portal .eyebrow{text-transform:uppercase;color:#315be8;letter-spacing:2px;font-size:11px;font-weight:800;margin-bottom:18px}#ip-portal h1{font-size:clamp(38px,4.8vw,66px);line-height:1.07;letter-spacing:-3px;font-weight:800;max-width:650px}#ip-portal h1 em{font-style:normal;color:#315be8}#ip-portal .intro{font-size:16px;color:#62708a;max-width:470px;margin:22px 0 28px}#ip-portal .actions{display:flex;gap:12px;flex-wrap:wrap}#ip-portal .button{display:inline-flex;padding:13px 20px;border-radius:9px;font-size:13px;font-weight:700;background:#315be8;color:white;align-items:center;gap:16px}#ip-portal .button.secondary{background:white;color:#26334f;border:1px solid #dce2f1}#ip-portal .hero-art{background:#172342;border-radius:24px;min-height:350px;padding:30px;position:relative;overflow:hidden;box-shadow:0 20px 50px #263a6a15}#ip-portal .hero-art:before{content:'';position:absolute;width:250px;height:250px;border-radius:50%;border:55px solid #284277;right:-90px;top:-100px}#ip-portal .art-top{color:#a7b7d8;font-size:11px;letter-spacing:2px;text-transform:uppercase;position:relative}#ip-portal .art-title{color:white;font-size:29px;line-height:1.2;font-weight:750;letter-spacing:-1px;max-width:290px;margin:18px 0 25px}#ip-portal .art-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}#ip-portal .mini{border-radius:12px;background:#e7edff;padding:18px;min-height:100px}#ip-portal .mini:last-child{background:#bcebdc;transform:translateY(15px)}#ip-portal .mini b{display:block;font-size:26px;letter-spacing:-1px;margin-bottom:5px}#ip-portal .mini span{font-size:12px;color:#4d5d7d}#ip-portal .section{padding-top:38px;padding-bottom:42px}#ip-portal .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}#ip-portal .section-head h2{font-size:27px;letter-spacing:-1px;font-weight:760}#ip-portal .muted{color:#6c7891;font-size:13px}#ip-portal .categories{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}#ip-portal .category{display:block;background:#fff;border:1px solid #e1e6f0;border-radius:12px;padding:20px 16px;transition:transform .2s,border-color .2s}#ip-portal .category:hover{transform:translateY(-4px);border-color:#315be8;text-decoration:none}#ip-portal .symbol{display:flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:10px;background:var(--tint,#edf1ff);color:var(--ink,#315be8);font-size:20px;font-weight:700;margin-bottom:18px}#ip-portal .category h3{font-size:13px;margin-bottom:5px}#ip-portal .category p{font-size:11px;color:#77829a}#ip-portal .editorial{background:white;border-top:1px solid #e4e8f1;border-bottom:1px solid #e4e8f1;padding:42px 0}#ip-portal .editorial-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:26px}#ip-portal .feature{display:grid;grid-template-columns:.85fr 1fr;overflow:hidden;border:1px solid #e1e6f0;border-radius:16px;background:#fff}#ip-portal .formula{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;background:#e7edff;color:#315be8;padding:25px}#ip-portal .formula strong{font-size:64px;letter-spacing:-4px;line-height:1}#ip-portal .formula span{font-size:15px;margin-top:18px;font-weight:650}#ip-portal .feature-copy{padding:28px}#ip-portal .label{display:inline-block;color:#315be8;background:#edf1ff;border-radius:5px;padding:4px 8px;font-size:10px;font-weight:750;letter-spacing:.6px;text-transform:uppercase}#ip-portal .feature h3{font-size:23px;line-height:1.25;letter-spacing:-.8px;margin:16px 0 12px}#ip-portal .feature p{font-size:13px;color:#6c7891;margin-bottom:22px}#ip-portal .read{font-size:12px;font-weight:750;color:#315be8}#ip-portal .side-note{background:#f5f8f7;border:1px solid #e0e9e5;border-radius:16px;padding:28px}#ip-portal .side-note h3{font-size:22px;letter-spacing:-.7px;margin:15px 0 14px}#ip-portal .side-note p{font-size:14px;color:#62736c}#ip-portal .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}#ip-portal .tag{padding:6px 10px;border:1px solid #dae2dd;border-radius:6px;font-size:11px;color:#53665c;background:#fff}#ip-portal .tools{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}#ip-portal .tool{background:white;border:1px solid #e1e6f0;border-radius:14px;padding:24px}#ip-portal .tool-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}#ip-portal .tool .symbol{margin:0;font-size:17px}#ip-portal .status{font-size:10px;font-weight:650;color:#63728f;background:#f1f4fa;border-radius:99px;padding:5px 9px}#ip-portal .tool h3{font-size:17px;letter-spacing:-.4px;margin-bottom:10px}#ip-portal .tool p{font-size:13px;color:#6c7891;min-height:45px}#ip-portal .tool small{display:block;border-top:1px solid #edf0f5;margin-top:20px;padding-top:14px;font-size:11px;color:#7b87a0}#ip-portal .bottom-banner{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#e7edff;border-radius:16px;padding:30px 36px;margin-top:18px;margin-bottom:50px}#ip-portal .bottom-banner h2{font-size:22px;letter-spacing:-.7px}#ip-portal .bottom-banner p{font-size:13px;color:#62708a;margin-top:5px}#ip-portal footer{background:#fff;border-top:1px solid #e0e4ed;padding:34px 0}#ip-portal .foot-top{display:flex;justify-content:space-between;gap:30px;align-items:start}#ip-portal .foot-copy{font-size:12px;color:#7b87a0;max-width:330px;margin-top:10px}#ip-portal .foot-links{display:flex;gap:24px;font-size:12px;color:#62708a}#ip-portal .foot-end{border-top:1px solid #edf0f5;margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#8a94a8}#ip-portal section[id]{scroll-margin-top:30px}@media(max-width:1000px){#ip-portal .categories{grid-template-columns:repeat(3,1fr)}#ip-portal .hero{gap:30px}#ip-portal .editorial-grid{grid-template-columns:1fr}#ip-portal nav{gap:16px}#ip-portal .pill{display:none}}@media(max-width:650px){#ip-portal .wrap{padding:0 20px}#ip-portal .utility .wrap{font-size:10px;padding-top:9px;padding-bottom:9px}#ip-portal .masthead .wrap{flex-wrap:wrap;gap:20px;padding-top:20px;padding-bottom:16px}#ip-portal nav{width:100%;justify-content:space-between;gap:12px;font-size:12px}#ip-portal .brand{font-size:25px}#ip-portal .hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:30px;gap:30px}#ip-portal h1{letter-spacing:-1.8px;font-size:44px}#ip-portal .hero-art{min-height:310px;padding:25px}#ip-portal .categories{grid-template-columns:repeat(2,1fr)}#ip-portal .section{padding-top:28px;padding-bottom:30px}#ip-portal .section-head{align-items:start;flex-direction:column;gap:6px}#ip-portal .section-head h2{font-size:24px}#ip-portal .feature{grid-template-columns:1fr}#ip-portal .formula{min-height:170px}#ip-portal .tools{grid-template-columns:1fr}#ip-portal .tool p{min-height:0}#ip-portal .bottom-banner{flex-direction:column;align-items:start;padding:25px;margin-bottom:30px}#ip-portal .foot-top,#ip-portal .foot-end{flex-direction:column;gap:20px}#ip-portal .foot-links{flex-wrap:wrap}}


html:has(#ip-portal){margin-top:0!important}body:has(#ip-portal){margin:0!important;padding:0!important}body:has(#ip-portal) #wpadminbar{display:none!important}body:has(#ip-portal) .wp-site-blocks,body:has(#ip-portal) main,body:has(#ip-portal) .entry-content,body:has(#ip-portal) .wp-block-post-content,body:has(#ip-portal) .wp-block-group:has(#ip-portal){padding:0!important;margin:0!important;max-width:none!important}#ip-portal{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;min-height:100vh}#ip-portal>.site-top{position:sticky;top:0;z-index:50}#ip-portal .theme-toggle{background:#edf1ff;color:#254cc2;border:1px solid #dbe3f5;border-radius:999px;min-width:40px;min-height:36px;padding:6px 12px;font:600 12px system-ui;cursor:pointer}#ip-portal .masthead .wrap{gap:20px}#ip-portal .internal{padding-top:40px;padding-bottom:60px;min-height:65vh}#ip-portal .breadcrumb{font-size:12px;color:#6c7891;margin-bottom:22px;display:flex;gap:8px;flex-wrap:wrap}#ip-portal .internal h1{font-size:clamp(32px,4vw,50px);letter-spacing:-1.5px;max-width:900px}#ip-portal .internal .lead{font-size:17px;color:#62708a;max-width:780px;margin:20px 0 30px}#ip-portal .reading{max-width:800px;background:#fff;border:1px solid #e1e6f0;border-radius:18px;padding:36px;margin:30px 0}#ip-portal .reading h2{font-size:24px;letter-spacing:-.7px;margin:30px 0 14px}#ip-portal .reading h2:first-child{margin-top:0}#ip-portal .reading p{font-size:16px;color:#53617d;margin:0 0 18px}#ip-portal .reading a{color:#315be8;text-decoration:underline}#ip-portal .tags a.tag{display:inline-block}#ip-portal .empty{background:#fff;border:1px dashed #cad3e4;border-radius:16px;padding:32px;margin:25px 0}#ip-portal .empty h2{font-size:22px;margin-bottom:12px}#ip-portal .empty p{color:#62708a;font-size:14px;margin-bottom:20px}#ip-portal .internal .categories{margin-top:25px}#ip-portal .related{margin-top:40px}#ip-portal .related h2{font-size:24px;margin-bottom:20px}#ip-portal .ad-space{min-height:90px;border:1px dashed #d6dfed;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#8a94a8;font-size:10px;letter-spacing:1.5px;margin:30px 0;background:#f8f9fc}#ip-portal[data-theme=dark]{background:#0e1119;color:#e8ecf6;color-scheme:dark}body:has(#ip-portal[data-theme=dark]){background:#0e1119}#ip-portal[data-theme=dark] .utility,#ip-portal[data-theme=dark] .masthead,#ip-portal[data-theme=dark] footer,#ip-portal[data-theme=dark] .editorial{background:#141924;border-color:#2b3344}#ip-portal[data-theme=dark] .category,#ip-portal[data-theme=dark] .tool,#ip-portal[data-theme=dark] .feature,#ip-portal[data-theme=dark] .reading,#ip-portal[data-theme=dark] .empty{background:#181f2c;border-color:#303b50}#ip-portal[data-theme=dark] .side-note{background:#172721;border-color:#304a3e}#ip-portal[data-theme=dark] .bottom-banner,#ip-portal[data-theme=dark] .formula{background:#192a4b}#ip-portal[data-theme=dark] .intro,#ip-portal[data-theme=dark] .muted,#ip-portal[data-theme=dark] .feature p,#ip-portal[data-theme=dark] .tool p,#ip-portal[data-theme=dark] .category p,#ip-portal[data-theme=dark] .lead,#ip-portal[data-theme=dark] .reading p,#ip-portal[data-theme=dark] .foot-copy,#ip-portal[data-theme=dark] .foot-links,#ip-portal[data-theme=dark] .breadcrumb,#ip-portal[data-theme=dark] .empty p,#ip-portal[data-theme=dark] .bottom-banner p{color:#aab6cc}#ip-portal[data-theme=dark] h1 em,#ip-portal[data-theme=dark] .read,#ip-portal[data-theme=dark] .reading a,#ip-portal[data-theme=dark] .languages strong{color:#8caaff}#ip-portal[data-theme=dark] .tag,#ip-portal[data-theme=dark] .button.secondary,#ip-portal[data-theme=dark] .status,#ip-portal[data-theme=dark] .theme-toggle{background:#222d42;color:#c0d0f4;border-color:#3a4862}#ip-portal[data-theme=dark] .side-note p{color:#b0cbbf}#ip-portal[data-theme=dark] .tool small,#ip-portal[data-theme=dark] .foot-end{color:#98a8c2;border-color:#303b50}#ip-portal[data-theme=dark] .ad-space{background:#121925;border-color:#303b50;color:#98a8c2}@media(max-width:650px){#ip-portal .reading{padding:23px}#ip-portal .internal{padding-top:28px;padding-bottom:35px}#ip-portal .theme-toggle{margin-left:auto}#ip-portal .masthead nav{order:3}#ip-portal .masthead .wrap{gap:16px}}

body:has(#ip-portal) #ip-portal main.wrap.internal{max-width:1200px!important;margin:0 auto!important;padding:40px 28px 60px!important}#ip-portal[data-theme=dark] .utility{color:#aab6cc}#ip-portal[data-theme=dark] #ip-tools section{background:#181f2c;color:#e8ecf6;border-color:#303b50}#ip-portal[data-theme=dark] #ip-tools input,#ip-portal[data-theme=dark] #ip-tools textarea{background:#111722;color:#e8ecf6;border-color:#5c6b86}@media(max-width:650px){body:has(#ip-portal) #ip-portal main.wrap.internal{padding:28px 20px 35px!important}}

#ip-portal .art-title{position:relative;z-index:1}#ip-portal .mini{color:#18213b}#ip-portal[data-theme=dark] .mini{color:#18213b}

#ip-portal .language-menu{position:relative;z-index:70}#ip-portal .language-menu summary{cursor:pointer;list-style:none;border:1px solid #dce2f1;border-radius:999px;padding:5px 12px;font-weight:650}#ip-portal .language-menu summary::-webkit-details-marker{display:none}#ip-portal .language-options{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;background:#fff;border:1px solid #dce2f1;box-shadow:0 12px 32px #101a3525;border-radius:12px;padding:7px;display:grid;gap:3px}#ip-portal .language-options a{padding:9px 12px;border-radius:7px}#ip-portal .language-options a:hover,#ip-portal .language-options a[aria-current]{background:#edf1ff;color:#315be8}#ip-portal[data-theme=dark] .language-options{background:#181f2c;border-color:#35425a}#ip-portal[data-theme=dark] .language-menu summary{border-color:#35425a}#ip-portal[data-theme=dark] .language-options a:hover,#ip-portal[data-theme=dark] .language-options a[aria-current]{background:#222d42;color:#c0d0f4}#ip-portal a.tool{display:block;transition:transform .18s,border-color .18s}#ip-portal a.tool:hover{transform:translateY(-3px);border-color:#4562dd;text-decoration:none}#ip-portal a.tool .read{display:block;margin-top:20px}

#ip-portal .reading:has(#ip-tool-app),#ip-portal .reading:has(.tools){max-width:1100px;background:transparent;border:0;padding:0}#ip-portal .reading #ip-tool-app .note{font-size:12px}#ip-portal .reading #ip-tool-app .help p{font-size:14px}

#ip-portal .reading a.tool{color:inherit;text-decoration:none}#ip-portal .reading a.tool h2{font-family:system-ui,-apple-system,sans-serif;font-weight:750;letter-spacing:-.6px}#ip-portal .reading a.tool .read{color:#4562dd}#ip-portal[data-theme=dark] .reading a.tool .read{color:#a2b7ff}

/* Shared visual refinement: centered composition and clear, colorful actions. */
#ip-portal{--action:#3857db;--action-hover:#2844be;--mint:#087f69;--violet:#7650d8}
#ip-portal .internal>h1{max-width:900px;margin:12px auto 0!important;text-align:center;font-size:clamp(30px,3.6vw,44px);line-height:1.12}
#ip-portal .internal>.breadcrumb{justify-content:center;margin-bottom:14px}
#ip-portal .internal>.tags{justify-content:center}
#ip-portal .internal>.muted{text-align:center;margin-top:10px!important;font-size:11px}
#ip-portal .internal>.reading{margin:22px auto}
#ip-portal .reading>.lead{max-width:740px;margin:0 auto 22px;text-align:center;font-size:16px;line-height:1.6}
#ip-portal .reading:has(#ip-tool-app),#ip-portal .reading:has(.tools){max-width:1040px;background:transparent;border:0;padding:0}
#ip-portal #ip-tool-app{max-width:1040px;margin:18px auto}
#ip-portal #ip-tool-app .tool-grid{grid-template-columns:minmax(0,1fr) 250px;gap:16px}
#ip-portal #ip-tool-app .workspace,#ip-portal #ip-tool-app .help{padding:22px;border-radius:18px}
#ip-portal #ip-tool-app .workspace{box-shadow:0 10px 32px #233e7810;border-top:4px solid #526ee6}
#ip-portal #ip-tool-app .help{background:#edf8f5;border-color:#cde9e0}
#ip-portal #ip-tool-app .help h2{color:#08745f;font-size:18px;margin-bottom:12px}
#ip-portal #ip-tool-app .help p{font-size:13px;margin:9px 0;line-height:1.6}
#ip-portal #ip-tool-app textarea{min-height:155px}
#ip-portal #ip-tool-app input,#ip-portal #ip-tool-app select{padding:10px 13px}
#ip-portal #ip-tool-app .field{margin-bottom:14px}
#ip-portal #ip-tool-app .controls{margin:14px 0;gap:9px}
#ip-portal #ip-tool-app .feedback:empty{display:none}
#ip-portal #ip-tool-app .result{padding:18px;background:#e9f5ef;border:1px solid #c4e4d4}
#ip-portal #ip-tool-app .result strong{color:#08745f;font-size:36px}
#ip-portal #ip-tool-app button{min-height:44px;border-radius:11px;transition:transform .16s,box-shadow .16s,background .16s}
#ip-portal #ip-tool-app button.primary,#ip-portal .button{background:linear-gradient(130deg,#4969e8,#304ac8);color:#fff;border:1px solid #3451d1;box-shadow:0 5px 13px #3857db26;min-height:44px;border-radius:11px;transition:transform .16s,box-shadow .16s}
#ip-portal #ip-tool-app button:hover,#ip-portal .button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #3857db35;text-decoration:none}
#ip-portal #ip-tool-app #example{color:#076b58;background:#dff4eb;border-color:#b4dfcd}
#ip-portal #ip-tool-app [data-mode=sentence],#ip-portal #ip-tool-app [data-mode=title]{color:#6842b4;background:#eee7fb;border-color:#d8c9f3}
#ip-portal #ip-tool-app .stats{gap:10px;margin:16px 0}
#ip-portal #ip-tool-app .stat{padding:14px;border:1px solid #dce4f5}
#ip-portal #ip-tool-app .stat:nth-child(even){background:#e8f6f0;border-color:#cce7dc}
#ip-portal #ip-tool-app .stat:nth-child(even) strong{color:#08745f}
#ip-portal .tools{gap:20px}
#ip-portal a.tool{display:flex;flex-direction:column;border-radius:20px;padding:25px;box-shadow:0 9px 25px #1c356511;border-top:4px solid #526ee6}
#ip-portal a.tool:nth-child(2){border-top-color:#14a17f}
#ip-portal a.tool:nth-child(3){border-top-color:#9669df}
#ip-portal a.tool h2,#ip-portal a.tool h3{line-height:1.28}
#ip-portal a.tool p{line-height:1.7;margin-bottom:20px}
#ip-portal a.tool>.read,#ip-portal .reading a.tool>.read{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:auto;padding:12px 18px;min-height:44px;background:#3857db;color:#fff;border-radius:10px;font-size:13px;font-weight:750;box-shadow:0 4px 12px #3857db24}
#ip-portal a.tool:nth-child(2)>.read,#ip-portal .reading a.tool:nth-child(2)>.read{background:#087f69}
#ip-portal a.tool:nth-child(3)>.read,#ip-portal .reading a.tool:nth-child(3)>.read{background:#7650c8}
#ip-portal .feature-copy>.read{display:inline-flex;align-items:center;background:#3857db;color:#fff;padding:12px 18px;border-radius:10px;min-height:44px;text-decoration:none}
#ip-portal .section-head{align-items:center}
#ip-portal .discovery-banner{max-width:1040px;margin:34px auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 32px;background:linear-gradient(120deg,#e6f6ef,#e8edff);border:1px solid #cadfdc;border-radius:20px}
#ip-portal .discovery-banner h2{font:750 25px/1.2 system-ui;letter-spacing:-.7px;margin:5px 0 9px}
#ip-portal .discovery-banner p{font-size:14px;color:#53677c;margin:0;max-width:540px}
#ip-portal .discovery-banner .eyebrow{color:#08745f;font-size:10px;margin:0}
#ip-portal .discovery-banner .button{white-space:nowrap;background:linear-gradient(120deg,#0a8b71,#076d61);border-color:#087660;box-shadow:0 6px 16px #087f6930}
#ip-portal[data-theme=dark] #ip-tool-app .workspace{border-top-color:#7b96ff}
#ip-portal[data-theme=dark] #ip-tool-app .help{background:#152d29;border-color:#2c5146}
#ip-portal[data-theme=dark] #ip-tool-app .help h2{color:#84ddbf}
#ip-portal[data-theme=dark] #ip-tool-app .result,#ip-portal[data-theme=dark] #ip-tool-app .stat:nth-child(even){background:#17332b;border-color:#2d5647}
#ip-portal[data-theme=dark] #ip-tool-app .result strong,#ip-portal[data-theme=dark] #ip-tool-app .stat:nth-child(even) strong{color:#84ddbf}
#ip-portal[data-theme=dark] #ip-tool-app .stat{border-color:#35425a}
#ip-portal[data-theme=dark] #ip-tool-app #example{background:#183b31;border-color:#2e6250;color:#a5e8cb}
#ip-portal[data-theme=dark] #ip-tool-app [data-mode=sentence],#ip-portal[data-theme=dark] #ip-tool-app [data-mode=title]{background:#302345;border-color:#574171;color:#d3b9ff}
#ip-portal[data-theme=dark] .discovery-banner{background:linear-gradient(120deg,#17372f,#202b4b);border-color:#38544e}
#ip-portal[data-theme=dark] .discovery-banner p{color:#bbccc9}
#ip-portal[data-theme=dark] .discovery-banner .eyebrow{color:#84ddbf}
@media(max-width:760px){#ip-portal #ip-tool-app .tool-grid{grid-template-columns:1fr}#ip-portal .discovery-banner{flex-direction:column;align-items:stretch;padding:24px;text-align:center}#ip-portal .discovery-banner .button{justify-content:center}#ip-portal .internal>h1{font-size:32px}#ip-portal #ip-tool-app .workspace,#ip-portal #ip-tool-app .help{padding:18px}}
@media(prefers-reduced-motion:reduce){#ip-portal a.tool,#ip-portal .button,#ip-portal #ip-tool-app button{transition:none;transform:none!important}}

#ip-portal section[id][id]{scroll-margin-top:165px}#ip-portal a.tool h3,#ip-portal .feature h3{font-family:system-ui,-apple-system,sans-serif;font-weight:750}#ip-portal[data-theme=dark] .feature-copy>a.read{color:#fff}#ip-portal[data-theme=dark] a.tool:first-child{border-top-color:#7b96ff}#ip-portal[data-theme=dark] .formula{color:#9fb3ff}#ip-portal[data-theme=dark] .reading #ip-tool-app .result strong{color:#84ddbf}@media(max-width:650px){#ip-portal section[id][id]{scroll-margin-top:210px}}

/* Home uses the same centered rhythm and colorful, explicit actions. */
#ip-portal:has(.hero)>.wrap,#ip-portal:has(.hero) .editorial>.wrap{max-width:1120px}
#ip-portal:has(.hero) .hero{grid-template-columns:1.08fr 1fr;gap:38px;padding-top:44px;padding-bottom:44px}
#ip-portal:has(.hero) .hero>div:first-child{text-align:center}
#ip-portal:has(.hero) .hero h1{font-size:clamp(38px,4.2vw,57px);margin:auto;letter-spacing:-2.2px}
#ip-portal:has(.hero) .hero .intro{margin:20px auto 24px;line-height:1.7}
#ip-portal:has(.hero) .hero .actions{justify-content:center}
#ip-portal:has(.hero) .section-head{flex-direction:column;text-align:center;gap:8px;align-items:center;margin-bottom:26px}
#ip-portal:has(.hero) .section-head .eyebrow{margin:0;font-size:10px;color:#087f69}
#ip-portal:has(.hero) .section-head h2{font-size:clamp(25px,3vw,34px);line-height:1.2}
#ip-portal:has(.hero) .section-head .muted{font-size:14px}
#ip-portal .home-stories{padding:42px 0;background:#eef2f8}
#ip-portal .stories-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
#ip-portal a.story-card{--story:#3857db;--story-soft:#e5ecff;display:grid;grid-template-columns:140px minmax(0,1fr);border:1px solid #dae2ef;border-radius:20px;overflow:hidden;background:#fff;color:#18213b;box-shadow:0 8px 24px #1c35650b;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}
#ip-portal a.story-card:hover{transform:translateY(-4px);border-color:var(--story);box-shadow:0 14px 30px #1c35651c;text-decoration:none}
#ip-portal .story-art{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;position:relative;overflow:hidden;background:linear-gradient(150deg,var(--story-soft),#fff);color:var(--story);min-height:245px}
#ip-portal .story-art:before{content:'';position:absolute;width:130px;height:130px;border:22px solid currentColor;opacity:.07;border-radius:50%;top:-60px;left:-60px}
#ip-portal .story-art>span{font:800 48px/1 system-ui;letter-spacing:-3px}
#ip-portal .story-art>i{font:750 13px system-ui;font-style:normal;letter-spacing:-.5px}
#ip-portal .story-copy{display:flex;flex-direction:column;align-items:start;padding:24px;gap:12px}
#ip-portal .story-category{display:inline-block;border-radius:6px;font:750 10px system-ui;letter-spacing:.6px;text-transform:uppercase;background:var(--story-soft);color:var(--story);padding:5px 8px}
#ip-portal .story-copy h3{font:750 21px/1.3 system-ui;letter-spacing:-.6px;margin:0}
#ip-portal .story-copy p{font-size:13px;line-height:1.7;color:#65718a;margin:0 0 4px}
#ip-portal .story-action{display:inline-flex;gap:18px;align-items:center;justify-content:center;background:var(--story);color:#fff;border-radius:10px;min-height:44px;padding:11px 18px;margin-top:auto;font-size:12px;font-weight:750}
#ip-portal .story-card.study{--story:#7950bf;--story-soft:#efe7fb}
#ip-portal .story-card.planning{--story:#087b65;--story-soft:#ddf3e9}
#ip-portal .story-card.home{--story:#a14b2e;--story-soft:#fff0e4}
#ip-portal .story-topics{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px;font-size:12px;color:#65718a}
#ip-portal[data-theme=dark] .home-stories{background:#121925}
#ip-portal[data-theme=dark] a.story-card{background:#1a2332;color:#ecf0fa;border-color:#34425b}
#ip-portal[data-theme=dark] .story-art{background:linear-gradient(150deg,#26345c,#1a2332);color:#aabdff}
#ip-portal[data-theme=dark] .story-card.study .story-art{background:linear-gradient(150deg,#3d2c55,#1a2332);color:#dcc1ff}
#ip-portal[data-theme=dark] .story-card.planning .story-art{background:linear-gradient(150deg,#193e34,#1a2332);color:#91ddbc}
#ip-portal[data-theme=dark] .story-card.home .story-art{background:linear-gradient(150deg,#4a3029,#1a2332);color:#ffbf98}
#ip-portal[data-theme=dark] .story-copy p{color:#b0bdd2}
#ip-portal[data-theme=dark] .story-topics{color:#aab6cc}
#ip-portal[data-theme=dark]:has(.hero) .section-head .eyebrow{color:#84ddbf}
@media(max-width:900px){#ip-portal .stories-grid{grid-template-columns:1fr}#ip-portal .story-art{min-height:210px}#ip-portal:has(.hero) .hero{gap:24px}#ip-portal .story-copy h3{font-size:22px}}
@media(max-width:650px){#ip-portal:has(.hero) .hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:32px}#ip-portal:has(.hero) .hero h1{font-size:41px;letter-spacing:-1.7px}#ip-portal a.story-card{grid-template-columns:95px minmax(0,1fr)}#ip-portal .story-art>span{font-size:34px;letter-spacing:-1px}#ip-portal .story-copy{padding:20px 17px;gap:10px}#ip-portal .story-copy h3{font-size:19px}#ip-portal .home-stories{padding:30px 0}#ip-portal .story-copy p{font-size:12px}}
@media(prefers-reduced-motion:reduce){#ip-portal a.story-card{transition:none;transform:none!important}}

/* Editorial layout: reading first, photos instead of decorative text panels. */
#ip-portal{background:#fff}body:has(#ip-portal){background:#fff}
#ip-portal[data-theme=dark]{background:#10151d}body:has(#ip-portal[data-theme=dark]){background:#10151d}
#ip-portal:has(.hero) .hero{display:block;max-width:880px;padding-top:48px;padding-bottom:34px}
#ip-portal:has(.hero) .hero>div:first-child{max-width:760px;margin:auto}
#ip-portal:has(.hero) .hero h1{max-width:760px;font-size:clamp(38px,4.2vw,60px)}
#ip-portal:has(.hero) .hero .intro{max-width:650px;font-size:17px}
#ip-portal .home-stories,#ip-portal[data-theme=dark] .home-stories{background:transparent;border-top:1px solid #e4e8ee;border-bottom:0}
#ip-portal[data-theme=dark] .home-stories{border-color:#303b49}
#ip-portal .stories-grid{gap:34px 28px}
#ip-portal a.story-card,#ip-portal[data-theme=dark] a.story-card{display:flex;flex-direction:column;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
#ip-portal a.story-card:hover{transform:none;box-shadow:none}
#ip-portal .story-photo{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:7px;background:#e8ecf1}
#ip-portal .story-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}
#ip-portal a.story-card:hover .story-photo img{transform:scale(1.025)}
#ip-portal .story-copy{padding:17px 0 0;flex:1;gap:11px}
#ip-portal .story-category{background:transparent;padding:0;font-size:11px}
#ip-portal[data-theme=dark] .story-category{background:transparent;color:#b9c9ff}
#ip-portal .story-copy h3{font-size:24px;line-height:1.28}
#ip-portal .story-copy p{font-size:15px;line-height:1.65;margin-bottom:8px}
#ip-portal .story-action{border-radius:6px;font-size:13px;box-shadow:none}
#ip-portal .categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 26px}
#ip-portal a.category,#ip-portal[data-theme=dark] a.category{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:12px;align-content:center;align-items:center;background:transparent;border:0;border-bottom:1px solid #e4e8ee;border-radius:0;padding:16px 0;box-shadow:none;min-height:78px}
#ip-portal[data-theme=dark] a.category{border-color:#303b49}
#ip-portal a.category:hover{transform:none;border-color:#315be8}
#ip-portal .category .symbol{grid-row:span 2;margin:0;border-radius:5px}
#ip-portal .category h3{font:700 14px/1.4 system-ui;margin:0 0 3px}
#ip-portal .category p{font-size:12px;line-height:1.5;margin:0}
#ip-portal .tool,#ip-portal a.tool,#ip-portal[data-theme=dark] .tool,#ip-portal[data-theme=dark] a.tool{border:0;border-top:2px solid #526ee6;border-radius:0;background:transparent;padding:22px 0;box-shadow:none}
#ip-portal a.tool:hover{transform:none;box-shadow:none}
#ip-portal a.tool>.read,#ip-portal .reading a.tool>.read{border-radius:6px;box-shadow:none}
#ip-portal .archive-photo-link{display:block;aspect-ratio:16/9;overflow:hidden;margin-bottom:18px}
#ip-portal .archive-photo{width:100%;height:100%;object-fit:cover;border-radius:6px}
#ip-portal .discovery-banner,#ip-portal[data-theme=dark] .discovery-banner{padding:25px 0;margin:34px auto;background:transparent;border:0;border-top:1px solid #d9e1e9;border-bottom:1px solid #d9e1e9;border-radius:0}
#ip-portal[data-theme=dark] .discovery-banner{border-color:#303b49}
#ip-portal .button,#ip-portal #ip-tool-app button.primary{background:#3154cf;border-radius:6px;box-shadow:none}
#ip-portal .button:hover,#ip-portal #ip-tool-app button:hover{box-shadow:none;transform:none;filter:brightness(.95)}
#ip-portal .button.secondary{background:#edf1fa;border-color:#c8d2e7;color:#24314e}
#ip-portal .discovery-banner .button{background:#087f69;box-shadow:none;border-radius:6px}
#ip-portal #ip-tool-app .workspace{border-radius:7px;box-shadow:none}
#ip-portal #ip-tool-app .help,#ip-portal[data-theme=dark] #ip-tool-app .help{background:transparent;border:0;border-left:1px solid #d8e2e0;border-radius:0;padding-top:10px}
#ip-portal[data-theme=dark] #ip-tool-app .help{border-color:#34483f}
#ip-portal #ip-tool-app .result,#ip-portal #ip-tool-app input,#ip-portal #ip-tool-app select,#ip-portal #ip-tool-app textarea,#ip-portal #ip-tool-app button{border-radius:6px}
body.single-post #ip-portal .internal>h1{max-width:760px;text-align:left;margin:14px auto!important;font-size:clamp(32px,3vw,44px);line-height:1.16}
body.single-post #ip-portal .internal>.breadcrumb{max-width:760px;margin:0 auto 18px;justify-content:flex-start;line-height:1.65}
body.single-post #ip-portal .internal>.tags{max-width:760px;margin:14px auto;justify-content:flex-start}
body.single-post #ip-portal .internal>.muted{max-width:760px;margin:8px auto 18px!important;text-align:left}
body.single-post #ip-portal .internal>.lead,body.single-post #ip-portal .reading>.lead{max-width:760px;text-align:left;margin:18px auto 25px;font-size:18px;line-height:1.7}
body.single-post #ip-portal article.reading{max-width:760px;padding:0;margin:28px auto;background:transparent;border:0;border-radius:0;box-shadow:none}
body.single-post #ip-portal article.reading p{font-size:17px;line-height:1.85;margin:0 0 20px}
body.single-post #ip-portal article.reading h2{font:750 25px/1.3 system-ui;margin:34px 0 16px;letter-spacing:-.5px}
body.single-post #ip-portal article.reading ul,body.single-post #ip-portal article.reading ol{font:400 17px/1.8 system-ui;padding-left:24px;margin:20px 0}
body.single-post #ip-portal article.reading li{margin-bottom:10px}
body.single-post #ip-portal .discovery-banner{max-width:760px}
#ip-portal .article-cover{max-width:760px;margin:24px auto 30px}
#ip-portal .article-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
@media(max-width:760px){#ip-portal #ip-tool-app .help,#ip-portal[data-theme=dark] #ip-tool-app .help{border-left:0;border-top:1px solid #d8e2e0;padding:22px 0 0}#ip-portal[data-theme=dark] #ip-tool-app .help{border-color:#34483f}}
@media(max-width:650px){
#ip-portal .utility .wrap{align-items:center;padding-top:3px;padding-bottom:3px;gap:8px;min-height:44px}
#ip-portal .language-menu summary{display:flex;align-items:center;justify-content:center;min-height:38px;padding:6px 10px;font-size:11px;white-space:nowrap}
#ip-portal .language-options a{display:flex;align-items:center;min-height:44px}
#ip-portal .masthead .wrap{padding-top:6px;padding-bottom:4px;gap:3px 12px}
#ip-portal .masthead .brand{min-height:44px;font-size:24px}
#ip-portal .theme-toggle{min-height:44px;min-width:44px}
#ip-portal .masthead nav{display:flex;gap:0;font-size:12px;width:100%}
#ip-portal .masthead nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 3px;flex:1;min-width:0}
#ip-portal:has(.hero) .hero{padding-top:28px;padding-bottom:26px}
#ip-portal:has(.hero) .hero h1{font-size:38px;letter-spacing:-1.5px;line-height:1.12}
#ip-portal:has(.hero) .hero .intro{font-size:16px;margin:18px auto 20px;line-height:1.65}
#ip-portal .hero .actions{gap:10px}
#ip-portal .hero .actions .button{justify-content:center;min-height:46px}
#ip-portal .categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
#ip-portal a.category{grid-template-columns:28px minmax(0,1fr);column-gap:8px;padding:14px 0}
#ip-portal .category .symbol{width:28px;height:32px;font-size:17px}
#ip-portal .category h3{font-size:12px;overflow-wrap:break-word}
#ip-portal .category p{font-size:11px}
#ip-portal a.story-card{display:flex}
#ip-portal .story-copy{padding:15px 0 0}
#ip-portal .story-copy h3{font-size:23px}
#ip-portal .story-copy p{font-size:15px}
#ip-portal .story-action{min-height:46px}
#ip-portal .stories-grid{gap:30px}
#ip-portal .story-topics{gap:8px}
#ip-portal .tag{display:inline-flex;align-items:center;min-height:40px;padding:8px 10px}
#ip-portal .foot-links{gap:4px 16px}
#ip-portal .foot-links a{display:flex;align-items:center;min-height:44px}
#ip-portal .discovery-banner{padding:22px 0}
#ip-portal .discovery-banner .button{min-height:46px}
#ip-portal .internal>h1{font-size:29px}
body.single-post #ip-portal .internal>h1{font-size:31px;line-height:1.18;letter-spacing:-.8px;margin:10px auto!important;overflow-wrap:break-word}
body.single-post #ip-portal .internal>.lead,body.single-post #ip-portal .reading>.lead{font-size:17px;line-height:1.65;margin:17px auto 22px}
body.single-post #ip-portal article.reading p,body.single-post #ip-portal article.reading ul,body.single-post #ip-portal article.reading ol{font-size:16px;line-height:1.75}
body.single-post #ip-portal article.reading h2{font-size:23px;margin:28px 0 14px}
#ip-portal .article-cover{margin:20px auto 25px}
#ip-portal #ip-tool-app .controls button{min-height:46px}
#ip-portal section[id][id]{scroll-margin-top:158px}
}
@media(max-width:360px){#ip-portal .utility .wrap>span:first-child{display:none}#ip-portal .utility .wrap{justify-content:flex-end}#ip-portal:has(.hero) .hero h1{font-size:34px}#ip-portal .hero .actions .button{width:100%}#ip-portal .masthead nav{font-size:11px}#ip-portal .story-copy h3{font-size:21px}}
/* Outrank the legacy styles embedded in the three home blocks. */
#ip-portal#ip-portal .categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 26px}
@media(max-width:650px){
#ip-portal#ip-portal .utility .wrap{padding-top:3px;padding-bottom:3px;gap:8px;min-height:50px}
#ip-portal#ip-portal .language-menu summary{min-height:44px}
#ip-portal#ip-portal .masthead .wrap{padding-top:6px;padding-bottom:4px;gap:3px 12px}
#ip-portal#ip-portal .masthead .brand{min-height:44px}
#ip-portal#ip-portal .masthead nav{gap:0;order:3;font-size:12px}
#ip-portal#ip-portal .categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
}
@media(max-width:360px){#ip-portal#ip-portal .masthead nav{font-size:11px}}
@media(max-width:650px){#ip-portal#ip-portal #ip-theme{min-height:44px;min-width:44px}#ip-portal#ip-portal .language-options{max-width:calc(100vw - 40px)}}
@media(max-width:360px){#ip-portal#ip-portal .utility .wrap{justify-content:flex-end}}

/* Compact shared header: equal side columns keep navigation truly centered. */
#ip-portal#ip-portal>.site-top{position:sticky;top:0;background:#fff;isolation:isolate}
#ip-portal#ip-portal .site-top .utility{position:absolute;right:max(28px,calc((100% - 1144px)/2));top:16px;background:transparent;border:0;z-index:3}
#ip-portal#ip-portal .site-top .utility .wrap{padding:0;min-height:44px;display:block}
#ip-portal#ip-portal .utility .wrap>span,#ip-portal#ip-portal .languages>a{display:none}
#ip-portal#ip-portal .languages{display:block}
#ip-portal#ip-portal .language-menu summary{height:44px;min-height:44px;min-width:116px;padding:0 12px;display:flex;align-items:center;justify-content:center;font-size:12px}
#ip-portal#ip-portal .masthead .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-height:76px;padding-top:10px;padding-bottom:10px}
#ip-portal#ip-portal .masthead .brand{justify-self:start;font-size:27px;min-height:44px;white-space:nowrap}
#ip-portal#ip-portal .masthead nav{width:auto;order:initial;justify-self:center;display:flex;gap:8px;font-size:14px}
#ip-portal#ip-portal .masthead nav a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 10px;white-space:nowrap}
#ip-portal#ip-portal #ip-theme{justify-self:end;margin:0 132px 0 0;min-height:44px;white-space:nowrap}
#ip-portal#ip-portal[data-theme=dark]>.site-top{background:#141924}
@media(max-width:1000px){
#ip-portal#ip-portal .masthead .wrap{grid-template-columns:1fr auto;gap:0 12px;padding-top:10px;padding-bottom:4px}
#ip-portal#ip-portal .masthead nav{grid-column:1/-1;grid-row:2;width:100%;justify-content:center;gap:12px}
#ip-portal#ip-portal .site-top .utility{top:10px}
}
@media(max-width:650px){
#ip-portal#ip-portal .site-top .utility{right:20px;top:8px}
#ip-portal#ip-portal .masthead .wrap{min-height:104px;padding-top:8px;padding-bottom:4px;gap:0 6px}
#ip-portal#ip-portal .masthead .brand{font-size:23px;gap:8px}
#ip-portal#ip-portal .language-menu summary{min-width:100px;padding:0 8px;font-size:11px}
#ip-portal#ip-portal #ip-theme{margin-right:108px;min-width:44px;padding:0 8px;font-size:0}
#ip-portal#ip-portal #ip-theme::before{content:'◐';font-size:20px}
#ip-portal#ip-portal .masthead nav{gap:0;font-size:12px}
#ip-portal#ip-portal .masthead nav a{flex:1;padding:0 3px}
#ip-portal#ip-portal section[id][id]{scroll-margin-top:114px}
}

/* Lead with actual reading choices, next to the introduction. */
#ip-portal#ip-portal .hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center;text-align:left;padding-top:42px;padding-bottom:42px}
#ip-portal#ip-portal .hero>div{max-width:none;margin:0}
#ip-portal#ip-portal .hero h1{font-size:clamp(36px,3.5vw,52px);max-width:500px;letter-spacing:-2px}
#ip-portal#ip-portal .hero .intro{max-width:450px;margin:20px 0 24px;font-size:16px}
#ip-portal#ip-portal .hero .actions{justify-content:flex-start;gap:10px}
#ip-portal#ip-portal .hero .actions .button{padding:12px 16px}
#ip-portal#ip-portal .hero-picks{display:grid;gap:18px;min-width:0}
#ip-portal#ip-portal .hero-picks>.eyebrow{margin:0;font-size:11px}
#ip-portal#ip-portal .hero-picks .story-card{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;align-items:center;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;transform:none;text-align:left}
#ip-portal#ip-portal .hero-picks .story-photo{width:100%;height:140px;min-height:0;aspect-ratio:auto;border-radius:6px;overflow:hidden}
#ip-portal#ip-portal .hero-picks .story-photo img{width:100%;height:100%;object-fit:cover}
#ip-portal#ip-portal .hero-picks .story-copy{padding:0}
#ip-portal#ip-portal .hero-picks h3{font-size:22px;line-height:1.22;letter-spacing:-.6px;margin:7px 0 12px}
#ip-portal#ip-portal .hero-picks .story-action{display:inline-flex;min-height:36px;padding:6px 12px;font-size:12px}
@media(max-width:1000px){#ip-portal#ip-portal .hero{gap:30px}#ip-portal#ip-portal .hero-picks .story-card{grid-template-columns:110px minmax(0,1fr);gap:14px}#ip-portal#ip-portal .hero-picks h3{font-size:19px}}
@media(max-width:650px){
#ip-portal#ip-portal .hero{grid-template-columns:1fr;gap:24px;padding-top:24px;padding-bottom:28px}
#ip-portal#ip-portal .hero h1{font-size:34px;letter-spacing:-1.2px}
#ip-portal#ip-portal .hero .eyebrow{margin-bottom:12px}
#ip-portal#ip-portal .hero .intro{margin:12px 0 16px;font-size:15px;line-height:1.55}
#ip-portal#ip-portal .hero .actions .button{width:auto;min-height:44px;font-size:12px;padding:10px 12px}
#ip-portal#ip-portal .hero-picks{gap:16px}
#ip-portal#ip-portal .hero-picks>.eyebrow{margin:0}
#ip-portal#ip-portal .hero-picks .story-card{grid-template-columns:100px minmax(0,1fr);gap:14px}
#ip-portal#ip-portal .hero-picks .story-photo{height:128px}
#ip-portal#ip-portal .hero-picks h3{font-size:19px;margin:5px 0 8px}
#ip-portal#ip-portal .hero-picks .story-action{min-height:44px}
}
#ip-portal#ip-portal .hero{max-width:1120px}
#ip-portal#ip-portal .hero>div:first-child{text-align:left}
#ip-portal#ip-portal .hero h1{margin:0}
#ip-portal#ip-portal .hero-picks .story-copy{gap:0}

/* Institutional pages and shared footer. */
#ip-portal#ip-portal .ip-footer{background:#edf1fa;color:#26334d;border-top:1px solid #dbe3f0;padding:38px 0 24px;margin-top:20px}
#ip-portal#ip-portal .ip-footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:40px;align-items:start}
#ip-portal#ip-portal .ip-footer .brand{font-size:27px;gap:0;letter-spacing:-1.4px}
#ip-portal#ip-portal .ip-footer .brand span{color:#315be8}
#ip-portal#ip-portal .ip-footer .foot-copy{font-size:14px;line-height:1.6;max-width:280px;margin-top:12px}
#ip-portal#ip-portal .ip-footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;font-size:14px;width:auto}
#ip-portal#ip-portal .ip-footer-nav h2{font-size:15px;line-height:1.4;font-weight:750;margin:0 0 10px;letter-spacing:0}
#ip-portal#ip-portal .ip-footer-nav a{display:flex;align-items:center;min-height:44px;padding:4px 0;font-weight:500;text-decoration:none}
#ip-portal#ip-portal .ip-footer-nav a:hover{color:#315be8;text-decoration:underline}
#ip-portal#ip-portal .ip-footer .foot-end{font-size:12px;color:#586781;border-top-color:#cfd9eb;line-height:1.7;align-items:center}
#ip-portal#ip-portal[data-theme=dark] .ip-footer{background:#141c2b;color:#e9edf6;border-color:#303c51}
#ip-portal#ip-portal[data-theme=dark] .ip-footer .foot-copy,#ip-portal#ip-portal[data-theme=dark] .ip-footer .foot-end{color:#b3bfd3;border-color:#303c51}
#ip-portal#ip-portal .internal:has(.ip-info-page)>h1{max-width:760px;text-align:left;margin:12px auto!important;font-size:clamp(32px,3vw,44px);line-height:1.18}
#ip-portal#ip-portal .internal:has(.ip-info-page)>.breadcrumb{max-width:760px;margin:0 auto 20px;justify-content:flex-start}
#ip-portal#ip-portal .internal:has(.ip-info-page)>.reading{max-width:760px;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;margin:20px auto}
#ip-portal#ip-portal .internal:has(.ip-info-page)>.tags,#ip-portal#ip-portal .internal:has(.ip-info-page)>.related,#ip-portal#ip-portal .internal:has(.ip-info-page)>.discovery-banner{display:none}
#ip-portal#ip-portal .ip-info-page .lead{text-align:left;font-size:18px;line-height:1.7;margin:0 0 26px;color:#586781}
#ip-portal#ip-portal .ip-info-page p{font-size:16px;line-height:1.85;margin:0 0 18px;overflow-wrap:anywhere}
#ip-portal#ip-portal .ip-info-page h2{font-size:24px;line-height:1.3;margin:30px 0 14px}
#ip-portal#ip-portal .ip-info-page .ip-info-updated{font-size:13px;color:#64718a;margin-top:32px;padding-top:18px;border-top:1px solid #dbe3f0}
#ip-portal#ip-portal .ip-contact-panel{margin:28px 0;padding:24px 0;border-top:3px solid #315be8;border-bottom:1px solid #dbe3f0}
#ip-portal#ip-portal .ip-contact-form{display:grid;gap:18px}
#ip-portal#ip-portal .ip-contact-form label{display:grid;gap:8px;font-size:14px;font-weight:650;min-width:0}
#ip-portal#ip-portal .ip-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#ip-portal#ip-portal .ip-contact-form input:not([type=checkbox]),#ip-portal#ip-portal .ip-contact-form select,#ip-portal#ip-portal .ip-contact-form textarea{width:100%;min-width:0;border:1px solid #b8c6df;border-radius:6px;background:#fff;color:#18213b;font:400 16px/1.5 system-ui;padding:12px;min-height:48px}
#ip-portal#ip-portal .ip-contact-form textarea{resize:vertical;min-height:180px}
#ip-portal#ip-portal .ip-contact-form .ip-form-ack{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.6;cursor:pointer}
#ip-portal#ip-portal .ip-form-ack input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:#315be8}
#ip-portal#ip-portal .ip-contact-form .button{justify-self:start;min-height:48px;padding:12px 22px;cursor:pointer;font-weight:700;font-size:15px}
#ip-portal#ip-portal .ip-contact-form .button:disabled{cursor:not-allowed;opacity:.65}
#ip-portal#ip-portal .ip-info-page .ip-form-hint,#ip-portal#ip-portal .ip-info-page .ip-form-note{font-size:13px;color:#61708a;line-height:1.6;margin:0}
#ip-portal#ip-portal .ip-form-note{padding-bottom:20px}
#ip-portal#ip-portal .ip-form-status{padding:14px 16px;background:#e6f3ed;border-left:3px solid #087f69;margin-bottom:22px}
#ip-portal#ip-portal .ip-form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#ip-portal#ip-portal[data-theme=dark] .ip-info-page .lead,#ip-portal#ip-portal[data-theme=dark] .ip-info-page p{color:#b4c1d6}
#ip-portal#ip-portal[data-theme=dark] .ip-contact-form input:not([type=checkbox]),#ip-portal#ip-portal[data-theme=dark] .ip-contact-form select,#ip-portal#ip-portal[data-theme=dark] .ip-contact-form textarea{background:#131c2b;color:#edf1f8;border-color:#52617b}
#ip-portal#ip-portal[data-theme=dark] .ip-info-page a{color:#a6beff}
#ip-portal#ip-portal[data-theme=dark] .ip-info-updated,#ip-portal#ip-portal[data-theme=dark] .ip-contact-panel{border-bottom-color:#35415a;border-top-color:#526ee6}
#ip-portal#ip-portal[data-theme=dark] .ip-form-status{background:#16372e;color:#d8f6e7}
@media(max-width:650px){#ip-portal#ip-portal .ip-footer-grid{grid-template-columns:1fr 1fr;gap:26px 20px}#ip-portal#ip-portal .ip-footer-grid>div:first-child{grid-column:1/-1}#ip-portal#ip-portal .ip-footer .foot-end{align-items:flex-start;gap:10px}#ip-portal#ip-portal .ip-footer-nav{font-size:13px}#ip-portal#ip-portal .ip-form-grid{grid-template-columns:1fr}#ip-portal#ip-portal .ip-info-page h2{font-size:22px}#ip-portal#ip-portal .ip-info-page .lead{font-size:17px}#ip-portal#ip-portal .ip-contact-form .button{justify-self:stretch;justify-content:center}}

/* Small screens first: useful shortcuts, readable long articles, honest navigation. */
#ip-portal .ip-tools-hub{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:clamp(28px,5vw,80px);align-items:center;padding-top:46px;padding-bottom:46px;border-top:1px solid var(--line,#dfe3ed);border-bottom:1px solid var(--line,#dfe3ed)}
#ip-portal .ip-tools-intro h2{font-size:clamp(27px,3vw,38px);line-height:1.15;margin:8px 0 12px;letter-spacing:-1px}
#ip-portal .ip-tools-intro>p:not(.eyebrow){color:var(--muted,#68748b);margin:0;line-height:1.6}
#ip-portal .ip-tools-all{display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:14px;font-weight:750;color:#384fde}
#ip-portal .ip-tool-shortcuts{display:grid;gap:12px}
#ip-portal .ip-tool-shortcut{display:flex;align-items:center;gap:16px;padding:20px 22px;text-decoration:none;background:#fff;border:1px solid #e3e7ef;border-radius:16px;transition:background .15s,border-color .15s,transform .15s;min-height:98px;color:#192239}
#ip-portal .ip-shortcut-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;background:#e9edff;color:#3b51d8;border-radius:14px;font-size:23px;font-weight:800}
#ip-portal .ip-tool-shortcut.math .ip-shortcut-icon{background:#def4ec;color:#17705c}
#ip-portal .ip-tool-shortcut.text .ip-shortcut-icon{background:#fff0e5;color:#ad4e24}
#ip-portal .ip-shortcut-copy{display:grid;gap:5px;min-width:0;flex:1}
#ip-portal .ip-shortcut-copy strong{font-size:19px;line-height:1.25;font-weight:780;letter-spacing:-.35px}
#ip-portal .ip-shortcut-copy>span{font-size:14px;line-height:1.5;color:#66728a}
#ip-portal .ip-shortcut-arrow{font-size:24px;color:#3b51d8;flex:none}
#ip-portal .ip-tool-shortcut:hover{border-color:#7f8fee;background:#f8f9ff;transform:translateY(-1px)}
#ip-portal a:focus-visible,#ip-portal button:focus-visible,#ip-portal summary:focus-visible{outline:3px solid #657cff;outline-offset:4px}
#ip-portal .ip-article-meta{display:flex;flex-wrap:wrap;gap:7px 16px;font-size:13px;line-height:1.6;color:var(--muted,#68748b);max-width:760px;margin:14px 0 22px}
#ip-portal .ip-article-meta a{font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:3px}
#ip-portal .ip-article-toc{max-width:760px;margin:22px 0 28px;border-top:1px solid #dfe4ef;border-bottom:1px solid #dfe4ef}
#ip-portal .ip-article-toc summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;min-height:56px;font-size:16px;font-weight:750;padding:12px 0}
#ip-portal .ip-article-toc summary::-webkit-details-marker{display:none}
#ip-portal .ip-article-toc[open] summary>span{transform:rotate(45deg)}
#ip-portal .ip-article-toc ol{margin:0 0 16px;padding-left:23px}
#ip-portal .ip-article-toc li{padding:0 0 2px 2px;color:#66728a}
#ip-portal .ip-article-toc a{display:inline-block;padding:10px 0;line-height:1.45;color:#384fde;text-decoration:underline;text-underline-offset:3px}
#ip-portal .reading h2[id]{scroll-margin-top:125px}
#ip-portal .reading .ip-practical{padding:2px 0 2px 17px;border-left:3px solid #596fe7;margin:24px 0}
#ip-portal .reading .ip-practical p{margin:10px 0}
#ip-portal .reading .ip-faq h3{font-size:20px;margin:25px 0 10px;line-height:1.4}
#ip-portal .reading .ip-data-table{overflow-x:auto;margin:20px 0}
#ip-portal .reading table{width:100%;border-collapse:collapse;font-size:15px}
#ip-portal .reading th,#ip-portal .reading td{text-align:left;padding:12px 10px;border-bottom:1px solid #dfe4ef;vertical-align:top}
#ip-portal .reading th{background:#edf0fa;font-weight:700}
#ip-portal[data-theme=dark] .ip-tool-shortcut{background:#192235;border-color:#33415b;color:#f1f4ff}
#ip-portal[data-theme=dark] .ip-shortcut-copy>span{color:#bbc5da}
#ip-portal[data-theme=dark] .ip-tools-all,#ip-portal[data-theme=dark] .ip-article-toc a{color:#a8b8ff}
#ip-portal[data-theme=dark] .ip-tool-shortcut:hover{background:#222f48;border-color:#91a2ef}
#ip-portal[data-theme=dark] .reading th{background:#24304a}
@media(max-width:700px){#ip-portal .ip-tools-hub{grid-template-columns:1fr;gap:16px;padding-top:30px;padding-bottom:30px}#ip-portal .ip-tools-intro h2{font-size:29px}#ip-portal .ip-tools-intro .eyebrow{font-size:10px;letter-spacing:2px}#ip-portal .ip-tools-all{margin-top:6px}#ip-portal .ip-tool-shortcut{padding:17px 14px;gap:12px;min-height:100px;border-radius:14px}#ip-portal .ip-shortcut-icon{width:44px;height:44px;flex-basis:44px;font-size:21px;border-radius:12px}#ip-portal .ip-shortcut-copy strong{font-size:17px}#ip-portal .ip-shortcut-copy>span{font-size:13px}#ip-portal .ip-shortcut-arrow{font-size:21px}#ip-portal .ip-article-meta{font-size:12px;gap:5px 12px;margin-bottom:18px}#ip-portal .ip-article-meta a{flex-basis:100%;min-height:24px}#ip-portal .reading{font-size:17px;line-height:1.8}#ip-portal .reading h2{font-size:25px;line-height:1.3}#ip-portal .reading li{margin-bottom:10px}#ip-portal .reading .ip-data-table{font-size:14px}#ip-portal .reading th,#ip-portal .reading td{padding:10px 7px}}
