/* how-it-works.css — extracted from how-it-works.html during the Webflow → Eleventy migration.
   Tokens live in tokens.css, reset in base.css, header/footer in components.css.
   Dead nav/footer rules removed (verified unused: no page referenced them). */

body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6;overflow-x:hidden;}

a{color:var(--accent2);text-decoration:none;}

a:hover{text-decoration:underline;text-underline-offset:3px;}

/* PAGE HERO */
      .page-hero{background:var(--bg2);border-bottom:1px solid var(--border);padding:72px 24px 64px;}

.page-hero-inner{max-width:860px;margin:0 auto;}

.page-label{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--accent2);margin-bottom:14px;}

.page-hero h1{font-size:clamp(30px,4vw,50px);font-weight:800;letter-spacing:-1px;line-height:1.12;color:var(--text);margin-bottom:20px;}

.grad{background:linear-gradient(135deg,var(--accent2) 0%,#a78bfa 50%,var(--teal) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.page-hero-lead{font-size:17px;color:var(--text2);line-height:1.7;max-width:640px;}

/* LAYOUT */
      .content-wrap{max-width:900px;margin:0 auto;padding:0 24px 80px;}

/* STEPS */
      .steps-section{padding:64px 0;}

.step-block{display:grid;grid-template-columns:80px 1fr;gap:24px;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--border);}

.step-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}

.step-num-wrap{display:flex;flex-direction:column;align-items:center;gap:0;}

.step-num{width:56px;height:56px;border-radius:50%;background:var(--accent-g);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:18px;font-weight:700;color:#fff;flex-shrink:0;}

.step-line{width:2px;flex:1;background:var(--border);margin-top:8px;min-height:40px;}

.step-block:last-child .step-line{display:none;}

.step-content{}

.step-label{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--accent2);margin-bottom:8px;}

.step-h2{font-size:clamp(20px,2.5vw,26px);font-weight:800;color:var(--text);margin-bottom:12px;letter-spacing:-.3px;}

.step-body{font-size:15px;color:var(--text2);line-height:1.7;margin-bottom:16px;}

.step-body strong{color:var(--text);font-weight:700;}

.styled-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin:12px 0 16px;}

.styled-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text2);line-height:1.6;}

.styled-list li::before{content:"→";color:var(--accent2);font-weight:700;flex-shrink:0;font-size:12px;margin-top:2px;}

.step-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--accent2);background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.2);padding:3px 10px;border-radius:99px;}

/* CYCLE DISPLAY */
      .cycle-block{display:flex;align-items:center;justify-content:center;gap:0;margin:20px 0;flex-wrap:wrap;}

.cycle-item{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r2);padding:10px 18px;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;}

.cycle-arrow{color:var(--accent2);font-size:18px;margin:0 8px;flex-shrink:0;}

/* SUPPORT TIERS */
      .support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0;}

.support-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r2);padding:28px 22px;display:flex;flex-direction:column;}

.support-card.featured{border-color:var(--accent);background:rgba(99,102,241,.04);}

.support-tag{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.2);padding:3px 10px;border-radius:99px;display:inline-block;margin-bottom:14px;}

.support-name{font-size:18px;font-weight:800;color:var(--text);margin-bottom:10px;letter-spacing:-.3px;}

.support-desc{font-size:13px;color:var(--text2);line-height:1.6;margin-bottom:16px;flex:1;}

.support-features{list-style:none;display:flex;flex-direction:column;gap:7px;}

.support-features li{font-size:13px;color:var(--text2);display:flex;align-items:flex-start;gap:8px;line-height:1.45;}

.support-features li::before{content:"✓";color:var(--green);font-family:var(--mono);font-size:11px;flex-shrink:0;margin-top:2px;}

/* QUOTE FORM */
      #quote-form-section{padding:64px 0;}

.form-header{margin-bottom:32px;}

.form-label-main{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--accent2);margin-bottom:12px;}

.form-h2{font-size:clamp(22px,3vw,32px);font-weight:800;color:var(--text);margin-bottom:12px;letter-spacing:-.4px;}

.form-intro{font-size:15px;color:var(--text2);line-height:1.7;max-width:580px;}

.quote-form{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r3);padding:40px 36px;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}

.form-field{display:flex;flex-direction:column;gap:6px;}

.form-field.full{grid-column:1/-1;}

.form-field label{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);}

.form-field input,.form-field select,.form-field textarea{
        background:var(--bg);border:1px solid var(--border2);border-radius:var(--r);
        padding:10px 14px;font-family:var(--font);font-size:14px;color:var(--text);
        outline:none;transition:border-color .15s,box-shadow .15s;width:100%;
      }

.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
        border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.1);
      }

.form-field textarea{resize:vertical;min-height:100px;line-height:1.6;}

.form-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}

.checkboxes-label{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-bottom:10px;display:block;}

.checkboxes-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;}

.checkbox-item{display:flex;align-items:flex-start;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;cursor:pointer;transition:border-color .15s;}

.checkbox-item:hover{border-color:var(--border2);}

.checkbox-item input[type="checkbox"]{width:15px;height:15px;accent-color:var(--accent);flex-shrink:0;cursor:pointer;margin-top:1px;}

.checkbox-item label{font-size:13px;color:var(--text2);cursor:pointer;line-height:1.4;}

.form-submit{width:100%;background:var(--accent-g);color:#fff;font-family:var(--font);font-size:15px;font-weight:700;padding:14px;border-radius:var(--r2);border:none;cursor:pointer;transition:opacity .15s;margin-top:8px;}

.form-submit:hover{opacity:.88;}

.form-submit:disabled{opacity:.5;cursor:not-allowed;}

.form-success{display:none;text-align:center;padding:40px 20px;}

.form-success-icon{font-size:40px;margin-bottom:12px;}

.form-success h3{font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px;}

.form-success p{font-size:14px;color:var(--text2);line-height:1.6;}

.form-error{display:none;margin-top:12px;padding:12px 16px;background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.2);border-radius:var(--r);font-size:13px;color:var(--red);}

.footer-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}

@media(max-width:768px){
.page-hero{padding:48px 16px 40px;}
.content-wrap{padding:0 16px 60px;}
.step-block{grid-template-columns:52px 1fr;gap:16px;}
.step-num{width:44px;height:44px;font-size:15px;}
.support-grid{grid-template-columns:1fr;}
.form-grid{grid-template-columns:1fr;}
.checkboxes-grid{grid-template-columns:1fr;}
.quote-form{padding:24px 16px;}
.cycle-block{gap:4px;}
.footer-links{justify-content:center;}
}
