
  #cookie-banner {
    position: fixed;
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
    z-index: 999999;
    width: min(500px, calc(100% - 32px));
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
    box-sizing: border-box;
    margin: 0;
    padding: 28px;
    border-radius: 24px;
    background: #111;
    color: #fff;
    font-family: Arial, sans-serif;
    text-align: center;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
    display: none;
  }
  #cookie-banner[hidden],
  #cookie-overlay[hidden],
  #cookie-settings-footer[hidden] {
    display: none !important;
  }
  #cookie-banner p {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.6;
  }
  #cookie-banner a { color: #fff; text-decoration: underline; }
  #cookie-banner .cookie-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
  }
  #cookie-banner .cookie-btn {
    border: 1px solid rgba(255, 255, 255, 0.4);
    padding: 12px 18px;
    min-height: 44px;
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
  }
  #cookie-banner .accept { background: #fff; color: #111; }
  #cookie-banner .reject { background: transparent; color: #fff; }
  #cookie-banner .accept:hover { opacity: 0.9; }
  #cookie-banner .reject:hover { background: rgba(255,255,255,0.08); }
  #cookie-banner :focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
  #cookie-overlay {
    position: fixed;
    inset: 0;
    z-index: 999998;
    display: none;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(2px);
  }
  #cookie-settings-footer { position: static; }
  #cookie-settings-link {
    position: static;
    cursor: pointer;
  }
  #cookie-settings-footer.cookie-footer-fallback {
    padding: 16px;
    text-align: center;
  }
  #cookie-settings-footer.cookie-footer-fallback a {
    color: inherit;
    font: inherit;
    text-decoration: underline;
  }
  @media (max-width: 480px) {
    #cookie-banner { padding: 22px; border-radius: 20px; }
    #cookie-banner .cookie-btn { flex: 1 1 120px; }
  }

/* Match the approved Society pages while retaining all existing MS365 content. */
.ms365-hero-grid{padding-top:65px;align-items:stretch}
.ms365-hero-grid h1{font-size:clamp(42px,4.7vw,64px);letter-spacing:-1.7px;line-height:1.15}
.ms365-backup-text-group{display:flex;flex-direction:column;gap:16px}
.ms365-backup-text-group p+p{margin-top:0}
.ms365-hero-grid .hero-copy>.ms365-backup-text-group{font-size:18px;line-height:1.6}
.ms365-visualrow{width:100%;display:flex;align-items:center;gap:15px;padding:21px 0;border-top:1px solid var(--line);font-size:15px}
.ms365-visualstep{flex:none;font-size:11px;font-weight:600;color:var(--accent)}
.hero-card .ms365-visualrow+.ms365-visualrow{margin-top:-24px}
.ms365-section>h2,.ms365-contact>h2{margin-bottom:27px}
.ms365-section>.grid{margin-top:30px}
.ms365-section>.ms365-backup-text{max-width:960px}
.ms365-section>.actions{margin-top:28px}
.ms365-link{font-size:14px;font-weight:500;color:var(--accent);line-height:1.5}.ms365-link:hover{text-decoration:underline;text-underline-offset:4px}
.ms365-price-info{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.ms365-price-info .ms365-backup-text-group{max-width:980px}
.ms365-price-info .actions{margin-top:4px}
.ms365-backup-faq-group{margin-top:30px}
.ms365-contact>.ms365-backup-text-group{margin-bottom:30px}
.ms365-contact .form .small{margin-top:0}
#ms365-price{display:block;text-align:center;font-size:clamp(40px,4vw,62px);line-height:1.15;white-space:nowrap;font-variant-numeric:tabular-nums;color:white;letter-spacing:-2px;margin-top:5px}
#ms365-price .ms365-price-from{display:block;font-size:21px;line-height:1.4;letter-spacing:0;margin-bottom:10px}
.hero-card #ms365-price+.visual-title{font-size:23px;margin-top:-12px}
.seo-section{margin-top:100px}.seo-section:last-child{margin-bottom:90px}
.seo-container>h2{margin-bottom:24px}.seo-container>p{max-width:860px}
.seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.seo-card{display:flex;flex-direction:column;gap:18px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(ellipse at 100% 100%,#00537565,transparent 80%),#03000a40}
.seo-card h3{font-size:25px}.seo-card p{font-size:16px}.seo-card span{margin-top:auto;color:var(--accent);font-size:13px}
.seo-link-button{display:inline-flex;margin-top:28px;padding:12px 21px;border-radius:32px;background:var(--brand);color:white;font-weight:600;font-size:14px;box-shadow:inset 2px 2px 4px #ffffff40,inset -2px -2px 4px #ffffff40}
.form .button:disabled{opacity:.65;cursor:wait}.form output[data-state="error"]{background:#582023;color:#fff}.form output[data-state="success"]{background:#103d30;color:#fff}
.faq .ms365-backup-text{margin:18px 40px 0 0;font-size:17px}
@media(max-width:850px){.ms365-hero-grid h1{font-size:46px}.ms365-hero-grid .hero-copy>.ms365-backup-text-group{font-size:16px}.ms365-visualrow{font-size:14px;padding:18px 0}.seo-card{padding:22px}.seo-card h3{font-size:23px}}
@media(max-width:650px){.ms365-hero-grid{padding-top:28px}.ms365-hero-grid h1{font-size:43px;letter-spacing:-1.3px}.ms365-section>h2,.ms365-contact>h2{margin-bottom:22px}.ms365-hero-grid .hero-list{font-size:15px}.ms365-visualrow{font-size:15px}.hero-card .ms365-visualrow+.ms365-visualrow{margin-top:-20px}#ms365-price{font-size:58px}.ms365-price-info{gap:20px}.ms365-section>.grid{margin-top:25px}.seo-section{margin-top:62px}.seo-grid{grid-template-columns:1fr;gap:18px}.seo-section:last-child{margin-bottom:62px}.seo-card{padding:26px}.seo-card h3{font-size:25px}.ms365-contact>.ms365-backup-text-group{margin-bottom:25px}.faq .ms365-backup-text{margin-right:12px;font-size:16px}}
