/* ============================================================
   Website Management — Campaign Landing Page
   Scoped entirely under .wm. Tokens pulled from _tokens.css.
   Bootstrap collisions renamed: .container -> .wm-container,
   .btn -> .wm-btn, .card -> .wm-card.
   ============================================================ */

.wm *{box-sizing:border-box}
.wm{font-family:var(--font-display);background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.wm ul{margin:0;padding:0}
.wm p{margin:0}

.wm-container{max-width:1400px;margin:0 auto;padding:0 32px}
@media(max-width:560px){ .wm-container{padding:0 20px} }

/* ---- campaign header ---- */
.wm-campaign-header{padding:20px 0;border-bottom:1px solid var(--line)}
.wm-campaign-header-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.wm-campaign-logo{display:inline-flex;align-items:center;text-decoration:none;border-bottom:none;flex:none}
.wm-campaign-logo img{display:block}
.wm-campaign-cta{flex:none;white-space:nowrap}
@media(max-width:480px){
  .wm-campaign-logo img.navbar-brand-logo{min-width:5.5rem;max-width:7rem}
  .wm-campaign-cta{padding:10px 14px;font-size:13px}
}

/* ---- shared type ---- */
.wm .eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--brand-blue);margin-bottom:14px}
.wm h1{font-size:clamp(34px,6vw,65px);font-weight:var(--weight-heading);letter-spacing:-.02em;line-height:1.05;color:var(--navy)!important;margin:0}
.wm h1 em{font-style:italic;font-weight:var(--weight-heading);color:var(--brand-blue)}
.wm h2{font-size:clamp(22px,3vw,30px);font-weight:var(--weight-subhead);letter-spacing:-.015em;line-height:1.12;color:var(--navy);margin:0}
.wm h2 em{font-style:italic;color:var(--brand-blue)}
.wm .lede{font-size:18px;color:var(--ink);font-weight:var(--weight-subhead);line-height:1.4;max-width:50ch}
.wm .lede .hl{color:var(--brand-blue);font-weight:var(--weight-heading)}
.wm .label{font-size:11.5px;font-weight:var(--weight-subhead);text-transform:uppercase;letter-spacing:.14em;color:#000}
.wm .mono{font-family:var(--font-mono)}

/* ---- hero ---- */
.wm .hero{min-height:var(--hero-height);background:var(--hero-gradient);display:flex;align-items:center;padding:clamp(40px,6vh,80px) 0}
.wm .hero .wm-container{text-align:center}
.wm .hero .sub{margin:16px auto 0}
.wm .trust{margin:24px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:0;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}
.wm .trust span::before{content:'·';margin:0 14px;color:var(--ink-fade)}
.wm .trust span:first-child::before{content:'';margin:0}
.wm .hero-cta{margin-top:26px}
@keyframes wmHeroRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.wm .hero .eyebrow{animation:wmHeroRise .55s ease 0s both}
.wm .hero h1{animation:wmHeroRise .6s ease .12s both}
.wm .hero .sub{animation:wmHeroRise .6s ease .28s both}
.wm .hero .trust{animation:wmHeroRise .6s ease .44s both}
.wm .hero .hero-cta{animation:wmHeroRise .6s ease .56s both}

/* ---- buttons ---- */
.wm-btn{font-family:var(--font-display);font-size:15px;font-weight:700;color:#fff;background:var(--brand-blue);border:none;border-radius:var(--radius);padding:14px 24px;cursor:pointer;display:inline-flex;align-items:center;gap:9px;transition:background .15s,transform .1s;text-decoration:none}
.wm-btn:hover{background:var(--navy);color:#fff}
.wm-btn:active{transform:scale(.99)}
.wm-btn:disabled{background:var(--ink-fade);cursor:not-allowed}
.wm-btn svg{width:15px;height:15px}

/* ---- working section: messaging + sticky tool ---- */
.wm .work{padding:clamp(36px,5vw,56px) 0}
.wm .work-grid{display:grid;grid-template-columns:1fr 33%;gap:clamp(28px,4vw,56px);align-items:start}
@media(max-width:920px){ .wm .work-grid{grid-template-columns:1fr} }

.wm .block{margin-bottom:clamp(36px,5vw,52px)}
.wm .block:last-child{margin-bottom:0}
.wm .block > h2{margin-bottom:14px}

/* shift / no-finger-pointing block */
.wm .shift{background:var(--navy);color:#fff;border-radius:var(--radius);padding:26px 28px}
.wm .shift h2{color:#fff}
.wm .shift h2 em{color:var(--brand-blue-light)}
.wm .shift p{margin-top:10px;color:#fff;font-weight:500;font-size:16px;max-width:42ch}

/* comparison table */
.wm .cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.wm table.cmp{width:100%;border-collapse:collapse;font-size:13.5px;min-width:460px;background:var(--surface)}
.wm table.cmp th,.wm table.cmp td{padding:12px 14px;text-align:center;border-bottom:1px solid var(--line)}
.wm table.cmp thead th{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;  background-color: #1e3259 !important;font-weight: bold;  color:white;}
.wm table.cmp thead th:first-child {text-align: left;}
.wm table.cmp thead th.us{color:white;font-weight:700;background:var(--brand-blue-tint)}
.wm table.cmp tbody td:first-child{text-align:left;font-weight:600;color:var(--ink)}
.wm table.cmp td.us{background:var(--brand-blue-tint);font-weight:700;color:var(--navy)}
.wm table.cmp tr:last-child td{border-bottom:none}
.wm .diff-lines{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.wm .diff-lines p{font-size:15px;font-weight:600;color:var(--ink);padding-left:16px;border-left:2px solid var(--brand-blue)}

/* included */
.wm .incl{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:560px){ .wm .incl{grid-template-columns:1fr} }
.wm .incl .label{margin-bottom:10px}
.wm .incl ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.wm .incl li{display:flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:13.5px;font-weight:500;color:var(--ink)}
.wm .incl li::before{content:'';flex:none;width:15px;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}

/* switching steps */
.wm .steps{counter-reset:s;display:flex;flex-direction:column;gap:14px}
.wm .step{display:flex;gap:14px;align-items:flex-start}
.wm .step .n{counter-increment:s;flex:none;width:30px;height:30px;border:1px solid var(--line);border-radius:var(--radius);display:grid;place-items:center;font-family:var(--font-mono);font-size:13px;color:var(--brand-blue);font-weight:500}
.wm .step .n::before{content:counter(s,decimal-leading-zero)}
.wm .step .t{font-size:15.5px;font-weight:600;padding-top:4px}
.wm .step .t span{display:block;font-weight:400;color:var(--ink-soft);font-size:14px;margin-top:2px}
.wm .switch-note{margin-top:16px;font-family:var(--font-mono);font-size:12px;color:var(--ink-fade);text-transform:uppercase;letter-spacing:.05em}

/* pricing teaser */
.wm .price{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px}
.wm .price .big{font-size:15.5px;color:var(--ink-soft);margin-top:6px}
.wm .price .big strong{color:var(--navy);font-weight:800}

/* faq */
.wm .faq{display:flex;flex-direction:column}
.wm .faq-item{padding:16px 0;border-top:1px solid var(--line-soft)}
.wm .faq-item:first-child{border-top:none}
.wm .faq-q{font-size:15px;font-weight:700;color:var(--navy)}
.wm .faq-a{font-size:14.5px;color:var(--ink-soft);margin-top:4px}

/* ===== sticky build-your-plan tool ===== */
.wm .rail{position:sticky;top:24px}
@media(max-width:920px){ .wm .rail{position:static;margin-top:8px} }
.wm .plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.wm .plan-head h3{font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.01em;margin:0}
.wm .plan-head .tag{font-size:13px;color:var(--ink-soft);margin-top:3px}

/* zone 1: the picker (scrollable) */
.wm .pick-label{margin-top:16px;margin-bottom:10px}
.wm .cards{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding-right:6px;scrollbar-width:thin}
.wm-card{position:relative;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 40px 14px 14px;font-family:var(--font-display);line-height:1.3;transition:border-color .15s,background .15s,transform .1s;width:100%}
.wm-card:hover{border-color:var(--brand-blue-light)}
.wm-card:active{transform:scale(.995)}
.wm-card:focus-visible{outline:3px solid var(--brand-blue-tint);outline-offset:2px;border-color:var(--brand-blue)}
.wm-card .p{display:block;font-size:14.5px;font-weight:600;color:var(--ink)}
.wm-card .tick{position:absolute;top:13px;right:13px;width:20px;height:20px;border:1px solid var(--line);display:grid;place-items:center;transition:background .15s,border-color .15s}
.wm-card .tick svg{width:11px;height:11px;opacity:0;transition:opacity .15s}
.wm-card.on{border-color:var(--brand-blue);background:var(--brand-blue-tint)}
.wm-card.on .tick{background:var(--brand-blue);border-color:var(--brand-blue)}
.wm-card.on .tick svg{opacity:1}

/* zone 2: the plan (grows, never scrolls) */
.wm .plan-label{margin-top:20px;margin-bottom:10px}
.wm .plan-empty{padding:18px 14px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--ink-fade);font-size:13.5px}
.wm .plan-list{display:flex;flex-direction:column;gap:8px}
.wm .item{display:flex;gap:10px;align-items:flex-start;background:var(--surface-alt);border:1px solid var(--line-soft);border-radius:var(--radius);padding:11px 12px;animation:wmRise .24s ease both}
.wm .item .dot{flex:none;width:18px;height:18px;background:var(--brand-blue);display:grid;place-items:center;margin-top:1px}
.wm .item .dot svg{width:10px;height:10px}
.wm .item .b{font-size:14px;font-weight:600;line-height:1.3;color:var(--ink)}
.wm .item .b .own{display:block;margin-top:3px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-blue)}
@keyframes wmRise{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.wm .plan-foot{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-soft);display:none}
.wm .plan-foot .c{font-family:var(--font-mono);font-weight:500;color:var(--brand-blue)}
.wm .plan-foot strong{color:var(--ink);font-weight:700}
.wm .plan .wm-btn{width:100%;justify-content:center;margin-top:16px}

/* ---- embedded Gravity Form (replaces prototype's custom contact fields) ---- */
.wm .wm-form{display:none;margin-top:14px}
.wm .wm-form.show{display:block;animation:wmRise .26s ease both}

.wm .gform_wrapper.gravity-theme{font-family:var(--font-display);margin:0}
.wm .gform_wrapper.gravity-theme form{margin:0}
.wm .gform_wrapper.gravity-theme .gform_heading{display:none}
.wm .gform_wrapper.gravity-theme .gform_body{margin:0}
.wm .gform_wrapper.gravity-theme .gform-body ul.gform_fields,
.wm .gform_wrapper.gravity-theme ul.gform_fields{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}
.wm .gform_wrapper.gravity-theme .gfield{margin:0}
.wm .gform_wrapper.gravity-theme .gfield.wm-selected-problems{display:none}
.wm .gform_wrapper.gravity-theme .gfield_label,
.wm .gform_wrapper.gravity-theme label.gform-field-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px}
.wm .gform_wrapper.gravity-theme .ginput_container input[type="text"],
.wm .gform_wrapper.gravity-theme .ginput_container input[type="email"],
.wm .gform_wrapper.gravity-theme .ginput_container input[type="url"]{width:100%;font-family:var(--font-display);font-size:15px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:11px 12px;transition:border-color .15s,background .15s}
.wm .gform_wrapper.gravity-theme .ginput_container input:focus{outline:none;border-color:var(--brand-blue);background:var(--surface)}
.wm .gform_wrapper.gravity-theme .gform_footer{margin:16px 0 0;padding:0}
.wm .gform_wrapper.gravity-theme .gform_footer input.gform_button{width:100%;justify-content:center;font-family:var(--font-display);font-size:15px;font-weight:700;color:#fff;background:var(--brand-blue);border:none;border-radius:var(--radius);padding:14px 24px;cursor:pointer;transition:background .15s,transform .1s}
.wm .gform_wrapper.gravity-theme .gform_footer input.gform_button:hover{background:var(--navy)}
.wm .gform_wrapper.gravity-theme .gform_validation_errors,
.wm .gform_wrapper.gravity-theme .gfield_validation_message,
.wm .gform_wrapper.gravity-theme .validation_message{color:#c0392b;font-size:12.5px;margin-top:4px}
.wm .gform_wrapper.gravity-theme .gform_confirmation_wrapper,
.wm .gform_wrapper.gravity-theme .gform_confirmation_message{text-align:center;padding:10px 4px;font-size:14.5px;color:var(--ink-soft)}
.wm .gform_wrapper.gravity-theme .gform_ajax_spinner{margin-left:8px}
.wm .wm-fineprint{margin-top:11px;font-family:var(--font-mono);font-size:11px;color:var(--ink-fade);text-align:center;letter-spacing:.03em}

/* ---- proof ---- */
section.proof {display: none;}
.wm .proof{border-top:1px solid var(--line);background:var(--surface);padding:clamp(40px,5vw,60px) 0}
.wm .proof .label{margin-bottom:22px}
.wm .quotes{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:640px){ .wm .quotes{grid-template-columns:1fr} }
.wm .quote{border-left:2px solid var(--brand-blue);padding:4px 0 4px 18px;font-size:16px;color:var(--ink);font-weight:500}
.wm .quote .who{display:block;margin-top:8px;font-family:var(--font-mono);font-size:11px;color:var(--ink-fade);text-transform:uppercase;letter-spacing:.06em;font-weight:400}
.wm .logos{margin-top:28px;font-family:var(--font-mono);font-size:12px;color:var(--ink-fade);letter-spacing:.05em}

/* ---- final cta ---- */
.wm .final{background:var(--navy);color:#fff;padding:clamp(48px,6vw,72px) 0;text-align:center}
.wm .final h2{color:#fff;max-width:18ch;margin:0 auto}
.wm .final h2 em{color:var(--brand-blue-light)}
.wm .final p{color:rgba(255,255,255,.7);margin:14px auto 0;max-width:42ch;font-size:16px}
.wm .final .wm-btn{margin-top:26px;background:#fff;color:var(--navy)}
.wm .final .wm-btn:hover{background:var(--brand-blue-light);color:#fff}

/* ---- mobile dock ---- */
.wm .dock{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;align-items:center;justify-content:space-between;gap:12px;background:var(--navy);color:#fff;padding:12px 18px;box-shadow:0 -4px 20px rgba(33,50,91,.18)}
.wm .dock .d-label{font-size:13px;font-weight:600}
.wm .dock .d-label b{font-family:var(--font-mono);font-weight:500;color:var(--brand-blue-light)}
.wm .dock .wm-btn{background:#fff;color:var(--navy);padding:11px 18px;font-size:14px}
@media(max-width:920px){ .wm .dock{display:flex} .wm{padding-bottom:66px} }

.wm :where(a,button,input,[tabindex]):focus-visible{outline:3px solid var(--brand-blue-light);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.wm{scroll-behavior:auto}.wm *,.wm *::before,.wm *::after{animation:none!important;transition:none!important}}
