/* ==========================================================================
   Ministry Order — Apple-style design layer
   Loaded LAST on public pages only, so it overrides the original look while
   keeping every layout, form, ID and script intact.
   NOT used by dashboard.html or manage.html.
   ========================================================================== */

:root{
  --primary:#0071e3;            /* Apple blue: buttons */
  --primary-dark:#0077ed;
  --link:#0066cc;               /* 5.6:1 on white */
  --secondary:#0071e3;
  --accent-mint:#30d158;
  --text-main:#1d1d1f;
  --text-muted:#6e6e73;         /* 5.1:1 on white, 4.7:1 on #f5f5f7 */
  --bg-body:#ffffff;
  --bg-soft:#f5f5f7;
  --hairline:#d2d2d7;
  --radius-pill:980px;
  --radius-large:22px;
  --radius-modal:28px;
  --sf-text:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Inter",system-ui,sans-serif;
  --sf-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue","Inter",system-ui,sans-serif;
  --shadow-shot:0 24px 60px rgba(0,0,0,.12);
  color-scheme:light dark;
}

/* ── Type: system font, size-specific tracking ── */
html{scroll-padding-top:64px}
body{font-family:var(--sf-text)!important;color:var(--text-main);letter-spacing:-.016em;
  -webkit-font-smoothing:antialiased;font-optical-sizing:auto;text-rendering:optimizeLegibility}
h1,h2,h3,h4,.section-title,.logo,.logo-wordmark{font-family:var(--sf-display)!important;color:var(--text-main)}
h1{font-weight:700;letter-spacing:-.035em;line-height:1.06}
h2{font-weight:700;letter-spacing:-.03em;line-height:1.1}
h3{font-weight:600;letter-spacing:-.02em;line-height:1.2}
p,li,td,th,label,input,select,textarea,button{font-family:var(--sf-text)}
.hero h1,.hero-text h1{font-size:clamp(2.4rem,4.2vw,3.6rem)!important}
.overview-hero h1{font-size:clamp(2.6rem,5.8vw,4.4rem)!important}
.section-title,.pane h2,.showcase h2,.pricing h2,.about-section h2{font-size:clamp(2rem,4.2vw,3.2rem)}
p,.lede,.hero-sub,.pane-sub,.showcase-sub,.feature-text p{color:var(--text-muted)}
.hero-sub,.lede,.pane-sub,.showcase-sub{font-size:clamp(1.0625rem,1.6vw,1.3125rem);line-height:1.45;letter-spacing:-.018em}
.hero-eyebrow,.step-eyebrow,.eyebrow{color:var(--text-muted)!important;font-weight:600;letter-spacing:-.005em;text-transform:none}
strong,b{color:var(--text-main)}
main a:not(.btn):not(.store-badge):not(.logo),.text-section a,.legal a{color:var(--link)}
main a:not(.btn):not(.store-badge):hover{text-decoration:underline}

/* ── Frosted navigation bar: content scrolls underneath ── */
.navbar{background:rgba(255,255,255,.72)!important;
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.08)!important;padding-top:10px!important;padding-bottom:10px!important;box-shadow:none!important}
.logo{color:var(--text-main)!important;font-weight:600!important;font-size:1.125rem!important;letter-spacing:-.01em}
.logo img{height:30px!important;border-radius:7px!important}
.nav-link{font-weight:400!important;font-size:.875rem!important;color:var(--text-main)!important;opacity:.85;letter-spacing:-.01em}
.nav-link:hover{opacity:1;color:var(--text-main)!important}
.nav-links .btn{padding:7px 16px!important;font-size:.875rem!important}
.mobile-menu{background:rgba(255,255,255,.92)!important;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px)}

/* ── Buttons: pill, flat, feedback on press ── */
.btn{border-radius:var(--radius-pill)!important;font-weight:500!important;letter-spacing:-.01em;
  box-shadow:none!important;transition:background-color .2s,transform .1s ease-out,color .2s!important;min-height:44px}
