:root{
  --ms-ink:#0b3440;
  --ms-ink-deep:#062b34;
  --ms-teal:#075d59;
  --ms-teal-dark:#034a47;
  --ms-teal-soft:#e9f3f0;
  --ms-cream:#fbf8f2;
  --ms-sand:#f5eee4;
  --ms-text:#26383d;
  --ms-muted:#617277;
  --ms-border:#dce5e2;
  --ms-white:#fff;
  --ms-shadow:0 18px 50px rgba(7,46,55,.10);
  --ms-shadow-soft:0 8px 28px rgba(7,46,55,.07);
  --ms-radius:14px;
  --ms-display:"DM Serif Display", Georgia, "Times New Roman", serif;
  --ms-sans:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --ms-content:1280px;
  --ms-reading:800px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ms-text);font-family:var(--ms-sans);font-size:16px;line-height:1.62;background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:var(--ms-teal);text-underline-offset:3px}
a:hover{color:var(--ms-teal-dark)}
.ms-shell{width:min(var(--ms-content),calc(100% - 32px));margin-inline:auto}
.ms-skip-link{position:absolute;left:-9999px;top:10px;z-index:10000;background:#fff;color:#000;padding:10px 14px}
.ms-skip-link:focus{left:10px}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Mobile-first header */
.ms-site-header{position:sticky;top:0;z-index:1000;width:100%;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(11,52,64,.08);backdrop-filter:blur(12px)}
.ms-header-inner{width:100%;height:64px;padding:0 16px;display:flex;align-items:center;gap:14px}
.ms-brand{display:inline-flex;align-items:center;gap:8px;color:var(--ms-ink);font-family:var(--ms-display);font-weight:400;font-size:1.42rem;line-height:1;text-decoration:none;white-space:nowrap;letter-spacing:-.015em}
.ms-brand-mark{width:24px;height:26px;color:var(--ms-teal)}
.ms-desktop-nav,.ms-header-actions{display:none}
.ms-mobile-menu{display:block;margin-left:auto;position:relative}
.ms-mobile-menu summary{list-style:none;width:44px;height:44px;display:grid;place-content:center;gap:5px;cursor:pointer;border-radius:50%}
.ms-mobile-menu summary::-webkit-details-marker{display:none}
.ms-mobile-menu summary span{width:22px;height:2px;background:var(--ms-ink);display:block;border-radius:2px}
.ms-mobile-panel{position:fixed;left:0;right:0;top:64px;background:#fff;border-top:1px solid var(--ms-border);box-shadow:0 22px 40px rgba(13,47,58,.12);padding:14px 20px 24px;max-height:calc(100vh - 64px);overflow:auto}
.ms-mobile-links{list-style:none;padding:0;margin:0 0 18px}
.ms-mobile-links li{margin:0}
.ms-mobile-links a{display:flex;align-items:center;justify-content:space-between;padding:14px 2px;font-size:1rem;font-weight:700;text-decoration:none;border-bottom:1px solid #edf0ef;color:var(--ms-ink)}
.ms-mobile-links a:after{content:"→";font-weight:500;color:#769094}

/* Typography */
h1,h2,h3,h4{font-family:var(--ms-display);color:var(--ms-ink);letter-spacing:-.018em;margin-top:0;font-weight:400}
h1{font-size:clamp(3rem,13vw,4.35rem);line-height:.98}
h2{font-size:clamp(2.2rem,9vw,3.15rem);line-height:1.02}
h3{font-size:1.45rem;line-height:1.12}
p{margin-top:0}
.ms-eyebrow{margin:0 0 11px;color:#557e7c;text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:.64rem}
.ms-button,.ms-header-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;text-decoration:none;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.ms-button{padding:13px 17px}
.ms-button-primary{background:var(--ms-teal);color:#fff}
.ms-button-primary:hover{color:#fff;background:var(--ms-teal-dark);transform:translateY(-1px)}
.ms-button-light{background:#fff;color:var(--ms-teal)}
.ms-text-link{font-weight:800;font-size:.82rem}
.ms-section{padding:62px 0}
.ms-section-head{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:26px}
.ms-section-head h2{margin-bottom:8px}
.ms-section-head p:not(.ms-eyebrow){max-width:760px;color:var(--ms-muted);margin:0;font-size:.95rem}

/* Hero: purpose-built mobile layout */
.ms-hero{background:#fbfaf7;overflow:hidden}
.ms-hero-grid{display:flex;flex-direction:column;width:100%}
.ms-hero-copy{padding:38px 20px 30px;background:#fbfaf7}
.ms-hero-copy h1{margin:0 0 18px;max-width:520px}
.ms-hero-dek{font-size:1rem;line-height:1.6;color:#43565b;max-width:600px;margin:0 0 22px}
.ms-hero-actions{display:grid;gap:9px;max-width:560px}
.ms-action-card{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;background:#fff;border:1px solid #dce5e2;border-radius:12px;padding:12px 13px;text-decoration:none;box-shadow:0 6px 18px rgba(7,46,55,.045);color:var(--ms-ink);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.ms-action-card:hover{color:var(--ms-ink);border-color:#b8d0ca;transform:translateY(-1px);box-shadow:var(--ms-shadow-soft)}
.ms-action-primary{background:var(--ms-teal);color:#fff;border-color:transparent}
.ms-action-primary:hover{color:#fff;background:var(--ms-teal-dark)}
.ms-action-icon{width:35px;height:35px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:.9rem;opacity:.9}
.ms-action-card strong,.ms-action-card small{display:block}
.ms-action-card strong{font-size:.9rem;font-weight:800;line-height:1.25}
.ms-action-card small{opacity:.72;font-size:.69rem;line-height:1.35;margin-top:2px}
.ms-arrow{font-size:1.15rem}
.ms-hero-media{position:relative;height:420px;overflow:visible;background:#e9f0ec;margin-bottom:78px}
.ms-hero-media > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center}
.ms-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(4,55,58,.06));pointer-events:none}
.ms-hero-media blockquote{position:absolute;right:14px;top:16px;z-index:2;width:152px;margin:0;font-family:var(--ms-display);font-style:italic;font-size:.98rem;line-height:1.3;color:#24434a;background:rgba(255,255,255,.88);padding:13px 14px;border-radius:10px;box-shadow:0 9px 24px rgba(13,47,58,.08)}
.ms-trust-overlay{position:absolute;z-index:4;left:16px;right:16px;bottom:-64px;background:rgba(255,255,255,.98);border:1px solid var(--ms-border);box-shadow:0 16px 42px rgba(13,47,58,.12);border-radius:14px;overflow:hidden}
.ms-trust-overlay a{min-height:43px;padding:9px 12px;display:flex;align-items:center;gap:10px;color:var(--ms-text);text-decoration:none;border-bottom:1px solid var(--ms-border)}
.ms-trust-overlay a:last-child{border-bottom:0}
.ms-trust-icon{flex:0 0 28px;width:28px;height:28px;border:1px solid #b4c9c4;color:var(--ms-teal);border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:800}
.ms-trust-overlay strong,.ms-trust-overlay small{display:block}
.ms-trust-overlay strong{font-size:.75rem;color:var(--ms-ink);font-weight:800}
.ms-trust-overlay small{font-size:.64rem;color:var(--ms-muted);margin-top:1px}

/* Topics: touch-first horizontal rail on mobile */
.ms-topics{background:#fff}
.ms-topic-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;margin:0 -2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ms-topic-grid::-webkit-scrollbar{display:none}
.ms-topic-card{flex:0 0 min(78vw,290px);scroll-snap-align:start;display:block;border:1px solid var(--ms-border);border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;box-shadow:0 5px 18px rgba(7,46,55,.035)}
.ms-topic-card img{aspect-ratio:1.5/1;object-fit:cover;width:100%}
.ms-topic-card>div{padding:15px 15px 16px}
.ms-topic-card h3{font-size:1.3rem;margin:0 0 7px}
.ms-topic-card p{font-size:.78rem;line-height:1.5;color:var(--ms-muted);margin:0 0 12px}
.ms-topic-card span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f1f5f3;color:var(--ms-ink)}

/* Featured guides */
.ms-featured{background:var(--ms-cream)}
.ms-feature-grid{display:grid;grid-template-columns:1fr;gap:18px}
.ms-feature-card{background:#fff;border:1px solid rgba(13,47,58,.08);border-radius:13px;overflow:hidden;box-shadow:0 8px 26px rgba(13,47,58,.04)}
.ms-feature-card>a{display:block;text-decoration:none;color:inherit}
.ms-feature-card img{width:100%;aspect-ratio:1.72/1;object-fit:cover}
.ms-feature-body{padding:20px 20px 22px}
.ms-feature-body>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#5d7f7b}
.ms-feature-body h3{font-size:1.68rem;margin:8px 0 9px}
.ms-feature-body p{font-size:.87rem;line-height:1.55;color:var(--ms-muted);margin:0 0 15px}
.ms-feature-body b{font-size:.8rem;text-decoration:underline;text-underline-offset:3px;color:var(--ms-teal)}

/* Comparison section */
.ms-compare-section{background:linear-gradient(120deg,#f2f7f3,#eaf3f2)}
.ms-compare-grid{display:grid;grid-template-columns:1fr;gap:34px;align-items:start}
.ms-compare-copy h2{margin-bottom:17px}
.ms-compare-copy>p:not(.ms-eyebrow){color:var(--ms-muted);font-size:.95rem}
.ms-compare-cards{display:grid;grid-template-columns:1fr;gap:12px}
.ms-compare-cards>a{background:#fff;border:1px solid var(--ms-border);border-radius:12px;padding:19px;color:inherit;text-decoration:none;box-shadow:0 9px 24px rgba(13,47,58,.04)}
.ms-compare-cards h3{font-size:1.35rem;margin:11px 0}
.ms-compare-cards ul{list-style:none;padding:0;margin:0 0 16px;font-size:.77rem;color:var(--ms-muted)}
.ms-compare-cards li{margin:6px 0;padding-left:16px;position:relative}
.ms-compare-cards li:before{content:"✓";position:absolute;left:0;color:#4b9875;font-weight:800}
.ms-compare-cards b{font-size:.76rem;color:var(--ms-teal);text-decoration:underline}
.ms-compare-badge{display:inline-block;font-size:.61rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;padding:5px 8px;border-radius:999px}
.ms-badge-coral{background:#fce8e3;color:#98584c}.ms-badge-blue{background:#e7f0f6;color:#456f86}.ms-badge-green{background:#e8f3ea;color:#557e5f}

/* Update band */
.ms-update-band{padding:48px 0;background:var(--ms-teal);color:#fff}
.ms-update-band h2,.ms-update-band .ms-eyebrow{color:#fff}
.ms-update-band .ms-eyebrow{opacity:.7}
.ms-update-inner{display:flex;align-items:flex-start;flex-direction:column;gap:24px}
.ms-update-inner>div{max-width:760px}
.ms-update-inner h2{font-size:clamp(2rem,9vw,2.8rem);margin-bottom:12px}
.ms-update-inner p:not(.ms-eyebrow){margin:0;color:rgba(255,255,255,.78)}

/* Generic pages */
.ms-page-shell{padding-top:46px;padding-bottom:72px}
.ms-page-header{max-width:900px;margin-bottom:32px}
.ms-page-header h1{font-size:clamp(2.9rem,13vw,4.3rem);margin-bottom:16px}
.ms-page-content{max-width:860px;font-size:1rem}
.ms-page-content h2{font-size:2.2rem;margin:42px 0 16px}.ms-page-content h3{font-size:1.5rem;margin:30px 0 11px}.ms-page-content p,.ms-page-content li{max-width:74ch}.ms-page-content a{font-weight:700}

/* SEO guide/article pages */
.ms-guide-page{background:#fff}
.ms-article-shell{width:min(100% - 32px,1160px);margin-inline:auto;padding-top:46px;padding-bottom:76px}
.ms-article-header{max-width:900px;margin-bottom:36px}
.ms-breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:.72rem;color:#78888b;margin-bottom:23px}
.ms-breadcrumbs a{color:#587276;text-decoration:none}.ms-breadcrumbs a:hover{text-decoration:underline}
.ms-article-header h1{font-size:clamp(2.9rem,12vw,4.5rem);line-height:1;margin-bottom:17px}
.ms-article-dek{font-size:1.08rem;line-height:1.58;color:#52656a;max-width:800px;margin-bottom:18px}
.ms-article-meta{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:.73rem;color:#6b7c80}
.ms-article-meta a{color:#537579;font-weight:700}
.ms-affiliate-note{margin-top:18px;padding:13px 14px;border-radius:9px;background:#f8f5ef;border:1px solid #ebe2d7;font-size:.78rem;color:#596568;max-width:860px}
.ms-article-layout{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
.ms-article-content{font-size:1rem;line-height:1.72;color:#293c41}
.ms-article-content h2{font-size:2.25rem;margin:48px 0 17px}.ms-article-content h3{font-size:1.55rem;margin:34px 0 13px}.ms-article-content h4{font-family:var(--ms-sans);font-weight:800;font-size:1.1rem;margin:26px 0 10px}.ms-article-content p,.ms-article-content ul,.ms-article-content ol{max-width:72ch}.ms-article-content li{margin:7px 0}.ms-article-content table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin:26px 0;font-size:.86rem}.ms-article-content th,.ms-article-content td{padding:12px 13px;border:1px solid #dfe6e4;text-align:left;vertical-align:top;min-width:130px}.ms-article-content th{background:#f4f7f5;color:var(--ms-ink)}.ms-article-content blockquote{margin:26px 0;border-left:4px solid #759b80;padding:7px 0 7px 18px;color:#506064}.ms-article-content img{border-radius:10px}
.ms-article-aside{position:static;max-width:620px}.ms-article-aside>div{background:#f2f7f5;border:1px solid #dce8e4;border-radius:12px;padding:18px}.ms-article-aside strong{font-family:var(--ms-display);font-size:1.2rem;color:var(--ms-ink)}.ms-article-aside p{font-size:.8rem;line-height:1.55;color:var(--ms-muted);margin:9px 0}.ms-article-aside a{font-size:.78rem;font-weight:800}
.ms-article-footer{max-width:var(--ms-reading);margin-top:44px;padding:17px 18px;border-radius:10px;background:#f3f7f8;font-size:.8rem;color:#556469}
.ms-index-card{padding:20px 0;border-bottom:1px solid var(--ms-border)}

/* Footer */
.ms-site-footer{background:#053d3c;color:rgba(255,255,255,.79);padding:48px 0 22px}
.ms-footer-top,.ms-footer-legal,.ms-footer-disclaimer{width:min(var(--ms-content),calc(100% - 32px));margin-inline:auto}
.ms-footer-top{display:grid;grid-template-columns:1fr;gap:28px}
.ms-brand-footer{color:#fff}
.ms-footer-brand-block p{max-width:280px;font-size:.82rem}
.ms-footer-column{display:flex;flex-direction:column;gap:7px}
.ms-footer-column h2{font-family:var(--ms-sans);font-size:.8rem;font-weight:800;color:#fff;margin:0 0 7px;letter-spacing:0}
.ms-footer-column a{font-size:.78rem;color:rgba(255,255,255,.82);text-decoration:none}
.ms-footer-column a:hover{color:#fff;text-decoration:underline}
.ms-footer-legal{display:flex;flex-direction:column;gap:9px;border-top:1px solid rgba(255,255,255,.14);margin-top:34px;padding-top:17px;font-size:.68rem}
.ms-footer-legal a{color:rgba(255,255,255,.82)}
.ms-footer-disclaimer{border-top:1px solid rgba(255,255,255,.1);margin-top:15px;padding-top:15px;font-size:.62rem;text-align:left;color:rgba(255,255,255,.55);line-height:1.55}

/* Search UI used on desktop */
.ms-search{position:relative}
.ms-search summary{list-style:none;cursor:pointer;color:var(--ms-ink);height:40px;width:40px;display:grid;place-items:center;border-radius:50%}
.ms-search summary::-webkit-details-marker{display:none}
.ms-search-panel{position:absolute;right:0;top:48px;background:#fff;padding:12px;border:1px solid var(--ms-border);box-shadow:var(--ms-shadow);border-radius:12px;width:350px}
.ms-search-form{display:flex;gap:8px}.ms-search-form label{flex:1}.ms-search-form input{width:100%;border:1px solid var(--ms-border);border-radius:8px;padding:10px 12px;font:inherit}.ms-search-form button{border:0;border-radius:8px;background:var(--ms-teal);color:#fff;padding:0 14px;font-weight:800}

/* Neutralize Kadence parent chrome only. */
#masthead,#colophon,.site-header-wrap,.site-footer-wrap{display:none!important}.content-area{margin:0!important}.site-main{margin:0!important}.content-wrap{display:block!important}.site-container{max-width:none!important;padding:0!important}

/* Tablet */
@media(min-width:700px){
  body{font-size:16.5px}.ms-shell{width:min(var(--ms-content),calc(100% - 48px))}.ms-section{padding:78px 0}.ms-section-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
  .ms-header-inner{height:70px;padding-inline:24px}.ms-mobile-panel{top:70px;padding-inline:32px}.ms-brand{font-size:1.55rem}.ms-brand-mark{width:26px;height:28px}
  .ms-hero-copy{padding:54px 7vw 38px}.ms-hero-dek{font-size:1.08rem}.ms-hero-media{height:500px;margin-bottom:0}.ms-hero-media > img{object-position:60% center}.ms-hero-media blockquote{right:24px;top:24px;width:178px;font-size:1.05rem;padding:15px 16px}
  .ms-trust-overlay{left:auto;right:24px;bottom:22px;width:min(620px,calc(100% - 48px));display:grid;grid-template-columns:repeat(3,1fr);border-radius:13px}.ms-trust-overlay a{min-height:74px;padding:14px;border-bottom:0;border-right:1px solid var(--ms-border)}.ms-trust-overlay a:last-child{border-right:0}.ms-trust-icon{flex-basis:31px;width:31px;height:31px}.ms-trust-overlay strong{font-size:.71rem}.ms-trust-overlay small{font-size:.61rem}
  .ms-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;gap:16px;padding:0;margin:0}.ms-topic-card{flex:auto}.ms-feature-grid{grid-template-columns:1fr 1fr}.ms-feature-card:last-child{grid-column:1/-1}.ms-compare-cards{grid-template-columns:repeat(3,1fr)}.ms-update-inner{flex-direction:row;align-items:center;justify-content:space-between}.ms-footer-top{grid-template-columns:1.4fr 1fr 1fr;gap:36px}.ms-footer-brand-block{grid-column:1/-1}.ms-footer-legal{flex-direction:row;justify-content:space-between}.ms-footer-disclaimer{text-align:center}
}

/* Desktop */
@media(min-width:980px){
  .ms-header-inner{height:76px;padding:0 clamp(28px,4vw,64px);gap:26px}.ms-brand{font-size:1.65rem}.ms-desktop-nav{display:block;margin-left:auto}.ms-menu{display:flex;align-items:center;gap:clamp(15px,1.5vw,27px);list-style:none;margin:0;padding:0}.ms-nav-link{font-size:.82rem;font-weight:700;color:#27454d;text-decoration:none;white-space:nowrap}.ms-nav-link:hover{color:var(--ms-teal);text-decoration:none}.ms-header-actions{display:flex;align-items:center;gap:10px}.ms-header-cta{background:var(--ms-teal);color:#fff;padding:11px 15px;font-size:.79rem;box-shadow:0 8px 22px rgba(7,93,89,.17)}.ms-header-cta:hover{color:#fff;background:var(--ms-teal-dark);transform:translateY(-1px)}.ms-mobile-menu{display:none}
  h1{font-size:clamp(4.5rem,5.6vw,6.3rem)}h2{font-size:clamp(2.8rem,3.7vw,4rem)}
  .ms-section{padding:94px 0}
  .ms-hero-grid{display:grid;grid-template-columns:minmax(540px,46%) 1fr;min-height:660px}.ms-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px 54px 70px clamp(34px,5vw,80px)}.ms-hero-copy h1{max-width:650px;margin-bottom:23px}.ms-hero-dek{font-size:1.14rem;max-width:640px;margin-bottom:27px}.ms-hero-actions{max-width:500px;gap:10px}.ms-action-card{grid-template-columns:42px 1fr auto;padding:13px 15px}.ms-action-icon{width:39px;height:39px}.ms-action-card strong{font-size:.92rem}.ms-action-card small{font-size:.72rem}
  .ms-hero-media{height:auto;min-height:660px;margin:0}.ms-hero-media > img{object-position:center center}.ms-hero-media blockquote{right:clamp(28px,4vw,60px);top:44px;width:190px;font-size:1.12rem;padding:16px 18px}.ms-trust-overlay{right:clamp(28px,4vw,60px);bottom:30px;width:min(760px,calc(100% - 58px));grid-template-columns:repeat(3,1fr)}.ms-trust-overlay a{min-height:80px;padding:16px 18px;gap:11px}.ms-trust-icon{flex-basis:34px;width:34px;height:34px}.ms-trust-overlay strong{font-size:.78rem}.ms-trust-overlay small{font-size:.65rem}
  .ms-topic-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.ms-topic-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.ms-topic-card:hover{color:inherit;transform:translateY(-4px);box-shadow:var(--ms-shadow);border-color:#c9d9d5}.ms-topic-card>div{padding:17px 16px 16px}.ms-topic-card h3{font-size:1.24rem}.ms-topic-card p{font-size:.79rem}
  .ms-feature-grid{grid-template-columns:repeat(3,1fr);gap:25px}.ms-feature-card:last-child{grid-column:auto}.ms-feature-card{transition:transform .15s ease,box-shadow .15s ease}.ms-feature-card:hover{transform:translateY(-3px);box-shadow:var(--ms-shadow)}.ms-feature-body{padding:23px 23px 25px}.ms-feature-body h3{font-size:1.75rem}
  .ms-compare-grid{grid-template-columns:.74fr 1.26fr;gap:72px;align-items:center}.ms-compare-copy h2{max-width:580px}.ms-compare-copy>p:not(.ms-eyebrow){max-width:520px;font-size:1rem}.ms-compare-cards{gap:16px}.ms-compare-cards>a{padding:22px}.ms-compare-cards>a:nth-child(2){transform:translateY(-18px)}
  .ms-update-band{padding:58px 0}.ms-update-inner h2{font-size:clamp(2.35rem,3.2vw,3.5rem)}
  .ms-page-shell{padding-top:72px;padding-bottom:96px}.ms-page-header h1{font-size:clamp(3.5rem,5vw,5.2rem)}.ms-page-content{font-size:1.04rem}
  .ms-article-shell{width:min(1160px,calc(100% - 64px));padding-top:66px;padding-bottom:96px}.ms-article-header{margin-bottom:42px}.ms-article-header h1{font-size:clamp(3.4rem,5vw,5.3rem)}.ms-article-dek{font-size:1.18rem}.ms-article-layout{grid-template-columns:minmax(0,var(--ms-reading)) 250px;gap:68px}.ms-article-content{font-size:1.06rem}.ms-article-content h2{font-size:2.45rem}.ms-article-aside{position:sticky;top:104px}
  .ms-site-footer{padding:58px 0 24px}.ms-footer-top,.ms-footer-legal,.ms-footer-disclaimer{width:min(var(--ms-content),calc(100% - 64px))}.ms-footer-top{grid-template-columns:1.35fr .8fr 1fr 1.05fr;gap:52px}.ms-footer-brand-block{grid-column:auto}
}

/* Very wide screens: hero stays immersive, content remains readable */
@media(min-width:1500px){
  .ms-header-inner{padding-inline:56px}.ms-hero-grid{grid-template-columns:minmax(620px,44%) 1fr;min-height:700px}.ms-hero-copy{padding-left:max(72px,calc((100vw - 1500px)/2 + 58px));padding-right:70px}.ms-hero-media{min-height:700px}.ms-trust-overlay{right:max(48px,calc((100vw - 1500px)/2 + 42px));width:730px}.ms-hero-media blockquote{right:max(48px,calc((100vw - 1500px)/2 + 42px))}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ms-action-card,.ms-topic-card,.ms-feature-card,.ms-button,.ms-header-cta{transition:none!important}}


/* =========================================================
   MenoSignal Editorial 5.0 — dedicated mobile experience
   Desktop semantic structure is unchanged; these rules only
   change presentation and preserve crawlable HTML/links.
   ========================================================= */

/* Small-screen design: intentionally not a scaled desktop layout. */
@media (max-width:699px){
  html{scroll-padding-top:70px}
  body{font-size:16.5px;line-height:1.66}
  .ms-shell{width:calc(100% - 32px)}

  /* Header: larger tap target and cleaner proportions. */
  .ms-header-inner{height:68px;padding:0 16px}
  .ms-brand{font-size:1.48rem;gap:7px}
  .ms-brand-mark{width:25px;height:27px}
  .ms-mobile-menu summary{width:48px;height:48px}
  .ms-mobile-menu summary span{width:23px;height:2px}
  .ms-mobile-panel{top:68px;padding:10px 18px 24px;max-height:calc(100vh - 68px)}
  .ms-mobile-links a{min-height:52px;padding:14px 2px;font-size:1rem}
  .ms-mobile-panel .ms-button{min-height:50px;width:100%}

  /* Typography has its own mobile scale. */
  h1{font-size:clamp(3rem,14vw,3.65rem);line-height:1.01;letter-spacing:-.025em}
  h2{font-size:clamp(2.15rem,10vw,2.7rem);line-height:1.04;letter-spacing:-.022em}
  h3{font-size:1.45rem;line-height:1.15}
  .ms-eyebrow{font-size:.67rem;letter-spacing:.14em;margin-bottom:10px}
  .ms-text-link{font-size:.88rem}
  .ms-section{padding:52px 0}
  .ms-section-head{gap:10px;margin-bottom:23px}
  .ms-section-head h2{margin-bottom:8px}
  .ms-section-head p:not(.ms-eyebrow){font-size:1rem;line-height:1.58}

  /* Hero is composed specifically for phones. */
  .ms-hero{overflow:visible}
  .ms-hero-grid{display:flex;flex-direction:column}
  .ms-hero-copy{padding:30px 18px 24px}
  .ms-hero-copy h1{max-width:345px;margin-bottom:16px}
  .ms-hero-dek{font-size:1rem;line-height:1.58;margin-bottom:20px;max-width:42ch}
  .ms-hero-actions{gap:10px;max-width:none}
  .ms-action-card{grid-template-columns:40px minmax(0,1fr) 20px;gap:11px;min-height:62px;padding:10px 12px;border-radius:12px}
  .ms-action-icon{width:38px;height:38px;font-size:.92rem}
  .ms-action-card strong{font-size:.94rem;line-height:1.25}
  .ms-action-card small{font-size:.74rem;line-height:1.38;margin-top:3px}
  .ms-arrow{font-size:1.05rem}

  /* The photo is its own visual beat. Quote is removed on phones. */
  .ms-hero-media{height:auto;min-height:0;margin:0;padding:0 0 20px;background:#e9f0ec;overflow:visible}
  .ms-hero-media > img{position:relative;inset:auto;width:100%;height:340px;object-fit:cover;object-position:62% 34%}
  .ms-hero-media:after{display:none}
  .ms-hero-media blockquote{display:none}

  /* Trust principles become readable mobile rows, not an image overlay. */
  .ms-trust-overlay{position:relative;left:auto;right:auto;bottom:auto;width:auto;margin:-20px 16px 0;display:grid;grid-template-columns:1fr;background:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(13,47,58,.12);overflow:hidden}
  .ms-trust-overlay a{min-height:58px;padding:11px 13px;border-right:0;border-bottom:1px solid var(--ms-border);gap:11px}
  .ms-trust-overlay a:last-child{border-bottom:0}
  .ms-trust-icon{flex:0 0 32px;width:32px;height:32px;font-size:.82rem}
  .ms-trust-overlay strong{font-size:.86rem;line-height:1.25}
  .ms-trust-overlay small{font-size:.73rem;line-height:1.35;margin-top:2px}

  /* Topic discovery is a thumb-friendly snap carousel. */
  .ms-topic-grid{gap:13px;margin-right:-16px;padding-right:16px;padding-bottom:8px;scroll-padding-left:0}
  .ms-topic-card{flex:0 0 min(86vw,330px);border-radius:14px;scroll-snap-align:start}
  .ms-topic-card img{aspect-ratio:1.62/1}
  .ms-topic-card>div{padding:17px 17px 18px}
  .ms-topic-card h3{font-size:1.45rem;margin-bottom:7px}
  .ms-topic-card p{font-size:.91rem;line-height:1.5;margin-bottom:13px}
  .ms-topic-card span{width:31px;height:31px}

  /* Guides use generous editorial spacing rather than compressed cards. */
  .ms-feature-grid{gap:20px}
  .ms-feature-card{border-radius:14px}
  .ms-feature-card img{aspect-ratio:1.65/1}
  .ms-feature-body{padding:21px 19px 23px}
  .ms-feature-body>span{font-size:.68rem}
  .ms-feature-body h3{font-size:1.72rem;line-height:1.1;margin:9px 0 10px}
  .ms-feature-body p{font-size:.95rem;line-height:1.57;margin-bottom:16px}
  .ms-feature-body b{font-size:.88rem}

  /* Comparison block becomes a true vertical decision flow. */
  .ms-compare-grid{gap:26px}
  .ms-compare-copy h2{margin-bottom:14px}
  .ms-compare-copy>p:not(.ms-eyebrow){font-size:1rem;line-height:1.6;margin-bottom:18px}
  .ms-button{min-height:48px;padding:12px 16px;font-size:.91rem}
  .ms-compare-cards{gap:14px}
  .ms-compare-cards>a{padding:20px 18px;border-radius:14px}
  .ms-compare-cards h3{font-size:1.48rem;line-height:1.12;margin:11px 0 12px}
  .ms-compare-cards ul{font-size:.9rem;line-height:1.5;margin-bottom:16px}
  .ms-compare-cards li{margin:7px 0;padding-left:18px}
  .ms-compare-cards b{font-size:.86rem}
  .ms-compare-badge{font-size:.65rem}

  /* Update / trust CTA is compact but still comfortably tappable. */
  .ms-update-band{padding:48px 0}
  .ms-update-inner{gap:22px}
  .ms-update-inner h2{font-size:2.25rem;line-height:1.04;margin-bottom:11px}
  .ms-update-inner p{font-size:.95rem;line-height:1.58}
  .ms-update-inner .ms-button{width:100%}

  /* Article/page templates get mobile reading defaults as well. */
  .ms-page-shell,.ms-article-shell{width:calc(100% - 32px);padding-top:38px;padding-bottom:58px}
  .ms-page-header h1,.ms-article-header h1{font-size:2.85rem;line-height:1.02}
  .ms-page-content,.ms-article-content{font-size:1rem;line-height:1.72}
  .ms-article-content h2{font-size:2.05rem;line-height:1.08;margin:38px 0 15px}
  .ms-article-content h3{font-size:1.55rem;line-height:1.15}
  .ms-article-content table{font-size:.9rem}
  .ms-article-content th,.ms-article-content td{padding:11px 12px}
  .ms-article-aside>div{padding:17px}

  /* Footer: readable vertical sections, no tiny multi-column squeeze. */
  .ms-site-footer{padding:42px 0 22px}
  .ms-footer-top,.ms-footer-legal,.ms-footer-disclaimer{width:calc(100% - 32px)}
  .ms-footer-top{gap:0}
  .ms-footer-brand-block{padding-bottom:22px}
  .ms-brand-footer{font-size:1.55rem}
  .ms-footer-brand-block p{font-size:.9rem;line-height:1.55;margin:9px 0 0}
  .ms-footer-column{gap:0;padding:18px 0;border-top:1px solid rgba(255,255,255,.13)}
  .ms-footer-column h2{font-size:.88rem;margin-bottom:9px}
  .ms-footer-column a{display:block;padding:5px 0;font-size:.88rem;line-height:1.4}
  .ms-footer-legal{font-size:.75rem;line-height:1.5;margin-top:18px;padding-top:16px}
  .ms-footer-disclaimer{font-size:.72rem;line-height:1.6;margin-top:14px;padding-top:14px}
}

/* Phones with very narrow viewports get slightly tighter headline sizes. */
@media (max-width:374px){
  h1{font-size:2.8rem}
  h2{font-size:2.05rem}
  .ms-hero-copy{padding-inline:16px}
  .ms-action-card{grid-template-columns:36px minmax(0,1fr) 18px;padding-inline:10px}
  .ms-action-icon{width:35px;height:35px}
  .ms-topic-card{flex-basis:88vw}
}

/* Tablet refinement: still vertical hero, but trust information can float. */
@media (min-width:700px) and (max-width:979px){
  .ms-hero-copy{padding:52px 7vw 38px}
  .ms-hero-media{height:520px}
  .ms-hero-media blockquote{display:block}
  .ms-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .ms-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-feature-card:last-child{grid-column:1/-1}
  .ms-feature-body p,.ms-topic-card p{font-size:.92rem}
  .ms-compare-cards{grid-template-columns:1fr;max-width:680px}
  .ms-footer-top{grid-template-columns:1.2fr 1fr 1fr;gap:34px}
}

/* User-approved wide-desktop trust-overlay geometry. */
@media (min-width:1500px){
  .ms-trust-overlay{
    right:max(48px,calc((100vw - 1500px) / 2 + 42px));
    width:730px;
  }
}

/* =========================================================
   MenoSignal Editorial 6.0 — final mobile polish
   Presentation-only refinements. Semantic HTML, headings,
   crawlable links and desktop layout remain unchanged.
   ========================================================= */
@media (max-width:699px){
  /* Give phone layouts a deliberately editorial reading scale. */
  body{font-size:17px;line-height:1.7}
  .ms-shell{width:calc(100% - 32px)}

  /* Header: more presence, larger tap targets, still compact. */
  .ms-header-inner{height:72px;padding:0 16px}
  .ms-brand{font-size:1.58rem;gap:8px;letter-spacing:-.02em}
  .ms-brand-mark{width:27px;height:29px}
  .ms-mobile-menu summary{width:50px;height:50px}
  .ms-mobile-menu summary span{width:24px;height:2px}
  .ms-mobile-panel{top:72px;max-height:calc(100vh - 72px);padding:12px 18px 26px}
  .ms-mobile-links a{min-height:54px;font-size:1.02rem}

  /* Headings: larger, more balanced, with breathing room. */
  h1{font-size:clamp(3.15rem,15vw,3.8rem);line-height:.99;letter-spacing:-.027em}
  h2{font-size:clamp(2.3rem,10.8vw,2.9rem);line-height:1.03;letter-spacing:-.024em}
  h3{font-size:1.52rem;line-height:1.14}
  .ms-eyebrow{font-size:.69rem;line-height:1.35;letter-spacing:.145em}
  .ms-section{padding:60px 0}
  .ms-section-head{gap:11px;margin-bottom:28px}
  .ms-section-head p:not(.ms-eyebrow){font-size:1rem;line-height:1.62}
  .ms-text-link{font-size:.9rem}

  /* Hero: content-first, then a strong photographic beat. */
  .ms-hero-copy{padding:32px 18px 28px}
  .ms-hero-copy h1{max-width:360px;margin-bottom:18px}
  .ms-hero-dek{font-size:1.04rem;line-height:1.64;margin-bottom:24px;max-width:39ch}
  .ms-hero-actions{gap:11px}
  .ms-action-card{grid-template-columns:42px minmax(0,1fr) 22px;gap:12px;min-height:68px;padding:11px 13px;border-radius:13px}
  .ms-action-icon{width:40px;height:40px;font-size:.94rem}
  .ms-action-card strong{font-size:.98rem;line-height:1.25}
  .ms-action-card small{font-size:.78rem;line-height:1.38;margin-top:3px}
  .ms-arrow{font-size:1.08rem}
  .ms-hero-media{padding-bottom:22px}
  .ms-hero-media > img{height:365px;object-position:62% 34%}

  /* Trust principles are easy-to-scan rows below the image. */
  .ms-trust-overlay{margin:-24px 14px 0;border-radius:15px;box-shadow:0 16px 36px rgba(13,47,58,.13)}
  .ms-trust-overlay a{min-height:64px;padding:12px 14px;gap:12px}
  .ms-trust-icon{flex-basis:34px;width:34px;height:34px;font-size:.86rem}
  .ms-trust-overlay strong{font-size:.91rem;line-height:1.24}
  .ms-trust-overlay small{font-size:.76rem;line-height:1.38;margin-top:2px}

  /* Topic rail: one clear card at a time with an intentional next-card peek. */
  .ms-topic-grid{gap:14px;margin-right:-16px;padding-right:16px;padding-bottom:10px}
  .ms-topic-card{flex:0 0 min(88vw,350px);border-radius:15px}
  .ms-topic-card img{aspect-ratio:1.58/1}
  .ms-topic-card>div{padding:18px 18px 19px}
  .ms-topic-card h3{font-size:1.55rem;line-height:1.12;margin-bottom:8px}
  .ms-topic-card p{font-size:.97rem;line-height:1.55;margin-bottom:14px}
  .ms-topic-card span{width:32px;height:32px}

  /* Featured guides: larger editorial text and clearer hierarchy. */
  .ms-feature-grid{gap:24px}
  .ms-feature-card{border-radius:15px}
  .ms-feature-card img{aspect-ratio:1.58/1}
  .ms-feature-body{padding:22px 20px 24px}
  .ms-feature-body>span{font-size:.7rem;line-height:1.35}
  .ms-feature-body h3{font-size:1.84rem;line-height:1.08;margin:10px 0 11px}
  .ms-feature-body p{font-size:1rem;line-height:1.62;margin-bottom:17px}
  .ms-feature-body b{font-size:.91rem}

  /* Comparisons: larger cards and easier thumb scanning. */
  .ms-compare-grid{gap:30px}
  .ms-compare-copy h2{margin-bottom:16px}
  .ms-compare-copy>p:not(.ms-eyebrow){font-size:1.02rem;line-height:1.64;margin-bottom:20px}
  .ms-button{min-height:52px;padding:13px 17px;font-size:.94rem;border-radius:11px}
  .ms-compare-cards{gap:16px}
  .ms-compare-cards>a{padding:22px 20px;border-radius:15px}
  .ms-compare-cards h3{font-size:1.56rem;line-height:1.1;margin:12px 0 13px}
  .ms-compare-cards ul{font-size:.95rem;line-height:1.55;margin-bottom:18px}
  .ms-compare-cards li{margin:8px 0;padding-left:19px}
  .ms-compare-cards b{font-size:.9rem}
  .ms-compare-badge{font-size:.67rem}

  /* Closing trust CTA should feel like a deliberate section, not a banner. */
  .ms-update-band{padding:54px 0}
  .ms-update-inner{gap:24px}
  .ms-update-inner h2{font-size:2.46rem;line-height:1.02;margin-bottom:12px}
  .ms-update-inner p{font-size:1rem;line-height:1.62}
  .ms-update-inner .ms-button{width:100%;min-height:52px}

  /* Reading templates: comfortable mobile prose. */
  .ms-page-shell,.ms-article-shell{width:calc(100% - 34px);padding-top:42px;padding-bottom:64px}
  .ms-page-header h1,.ms-article-header h1{font-size:3rem;line-height:1.01}
  .ms-page-content,.ms-article-content{font-size:1.02rem;line-height:1.76}
  .ms-article-content h2{font-size:2.18rem;line-height:1.07;margin:42px 0 16px}
  .ms-article-content h3{font-size:1.62rem;line-height:1.13}
  .ms-article-content table{font-size:.92rem}
  .ms-article-content th,.ms-article-content td{padding:12px}
  .ms-article-aside>div{padding:18px}

  /* Footer: clear two-column utility layout, brand and popular topics full width. */
  .ms-site-footer{padding:46px 0 24px}
  .ms-footer-top,.ms-footer-legal,.ms-footer-disclaimer{width:calc(100% - 32px)}
  .ms-footer-top{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:0}
  .ms-footer-brand-block{grid-column:1/-1;padding-bottom:24px}
  .ms-brand-footer{font-size:1.66rem}
  .ms-footer-brand-block p{font-size:.94rem;line-height:1.58;margin:10px 0 0;max-width:320px}
  .ms-footer-column{gap:0;padding:19px 0;border-top:1px solid rgba(255,255,255,.13)}
  .ms-footer-column:last-child{grid-column:1/-1}
  .ms-footer-column h2{font-size:.94rem;margin-bottom:9px}
  .ms-footer-column a{padding:5px 0;font-size:.91rem;line-height:1.45}
  .ms-footer-legal{font-size:.78rem;line-height:1.55;margin-top:20px;padding-top:17px}
  .ms-footer-disclaimer{font-size:.74rem;line-height:1.62;margin-top:15px;padding-top:15px}
}

@media (max-width:374px){
  body{font-size:16.5px}
  h1{font-size:2.95rem}
  h2{font-size:2.15rem}
  .ms-hero-copy{padding-inline:16px}
  .ms-action-card{grid-template-columns:38px minmax(0,1fr) 18px;padding-inline:11px}
  .ms-action-icon{width:37px;height:37px}
  .ms-topic-card{flex-basis:90vw}
  .ms-feature-body h3{font-size:1.7rem}
  .ms-compare-cards h3{font-size:1.45rem}
}



/* =========================================================
   MenoSignal Editorial 9.0 — repaired CDN icon rendering
   The uploaded PNGs are edge-to-edge artwork. Hero CTA icons
   remain inside circular controls; trust icons render as clean
   standalone glyphs so detailed artwork is never clipped.
   ========================================================= */
.ms-action-icon {
  overflow: hidden;
  background: rgba(255,255,255,.96);
}
.ms-action-icon img {
  display:block;
  width:82% !important;
  height:82% !important;
  max-width:82% !important;
  max-height:82% !important;
  object-fit:contain;
  object-position:center;
}
.ms-action-primary .ms-action-icon {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.56);
}
.ms-action-primary .ms-action-icon img {
  filter: brightness(0) invert(1);
}

/* Trust strip: do not crop the uploaded artwork into a circle. */
.ms-trust-icon {
  flex:0 0 40px !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}
.ms-trust-icon img {
  display:block !important;
  width:34px !important;
  height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
}
.ms-trust-overlay a {
  overflow:hidden;
}

@media (max-width: 767px) {
  .ms-action-icon img {
    width:80% !important;
    height:80% !important;
    max-width:80% !important;
    max-height:80% !important;
  }
  .ms-trust-icon {
    flex-basis:38px !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
  }
  .ms-trust-icon img {
    width:32px !important;
    height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
  }
}

/* =========================================================
   MenoSignal Editorial 10.0 — local, deterministic UI icons
   Icons are bundled with the theme to remove remote loading,
   mapping and CDN-cache ambiguity. All artwork is constrained
   by fixed wrappers so it cannot overlap labels.
   ========================================================= */
.ms-action-icon{
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
}
.ms-action-icon img{
  display:block !important;
  width:26px !important;
  height:26px !important;
  max-width:26px !important;
  max-height:26px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
}
.ms-action-primary .ms-action-icon img{
  filter:brightness(0) invert(1);
}

/* Trust strip uses compact circular icon controls, matching the reference design. */
.ms-trust-icon{
  flex:0 0 38px !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  border:1px solid #b9cfca !important;
  border-radius:50% !important;
  background:#fff !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
}
.ms-trust-icon img{
  display:block !important;
  width:23px !important;
  height:23px !important;
  max-width:23px !important;
  max-height:23px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
}
.ms-trust-overlay a{
  min-width:0;
  overflow:hidden;
}
.ms-trust-overlay a > span:last-child{
  min-width:0;
}
.ms-trust-overlay strong,
.ms-trust-overlay small{
  overflow-wrap:anywhere;
}

@media (max-width:767px){
  .ms-action-icon img{
    width:25px !important;
    height:25px !important;
    max-width:25px !important;
    max-height:25px !important;
  }
  .ms-trust-icon{
    flex-basis:36px !important;
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
  }
  .ms-trust-icon img{
    width:22px !important;
    height:22px !important;
    max-width:22px !important;
    max-height:22px !important;
  }
}
