*{box-sizing:border-box}
:root{--text:#171717;--muted:#6b6b6b;--accent:#255ed7;--accent-dark:#1c4dcc;--teal:#33697f;--footer:#d3d3d3;--sidebar:rgba(37,94,215,.12);--max-width:1148px}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#fff;font-family:"Open Sans",Arial,sans-serif;line-height:1.55}
a{color:inherit}
img{display:block;max-width:100%}
.page-shell{width:min(calc(100% - 32px),var(--max-width));margin:0 auto;padding:42px 0 64px}
.article-header{max-width:1120px;margin:0 auto 18px}
h1{max-width:1120px;margin:0 auto 20px;font-family:Montserrat,Arial,sans-serif;font-size:clamp(2rem,4.2vw,3rem);line-height:1.18;text-align:center;letter-spacing:-.025em}
.author-row{display:flex;align-items:center;gap:11px;margin:0 0 18px 6px}
.author-photo{width:39px;height:39px;border-radius:50%;object-fit:cover}
.author-name,.updated{font-size:.78rem;color:var(--muted)}
.author-name{font-weight:600}
.content-grid{display:grid;grid-template-columns:minmax(0,860px) 275px;gap:18px;align-items:start}
.article-content{min-width:0}
.hero-image{width:100%;aspect-ratio:860/483;object-fit:cover}
.article-content h2{margin:28px 0 14px;font-size:clamp(1.4rem,2.4vw,1.75rem);line-height:1.3}
.article-content h3{margin:34px 0 12px;text-align:center;text-decoration:underline;font-size:1.35rem}
.article-content p{margin:0 0 20px;font-size:clamp(1.05rem,1.8vw,1.38rem);line-height:1.55}
.center{text-align:center}
.strong-callout{margin:28px auto!important;max-width:780px}
.sidebar-card{position:sticky;top:20px;margin-top:88px;padding:20px 23px 26px;background:var(--sidebar);text-align:center}
.sidebar-card h2{margin:16px 0 22px;font-family:Montserrat,Arial,sans-serif;font-size:1.35rem;font-weight:400}
.sidebar-card p{margin:0 0 26px;font-family:Montserrat,Arial,sans-serif;font-size:.9rem;font-style:italic;line-height:1.45}
.sidebar-eyebrow{font-family:Montserrat,Arial,sans-serif;font-size:.88rem;font-weight:600}
.sidebar-button,.cta-button{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:#fff;text-decoration:none;font-weight:700;transition:transform .15s ease,background .15s ease}
.sidebar-button{width:100%;min-height:53px;padding:12px 18px;background:var(--teal);font-size:1.2rem}
.cta-button{width:min(100%,288px);min-height:72px;margin:22px auto 12px;padding:16px 24px;background:var(--accent);font-size:1.45rem}
.sidebar-button:hover,.cta-button:hover{transform:translateY(-1px)}
.sidebar-button:hover{background:#275f79}
.cta-button:hover{background:var(--accent-dark)}
.map-link{display:block;margin:28px auto 10px}
.map-image{width:min(100%,734px);margin:0 auto}
.security-note{display:flex;justify-content:center;align-items:center;gap:7px;margin:10px 0 30px;font-size:1rem}
.reviews{min-height:170px;margin:20px auto 34px;max-width:760px}
.trust-logos{display:flex;flex-direction:column;align-items:center;gap:28px;margin:34px auto 0}
.trust-logos img:first-child{width:min(100%,320px)}
.trust-logos img:last-child{width:min(100%,157px)}
.site-footer{background:var(--footer);color:#555}
.footer-inner{width:min(calc(100% - 32px),var(--max-width));margin:0 auto;padding:35px 8px 45px;text-align:center;font-size:.72rem;line-height:1.65}
.footer-inner>strong{display:block;margin-bottom:12px;color:#4b4b4b}
.footer-inner p{max-width:1080px;margin:0 auto 12px}
.footer-inner nav{margin-top:18px}
.footer-inner nav a{text-decoration:underline}
.footer-inner nav span{padding:0 8px}
@media(max-width:900px){
  .page-shell{width:min(calc(100% - 24px),720px);padding-top:22px}
  h1{font-size:clamp(1.85rem,7vw,2.6rem)}
  .content-grid{display:block}
  .sidebar-card{display:none}
  .article-content p{font-size:1.08rem}
  .article-content h2{font-size:1.35rem}
}
@media(max-width:480px){
  .page-shell{width:100%;padding:16px 0 42px}
  .article-header,.article-content>h2,.article-content>h3,.article-content>p,.security-note,.reviews{margin-left:14px;margin-right:14px}
  h1{padding:0 12px;font-size:1.9rem;line-height:1.2}
  .author-row{margin-left:14px}
  .hero-image{width:100%;aspect-ratio:317.5/199}
  .article-content p{font-size:1.03rem;line-height:1.58}
  .map-image{width:100%}
  .cta-button{min-height:60px;font-size:1.25rem}
  .trust-logos{padding:0 14px}
}


/* Final alignment and spacing adjustments */
.cta-button {
  display: flex;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 480px) {
  .cta-button {
    width: min(calc(100% - 28px), 288px);
    margin: 22px auto 16px;
  }

  .security-note {
    width: calc(100% - 28px);
    margin: 14px auto 24px;
    text-align: center;
    line-height: 1.4;
  }

  .reviews {
    width: calc(100% - 28px);
    margin: 10px auto 24px;
    min-height: 0;
  }

  .trust-logos {
    margin-top: 18px;
    gap: 18px;
  }
}