.btn:hover{transform:none!important}
.btn:active{transform:scale(.97)!important}
.btn-primary{background:var(--primary)!important;color:#fff!important}
.btn-primary:hover{background:var(--primary-dark)!important}
.btn-outline,.btn-light,.btn-back{background:transparent!important;color:var(--link)!important;border:0!important;
  box-shadow:inset 0 0 0 1px var(--link)!important}
.btn-outline:hover,.btn-light:hover,.btn-back:hover{background:var(--link)!important;color:#fff!important}

/* ── Sections ── */
.hero,.overview-hero{background:#fff!important}
.soft,.pane.soft,.scrolling-features.soft{background:var(--bg-soft)!important}
.pane,.showcase,.pricing,.about-section,.scrolling-features{padding-top:clamp(4rem,8vw,7rem)!important;padding-bottom:clamp(4rem,8vw,7rem)!important}
.bottom-banner,.cta-banner{background:#000!important;color:#f5f5f7!important;border-radius:var(--radius-large)}
.bottom-banner h2,.cta-banner h2,.bottom-banner h3,.cta-banner h3{color:#f5f5f7!important}
.bottom-banner p,.cta-banner p{color:#a1a1a6!important}

/* ── Cards: soft, borderless, large radius ── */
.team-card,.feature-card,.step-card,.compare-card,.swap-card,.about-card,.card-legacy,.card-ministry,
.highlight-box,.note-box,.tip,.warn,.rescue,.reassure,.faq-list details,.pricing-card{
  border:0!important;box-shadow:none!important;border-radius:var(--radius-large)!important}
.pane:not(.soft) .team-card,.pane:not(.soft) .feature-card,.pane:not(.soft) .step-card,
.pane:not(.soft) .swap-card,.about-card,.highlight-box,.note-box,.tip,.rescue,.reassure{background:var(--bg-soft)!important}
.soft .team-card,.soft .feature-card,.soft .step-card,.soft .swap-card,.soft .faq-list details{background:#fff!important}
.warn{background:#fff4e5!important}
.pricing-card{background:#fff!important;box-shadow:0 30px 80px rgba(0,0,0,.10)!important;border-radius:28px!important}
.price-tag{font-family:var(--sf-display);letter-spacing:-.04em;color:var(--text-main)!important}
.step-num,.feature-icon{background:var(--bg-soft)!important;color:var(--primary)!important;box-shadow:none!important}
.soft .step-num,.soft .feature-icon{background:#fff!important}
.pill,.platform-tag,.time-badge,.date,.update-date{background:var(--bg-soft)!important;color:var(--text-muted)!important;border:0!important;border-radius:980px!important;font-weight:500}
.faq-list details{padding:1.1rem 1.4rem!important;margin-bottom:10px}
.faq-list summary{font-weight:600;color:var(--text-main);cursor:pointer}

/* ── Screenshots & media: rounded, lifted ── */
.hero-media img,.feature-image img,.shot img,.showcase img,.video-container,.video-container video,.step-body img,.step-body video{
  border-radius:18px!important;box-shadow:var(--shadow-shot)!important;border:0!important}
.store-badge img,.platforms img{box-shadow:none!important;border-radius:0!important}

/* ── Tables (comparison, cookies) ── */
.compare-table,.cookie-table-wrap table,.table-wrap table{border-collapse:collapse;border:0!important}
.compare-table th,.compare-table td,.cookie-table-wrap th,.cookie-table-wrap td,.table-wrap th,.table-wrap td{
  border:0!important;border-bottom:1px solid var(--hairline)!important;background:transparent!important}
.compare-table th,.table-wrap th,.cookie-table-wrap th{color:var(--text-main);font-weight:600}
.yes{color:#248a3d!important}.no{color:#6e6e73!important}

/* ── Forms & sign-in windows ── */
.modal{background:rgba(0,0,0,.32)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.modal-content{border-radius:var(--radius-modal)!important;box-shadow:0 40px 120px rgba(0,0,0,.25)!important;padding:44px 36px!important}
.modal-content h2{font-size:1.75rem}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=url],select,textarea,.field input{
  border:1px solid var(--hairline)!important;border-radius:12px!important;background:#fff!important;
  font-size:1.0625rem!important;padding:13px 14px!important;color:var(--text-main)!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--primary)!important;box-shadow:0 0 0 4px rgba(0,113,227,.18)!important}
.close-btn{border-radius:50%!important;background:var(--bg-soft)!important;color:var(--text-muted)!important}
.error,#errorMessage,#loginError,#forgotError,#inviteError{color:#d70015!important}
.progress{background:var(--bg-soft)!important;border-radius:980px!important;overflow:hidden}
#progressBar{background:var(--primary)!important}

/* ── Legal pages ── */
.text-section,.legal,main.container{font-size:1.0625rem;line-height:1.53}
.text-section h2,.legal h2{font-size:1.5rem!important;margin-top:2.5rem}
.toc{background:var(--bg-soft)!important;border:0!important;border-radius:var(--radius-large)!important}
.legal-nav a{text-transform:none!important;letter-spacing:-.01em!important;font-weight:500!important;font-size:.8125rem!important}
.legal-nav a:not(.active){background:var(--bg-soft)!important;color:var(--link)!important}
.legal-nav a.active{background:var(--primary)!important;color:#fff!important}
.update-date{display:inline-block!important;padding:4px 12px!important;margin-bottom:1rem}

/* ── Footer: Apple-style ── */
.site-footer{background:var(--bg-soft)!important;color:var(--text-muted)!important;border-top:0!important;font-size:.75rem!important}
.site-footer a{color:var(--text-muted)!important;font-size:.75rem!important;font-weight:400!important}
.site-footer a:hover{color:var(--text-main)!important;text-decoration:underline}
.site-footer-copy{color:var(--text-muted)!important;font-size:.75rem!important}

/* ── Focus & accessibility preferences ── */
:focus-visible{outline:3px solid var(--primary)!important;outline-offset:3px!important;border-radius:8px}
.btn:focus-visible{outline-color:var(--text-main)!important}
.skip-link{background:var(--text-main)!important;border-radius:0 0 10px 10px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}.btn:active{transform:none!important}}
@media (prefers-reduced-transparency:reduce){.navbar,.mobile-menu{background:#fff!important;-webkit-backdrop-filter:none;backdrop-filter:none}.modal{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(0,0,0,.5)!important}}
@media (prefers-contrast:more){:root{--text-muted:#1d1d1f;--hairline:#1d1d1f}.team-card,.feature-card,.step-card,.compare-card,.swap-card,.pricing-card,.modal-content{outline:1px solid #1d1d1f}}

/* ── Dark showcase surfaces (these sections were dark/blue with white text) ── */
.compare-card{background:#000!important;color:#f5f5f7!important;border-radius:28px!important}
.compare-card h2,.compare-card h3{color:#f5f5f7!important}
.compare-card p{color:#a1a1a6!important}
.compare-card p.compare-fine{color:#86868b!important}
.compare-card .btn-light{color:#2997ff!important;box-shadow:inset 0 0 0 1px #2997ff!important}
.compare-card .btn-light:hover{background:#2997ff!important;color:#000!important}
#pricing{background:#000!important;color:#f5f5f7!important}
#pricing > h2,#pricing > h3,#pricing > div > h2,#pricing .section-title{color:#f5f5f7!important}
#pricing > p,#pricing > div > p{color:#a1a1a6!important}
#pricing .pricing-card h2,#pricing .pricing-card h3,#pricing .pricing-card .price-tag{color:var(--text-main)!important}
#pricing .pricing-card p,#pricing .pricing-note{color:var(--text-muted)!important}

/* ── Headlines are black; blue is reserved for things you can click ── */
.hero h1,.hero-text h1,.overview-hero h1{color:var(--text-main)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
body{background:#fff!important}
.signup-main,.signup-header{background:#fff!important}


/* ==========================================================================
   DARK MODE — follows the visitor's device setting (public pages only)
   Contrast (measured): body #f5f5f7 on #000 19.3:1 · secondary #a1a1a6 on #000
   8.2:1 / on #1d1d1f 6.5:1 · links #2997ff on #000 7.0:1 / on #1d1d1f 5.6:1
   ========================================================================== */
@media (prefers-color-scheme:dark){
  :root{
    --link:#2997ff; --text-main:#f5f5f7; --text-muted:#a1a1a6;
    --bg-body:#000000; --bg-soft:#101012; --hairline:#424245;
    --card:#1d1d1f; --accent-mint:#30d158;
    --shadow-shot:0 24px 60px rgba(0,0,0,.6);
  }
  html,body{background:#000!important;color:var(--text-main)!important}

  /* Surfaces */
  .hero,.overview-hero,.lp-hero,.lp-how,.lp-about,.pane,.showcase,.scrolling-features,.about-section,
  .trust-strip,.signup-main,.signup-header,.signup-inner,main,.text-section,.comparison-section{background:#000!important}
  .soft,.pane.soft,.scrolling-features.soft,#demo{background:var(--bg-soft)!important}
  .trust-strip{border-color:var(--hairline)!important}

  /* Type */
  h1,h2,h3,h4,.section-title,.logo,.logo-wordmark,strong,b,.cname,.label,summary,th,.price-tag{color:var(--text-main)!important}
  p,li,dd,td,.lede,.hero-sub,.pane-sub,.showcase-sub,.feature-text p,.lp-sub,.lp-fine,.step-sub,.caption,.note{color:var(--text-muted)}
  .lp-eyebrow,.lp-hero h1,.hero h1,.hero-text h1,.overview-hero h1{color:var(--text-main)!important}
  main a:not(.btn):not(.store-badge):not(.active),.container a:not(.btn):not(.active),.text-section a,.modal-content a:not(.btn),.lp-more,.lp-step,.back-link{color:var(--link)!important}
  .nav-link,.logo{color:var(--text-main)!important}
  .legal-nav a:not(.active){background:#2c2c2e!important;color:var(--link)!important}
  .legal-nav a.active{background:var(--primary)!important;color:#fff!important}
  .container .highlight-box,.container .toc,.container .note-box,.container .tip,.container .callout,.container .rescue{background:#2c2c2e!important}
  [style*="color: #444"],[style*="color:#444"]{color:var(--text-muted)!important}

  /* Cards & tiles */
  .team-card,.feature-card,.step-card,.swap-card,.about-card,.card-legacy,.card-ministry,.highlight-box,.note-box,.tip,
  .rescue,.reassure,.faq-list details,.lp-tile,.toc,.pill,.platform-tag,.time-badge,.date,.update-date,.step-num,.feature-icon,
  .soft .team-card,.soft .feature-card,.soft .step-card,.soft .swap-card,.soft .faq-list details,
  .pane:not(.soft) .team-card,.pane:not(.soft) .feature-card,.pane:not(.soft) .step-card,.pane:not(.soft) .swap-card{
    background:var(--card)!important;border-color:transparent!important}
  .warn{background:#2c2208!important;color:#ffd60a!important}
  .compare-card{background:var(--card)!important}
  .pricing-card{background:var(--card)!important;box-shadow:0 30px 80px rgba(0,0,0,.6)!important}
  #pricing .pricing-card h2,#pricing .pricing-card h3,#pricing .pricing-card .price-tag,#pricing .pricing-card li{color:var(--text-main)!important}
  .yes{color:#30d158!important}
  [style*="background:#E2E8F0"],[style*="background: #E2E8F0"]{background:var(--hairline)!important}
  [style*="background: #f0fdf4"],[style*="background:#f0fdf4"]{background:#0f2a18!important}
  [style*="background: white"],[style*="background:#fff"]:not(.btn):not(button){background:var(--card)!important}

  /* Light-backed photos get an intentional rounded frame instead of a bright edge */
  /* Hero product photo is a transparent PNG: no frame, it sits straight on the dark page */
  .lp-hero-shot img,.hero-media img{background:transparent!important;padding:0!important;box-shadow:none!important}

  /* Navigation */
  .navbar{background:rgba(22,22,23,.72)!important;border-bottom-color:rgba(255,255,255,.12)!important}
  .nav-link,.hamburger-btn{color:var(--text-main)!important}
  .mobile-menu{background:rgba(22,22,23,.94)!important}
  .mobile-menu a,.mobile-menu button,.mobile-close{color:var(--text-main)!important}

  /* Buttons */
  .btn-outline,.btn-light,.btn-back{color:var(--link)!important;box-shadow:inset 0 0 0 1px var(--link)!important}
  .btn-outline:hover,.btn-light:hover,.btn-back:hover{background:var(--link)!important;color:#000!important}

  /* Sign-in windows & forms */
  .modal{background:rgba(0,0,0,.55)!important}
  .modal-content{background:var(--card)!important;color:var(--text-main)!important;box-shadow:0 40px 120px rgba(0,0,0,.7)!important}
  .modal-content p,.modal-content label{color:var(--text-muted)!important}
  input[type=text],input[type=email],input[type=password],input[type=tel],input[type=url],select,textarea,.field input{
    background:#000!important;color:var(--text-main)!important;border-color:var(--hairline)!important}
  .modal-content input{background:#2c2c2e!important}
  ::placeholder{color:#86868b!important}
  input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px rgba(41,151,255,.3)!important;border-color:#2997ff!important}
  .close-btn{background:#2c2c2e!important;color:var(--text-muted)!important}
  .error,#errorMessage,#loginError,#forgotError,#inviteError{color:#ff6961!important}
  .progress{background:#2c2c2e!important}

  /* Google's button must stay white with dark text (Google brand guidelines) */
  #googleLoginBtn,#googleInviteBtn{background:#fff!important;color:#1d1d1f!important;border-color:#fff!important}

  /* Page containers and pieces with hard-coded light backgrounds */
  .container,.cname,.compare-table thead th,.field{background:var(--card)!important}
  .container{box-shadow:none!important;border-color:transparent!important}
  footer:not(.site-footer){background:var(--bg-soft)!important;color:var(--text-muted)!important}
  footer:not(.site-footer) a{color:var(--text-muted)!important}
  code{background:#2c2c2e!important;color:#f5f5f7!important}
  .update-date,.date{color:var(--text-muted)!important}

  /* Tables */
  .compare-table th,.compare-table td,.cookie-table-wrap th,.cookie-table-wrap td,.table-wrap th,.table-wrap td{border-bottom-color:var(--hairline)!important}

  /* Cookie bar */
  #cookieNotice{background:rgba(29,29,31,.92)!important;box-shadow:0 10px 40px rgba(0,0,0,.6)!important}
  #cookieNotice h3{color:var(--text-main)!important}
  #cookieNotice p{color:var(--text-muted)!important}

  /* Footer */
  .site-footer{background:var(--bg-soft)!important}
  .site-footer a,.site-footer-copy,.site-footer p{color:var(--text-muted)!important}
  .site-footer a:hover{color:var(--text-main)!important}
  .site-footer-social a{background:#2c2c2e!important;color:var(--text-main)!important;border-color:transparent!important}
  .site-footer-social a:hover{background:#3a3a3c!important}
  .site-footer-social i,.site-footer-social svg{color:var(--text-main)!important;fill:currentColor}

  :focus-visible{outline-color:#2997ff!important}
  .btn:focus-visible{outline-color:#f5f5f7!important}
}
@media (prefers-color-scheme:dark) and (prefers-reduced-transparency:reduce){
  .navbar,.mobile-menu{background:#161617!important}
  #cookieNotice{background:#1d1d1f!important}
}
@media (prefers-color-scheme:dark) and (prefers-contrast:more){
  :root{--text-muted:#f5f5f7;--hairline:#f5f5f7}
}
