/*
Theme Name: Tech Publishing Scope Panorama
Description: A fast, content-first WordPress publication theme.
Version: 2.0.0
*/
:root{--ink:#293d49;--muted:#373f43;--accent:#2686a2;--accent-soft:#eaf7fa;--paper:#fff;--surface:#f5f9fa;--line:#dfe5ec;--display:Georgia,"Times New Roman",serif;--body:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--radius:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{line-height:1.12;text-wrap:balance}.site-shell{width:min(1120px,calc(100% - 40px));margin-inline:auto}.article-width{width:min(760px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:1rem;z-index:1000;background:var(--ink);color:#fff;padding:.7rem 1rem}.skip-link:focus{left:1rem}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:78px;display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(160px,220px);align-items:center;gap:clamp(1rem,2.5vw,2rem)}.brand-lockup{display:flex;align-items:center;gap:.8rem;min-width:0}.brand-mark{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center}.brand-icon{width:42px;height:42px;object-fit:contain;border-radius:9px}.brand-tagline{margin:0;max-width:390px;color:var(--muted);font-size:.75rem;font-weight:650;line-height:1.35}.primary-nav{display:flex;align-items:center;gap:1.25rem}.primary-nav a{font-size:.85rem;font-weight:700}.header-search .search-form,.mobile-nav .search-form{display:flex;align-items:center}.search-field{min-width:0;width:100%;height:38px;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:0 2.4rem 0 .85rem;color:var(--ink);font:inherit;font-size:.83rem}.search-submit{width:38px;height:38px;margin-left:-38px;border:0;background:transparent;color:var(--accent);font-size:0;cursor:pointer}.search-submit:after{content:"⌕";font-size:1.25rem}.mobile-nav{display:none}
.eyebrow,.section-label{margin:0 0 .55rem;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;color:var(--muted);font-size:.78rem;font-weight:650}.post-meta a{color:var(--accent)}.featured-section{padding:clamp(2rem,5vw,4.5rem) 0;border-bottom:1px solid var(--line)}.featured-story{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;gap:clamp(2rem,5vw,4.5rem)}.featured-media{display:block;overflow:hidden;background:var(--surface);border-radius:var(--radius)}.featured-image{width:100%;aspect-ratio:16/10;object-fit:cover}.featured-copy h1{margin:.7rem 0 1rem;font-family:var(--display);font-size:clamp(2.25rem,4.7vw,4.3rem);letter-spacing:-.035em}.featured-excerpt{margin-bottom:1.1rem;color:var(--muted);font-size:1.05rem}.read-link{color:var(--accent);font-size:.86rem;font-weight:800}
.latest-section{padding:clamp(3rem,6vw,5.5rem) 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:2px solid var(--ink)}.section-heading h2{margin:0;font-family:var(--display);font-size:clamp(1.9rem,3.5vw,3rem)}.section-heading>a{color:var(--accent);font-size:.84rem;font-weight:750}.article-list{display:grid;gap:0}.article-preview{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.article-thumb{display:block;overflow:hidden;border-radius:calc(var(--radius) * .7);background:var(--surface)}.preview-image{width:100%;aspect-ratio:16/10;object-fit:cover}.article-preview h3,.archive-card h2{margin:.35rem 0 .55rem;font-family:var(--display);font-size:clamp(1.4rem,2.4vw,2rem)}.article-preview p,.archive-card p{margin:0;color:var(--muted)}
.category-section{padding:clamp(3rem,6vw,5rem) 0;background:var(--surface);border-block:1px solid var(--line)}.category-links{display:flex;flex-wrap:wrap;gap:.75rem}.category-links a{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.category-links span{font-weight:750}.category-links small{color:var(--muted)}
.listing-page,.topics-page{padding:clamp(3rem,6vw,5.5rem) 0}.listing-header{max-width:760px;margin-bottom:2.5rem}.listing-header h1{margin:.4rem 0 .8rem;font-family:var(--display);font-size:clamp(2.5rem,5vw,4.5rem)}.listing-header p,.archive-description{color:var(--muted)}.archive-list{display:grid;gap:0}.archive-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.75rem;padding:1.75rem 0;border-top:1px solid var(--line)}.archive-thumb{display:block;overflow:hidden;border-radius:var(--radius);background:var(--surface)}.nav-links{display:flex;justify-content:center;gap:.45rem;margin-top:2.5rem}.page-numbers{padding:.45rem .75rem;border:1px solid var(--line);border-radius:6px}.page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.article-header{padding:clamp(3.5rem,7vw,6.5rem) 0 2rem}.article-header h1{margin:.75rem 0 1.1rem;font-family:var(--display);font-size:clamp(2.7rem,6vw,5.2rem);letter-spacing:-.035em}.article-deck{color:var(--muted);font-size:clamp(1.05rem,2vw,1.3rem)}.byline{margin:1.25rem 0 0;color:var(--muted);font-size:.86rem}.article-feature{margin-bottom:clamp(2.5rem,5vw,4rem)}.article-feature-image{width:100%;max-height:680px;object-fit:cover;border-radius:var(--radius)}.article-content{font-family:var(--display);font-size:1.18rem;line-height:1.8}.article-content>*{max-width:100%}.article-content p{margin-bottom:1.45rem}.article-content h2{margin:2.8rem 0 1rem;font-size:2rem}.article-content h3{margin:2.2rem 0 .8rem;font-size:1.55rem}.article-content blockquote{margin:2rem 0;padding:.2rem 0 .2rem 1.5rem;border-left:4px solid var(--accent);color:var(--muted);font-size:1.3rem}.article-content a{text-decoration:underline;text-underline-offset:.18em}.article-content img{margin:2rem auto;border-radius:var(--radius)}.article-footer{padding:2rem 0 4rem;border-top:1px solid var(--line)}.tag-list{display:flex;flex-wrap:wrap;gap:.55rem}.tag-list a{padding:.4rem .7rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.82rem;font-weight:700}.related-section{padding:3rem 0 5rem;border-top:1px solid var(--line)}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.related-grid article{padding-top:1rem;border-top:3px solid var(--ink)}.related-grid h3{font-family:var(--display);font-size:1.35rem}
.topics-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.topics-list>a{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.topics-list h2{margin:0 0 .45rem;font-family:var(--display);font-size:1.6rem}.topics-list p{color:var(--muted)}.topics-list span{color:var(--accent);font-size:.82rem;font-weight:750}.page-masthead{padding:3rem 0 1rem}.page-masthead h1{font-family:var(--display);font-size:clamp(2.5rem,5vw,4.5rem)}.page-content{width:min(760px,calc(100% - 40px));padding:1rem 0 5rem;font-size:1.05rem}
.site-footer{padding:2rem 0;border-top:1px solid var(--line);background:var(--surface)}.footer-inner{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:1.5rem}.footer-publication{display:flex;align-items:center;gap:.75rem;min-width:0}.footer-publication img{width:34px;height:34px;object-fit:contain}.footer-publication p{margin:0;color:var(--muted);font-size:.78rem}.site-footer nav{display:flex;gap:1rem;font-size:.82rem;font-weight:700}.copyright{grid-column:1/-1;margin:0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}
.publication-variant-2 .featured-story{grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr)}.publication-variant-2 .featured-media{order:2}.publication-variant-2 .article-list{grid-template-columns:repeat(2,1fr);gap:1.5rem}.publication-variant-2 .article-preview{display:block;padding:0 0 1.5rem;border-top:3px solid var(--ink)}.publication-variant-2 .article-thumb{margin:1rem 0}.publication-variant-3 .featured-section{background:var(--surface)}.publication-variant-3 .featured-story{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}.publication-variant-3 .featured-copy{padding:1rem 0 1rem 1rem;border-left:4px solid var(--accent)}.publication-variant-4 .featured-story{grid-template-columns:1fr}.publication-variant-4 .featured-media{order:2;max-height:330px}.publication-variant-4 .featured-image{aspect-ratio:3/1}.publication-variant-4 .featured-copy{max-width:820px}.publication-variant-4 .article-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(1.25rem,3vw,2rem)}.publication-variant-4 .article-preview{display:flex;flex-direction:column;min-width:0;height:100%;padding:0 0 1.5rem;border-bottom:0}.publication-variant-5 .featured-story{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)}.publication-variant-5 .featured-media{border-radius:0;border:1px solid var(--line);padding:.55rem;background:var(--paper)}.publication-variant-5 .article-preview{grid-template-columns:180px minmax(0,1fr)}
@media(max-width:899.98px){.header-inner{grid-template-columns:minmax(250px,1fr) auto}.header-search{display:none}.featured-story,.publication-variant-2 .featured-story,.publication-variant-3 .featured-story,.publication-variant-5 .featured-story{grid-template-columns:1fr}.featured-media,.publication-variant-2 .featured-media{order:2}.publication-variant-4 .article-list{grid-template-columns:repeat(2,1fr)}.related-grid{grid-template-columns:1fr 1fr}}
@media(min-width:681px) and (max-width:899.98px){.primary-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;list-style:none;padding:.55rem .75rem;border:1px solid var(--line);border-radius:6px;font-size:.8rem;font-weight:800}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open]{grid-column:1/-1}.mobile-nav nav{display:grid;grid-template-columns:repeat(4,auto) minmax(180px,1fr);align-items:center;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line)}.mobile-nav nav>a{font-weight:700}.mobile-nav .search-form{margin-left:auto}}
@media(max-width:680px){.site-shell,.article-width,.page-content{width:min(100% - 28px,1120px)}.header-inner{min-height:68px;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}.brand-lockup{gap:.6rem}.brand-icon{width:38px;height:38px}.brand-tagline{font-size:.75rem;line-height:1.25}.primary-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;list-style:none;padding:.55rem .7rem;border:1px solid var(--line);border-radius:6px;font-size:.8rem;font-weight:800}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open]{grid-column:1/-1}.mobile-nav nav{display:grid;gap:0;padding-top:.65rem;border-top:1px solid var(--line)}.mobile-nav nav>a{padding:.65rem 0;border-bottom:1px solid var(--line);font-weight:700}.mobile-nav .search-form{margin:.8rem 0}.featured-section{padding-top:1.5rem}.featured-story{gap:1.25rem}.featured-copy h1{font-size:clamp(2rem,10vw,3rem)}.article-list,.publication-variant-2 .article-list,.publication-variant-4 .article-list{grid-template-columns:1fr;gap:0}.article-preview,.publication-variant-5 .article-preview{grid-template-columns:112px minmax(0,1fr);gap:1rem;padding:1.1rem 0}.article-preview h3{font-size:1.15rem}.article-preview p{display:none}.archive-card{grid-template-columns:100px minmax(0,1fr);gap:1rem}.archive-card h2{font-size:1.25rem}.archive-card p{display:none}.article-header{padding-top:2.7rem}.article-header h1{font-size:clamp(2.35rem,11vw,3.4rem)}.article-content{font-size:1.08rem;line-height:1.75}.related-grid,.topics-list{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.site-footer nav{flex-wrap:wrap}.copyright{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.related-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}

/* Distinct article-reading identity for this publication. */
.single-post .article-header{width:min(1040px,calc(100% - 40px));text-align:center}.single-post .article-header .post-meta{justify-content:center}.single-post .article-header h1{max-width:18ch;margin-inline:auto}.single-post .article-feature{width:min(1180px,calc(100% - 40px))}.single-post .article-feature-image{aspect-ratio:2.35/1;border-radius:2px}.single-post .article-content{width:min(820px,calc(100% - 40px))}
@media(max-width:680px){.single-post .article-header{display:block;width:min(100% - 40px,760px);margin-inline:auto;margin-bottom:0;padding-inline:0;border-left-width:0}.single-post .article-header h1{max-width:none}.single-post .article-feature{width:calc(100% - 40px);margin-inline:auto;margin-top:0}.single-post .article-feature-image{aspect-ratio:16/10;border-radius:0}.single-post .related-grid article{display:block;box-shadow:none}.single-post .article-content:first-letter{float:none;font-size:inherit;line-height:inherit;padding:0}}

/* === Unique publication design: START === */
:root{--surface:#f0f8fa;--radius:4px}
.featured-section{padding:4rem 0 2.5rem;background:#fff}.featured-story{grid-template-columns:1fr}.featured-copy{grid-row:1;max-width:940px}.featured-media{grid-row:2;max-height:420px;border-radius:4px}.featured-image{aspect-ratio:24/8}.featured-copy h1{font-size:clamp(3.2rem,6vw,5.6rem);font-weight:500}.latest-section{width:min(1040px,calc(100% - 40px))}.article-list{display:block}.article-preview{grid-template-columns:260px minmax(0,1fr);padding:2rem 0}.category-section{background:#f0f8fa}.category-links{display:grid;grid-template-columns:repeat(3,1fr)}.category-links a{border-radius:4px;background:#fff}
@media(max-width:899.98px){.featured-image{aspect-ratio:16/9}.category-links{grid-template-columns:1fr 1fr}}@media(max-width:680px){.article-preview{grid-template-columns:105px minmax(0,1fr)}.category-links{grid-template-columns:1fr}}
/* === Unique publication design: END === */
/* Tech Publishing Scope: wide-lens composition */
.scope-opening{display:grid;grid-template-columns:1.35fr .65fr;gap:5rem;align-items:end;padding-block:5rem}.scope-rule{display:block;width:100px;height:8px;background:var(--accent);margin-bottom:2rem}.scope-opening h1{font-size:clamp(3.5rem,7vw,6.8rem);letter-spacing:-.065em}.scope-opening>p{color:var(--muted);font-size:1.2rem}.scope-feature{padding:3rem 0;background:var(--ink);color:#fff}.scope-feature .site-shell{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:3rem;align-items:center}.scope-feature img{width:100%;aspect-ratio:2/1;object-fit:cover}.scope-feature h2{font-size:clamp(2.5rem,4vw,4rem)}.scope-feature article>p{color:#d9e2e5}.scope-lenses{padding-block:4rem}.scope-lenses>header{display:flex;justify-content:space-between;align-items:end}.scope-lenses h2{font-size:3.5rem}.scope-lenses>div{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.scope-lenses article{border-top:6px solid var(--accent);padding-top:1rem}.scope-lenses article>span{font-size:.75rem;font-weight:900;text-transform:uppercase}.scope-lenses img{width:100%;aspect-ratio:3/2;object-fit:cover;margin:.75rem 0}.scope-lenses h3{font-size:1.7rem}.scope-spectrum{padding:3rem 0;background:var(--surface)}.scope-spectrum .site-shell{display:flex;gap:1rem;flex-wrap:wrap}.scope-spectrum a{padding:.5rem .8rem;border:1px solid var(--line)}
@media(max-width:800px){.scope-opening,.scope-feature .site-shell{grid-template-columns:1fr}.scope-lenses>div{grid-template-columns:1fr 1fr}}@media(max-width:540px){.scope-lenses>div{grid-template-columns:1fr}}
.scope-lenses>div{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:540px){.scope-lenses>div{grid-template-columns:1fr}}

/* Tech Publishing Scope: teal homepage, header and footer refresh */
:root{--tps-teal:#1f88a6;--tps-ink:#14324a;--tps-muted:#323c42;--tps-deep:#17374a;--tps-mist:#f0f8fb;--tps-purple:#7a4ed8}
body.publication-site{background:#fff;color:var(--tps-ink);font-family:"Poppins","Segoe UI",system-ui,sans-serif}
.tps-header{background:#fff;border-bottom:0;box-shadow:0 1px 0 #e4edf0}.tps-header .header-inner{min-height:64px;display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem}
.tps-brand{display:flex;align-items:center;gap:.65rem;color:var(--tps-ink)}.tps-brand:hover{color:var(--tps-ink)}.tps-brand .brand-icon{width:36px;height:36px;border-radius:8px}.tps-brand-copy{display:grid;line-height:1.15}.tps-brand-copy strong{font-size:.9rem;font-weight:600}.tps-brand-copy small{font-size:.75rem;color:var(--tps-muted);font-weight:400}
.tps-nav{justify-content:center;gap:1.8rem}.tps-nav a{font-size:.8rem;font-weight:600;color:var(--tps-ink)}.tps-nav>a[aria-current="page"]{border-bottom:2px solid var(--tps-purple);padding-bottom:.35rem}
.tps-search{position:relative;display:flex;align-items:center;width:230px}.tps-search input{width:100%;height:36px;border:0;border-radius:18px;background:#eef6f9;padding:0 2.4rem 0 1rem;font:inherit;font-size:.76rem;color:var(--tps-ink)}.tps-search button{position:absolute;right:.5rem;width:26px;height:26px;border:0;background:transparent;color:var(--tps-ink);cursor:pointer;display:grid;place-items:center}
.tps-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;padding-block:1.4rem 1.6rem}
.tps-rule{display:block;width:60px;height:5px;background:var(--tps-teal);margin-bottom:.9rem}.tps-hero .eyebrow{margin:0 0 .6rem;color:var(--tps-teal);font-size:.75rem;letter-spacing:.1em}
.tps-hero h1{margin:0 0 1rem;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:clamp(2rem,3.7vw,3.1rem);font-weight:400;letter-spacing:-.015em;line-height:1.12;color:var(--tps-ink)}.tps-hero-copy>p:not(.eyebrow){color:var(--tps-muted);font-size:.84rem;margin:0;max-width:40ch}
.tps-hero-img img.featured-image{display:block;width:100%;height:auto;aspect-ratio:534/387;object-fit:cover;border-radius:6px;box-shadow:0 10px 26px rgba(20,50,74,.14)}
.tps-band{background:var(--tps-deep);color:#fff;padding:2.4rem 0}.tps-band-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2.5rem;align-items:center}.tps-band-img{display:block}.tps-band-img img.featured-image{display:block;width:100%;height:auto;aspect-ratio:551/241;object-fit:cover;border-radius:2px}
.tps-band .post-meta{justify-content:flex-start;font-size:.75rem;color:#a9c3d0}.tps-band .post-meta a{color:#3fb0d0}.tps-band h2{margin:.5rem 0 .8rem;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:400;line-height:1.15;color:#fff}.tps-band h2 a{color:#fff}.tps-band article>p{color:#d4e3ea;font-size:.8rem;margin:0 0 .8rem}.tps-focus{color:#3fb0d0;font-size:.8rem;font-weight:700}
.tps-lenses{padding-block:1.8rem 2rem}.tps-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:.4rem;border-bottom:4px solid var(--tps-teal);margin-bottom:1.1rem}.tps-head h2{margin:0;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:400;color:var(--tps-ink)}.tps-head>a{color:var(--tps-teal);font-size:.75rem;font-weight:600;padding-bottom:.4rem}
.tps-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.4rem}.tps-card{background:#fff;border:1px solid #e1ebef;border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.tps-card-img{display:block}.tps-card .preview-image{width:100%;aspect-ratio:459/171;height:auto;object-fit:cover}.tps-card-body{padding:.8rem 1rem 1rem}.tps-card .post-meta{justify-content:flex-start;font-size:.75rem}.tps-card .post-meta a{color:var(--tps-teal)}.tps-card h3{margin:.4rem 0;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:1.1rem;font-weight:400;line-height:1.25;color:var(--tps-ink)}.tps-card p{margin:0;color:var(--tps-muted);font-size:.76rem;line-height:1.5}
.tps-spectrum{background:var(--tps-mist);padding:1.1rem 0}.tps-spectrum-inner{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}.tps-spectrum strong{font-size:.9rem;font-weight:500}.tps-chips{display:flex;flex-wrap:wrap;gap:.7rem}.tps-chips a{padding:.5rem 1rem;background:#fff;border:1px solid #dcebf0;border-radius:4px;font-size:.78rem;box-shadow:0 1px 3px rgba(20,50,74,.05)}.tps-chips a:hover{border-color:var(--tps-teal);color:var(--tps-teal)}
.tps-footer{background:#fff;border-top:0;padding:1rem 0 1rem}.tps-footer-main{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-bottom:.9rem;border-bottom:1px solid #e4edf0}.tps-footer nav{display:flex;gap:1.6rem;font-size:.78rem;font-weight:600}.tps-copy{margin:.8rem 0 0;color:var(--tps-muted);font-size:.75rem}
@media(max-width:899.98px){.tps-header .header-inner{grid-template-columns:1fr auto}.tps-search,.tps-nav{display:none}.tps-hero,.tps-band-grid{grid-template-columns:1fr}}
@media(max-width:600px){.tps-footer-main{flex-direction:column;align-items:flex-start}}
.tps-hero h1{font-size:clamp(2.1rem,4.1vw,3.4rem);max-width:15ch}

/* Page typography (About, Contact, Privacy and other simple pages): balanced hierarchy; each site keeps its own fonts and colours. */
.page-shell{padding-block:clamp(2rem,4.5vw,3.5rem) clamp(2.5rem,5vw,4rem)}
.page-article .section-label,.page-masthead .section-label{margin:0 0 .75rem;font-size:.8125rem;font-weight:700;letter-spacing:.12em;line-height:1.3}
.page-article h1,.page-masthead h1{margin:0 0 1.5rem;font-size:clamp(2rem,4vw,2.5rem);line-height:1.15}
.page-article .entry-content{max-width:50rem}
.page-article .entry-content,.page-content{font-size:clamp(1rem,.35vw + .95rem,1.125rem);line-height:1.7}
.page-article .entry-content>:first-child,.page-content>:first-child{margin-top:0}
.page-article .entry-content p,.page-content p{margin:0 0 1.15em}
.page-article .entry-content h2,.page-content h2{margin:2.25rem 0 .75rem;font-size:clamp(1.625rem,3vw,1.875rem);line-height:1.25}
.page-article .entry-content h3,.page-content h3{margin:1.75rem 0 .5rem;font-size:clamp(1.25rem,2.2vw,1.4rem);line-height:1.3}
.page-article .entry-content ul,.page-article .entry-content ol,.page-content ul,.page-content ol{margin:0 0 1.25rem;padding-left:1.35rem}
.page-article .entry-content li,.page-content li{margin-bottom:.4rem}
@media(max-width:680px){.page-shell{padding-block:1.75rem 2.5rem}.page-article .section-label,.page-masthead .section-label{font-size:.75rem}.page-article h1,.page-masthead h1{margin-bottom:1.1rem;font-size:1.875rem}.page-article .entry-content h2,.page-content h2{margin-top:1.75rem;font-size:1.5rem}.page-article .entry-content,.page-content{font-size:1rem}}

/* About page layout (variant 18): S3,rule,quote. Content, fonts and colours are unchanged. */
.page-about .page-article .entry-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto 1fr;grid-auto-flow:column;column-gap:1.25rem;row-gap:0;max-width:none}
.page-about .page-article .entry-content>p:first-child{grid-column:1/-1;grid-row:1;margin-bottom:2rem;max-width:50rem}
.page-about .page-article .entry-content>h2{margin:0;padding:1.25rem 1.25rem .6rem;background:var(--surface);border-radius:8px 8px 0 0}
.page-about .page-article .entry-content>h2+p{margin:0;padding:0 1.25rem 1.5rem;background:var(--surface);border-radius:0 0 8px 8px}
.page-about .page-article .entry-content>h2{border-top:3px solid var(--accent);padding-top:.75rem}
.page-about .page-article .entry-content>h2{border-radius:0}
.page-about .page-article .entry-content>p:first-child{padding-left:1.25rem;border-left:4px solid var(--accent);font-style:italic}
@media(max-width:720px){.page-about .page-article .entry-content{display:block}.page-about .page-article .entry-content>h2{border-radius:8px 8px 0 0;margin-top:1rem}}

/* Article grids adapt to the number of posts: columns collapse when there are fewer cards, a single card stays a readable width. */
.tps-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.tps-cards>:only-child{max-width:36rem}

/* Responsive navigation: desktop menu at 900px and above, hamburger menu below 900px (same on every site). */
.pub-nav-toggle,.pub-mobile-menu{display:none}
@media(max-width:899.98px){
.site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem .75rem;min-height:0;padding-block:.65rem}
.site-header .header-inner>nav.primary-nav,.site-header .header-inner>form,.site-header .header-inner>.header-search,.site-header .header-inner>.apt-tools,.site-header .header-inner>.ctm-tools,.site-header .header-inner>a[class*="search-btn"],.site-header .header-inner>.mobile-nav{display:none!important}
.site-header .header-inner>:first-child{min-width:0}
.pub-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line,#d5d9e0);border-radius:6px;background:transparent;color:inherit;cursor:pointer}
.pub-nav-toggle:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.pub-nav-bars,.pub-nav-bars::before,.pub-nav-bars::after{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;content:""}
.pub-nav-bars{position:relative}.pub-nav-bars::before{position:absolute;left:0;top:-6px}.pub-nav-bars::after{position:absolute;left:0;top:6px}
.pub-nav-toggle[aria-expanded="true"] .pub-nav-bars{background:transparent}.pub-nav-toggle[aria-expanded="true"] .pub-nav-bars::before{top:0;transform:rotate(45deg)}.pub-nav-toggle[aria-expanded="true"] .pub-nav-bars::after{top:0;transform:rotate(-45deg)}
.pub-mobile-menu:not([hidden]){display:block;grid-column:1/-1;padding:.25rem 0 1rem;border-top:1px solid var(--line,#d5d9e0)}
.pub-mobile-menu nav{display:grid}
.pub-mobile-menu nav>a:not([class*="subscribe"]){display:block;padding:.8rem 0;border-bottom:1px solid var(--line,#d5d9e0);font-size:1rem;font-weight:700;line-height:1.3}
.pub-mobile-menu nav>a[aria-current="page"]{text-decoration:underline;text-underline-offset:.3em}
.pub-mobile-menu nav>a[class*="subscribe"]{justify-self:start;margin-top:.9rem;display:inline-block}
.pub-mobile-menu .search-form{display:flex;align-items:center;margin:.9rem 0 .25rem}
.pub-mobile-menu .search-field{width:100%;min-width:0}
}
@media(min-width:900px){.pub-nav-toggle,.pub-mobile-menu{display:none!important}}
.tps-hero-img img.featured-image{aspect-ratio:423/239}
/* ---- Site footer: shared structure (identical on every site). Colours, type and shapes come from the .pf-skin-* block below. ---- */
.pf-cta,.pf-footer{--pf-radius:6px;--pf-btn-radius:6px;--pf-head-font:inherit;--pf-brand-font:inherit;--pf-cta-font:inherit}
.pf-cta{background:var(--pf-cta-bg);color:var(--pf-cta-ink);padding-block:clamp(2.2rem,4.5vw,3.4rem)}
.pf-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;flex-wrap:wrap}
.pf-cta-copy{flex:1 1 420px;min-width:0;max-width:640px}
.pf-cta-kicker{margin:0 0 .45rem;color:var(--pf-cta-kicker);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.pf-cta h2{margin:0;color:var(--pf-cta-ink);font-family:var(--pf-cta-font);font-size:clamp(1.45rem,2.6vw,2.1rem);font-weight:800;line-height:1.18;letter-spacing:-.01em}
.pf-cta-text{margin:.6rem 0 0;color:var(--pf-cta-muted);font-size:.92rem;line-height:1.6}
.pf-cta-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:46px;padding:.7rem 1.35rem;border:2px solid transparent;border-radius:var(--pf-btn-radius);font-size:.88rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s}
.pf-btn--primary{background:var(--pf-btn-bg);border-color:var(--pf-btn-bg);color:var(--pf-btn-ink)}
.pf-btn--primary:hover,.pf-btn--primary:focus-visible{background:var(--pf-btn-hover);border-color:var(--pf-btn-hover);color:var(--pf-btn-ink)}
.pf-btn--ghost{background:transparent;border-color:var(--pf-btn2-border);color:var(--pf-btn2-ink)}
.pf-btn--ghost:hover,.pf-btn--ghost:focus-visible{background:var(--pf-btn2-border);color:var(--pf-btn2-hover-ink)}
.pf-cta--center .pf-cta-inner{flex-direction:column;text-align:center}
.pf-cta--center .pf-cta-copy{flex:none;max-width:680px}
.pf-cta--center .pf-cta-actions{justify-content:center}
.pf-cta--card{background:var(--pf-band-bg,transparent)}
.pf-cta--card .pf-cta-inner{padding:clamp(1.5rem,3.5vw,2.4rem) clamp(1.25rem,3.5vw,2.6rem);background:var(--pf-cta-bg);border:var(--pf-cta-border,0);border-radius:var(--pf-radius)}
.pf-footer{background:var(--pf-bg);color:var(--pf-muted);border-top:var(--pf-top,0);padding:clamp(2.6rem,5vw,4rem) 0 1.4rem;font-size:.9rem}
.pf-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:2.5rem clamp(1.5rem,4vw,3.5rem)}
.pf-col{min-width:0}
.pf-brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--pf-ink);text-decoration:none}
.pf-brand:hover{color:var(--pf-ink)}
.pf-brand .brand-icon{flex:none;width:44px;height:44px;object-fit:contain;border-radius:var(--pf-icon-radius,8px)}
.pf-brand-copy{display:grid;gap:.15rem;line-height:1.2;min-width:0}
.pf-brand-copy strong{font-family:var(--pf-brand-font);font-size:1.12rem;font-weight:800}
.pf-brand-copy small{color:var(--pf-muted);font-size:.75rem;font-weight:500}
.pf-about{max-width:36ch;margin:1.1rem 0 0;color:var(--pf-muted);font-size:.88rem;line-height:1.65}
.pf-social{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.2rem 0 0;padding:0;list-style:none}
.pf-social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--pf-line);border-radius:var(--pf-icon-radius,8px);color:var(--pf-ink)}
.pf-social a:hover,.pf-social a:focus-visible{border-color:var(--pf-hover);color:var(--pf-hover)}
.pf-heading{margin:0 0 1rem;color:var(--pf-head);font-family:var(--pf-head-font);font-size:var(--pf-head-size,.95rem);font-weight:800;letter-spacing:var(--pf-head-track,0);text-transform:var(--pf-head-case,none);line-height:1.3}
.pf-links{display:grid;gap:.15rem;margin:0;padding:0;list-style:none}
.pf-links a{display:inline-block;padding:.3rem 0;color:var(--pf-link);font-size:.9rem;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.pf-links a:hover,.pf-links a:focus-visible{color:var(--pf-hover);text-decoration:underline;text-underline-offset:3px}
.pf-base{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;flex-wrap:wrap;margin-top:clamp(2.2rem,4vw,3rem);padding-top:1.2rem;border-top:var(--pf-divider,1px solid var(--pf-line));color:var(--pf-muted);font-size:.8rem}
.pf-base p{margin:0}
.pf-hook{font-style:var(--pf-hook-style,normal)}
.pf-grid--social{grid-template-columns:minmax(300px,2fr) repeat(4,minmax(0,1fr));column-gap:clamp(1.25rem,2.6vw,2.25rem);align-items:start}
.pf-col--brand .pf-brand{align-items:center}
.pf-col--brand .pf-about{margin-top:12px}
.pf-follow a{display:inline-flex;align-items:center;gap:.6rem;border-radius:4px}
.pf-follow-icon{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid var(--pf-line);border-radius:var(--pf-icon-radius,8px);color:var(--pf-ink);transition:color .15s,border-color .15s}
.pf-follow-icon svg{width:16px;height:16px}
.pf-follow a:hover .pf-follow-icon,.pf-follow a:focus-visible .pf-follow-icon{border-color:var(--pf-hover);color:var(--pf-hover)}
.pf-follow a:focus-visible,.pf-links a:focus-visible{outline:2px solid var(--pf-hover);outline-offset:3px}
@media(max-width:959.98px){.pf-grid.pf-grid--social{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}.pf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-col--brand{grid-column:1/-1}.pf-about{max-width:60ch}}
@media(max-width:719.98px){.pf-grid.pf-grid--social{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-cta-actions{width:100%}.pf-cta--split .pf-cta-actions .pf-btn{flex:1 1 220px}}
@media(max-width:599.98px){.pf-grid,.pf-grid.pf-grid--social{grid-template-columns:1fr;gap:1.9rem}.pf-heading{margin-bottom:.6rem}.pf-base{flex-direction:column;align-items:flex-start}.pf-cta-actions .pf-btn{flex:1 1 100%}}
/* ---- Site footer skin: 18-tech-publishing-scope ---- */
.pf-skin-tps{--pf-cta-bg:linear-gradient(115deg,#1f88a6 0%,#17374a 70%,#3a2a6e 100%);--pf-cta-ink:#fff;--pf-cta-muted:#eef5f8;--pf-cta-kicker:#9fe2f2; --pf-btn-bg:#fff;--pf-btn-ink:#17374a;--pf-btn-hover:#f0f8fb;--pf-btn2-border:rgba(255,255,255,.7);--pf-btn2-ink:#fff;--pf-btn2-hover-ink:#17374a;--pf-btn-radius:4px; --pf-bg:#17374a;--pf-ink:#fff;--pf-muted:#e6eef1;--pf-head:#7fd3e8;--pf-link:#e2eef2;--pf-hover:#fff;--pf-line:rgba(255,255,255,.15);--pf-icon-radius:4px; --pf-head-size:.76rem;--pf-head-track:.12em;--pf-head-case:uppercase}
.pf-skin-tps .pf-base{border-top:1px solid rgba(127,211,232,.3)}

/* Latest Articles heading: the site's own section name stays as a subtitle. */
.pub-section-sub{margin:.3rem 0 0;font-size:.95rem;line-height:1.4;font-weight:400;opacity:1}
.tps-more{display:inline-block;margin-top:.5rem;color:var(--tps-teal);font-size:.8rem;font-weight:700}

/* Enhanced Tech Publishing Scope homepage — compact editorial panorama. */
.tps-header .header-inner{grid-template-columns:auto minmax(360px,1fr) minmax(170px,220px) auto;min-height:66px}
.tps-subscribe{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.5rem 1.1rem;border-radius:5px;background:#087faa;color:#fff!important;font-size:.78rem;font-weight:750}
.tps-subscribe:hover{background:#066989;color:#fff}
.tps-home-v2{overflow-x:clip;background:#fff}
.tps-v2-kicker{margin:0 0 .65rem;color:#1686a7;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.tps-v2-hero{padding:1.35rem 0 0;background:linear-gradient(102deg,#f4fbfd 0%,#ecf7fb 45%,#e8f4f9 100%);border-bottom:1px solid #dcecf2}
.tps-v2-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:stretch;gap:clamp(1.4rem,3vw,2.7rem)}
.tps-v2-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:1.8rem 0 2.2rem}
.tps-v2-hero h1{max-width:15ch;margin:0 0 .9rem;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:clamp(2.1rem,3.8vw,3.35rem);font-weight:650;line-height:1.03;letter-spacing:-.035em;color:#123d57}
.tps-v2-deck{max-width:48ch;margin:0;color:#536c7a;font-size:.88rem;line-height:1.65}
.tps-v2-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.3rem}
.tps-v2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.64rem 1.05rem;border:1px solid transparent;border-radius:4px;font-size:.78rem;font-weight:750;line-height:1.2;transition:background .16s ease,color .16s ease,border-color .16s ease}
.tps-v2-btn--primary{background:#087fa9;color:#fff}.tps-v2-btn--primary:hover{background:#066b8f;color:#fff}
.tps-v2-btn--secondary{border-color:#1783a2;background:#fff;color:#14506a}.tps-v2-btn--secondary:hover{background:#e7f5f9;color:#103e54}
.tps-v2-hero-media{position:relative;min-height:330px;margin:0;overflow:hidden;border-radius:4px 4px 0 0}
.tps-v2-hero-media img{width:100%;height:100%;min-height:330px;object-fit:cover;object-position:center}
.tps-v2-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,43,64,.05),transparent 55%,rgba(21,63,87,.18))}
.tps-v2-hero-media figcaption{position:absolute;z-index:1;right:1.1rem;top:1rem;width:126px;padding:.75rem;background:rgba(255,255,255,.88);color:#173f59;font-family:Georgia,"Times New Roman",serif;font-size:.88rem;line-height:1.05}
.tps-v2-hero-media figcaption strong,.tps-v2-hero-media figcaption span{display:block}.tps-v2-hero-media figcaption span{margin-top:.25rem;font-size:.72rem;font-family:"Poppins","Segoe UI",sans-serif}
.tps-v2-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-block:1rem}
.tps-v2-pillars>div{display:flex;align-items:center;gap:.7rem;min-width:0}
.tps-v2-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#d8eff5;color:#087fa9}
.tps-v2-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tps-v2-pillars p{display:grid;margin:0;line-height:1.25}.tps-v2-pillars strong{font-size:.78rem;color:#193e55}.tps-v2-pillars small{font-size:.68rem;color:#607783}
.tps-v2-feature{padding:1.8rem 0;background:#eef7fa}
.tps-v2-feature-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:2rem;align-items:center}
.tps-v2-feature article{padding:1rem .2rem}
.tps-v2-feature .post-meta{justify-content:flex-start;margin:0 0 .65rem;font-size:.7rem}.tps-v2-feature .post-meta a{color:#087fa9}
.tps-v2-feature h2{max-width:17ch;margin:0 0 .8rem;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:clamp(1.75rem,3vw,2.7rem);font-weight:600;line-height:1.12;color:#123d57}
.tps-v2-feature article>p:not(.tps-v2-kicker):not(.post-meta){max-width:48ch;margin:0 0 1rem;color:#5a707c;font-size:.82rem}
.tps-v2-feature-media{position:relative;margin:0;overflow:hidden;border-radius:4px}
.tps-v2-feature-media img{width:100%;aspect-ratio:16/7;object-fit:cover}
.tps-v2-feature-media figcaption{position:absolute;right:1rem;bottom:1rem;max-width:150px;padding:.65rem .75rem;background:rgba(13,55,73,.82);color:#fff;font-size:.7rem;line-height:1.35}
.tps-v2-latest{padding-block:1.75rem}
.tps-v2-section-head,.tps-v2-topic-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.tps-v2-section-head h2,.tps-v2-topic-head h2{margin:0;font-family:"Poppins","Segoe UI",system-ui,sans-serif;color:#153e56;font-size:clamp(1.65rem,2.8vw,2.2rem);font-weight:550}
.tps-v2-section-head>div>p:last-child{margin:.15rem 0 0;color:#647a85;font-size:.76rem}
.tps-v2-section-head>a,.tps-v2-topic-head>a{color:#087fa9;font-size:.72rem;font-weight:700}
.tps-v2-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.tps-v2-card{overflow:hidden;border:1px solid #dfe9ed;border-radius:3px;background:#fff}
.tps-v2-card-img{display:block;overflow:hidden}.tps-v2-card-img img{width:100%;aspect-ratio:16/8.5;object-fit:cover;transition:transform .22s ease}.tps-v2-card:hover .tps-v2-card-img img{transform:scale(1.015)}
.tps-v2-card-body{padding:.75rem .82rem .9rem}.tps-v2-card .post-meta{justify-content:flex-start;font-size:.66rem}.tps-v2-card .post-meta a{color:#087fa9}
.tps-v2-card h3{margin:.35rem 0 .4rem;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:.96rem;font-weight:600;line-height:1.25;color:#173d55}
.tps-v2-card p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;color:#667b85;font-size:.7rem;line-height:1.5}
.tps-v2-more{display:inline-block;margin-top:.55rem;color:#087fa9;font-size:.7rem;font-weight:750}
.tps-v2-topics{padding-bottom:1.7rem}.tps-v2-topic-head h2{font-size:1.15rem}
.tps-v2-topic-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}
.tps-v2-topic{position:relative;display:block;min-height:82px;overflow:hidden;border-radius:3px;background:#153e56;color:#fff}
.tps-v2-topic::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,42,57,.72),rgba(8,42,57,.05) 70%)}
.tps-v2-topic img{width:100%;height:82px;object-fit:cover;transition:transform .22s ease}.tps-v2-topic:hover img{transform:scale(1.04)}
.tps-v2-topic span{position:absolute;z-index:1;left:.6rem;right:.5rem;bottom:.5rem;color:#fff;font-size:.68rem;font-weight:700;line-height:1.2}
.pf-skin-tps{--pf-cta-bg:linear-gradient(105deg,#0d789d 0%,#0a668b 58%,#143a69 100%);--pf-cta-ink:#fff;--pf-cta-muted:#eff7f9;--pf-cta-kicker:#a7e5f3;--pf-btn-bg:#fff;--pf-btn-ink:#0a668b;--pf-btn-hover:#e8f6fa;--pf-bg:#fff;--pf-ink:#173d55;--pf-muted:#344047;--pf-head:#173d55;--pf-link:#375568;--pf-hover:#087fa9;--pf-line:#dfe9ed;--pf-x:#173d55}
.pf-skin-tps.pf-cta{padding-block:1.55rem}.pf-skin-tps .pf-cta-inner{align-items:center}.pf-skin-tps .pf-cta-copy{max-width:470px}
.pf-skin-tps .pf-cta-kicker{font-size:.68rem}.pf-skin-tps .pf-cta h2{font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.15}.pf-skin-tps .pf-cta-text{font-size:.75rem}
.pf-skin-tps .pf-news{max-width:520px}.pf-skin-tps .pf-news-plane{display:none}.pf-skin-tps .pf-news-field,.pf-skin-tps .pf-news .pf-btn{min-height:42px}
.pf-skin-tps.pf-footer{background:#fff;padding-block:1.8rem 1rem}.pf-skin-tps.pf-footer .pf-grid{grid-template-columns:1.35fr repeat(3,.75fr) .9fr;gap:1.5rem}
.pf-skin-tps .pf-col--note{padding-left:1.2rem;border-left:1px solid #dfe9ed}.pf-skin-tps .pf-note-art{color:#087fa9}.pf-skin-tps .pf-note-text{color:#173d55}
@media(max-width:1050px){
 .tps-header .header-inner{grid-template-columns:auto 1fr auto}.tps-header .tps-search{display:none}
 .tps-v2-topic-grid{grid-template-columns:repeat(3,1fr)}
 .pf-skin-tps.pf-footer .pf-grid{grid-template-columns:1.2fr repeat(2,1fr)}
}
@media(max-width:899.98px){
 .tps-header .header-inner{grid-template-columns:1fr auto}.tps-header>.header-inner>.tps-subscribe{display:none}
 .tps-v2-hero-grid,.tps-v2-feature-grid{grid-template-columns:1fr}
 .tps-v2-hero-copy{padding-block:1rem}.tps-v2-hero-media{min-height:280px}.tps-v2-hero-media img{min-height:280px}
 .tps-v2-feature article{padding-bottom:0}.tps-v2-feature-media img{aspect-ratio:16/9}
 .pf-skin-tps.pf-footer .pf-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
 .tps-v2-hero{padding-top:.85rem}.tps-v2-hero h1{font-size:clamp(2rem,11vw,3.1rem)}
 .tps-v2-pillars{grid-template-columns:1fr;gap:.8rem}
 .tps-v2-cards{grid-template-columns:1fr}.tps-v2-card{display:grid;grid-template-columns:118px 1fr}.tps-v2-card-img img{height:100%;aspect-ratio:auto}
 .tps-v2-topic-grid{grid-template-columns:repeat(2,1fr)}
 .tps-v2-section-head,.tps-v2-topic-head{align-items:flex-start}
 .pf-skin-tps.pf-footer .pf-grid{grid-template-columns:1fr}.pf-skin-tps .pf-col--note{padding-left:0;border-left:0}
}
@media(prefers-reduced-motion:reduce){.tps-v2-card-img img,.tps-v2-topic img{transition:none}}

/* Footer spacing: tighter gap between the call-to-action and the footer, steady footer rhythm. */
.pf-cta--card.pf-cta.pf-cta{padding-bottom:1.5rem}
footer.pf-footer.pf-footer{padding-top:clamp(2.5rem,3.5vw,2.9rem);padding-bottom:1.25rem}
.pf-footer .pf-grid{align-items:start;row-gap:2rem}
.pf-footer .pf-base{margin-top:clamp(1.75rem,3vw,2.25rem)}

/* Follow Us: compact row of full-colour social logos (Instagram, Facebook, X, LinkedIn, YouTube). */
.pf-links.pf-follow{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem .85rem;margin:0;padding:0;list-style:none}
.pf-links.pf-follow li{margin:0}
.pf-links.pf-follow a.pf-soc{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border-radius:8px;line-height:0;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.pf-soc svg{display:block;width:24px;height:24px}
.pf-soc--x{color:var(--pf-x,#0f0f10)}
.pf-links.pf-follow a.pf-soc:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.18);text-decoration:none}
.pf-links.pf-follow a.pf-soc:focus-visible{outline:2px solid var(--pf-hover);outline-offset:3px;transform:translateY(-2px)}
.pf-skin-tpt,.pf-skin-sih,.pf-skin-tps{--pf-x:#fff}
@media(max-width:719.98px){.pf-links.pf-follow{gap:.6rem .75rem}.pf-links.pf-follow a.pf-soc{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.pf-links.pf-follow a.pf-soc{transition:none}.pf-links.pf-follow a.pf-soc:hover,.pf-links.pf-follow a.pf-soc:focus-visible{transform:none}}

/* Follow Us column sizes to its icons so the five logos stay on one row. */
@media(min-width:960px){.pf-grid.pf-grid--social{grid-template-columns:minmax(240px,2fr) repeat(3,minmax(0,1fr)) max-content}.pf-links.pf-follow{flex-wrap:nowrap;gap:.55rem}.pf-links.pf-follow a.pf-soc{width:30px;height:30px}}

/* Footer variants: icons under the brand text, a side note with a small illustration, or icons + a labelled list. */
.pf-follow--brand{margin:1.1rem 0 0!important}
.pf-note-art{display:block;margin-bottom:.7rem;color:var(--pf-hover,#0b63d6)}
.pf-note-text{margin:0;color:var(--pf-head,#10294a);font-family:var(--pf-head-font,inherit);font-size:.95rem;font-weight:700;line-height:1.3}
.pf-note-text::after{content:"";display:block;width:30px;height:3px;margin-top:.55rem;border-radius:2px;background:var(--pf-hover,#0b63d6)}
.pf-note-text--col{margin-top:1rem;font-size:.9rem}
.pf-col--note{padding-left:1.4rem;border-left:1px solid var(--pf-line,#e3ebf5)}
@media(min-width:960px){
 .pf-grid.pf-grid--social.pf-grid--f-brand{grid-template-columns:minmax(240px,2fr) repeat(3,minmax(0,1fr)) minmax(170px,1.2fr);align-items:start}
 .pf-grid.pf-grid--social.pf-grid--f-column{grid-template-columns:minmax(240px,2fr) repeat(3,minmax(0,1fr)) minmax(190px,1.2fr)}
 .pf-grid.pf-grid--social.pf-grid--f-both{grid-template-columns:minmax(240px,2fr) repeat(3,minmax(0,1fr)) minmax(150px,1.1fr)}
}
.pf-grid--f-both .pf-col--follow .pf-follow{flex-direction:column;align-items:flex-start;flex-wrap:wrap;gap:.35rem}
.pf-grid--f-both .pf-col--follow a.pf-soc{width:auto;height:auto;display:inline-flex;align-items:center;gap:.6rem;padding:.2rem 0;border-radius:4px;font-size:.88rem;color:var(--pf-link,inherit)}
.pf-grid--f-both .pf-col--follow a.pf-soc::after{content:attr(title)}
.pf-grid--f-both .pf-col--follow a.pf-soc svg{width:18px;height:18px}
.pf-grid--f-both .pf-col--follow a.pf-soc:hover{box-shadow:none;transform:none;color:var(--pf-hover)}
@media(min-width:960px){.pf-grid--f-both .pf-col--follow .pf-follow{flex-wrap:wrap}}
@media(max-width:959.98px){.pf-col--note{grid-column:1/-1;padding-left:0;border-left:0}}

/* Mockup pass: header Subscribe, hero points, hero card, featured badge, newsletter call-to-action, back-to-top. */
.pub-subscribe{display:none}
@media(min-width:900px){
 .has-subscribe .header-inner{grid-template-columns:auto 1fr auto auto}
 .has-subscribe .pub-subscribe{display:inline-flex;align-items:center;padding:.62rem 1.2rem;border-radius:var(--sub-r,8px);background:var(--sub,#2563eb);color:#fff;font-size:.85rem;font-weight:700;line-height:1;white-space:nowrap;text-decoration:none}
 .has-subscribe .pub-subscribe:hover{filter:brightness(.92);color:#fff}
 .has-subscribe .pub-subscribe:focus-visible{outline:2px solid var(--sub,#2563eb);outline-offset:3px}
}
.pub-points{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;margin:1.6rem 0 0;padding:1.1rem 0 0;list-style:none;border-top:1px solid var(--pts-line,rgba(20,30,50,.1))}
.pub-points li{display:flex;align-items:center;gap:.6rem;min-width:0}
.pub-pt-ico{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--pts-bg,#e6eefc);color:var(--pts-fg,#2563eb)}
.pub-points strong{display:block;font-size:.85rem;line-height:1.25}
.pub-points small{display:block;font-size:.75rem;line-height:1.3;opacity:1}
.pub-hero-card{position:absolute;right:14px;bottom:14px;z-index:3;display:flex;align-items:center;gap:.65rem;max-width:min(260px,70%);padding:.7rem .95rem;border-radius:10px;background:var(--hc-bg,rgba(16,56,30,.94));color:var(--hc-fg,#fff);font-size:.8rem;line-height:1.3;box-shadow:0 10px 24px rgba(0,0,0,.22)}
.pub-hero-card strong{display:block}
.pub-hc-ico{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.16)}
.pub-badge{position:absolute;left:.9rem;top:.9rem;z-index:2;padding:.28rem .75rem;border-radius:6px;background:var(--badge,#e8326d);color:#fff;font-size:.75rem;font-weight:700;line-height:1.2}
.pf-news{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;flex:0 1 520px;max-width:100%}
.pf-news-plane{position:absolute;left:-5.2rem;top:-1.5rem;color:var(--pf-cta-kicker,#2563eb);opacity:.55;pointer-events:none}
.pf-news-field{display:flex;align-items:center;gap:.5rem;flex:1 1 220px;min-width:0;height:46px;padding:0 .85rem;border:1px solid var(--pf-line,#dbe4f0);border-radius:var(--pf-btn-radius,8px);background:#fff;color:#6b7a90}
.pf-news-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#1b2a3a;font:inherit;font-size:.9rem}
.pf-news-field:focus-within{outline:2px solid var(--pf-hover,#2563eb);outline-offset:2px}
.pf-news .pf-btn{height:46px;white-space:nowrap}
.pf-news-note{flex:1 1 100%;margin:0;color:var(--pf-cta-muted,#566a80);font-size:.75rem}
.pf-backtop{margin-left:1.2rem;padding-left:1.2rem;border-left:1px solid var(--pf-line,#e3ebf5);color:var(--pf-hover,#2563eb);font-size:.8rem;font-weight:600;text-decoration:none}
@media(max-width:899.98px){.pf-news-plane{display:none}.pf-news{flex:1 1 100%}}
@media(max-width:480px){.pf-news .pf-btn{flex:1 1 100%}}
@media(max-width:599.98px){.pub-hero-card{right:10px;bottom:10px;padding:.55rem .75rem}}

@media(min-width:900px){.pub-points{flex-wrap:nowrap;gap:.8rem 1rem}.pub-points li{flex:1 1 0}.pub-points strong{font-size:.8rem}.pub-pt-ico{width:32px;height:32px}}


/* Hero headline: last words in the site's accent colour. */
.pub-accent{color:var(--acc,inherit)}
.apt-hero{--acc:#ff6a50}.pdt-hero{--acc:#a3224f}.pdd-hero{--acc:#0b63e0}.psp-hero{--acc:#0b63e0}
.pdt-hero h1 em{font-style:normal;color:#a3224f}

/* Call-to-action extras: feature list, script note, accent words. */
.pf-cta-points{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;margin:1.3rem 0 0;padding:0;list-style:none}
.pf-cta-points li{display:flex;align-items:center;gap:.6rem}
.pf-cpt-ico{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.08);color:var(--pf-cta-kicker,currentColor)}
.pf-cta-points strong{display:block;font-size:.85rem;color:inherit}
.pf-cta-points small{display:block;font-size:.75rem;opacity:1}
.pf-cta-script{margin:0;font-size:.9rem;line-height:1.4}
.pf-cta-accent{color:var(--pf-cta-kicker,inherit)}
.pf-cta-inner{position:relative}
.pf-col--note-quote{padding-left:1.6rem}
.pf-col--note-quote .pf-note-art{margin-bottom:.4rem;color:var(--pf-hover,currentColor)}
.pf-col--note-quote .pf-note-text{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:600;font-size:1.05rem;line-height:1.3;max-width:16ch}

/* Keep the dark X mark legible after the light footer override above. */
.pf-skin-tps.pf-footer{--pf-x:#173d55}

/* Final reference match: compact Tech Publishing Scope editorial layout. */
.tps-reference-v3{overflow-x:clip;background:#fff}
.tps-r3-kicker{margin:0 0 .55rem;color:#1687a8;font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.tps-r3-hero{padding-top:1rem;background:#f2f9fc;border-bottom:1px solid #d8e9ef}
.tps-r3-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:1.55rem;align-items:stretch}
.tps-r3-copy{display:flex;flex-direction:column;justify-content:center;padding:1rem 0 1.2rem}.tps-r3-copy h1{max-width:14ch;margin:0 0 .65rem;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:clamp(2.05rem,3.75vw,3.15rem);font-weight:650;line-height:1.02;letter-spacing:-.035em;color:#123d57}.tps-r3-copy>p:not(.tps-r3-kicker){max-width:45ch;margin:0;color:#5e7480;font-size:.77rem;line-height:1.5}
.tps-r3-actions{display:flex;gap:.55rem;margin-top:.95rem}.tps-r3-btn{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:.55rem .9rem;border:1px solid #0b83aa;border-radius:3px;background:#0b83aa;color:#fff;font-size:.67rem;font-weight:750}.tps-r3-btn:hover{background:#086c8e;color:#fff}.tps-r3-btn--ghost{background:#fff;color:#17546b}.tps-r3-btn--ghost:hover{background:#e7f5f9;color:#123e55}
.tps-r3-hero-media{position:relative;min-height:260px;margin:0;overflow:hidden;border-radius:3px 3px 0 0}.tps-r3-hero-media img{width:100%;height:100%;min-height:260px;object-fit:cover;object-position:center}.tps-r3-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,55,74,.04),transparent 58%,rgba(10,55,74,.2))}.tps-r3-hero-media figcaption{position:absolute;z-index:1;right:.85rem;top:.85rem;width:108px;padding:.58rem .65rem;background:rgba(15,71,92,.9);color:#fff;font:700 .75rem/1.08 Georgia,serif}.tps-r3-hero-media figcaption strong,.tps-r3-hero-media figcaption span{display:block}.tps-r3-hero-media figcaption span{font-size:.68rem;font-family:"Poppins","Segoe UI",sans-serif}
.tps-r3-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0 auto;padding-block:.7rem;list-style:none}.tps-r3-points li{display:flex;align-items:center;gap:.52rem}.tps-r3-points li>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#d7eef5;color:#0b83aa}.tps-r3-points svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tps-r3-points p{display:grid;margin:0;line-height:1.22}.tps-r3-points strong{font-size:.67rem;color:#173f56}.tps-r3-points small{font-size:.58rem;color:#6a7e88}
.tps-r3-feature{padding:1.2rem 0;background:#0d3e57;color:#fff}.tps-r3-feature-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:1.7rem;align-items:center}.tps-r3-feature-media{display:block;overflow:hidden;border-radius:2px}.tps-r3-feature-media img{width:100%;aspect-ratio:16/7.2;object-fit:cover}.tps-r3-feature .post-meta{justify-content:flex-start;color:#b7d3dd;font-size:.62rem}.tps-r3-feature .post-meta a{color:#50c1dd}.tps-r3-feature h2{max-width:17ch;margin:.28rem 0 .42rem;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:clamp(1.45rem,2.55vw,2.15rem);font-weight:500;line-height:1.08}.tps-r3-feature h2 a{color:#fff}.tps-r3-feature article>p{max-width:46ch;margin:0 0 .65rem;color:#d3e3e9;font-size:.69rem;line-height:1.45}.tps-r3-btn--light{min-height:34px;border-color:#fff;background:#fff;color:#17475d}.tps-r3-btn--light:hover{background:#dff1f6;color:#123e55}
.tps-r3-latest{padding-block:.8rem .75rem}.tps-r3-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.55rem}.tps-r3-head h2{margin:0;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:1.35rem;font-weight:550;color:#163f57}.tps-r3-head p{margin:.05rem 0 0;color:#6d8089;font-size:.6rem}.tps-r3-head>a{color:#0b83aa;font-size:.6rem;font-weight:750}
.tps-r3-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.tps-r3-card{overflow:hidden;border:1px solid #dbe7ec;border-radius:2px;background:#fff}.tps-r3-card-img{display:block;overflow:hidden}.tps-r3-card-img img{width:100%;aspect-ratio:16/7.3;object-fit:cover}.tps-r3-card-body{padding:.55rem .65rem .65rem}.tps-r3-card .post-meta{justify-content:flex-start;font-size:.54rem}.tps-r3-card .post-meta a{color:#0b83aa}.tps-r3-card h3{margin:.2rem 0;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-size:.78rem;font-weight:550;line-height:1.18;color:#174057}.tps-r3-card p{margin:0;color:#6c7f88;font-size:.54rem;line-height:1.4}.tps-r3-more{display:inline-block;margin-top:.3rem;color:#0b83aa;font-size:.55rem;font-weight:750}
.tps-r3-spectrum{padding:.62rem 0;background:#eef7fa;border-top:1px solid #dbeaf0}.tps-r3-spectrum-inner{display:flex;align-items:center;gap:.9rem}.tps-r3-spectrum strong{flex:0 0 auto;font-size:.62rem;color:#173f56}.tps-r3-spectrum-inner>div{display:flex;flex-wrap:wrap;gap:.35rem}.tps-r3-spectrum a{padding:.3rem .55rem;border:1px solid #d6e6ec;border-radius:2px;background:#fff;color:#4d6876;font-size:.54rem}
.tps-reference-v3+.pf-cta{padding-block:1.35rem;background:linear-gradient(105deg,#0e83a5 0%,#115a82 62%,#3b2871 100%);--pf-cta-ink:#fff;--pf-cta-muted:#eef6f9;--pf-cta-kicker:#a7e3f2;--pf-btn-bg:#fff;--pf-btn-ink:#184a66;--pf-btn-hover:#e9f5f8}.tps-reference-v3+.pf-cta .pf-cta-copy{max-width:520px}.tps-reference-v3+.pf-cta h2{max-width:20ch;font-size:clamp(1.45rem,2.7vw,2rem);line-height:1.08}.tps-reference-v3+.pf-cta .pf-cta-text{font-size:.66rem}.tps-reference-v3+.pf-cta .pf-btn{min-width:150px}
.tps-reference-v3~.pf-footer{--pf-bg:#0d384c;--pf-ink:#fff;--pf-muted:#e6eff2;--pf-head:#7fd3e8;--pf-link:#dceaf0;--pf-hover:#fff;--pf-line:rgba(255,255,255,.16);--pf-x:#fff;background:#0d384c;padding-top:1.35rem}.tps-reference-v3~.pf-footer .pf-grid{gap:1rem 1.4rem}.tps-reference-v3~.pf-footer .pf-brand .brand-icon{width:34px;height:34px}.tps-reference-v3~.pf-footer .pf-brand-copy strong{color:#fff}.tps-reference-v3~.pf-footer .pf-about{font-size:.61rem;line-height:1.4}.tps-reference-v3~.pf-footer .pf-heading{font-size:.67rem;margin-bottom:.4rem}.tps-reference-v3~.pf-footer .pf-links a{font-size:.59rem;padding:.1rem 0}.tps-reference-v3~.pf-footer .pf-note-text{color:#eef7fa;font-size:.75rem}.tps-reference-v3~.pf-footer .pf-base{margin-top:1rem;padding-top:.55rem;font-size:.55rem}
@media(max-width:899.98px){.tps-r3-hero-grid,.tps-r3-feature-grid{grid-template-columns:1fr}.tps-r3-copy{padding-block:.75rem}.tps-r3-hero-media{min-height:250px}.tps-r3-hero-media img{min-height:250px}.tps-r3-feature article{padding:.25rem 0}.tps-r3-spectrum-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.tps-r3-points{grid-template-columns:1fr}.tps-r3-cards{grid-template-columns:1fr}.tps-r3-copy h1{font-size:2.3rem}.tps-r3-card{display:grid;grid-template-columns:112px 1fr}.tps-r3-card-img img{height:100%;aspect-ratio:auto}}


/* Readability (bright, theme-matched): regular-weight body copy, darker secondary text, no faded text. */
body.publication-site{font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.post-meta{font-size:.9375rem;font-weight:600}
.pub-section-sub{font-size:1.0625rem;opacity:1}
.pub-points strong{font-size:.95rem}.pub-points small,.pf-cta-points small{font-size:.9375rem;opacity:1}
.pf-footer{font-size:1rem}
.pf-about,.pf-hook{font-size:1rem;line-height:1.65}
.pf-links a{font-size:1rem;font-weight:500}
.pf-heading{font-size:1.125rem}
.pf-base{font-size:.9375rem}
.pf-cta-text{font-size:1.0625rem;line-height:1.6}
.pf-news-note{font-size:.9375rem}
.pf-btn{font-size:1rem;font-weight:700}
.pf-brand-copy small{font-size:.875rem}

/* Article card images: one consistent 16:9 shape, cropped (never stretched); neutral placeholder when a post has no featured image. */
img.preview-image{display:block;width:100%;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important;object-fit:cover!important}
svg.pub-placeholder{display:block;width:100%;height:auto;aspect-ratio:16/9;max-width:100%;background:#eef1f5;border-radius:inherit}
svg.pub-placeholder.featured-image{height:100%;object-fit:cover}
.rjt4-trend svg.pub-placeholder{width:70px;height:54px;aspect-ratio:auto}
