:root{--bg:#f6f8fb;--surface:#fff;--surface-2:#eef4ff;--text:#172033;--muted:#657084;--line:#dfe7f2;--primary:#0077b5;--primary-dark:#005582;--accent:#0f172a;--radius:18px;--shadow:0 12px 32px rgba(15,23,42,.08);--container:1280px;--content:760px;--rail:250px;--gap:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:99}.skip-link:focus{left:12px;top:12px}.container{max-width:var(--container);margin-inline:auto;padding-inline:18px}.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:14px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--accent);font-size:1.05rem}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--primary),#00a0dc);display:grid;place-items:center;color:#fff}.nav-toggle{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 12px;font-weight:700;color:var(--text)}.site-nav{display:none;position:absolute;left:18px;right:18px;top:72px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:var(--shadow)}.site-nav.is-open{display:block}.site-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.site-nav a{display:block;padding:10px 12px;border-radius:10px;color:var(--text);font-weight:650}.site-nav a:hover,.site-nav a[aria-current=page]{background:var(--surface-2);text-decoration:none;color:var(--primary)}.hero{background:linear-gradient(135deg,#0f172a,#0077b5);color:#fff;padding:64px 0 40px}.hero-grid{display:grid;gap:28px;align-items:center}.hero h1{font-size:clamp(2.1rem,6vw,4.5rem);line-height:1.05;margin:0 0 18px}.hero p{font-size:1.12rem;color:#dbeafe;max-width:760px;margin:0 0 22px}.hero-centered{text-align:center;padding:76px 0 54px}.hero-centered .container{max-width:900px}.hero-centered .badge{margin-bottom:14px}.hero-centered p{margin-left:auto;margin-right:auto;margin-bottom:0}
.hero-actions,.button-row{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 18px;background:var(--primary);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(0,119,181,.25)}.btn:hover{text-decoration:none;background:var(--primary-dark)}.btn.secondary{background:#fff;color:var(--accent)}.hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);border-radius:24px;padding:16px}.hero-card img{border-radius:14px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:14px}.stat strong{display:block;font-size:1.6rem}.page-shell{display:grid;grid-template-columns:1fr;gap:var(--gap);max-width:var(--container);margin-inline:auto;padding:26px 18px}.main-column{min-width:0}.left-rail,.right-rail{display:none}.content-card,.sidebar-card,.archive-intro,.legal-card,.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.section{padding:48px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.section-head h2,.archive-intro h1,.legal-card h1,.contact-card h1{margin:0;color:var(--accent);line-height:1.15}.section-head p,.archive-intro p,.muted{color:var(--muted)}.grid{display:grid;gap:20px}.grid.cards{grid-template-columns:1fr}.cover-card,.post-card,.category-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.05)}.cover-card .body,.post-card .body,.category-card .body{padding:16px}.cover-card h3,.post-card h2,.category-card h3{margin:0 0 8px;font-size:1.12rem;color:var(--accent)}.cover-card p,.post-card p,.category-card p{margin:0 0 12px;color:var(--muted)}.meta{font-size:.9rem;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.breadcrumb{font-size:.9rem;color:var(--muted);margin-bottom:14px}.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.breadcrumb li:not(:last-child)::after{content:'/';margin-left:8px;color:#9aa6b8}.ad-block{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;min-height:250px;padding:16px;display:grid;place-items:center;text-align:center;color:#64748b;font-size:.9rem;margin:24px 0}.ad-block--rail{min-height:600px;margin:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#eaf1ff;color:#0077b5;font-weight:750;font-size:.82rem}.download-image{border-radius:16px;border:1px solid var(--line);overflow:hidden;margin:18px 0}.spec-list{display:grid;gap:10px;margin:16px 0;padding:0;list-style:none}.spec-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px}.faq summary{font-weight:800;cursor:pointer}.pagination{display:flex;gap:8px;justify-content:center;margin-top:26px}.pagination a,.pagination span{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;color:var(--text)}.form-grid{display:grid;gap:14px}.field label{display:block;font-weight:750;margin-bottom:6px}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;background:#fff}.field textarea{min-height:150px}.notice{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;border-radius:14px;padding:14px}.site-footer{background:#0f172a;color:#cbd5e1;margin-top:38px;padding:42px 0}.footer-grid{display:grid;gap:24px}.site-footer h2,.site-footer h3{color:#fff;margin:0 0 10px}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.site-footer a{color:#dbeafe}.small{font-size:.9rem;color:#94a3b8}.download-cta{background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid var(--line);border-radius:18px;padding:18px;margin:22px 0}.table-wrap{overflow:auto}.legal-card h2{margin-top:28px}.legal-card p,.legal-card li{color:#3f4a5d}.legal-card ul{padding-left:22px}@media (min-width:640px){.grid.cards{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(4,1fr)}}@media (min-width:768px){.hero-grid{grid-template-columns:1.1fr .9fr}.footer-grid{grid-template-columns:1.2fr 1fr 1.2fr}.site-nav{display:block;position:static;background:transparent;border:0;box-shadow:none;padding:0}.site-nav ul{display:flex;align-items:center;gap:4px}.nav-toggle{display:none}.grid.cards{grid-template-columns:repeat(3,1fr)}}@media (min-width:1200px){.page-shell{grid-template-columns:var(--rail) minmax(0,var(--content)) var(--rail);justify-content:center;align-items:start}.left-rail,.right-rail{display:block;position:sticky;top:92px}.page-shell.wide-content{grid-template-columns:var(--rail) minmax(0,900px) var(--rail)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Gallery card style: image first, title directly below, matching a clean download-grid layout. */
.cover-card{transition:transform .18s ease, box-shadow .18s ease}.cover-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,23,42,.1)}.cover-thumb-link{display:block;background:#f8fafc}.cover-card img{display:block;width:100%;height:auto;aspect-ratio:4/1;object-fit:cover}.cover-card .gallery-title{padding:12px 14px 14px;text-align:center}.cover-card .gallery-title h2, .gallery-title h3{font-size:1rem;line-height:1.35;margin:0}.cover-card .gallery-title a{color:var(--accent);text-decoration:none}.cover-card .gallery-title a:hover{text-decoration:underline}.archive-intro + .ad-block{margin-bottom:24px}

/* Single-column centered gallery for cover/image listing pages */
.cover-list{
  grid-template-columns:1fr !important;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.cover-list .cover-card{
  max-width:760px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
.cover-list .cover-card:nth-of-type(n+11){
  display:none;
}
.cover-list .cover-card img{
  width:100%;
  aspect-ratio:4 / 1;
  object-fit:cover;
}


/* Full-width centered cover list: title above image, image fills the content column */
.cover-list{
  max-width:900px;
}
.cover-list .cover-card{
  max-width:900px;
  border-radius:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.cover-list .cover-card:hover{
  transform:none;
  box-shadow:none;
}
.cover-list .cover-card .gallery-title-top{
  padding:0 0 10px;
  text-align:left;
}
.cover-list .cover-card .gallery-title-top h2, .gallery-title-top h3{
  font-size:1.08rem;
  line-height:1.35;
  margin:0;
  font-weight:800;
}
.cover-list .cover-thumb-link{
  display:block;
  width:100%;
  border-radius:4px;
  overflow:hidden;
  background:#f8fafc;
  border:1px solid var(--line);
}
.cover-list .cover-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 1;
  object-fit:cover;
}
@media (min-width:1200px){
  .page-shell.wide-content{
    grid-template-columns:var(--rail) minmax(0,900px) var(--rail);
  }
}


/* Centered section heading for homepage latest covers */
.section-head-centered{
  display:block;
  text-align:center;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.section-head-centered p{
  margin:8px auto 0;
}


/* Homepage Show All button replacing category cards */
.show-all-section{padding-top:10px}
.show-all-wrap{display:flex;justify-content:center;align-items:center}
.show-all-wrap .btn{min-width:150px}


/* LinkedInBackground-style listing sequence: image name, image, then tags */
.cover-list .cover-card .gallery-title-top,
.download-title{
  background:#0b0b0f;
  color:#fff;
  padding:12px 16px;
  margin:0;
  text-align:left;
}
.cover-list .cover-card .gallery-title-top h2, .gallery-title-top h3,
.download-title{
  color:#fff;
  font-size:1.05rem;
  line-height:1.35;
  font-weight:800;
}
.cover-list .cover-card .gallery-title-top a,
.download-title a{
  color:#fff;
  text-decoration:none;
}
.cover-list .cover-card .gallery-title-top a:hover{
  text-decoration:underline;
}
.cover-list .cover-thumb-link{
  border-radius:0;
  border:0;
}
.cover-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:12px 0 24px;
  color:var(--muted);
  font-size:.92rem;
}
.cover-card .cover-tags{
  padding:12px 0 28px;
}
.cover-tags span{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--line);
  background:#fff;
  color:#334155;
  border-radius:999px;
  padding:5px 10px;
  line-height:1;
  font-weight:650;
}
.cover-tags .tag-label{
  border:0;
  background:transparent;
  color:var(--accent);
  padding-left:0;
  font-weight:800;
}
.download-title{
  border-radius:10px 10px 0 0;
  margin-top:12px;
}
.download-image{
  border-radius:0;
  margin:0;
}
.download-image img{
  width:100%;
}


/* Added spacing between title bar and image, plus uniform light blue tag pills */
.cover-list .cover-card .gallery-title-top{
  margin-bottom:14px;
  border-radius:6px 6px 0 0;
}
.cover-list .cover-thumb-link{
  margin-top:0;
}
.download-title{
  margin-bottom:14px;
}
.cover-tags{
  gap:10px;
  padding-top:14px;
}
.cover-tags span:not(.tag-label){
  border:1px solid #bfdbfe;
  color:#005582;
  background:rgb(219 234 254);
  box-shadow:none;
}
.cover-tags .tag-label{
  color:#111827;
  margin-right:2px;
}

/* Typography update inspired by linkedinbackground.com: simple sans-serif, clear hierarchy, readable blog text */
:root{
  --font-main: Arial, Helvetica, sans-serif;
  --body-size: 18px;
  --body-line: 1.72;
}
html{font-size:16px;}
body{
  font-family:var(--font-main);
  font-size:var(--body-size);
  line-height:var(--body-line);
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
p,li,summary,input,textarea,button{
  font-family:var(--font-main);
}
p,li{
  font-size:1rem;
  line-height:1.72;
}
p{margin-top:0;margin-bottom:1.15rem;}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-main);
  color:var(--accent);
  font-weight:700;
  letter-spacing:-.015em;
  line-height:1.22;
}
h1{
  font-size:clamp(2rem,4vw,2.625rem);
  margin:0 0 1rem;
}
h2{
  font-size:clamp(1.5rem,2.8vw,2rem);
  margin:1.9rem 0 1rem;
}
h3{
  font-size:clamp(1.2rem,2vw,1.5rem);
  margin:1.5rem 0 .75rem;
}
.hero h1{
  font-size:clamp(2.1rem,5.2vw,3.5rem);
  line-height:1.12;
  font-weight:700;
  letter-spacing:-.03em;
}
.hero p{
  font-size:1.125rem;
  line-height:1.65;
}
.badge,.brand,.site-nav a,.btn,.meta,.breadcrumb,.small,.cover-tags{
  font-family:var(--font-main);
}
.brand{font-size:1.125rem;font-weight:700;}
.site-nav a{font-size:1rem;font-weight:600;}
.section-head h2,
.archive-intro h1,
.legal-card h1,
.contact-card h1{
  font-size:clamp(2rem,3.5vw,2.625rem);
  line-height:1.18;
  font-weight:700;
}
.section-head p,
.archive-intro p,
.legal-card p,
.contact-card p{
  font-size:1rem;
  line-height:1.72;
}
.cover-list .cover-card .gallery-title-top h2, .gallery-title-top h3{
  font-size:1.35rem;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.01em;
}
.cover-list .cover-card .gallery-title-top{
  padding:11px 15px;
}
.cover-tags{
  font-size:.95rem;
  line-height:1.4;
}
.cover-tags span{
  font-size:.9rem;
  font-weight:600;
}
.post-card h2{
  font-size:1.65rem;
  line-height:1.28;
  font-weight:700;
}
.post-card p{
  font-size:1rem;
  line-height:1.72;
}
.legal-card h2,
.content-card h2{
  font-size:1.75rem;
  line-height:1.25;
  font-weight:700;
}
.legal-card h3,
.content-card h3{
  font-size:1.35rem;
  line-height:1.3;
  font-weight:700;
}
.download-title{
  font-size:1.75rem;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.01em;
}
.content-card,
.archive-intro,
.legal-card,
.contact-card{
  font-size:1rem;
}
@media (max-width:640px){
  :root{--body-size:17px;}
  .hero h1{font-size:2.25rem;}
  .section-head h2,
  .archive-intro h1,
  .legal-card h1,
  .contact-card h1{font-size:2rem;}
  .cover-list .cover-card .gallery-title-top h2, .gallery-title-top h3{font-size:1.15rem;}
  .post-card h2{font-size:1.35rem;}
  .download-title{font-size:1.35rem;}
}


/* AdSense application cleanup: no visible dummy ad boxes before approval */
.ad-block, .left-rail, .right-rail{display:none!important;}
@media (min-width:1200px){
  .page-shell, .page-shell.wide-content{
    grid-template-columns:minmax(0,900px);
    max-width:940px;
    justify-content:center;
  }
}
/* Keep natural spacing between content blocks after removing placeholder ads */
.archive-intro + .grid, .contact-card + *, .legal-card + *{margin-top:24px;}

/* Category-rich navigation */
@media (min-width:768px){
  .site-nav ul{flex-wrap:wrap;justify-content:flex-end;}
  .site-nav a{font-size:.94rem;padding:8px 9px;}
}
@media (min-width:1100px){
  .site-nav a{font-size:1rem;padding:9px 10px;}
}

/* Homepage hero white background update */
.hero{
  background:#ffffff;
  color:#111827;
}
.hero h1{
  color:#111827;
}
.hero p{
  color:#111827;
}
.hero-centered{
  border-bottom:1px solid var(--line);
}
.hero-centered .badge{
  background:rgb(219 234 254);
  color:#005582;
}


/* Homepage FAQ heading structure */
.faq details{
  overflow:hidden;
}
.faq summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  list-style:none;
  cursor:pointer;
}
.faq summary::-webkit-details-marker{
  display:none;
}
.faq summary::after{
  content:"▾";
  flex:0 0 auto;
  width:26px;
  height:26px;
  border:1px solid var(--line);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.85rem;
  color:var(--primary-dark);
  background:#fff;
  transition:transform .2s ease;
}
.faq details[open] summary::after{
  transform:rotate(180deg);
}
.faq summary h3{
  margin:0;
  font-size:clamp(.98rem,1.35vw,1.08rem);
  line-height:1.35;
  font-weight:700;
  color:var(--accent);
}
.faq details p{
  margin-top:12px;
}

.hero .hero-eyebrow{
  display:inline-flex;
  margin:0 0 14px;
  font-size:.82rem;
  line-height:1.2;
}


/* LinkedIn brand blue refresh */
:root{
  --primary:#0077b5;
  --primary-dark:#005582;
  --primary-soft:#e8f4fb;
}
.site-nav a:hover,
.site-nav a[aria-current=page]{
  background:var(--primary-soft);
  color:var(--primary-dark);
}
.btn:hover{
  background:var(--primary-dark);
}
.cover-tags span:not(.tag-label),
.hero-centered .badge{
  color:var(--primary-dark);
}


/* Enhanced black footer */
.site-footer{background:#050505;color:#e5e7eb;margin-top:48px;padding:48px 0 20px;border-top:1px solid #111827}
.footer-grid-enhanced{display:grid;gap:28px}
.footer-brand{max-width:760px}
.site-footer h2,.site-footer h3{color:#fff;margin:0 0 12px;line-height:1.25}
.site-footer h2{font-size:1.35rem}
.site-footer h3{font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
.site-footer p{color:#cbd5e1;margin:0 0 12px;line-height:1.65}
.site-footer .footer-disclaimer{font-size:.92rem;color:#aeb8c6}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer a{color:#dbeafe;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-social{grid-column:1/-1}
.social-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.social-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border:1px solid #334155;border-radius:999px;background:#111827;color:#fff!important;font-weight:700;font-size:.92rem;text-decoration:none!important;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.social-button:hover{background:#0077b5;border-color:#0077b5;transform:translateY(-1px)}
.footer-bottom{border-top:1px solid #1f2937;margin-top:26px;padding-top:18px;text-align:center}
.footer-bottom p{font-size:.9rem;color:#94a3b8;margin:0}
@media (min-width:768px){.footer-grid-enhanced{grid-template-columns:1.55fr .85fr .85fr}.footer-social{grid-column:1/-1}}


/* Simple reference-style footer */
.site-footer{
  background:#ffffff;
  color:#111827;
  margin-top:42px;
  padding:18px 0 22px;
  border-top:1px solid #e5e7eb;
  text-align:center;
}
.footer-simple{
  max-width:1100px;
}
.site-footer p{
  color:#111827;
  margin:7px 0;
  line-height:1.55;
}
.footer-topline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.footer-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border-radius:4px;
  background:#e5e7eb;
  color:#111827 !important;
  font-weight:700;
  line-height:1.1;
  text-decoration:none !important;
}
.footer-button:hover{
  background:#d1d5db;
  color:#000 !important;
  text-decoration:none !important;
}
.footer-rss{
  background:#e65300;
  color:#fff !important;
}
.footer-rss:hover{
  background:#c2410c;
  color:#fff !important;
}
.footer-license strong{
  font-style:italic;
}
.footer-disclaimer{
  max-width:980px;
  margin-left:auto !important;
  margin-right:auto !important;
  color:#374151 !important;
  font-size:.94rem;
}
.social-buttons,.footer-grid-enhanced,.footer-bottom{display:initial}
@media (max-width:640px){
  .footer-topline{gap:6px}
  .footer-button{font-size:.9rem;padding:5px 8px}
  .footer-disclaimer{font-size:.88rem}
}


/* Footer social icon links */
.footer-social-icons{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.social-icon-link{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#e5e7eb;
  color:#111827 !important;
  text-decoration:none !important;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.social-icon-link svg{
  width:19px;
  height:19px;
  fill:currentColor;
}
.social-icon-link:hover{
  background:#0077b5;
  color:#fff !important;
  transform:translateY(-1px);
  text-decoration:none !important;
}
@media (max-width:640px){
  .social-icon-link{width:32px;height:32px}
  .social-icon-link svg{width:18px;height:18px}
}

/* Header logo image */
.brand-logo{gap:0;font-size:0;line-height:0;flex:0 0 auto;}
.brand-logo img{display:block;width:260px;max-width:54vw;height:auto;}
@media (max-width:640px){.brand-logo img{width:210px;max-width:60vw}.header-inner{gap:10px}.nav-toggle{padding:8px 10px}}

/* HTML5 FAQ section */
.faq-section .section-heading.centered {
  text-align: center;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

.faq-list {
  max-width: 900px;
  margin: 28px auto 0;
  display: grid;
  gap: 12px;
}

.faq-item {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  overflow: hidden;
}

.faq-question {
  list-style: none;
  width: 100%;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  text-align: left;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question h3 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.35;
  font-weight: 700;
  color: var(--text);
  flex: 1 1 auto;
}

.faq-arrow {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgb(219 234 254);
  color: var(--primary);
  font-weight: 800;
  line-height: 1;
  transition: transform 0.2s ease;
}

.faq-item[open] .faq-arrow {
  transform: rotate(180deg);
}

.faq-answer {
  padding: 0 20px 18px;
}

.faq-answer p {
  margin: 0;
}

@media (max-width: 640px) {
  .faq-question {
    padding: 16px;
    gap: 12px;
  }

  .faq-question h3 {
    font-size: 1rem;
  }
}

/* FAQ arrow center alignment fix */
.faq-arrow {
  position: relative;
  font-size: 0;
  line-height: 1;
}

.faq-arrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--primary);
  border-bottom: 2px solid var(--primary);
  transform: translateY(-2px) rotate(45deg);
  display: block;
}

.faq-item[open] .faq-arrow::before {
  transform: translateY(2px) rotate(225deg);
}

/* Homepage H1 one-line desktop refinement */
.home-hero h1,
.hero h1 {
  font-size: clamp(2rem, 4vw, 3.05rem);
  line-height: 1.12;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px) {
  .home-hero h1,
  .hero h1 {
    white-space: nowrap;
  }
}

@media (max-width: 640px) {
  .home-hero h1,
  .hero h1 {
    white-space: normal;
    font-size: 2rem;
  }
}

/* Image detail download button alignment */
.download-center {
  text-align: center;
  margin: 24px 0;
}

.download-center .btn,
.download-center a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

/* Contact page */
.contact-note {
  background: var(--surface-2);
  border-left: 4px solid var(--primary);
  padding: 14px 16px;
  border-radius: 10px;
}

/* Contact form */
.contact-form-section {
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}

.contact-form {
  margin-top: 18px;
  display: grid;
  gap: 18px;
}

.form-grid {
  display: grid;
  gap: 18px;
}

@media (min-width: 720px) {
  .form-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.form-field {
  display: grid;
  gap: 8px;
}

.form-field label {
  font-weight: 700;
  color: var(--text);
}

.form-field input,
.form-field textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 13px 14px;
  font: inherit;
  color: var(--text);
  background: #ffffff;
}

.form-field input:focus,
.form-field textarea:focus {
  outline: 2px solid rgb(219 234 254);
  border-color: var(--primary);
}




.image-separator {
  border: 0;
  height: 1px;
  background: #e5e7eb;
  margin: 32px 0;
  width: 100%;
}


.category-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 34px 0 10px;
  flex-wrap: wrap;
}

.category-pagination a,
.category-pagination span {
  display: inline-flex;
  min-width: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #d7e2ea;
  font-weight: 700;
  text-decoration: none;
}

.category-pagination a {
  color: #0077b5;
  background: #ffffff;
}

.category-pagination a:hover {
  background: #eef7fc;
}

.category-pagination span[aria-current="page"] {
  color: #ffffff;
  background: #0077b5;
  border-color: #0077b5;
}




/* Category archive heading size */
.archive-intro h1,
.paginated-category-title {
  font-size: 42px;
  line-height: 1.16;
}

@media (max-width: 768px) {
  .archive-intro h1,
  .paginated-category-title {
    font-size: 32px;
    line-height: 1.18;
  }
}

@media (max-width: 480px) {
  .archive-intro h1,
  .paginated-category-title {
    font-size: 28px;
    line-height: 1.2;
  }
}

/* All category visual style matched with normal category pages */
.all-cover-list {
  display: block !important;
  width: 100%;
}

.all-cover-list .all-cover-card {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.all-cover-list .all-cover-title {
  background: #05070d !important;
  color: #ffffff !important;
  padding: 18px 22px !important;
  margin: 0 !important;
  border-radius: 18px 18px 0 0 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 0 !important;
}

.all-cover-list .all-cover-title h2,
.all-cover-list .all-cover-title h3 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 22px !important;
  line-height: 1.32 !important;
  font-weight: 700 !important;
}

.all-cover-list .all-cover-title a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.all-cover-list .all-cover-title a:hover {
  color: #d7ecff !important;
}

.all-cover-list .all-cover-image-link {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 0 0 18px 18px !important;
  border: 1px solid rgba(15,23,42,0.10) !important;
  border-top: 0 !important;
  background: #05070d !important;
}

.all-cover-list .all-cover-image-link img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  border-radius: 0 0 18px 18px !important;
  object-fit: cover !important;
}

.all-cover-list .cover-tags {
  margin-top: 14px !important;
}

.all-cover-list .all-image-separator {
  display: block !important;
  width: 100% !important;
  height: 1px !important;
  border: 0 !important;
  background: #e5e7eb !important;
  margin: 34px 0 !important;
  clear: both !important;
}

.category-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 42px 0 10px;
}

.category-pagination a,
.category-pagination span {
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid #dbe4ee;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 8px 22px rgba(15,23,42,0.06);
}

.category-pagination a:hover {
  background: #eef7ff;
  border-color: #0a66c2;
  color: #0a66c2;
}

.category-pagination span[aria-current="page"] {
  background: #0a66c2;
  border-color: #0a66c2;
  color: #ffffff;
}

@media (max-width: 640px) {
  .all-cover-list .all-cover-title {
    padding: 15px 16px !important;
    border-radius: 14px 14px 0 0 !important;
  }

  .all-cover-list .all-cover-title h2,
  .all-cover-list .all-cover-title h3 {
    font-size: 20px !important;
    line-height: 1.35 !important;
  }

  .all-cover-list .all-cover-image-link,
  .all-cover-list .all-cover-image-link img {
    border-radius: 0 0 14px 14px !important;
  }

  .all-cover-list .all-image-separator {
    margin: 28px 0 !important;
  }

  .category-pagination {
    gap: 8px;
    margin-top: 34px;
  }

  .category-pagination a,
  .category-pagination span {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    font-size: 14px;
  }
}

/* Product page related thumbnail sidebar: static right column so ads or extra blocks can be placed below it. Do not make this sidebar sticky. */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.product-page-shell{
  align-items:start;
}
.product-page-shell .download-title{
  font-size:clamp(1rem,1.55vw,1.28rem);
  line-height:1.28;
  letter-spacing:0;
  word-break:normal;
  overflow-wrap:anywhere;
}
.related-thumb-sidebar{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px;
}
.related-thumb-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.related-thumb-link{
  display:block;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:#0f172a;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.related-thumb-link:hover,
.related-thumb-link:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(15,23,42,.12);
  border-color:#93c5fd;
  outline:none;
  text-decoration:none;
}
.related-thumb-link img{
  width:100%;
  aspect-ratio:4 / 1;
  height:auto;
  object-fit:cover;
  display:block;
}
@media (min-width:1080px){
  .product-page-shell{
    grid-template-columns:minmax(0,1fr) 310px;
    max-width:1260px;
  }
  .product-page-shell .related-thumb-sidebar{
    position:static;
    top:auto;
  }
  .related-thumb-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
}
@media (min-width:1200px){
  .page-shell.product-page-shell{
    grid-template-columns:minmax(0,900px) 320px;
    justify-content:center;
  }
}
@media (max-width:1079px){
  .product-page-shell .related-thumb-sidebar{
    margin-top:18px;
  }
}
@media (max-width:520px){
  .related-thumb-grid{
    grid-template-columns:1fr;
  }
}


/* Homepage FAQ spacing */
.section + .faq-section{
  padding-top:15px;
  padding-bottom:15px;
}
.faq-section .section-heading.centered{
  margin-top:0;
}

/* Homepage H1 size adjustment */
.home .hero h1,
body.home .hero h1 {
  font-size: clamp(1.9rem, 4.3vw, 3.35rem);
  line-height: 1.12;
}

