/*
Theme Name: SOHO101 Founder 01
Theme URI: https://soho101.com/
Author: John
Description: 外贸SOHO独立站实战课 Founder 01 单页预售主题。
Version: 1.5.0
Text Domain: soho101-founder01
*/
:root{
      --blue:#19A7FF;
      --blue2:#007BFF;
      --navy:#081B2B;
      --navy2:#0D273B;
      --ink:#101828;
      --muted:#667085;
      --line:#E6ECF2;
      --soft:#F5FAFE;
      --white:#fff;
      --gold:#FFCE7A;
      --green:#16A34A;
      --shadow:0 18px 60px rgba(8,27,43,.10);
      --radius:24px;
      --max:1160px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      color:var(--ink);
      background:#fff;
      line-height:1.7;
      overflow-x:hidden;
    }
    a{text-decoration:none;color:inherit}
    .wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
    .topbar{
      background:var(--navy);
      color:#D9E7F2;
      font-size:14px;
      text-align:center;
      padding:9px 12px;
    }
    nav{
      position:sticky;top:0;z-index:20;
      -webkit-backdrop-filter:blur(14px);
      backdrop-filter:blur(14px);
      background:rgba(255,255,255,.90);
      border-bottom:1px solid rgba(230,236,242,.8);
    }
    .navin{
      height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;
    }
    .brand{font-weight:900;letter-spacing:-.03em;font-size:20px}
    .brand span{color:var(--blue2)}
    .navlinks{display:flex;gap:22px;color:#475467;font-size:14px;align-items:center}
    .btn{
      min-height:46px;
      display:inline-flex;align-items:center;justify-content:center;
      padding:14px 22px;border-radius:999px;font-weight:800;
      transition:.2s ease;border:1px solid transparent;cursor:pointer;
    }
    .btn-primary{
      color:white;background:linear-gradient(135deg,var(--blue),var(--blue2));
      box-shadow:0 10px 30px rgba(0,123,255,.22);
    }
    .btn-primary:hover{transform:translateY(-2px)}
    .btn-ghost{border-color:#CFD8E3;background:white;color:#16324A}
    .hero{
      position:relative;overflow:hidden;
      background:
        radial-gradient(circle at 86% 15%, rgba(25,167,255,.24), transparent 32%),
        linear-gradient(180deg,#F8FCFF 0%,#fff 92%);
      padding:78px 0 72px;
    }
    .hero:after{
      content:"";position:absolute;right:-120px;bottom:-180px;width:520px;height:520px;
      background:radial-gradient(circle,rgba(0,123,255,.12),transparent 65%);
      border-radius:50%;
    }
    .hero-grid{display:grid;grid-template-columns:1.14fr .86fr;gap:54px;align-items:center;position:relative;z-index:2}
    .eyebrow{
      display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border-radius:999px;
      background:#E9F7FF;color:#0676C7;font-weight:800;font-size:13px;margin-bottom:18px;
    }
    h1{font-size:clamp(42px,6vw,72px);line-height:1.03;letter-spacing:-.055em;margin:0 0 24px}
    h1 .blue{color:var(--blue2)}
    .lead{font-size:20px;color:#475467;max-width:680px;margin:0 0 28px}
    .hero-points{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:24px 0 32px}
    .point{display:flex;gap:10px;align-items:flex-start;color:#344054;font-size:15px}
    .check{
      flex:0 0 24px;width:24px;height:24px;border-radius:50%;
      display:grid;place-items:center;background:#E8F7FF;color:var(--blue2);font-weight:900
    }
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .micro{font-size:13px;color:#667085;margin-top:12px}
    .course-card{
      background:white;border:1px solid #E2EBF2;border-radius:28px;padding:26px;
      box-shadow:var(--shadow);position:relative;
    }
    .browser{
      border-radius:18px;overflow:hidden;border:1px solid #DCE5EC;background:#fff;
      box-shadow:0 14px 42px rgba(11,35,52,.12);
    }
    .browser-top{height:34px;background:#F2F5F7;display:flex;align-items:center;gap:6px;padding:0 12px}
    .dot{width:8px;height:8px;border-radius:50%;background:#C7D2DA}
    .screen{
      min-height:280px;padding:30px;background:
        linear-gradient(135deg,rgba(7,30,48,.90),rgba(2,91,145,.75)),
        linear-gradient(120deg,#0D273B,#13A4F4);
      color:#fff;display:flex;flex-direction:column;justify-content:flex-end;
    }
    .screen small{opacity:.75;text-transform:uppercase;letter-spacing:.15em}
    .screen h3{font-size:34px;line-height:1.05;margin:8px 0 10px}
    .screen p{opacity:.85;margin:0;max-width:420px}
    .founder-row{
      margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px
    }
    .metric{background:#F7FBFE;border:1px solid #E5EEF5;border-radius:16px;padding:16px}
    .metric b{display:block;font-size:30px;line-height:1.1;color:#07324E}
    .metric span{font-size:12px;color:#667085}
    section{padding:84px 0}
    section[id]{scroll-margin-top:96px}
    .section-head{max-width:780px;margin:0 auto 44px;text-align:center}
    .section-head .kicker{color:var(--blue2);font-weight:900;font-size:13px;letter-spacing:.10em;text-transform:uppercase}
    .section-head h2{font-size:clamp(32px,4.5vw,52px);line-height:1.12;letter-spacing:-.045em;margin:8px 0 14px}
    .section-head p{color:#667085;font-size:17px;margin:0}
    .pain-grid,.fit-grid,.module-grid,.benefit-grid{display:grid;gap:18px}
    .pain-grid{grid-template-columns:repeat(4,1fr)}
    .card{
      border:1px solid var(--line);border-radius:20px;padding:24px;background:white;
      box-shadow:0 8px 32px rgba(16,24,40,.04);
    }
    .icon{
      width:46px;height:46px;border-radius:14px;background:#EAF7FF;color:var(--blue2);
      display:grid;place-items:center;font-weight:900;font-size:22px;margin-bottom:18px
    }
    .card h3{font-size:18px;margin:0 0 8px}
    .card p{font-size:14px;color:#667085;margin:0}
    .dark{background:linear-gradient(135deg,var(--navy),#0D314B);color:white}
    .dark .section-head p{color:#B8CAD6}
    .result-box{
      display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center;
      background:white;color:var(--ink);border-radius:30px;padding:42px;box-shadow:var(--shadow)
    }
    .result-number{
      font-size:104px;line-height:.9;font-weight:950;letter-spacing:-.08em;color:var(--blue2)
    }
    .result-copy h3{font-size:32px;line-height:1.15;margin:0 0 14px}
    .result-copy p{color:#667085;margin:0}
    .module-grid{grid-template-columns:repeat(2,1fr)}
    .module{
      display:flex;gap:18px;border:1px solid var(--line);border-radius:20px;padding:22px;background:#fff
    }
    .num{
      width:42px;height:42px;flex:0 0 42px;border-radius:50%;
      display:grid;place-items:center;color:white;font-weight:900;background:linear-gradient(135deg,var(--blue),var(--blue2))
    }
    .module h3{margin:0 0 4px;font-size:18px}
    .module p{margin:0;color:#667085;font-size:14px}
    .fit-wrap{display:grid;grid-template-columns:1fr 1fr;gap:22px}
    .fit{border-radius:24px;padding:28px;border:1px solid var(--line)}
    .fit.good{background:#F6FFF9}
    .fit.bad{background:#FFF9F7}
    .fit h3{margin-top:0}
    .fit ul{padding:0;margin:0;list-style:none;display:grid;gap:12px}
    .fit li{display:flex;gap:10px;align-items:flex-start}
    .bullet-good,.bullet-bad{
      width:23px;height:23px;flex:0 0 23px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900
    }
    .bullet-good{background:#DCFCE7;color:#15803D}
    .bullet-bad{background:#FEE2E2;color:#B91C1C}
    .story{
      display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start
    }
    .story-sticky{
      position:sticky;top:100px;border-radius:24px;padding:28px;background:#ECF8FF;border:1px solid #D9F0FF
    }
    .story-sticky b{font-size:18px}
    .story-copy{font-size:17px;color:#475467}
    .story-copy strong{color:#101828}
    .offer{
      background:linear-gradient(135deg,#061929,#0B3652);color:white;border-radius:32px;
      padding:46px;display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:center;
      box-shadow:0 28px 80px rgba(8,27,43,.22)
    }
    .offer .tag{display:inline-block;padding:7px 12px;border-radius:999px;background:#0D4E72;color:#CDEFFF;font-weight:800;font-size:13px}
    .offer h2{font-size:42px;line-height:1.08;margin:14px 0 14px}
    .offer p{color:#C1D1DD;margin:0}
    .price-box{text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:26px}
    .price{font-size:58px;font-weight:950;color:var(--gold);line-height:1}
    .price small{font-size:22px;font-weight:700}
    .slots{font-size:14px;color:#D7E4ED;margin:8px 0 18px}
    .preorder{
      margin-top:26px;padding:18px 20px;border-radius:16px;background:#FFF8E8;color:#7A4B00;border:1px solid #F6E1AC;font-size:14px
    }
    .form-section{background:#F7FAFC}
    .form-wrap{
      max-width:820px;margin:auto;background:white;border:1px solid var(--line);
      border-radius:28px;padding:34px;box-shadow:var(--shadow)
    }
    .form-title{text-align:center;margin-bottom:28px}
    .form-title h2{font-size:34px;margin:0 0 8px}
    .form-title p{margin:0;color:#667085}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .field{display:flex;flex-direction:column;gap:7px}
    .field.full{grid-column:1/-1}
    label{font-size:14px;font-weight:750;color:#344054}
    input,select,textarea{
      min-height:48px;
      width:100%;border:1px solid #CDD7E1;border-radius:14px;padding:13px 14px;
      font:inherit;color:#101828;background:#fff;outline:none
    }
    input:focus,select:focus,textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 4px rgba(0,123,255,.08)}
    textarea{min-height:120px;resize:vertical}
    a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,123,255,.28);outline-offset:3px}
    summary{min-height:44px;display:flex;align-items:center}
    .submit-row{margin-top:20px;text-align:center}
    .submit-note{font-size:12px;color:#98A2B3;margin-top:10px}
    .faq{max-width:920px;margin:auto}
    .faq-head{margin-bottom:30px}
    .faq-hint{
      margin-top:10px!important;
      font-size:15px!important;
      color:#667085!important;
    }
    .faq details{
      position:relative;
      margin:0 0 14px;
      padding:0;
      overflow:hidden;
      border:1px solid #E3EBF2;
      border-radius:18px;
      background:#fff;
      box-shadow:0 6px 22px rgba(16,24,40,.035);
      transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;
    }
    .faq details:hover{
      border-color:#B9DDF7;
      box-shadow:0 10px 28px rgba(0,123,255,.08);
      transform:translateY(-1px);
    }
    .faq details[open]{
      border-color:#A9D9FA;
      background:#FBFDFF;
      box-shadow:0 12px 30px rgba(0,123,255,.08);
    }
    .faq summary{
      min-height:72px;
      padding:20px 72px 20px 24px;
      cursor:pointer;
      display:flex;
      align-items:center;
      position:relative;
      list-style:none;
      font-size:18px;
      line-height:1.5;
      font-weight:850;
      color:#101828;
      user-select:none;
      -webkit-tap-highlight-color:transparent;
    }
    .faq summary::-webkit-details-marker{display:none}
    .faq summary::after{
      content:"+";
      position:absolute;
      right:22px;
      top:50%;
      transform:translateY(-50%);
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:#EAF7FF;
      color:#087ED1;
      font-size:25px;
      line-height:1;
      font-weight:500;
      transition:transform .2s ease,background .2s ease,color .2s ease;
    }
    .faq details[open] summary::after{
      content:"−";
      background:#168EF5;
      color:#fff;
      transform:translateY(-50%) rotate(180deg);
    }
    .faq details[open] summary{
      color:#087ED1;
    }
    .faq details p{
      margin:0;
      padding:0 72px 24px 24px;
      color:#667085;
      font-size:16px;
      line-height:1.85;
      animation:faqFade .22s ease;
    }
    @keyframes faqFade{
      from{opacity:0;transform:translateY(-4px)}
      to{opacity:1;transform:translateY(0)}
    }
    footer{background:#071A29;color:#9DB2C2;padding:38px 0;text-align:center;font-size:13px}
    .toast{
      position:fixed;right:20px;bottom:20px;background:#082034;color:white;padding:15px 18px;
      border-radius:14px;box-shadow:0 16px 50px rgba(0,0,0,.25);display:none;z-index:99;max-width:340px
    }

    @media (max-width:900px){
      .navlinks a:not(.btn){display:none}
      .hero{padding-top:54px}
      .hero-grid,.result-box,.story,.offer{grid-template-columns:1fr}
      .hero-grid{gap:34px}
      .pain-grid{grid-template-columns:1fr 1fr}
      .story-sticky{position:static}
      .result-number{font-size:82px}
      .offer{text-align:left}
    }

    @media (max-width:760px){
      .fit-wrap{grid-template-columns:1fr}
      .module-grid{grid-template-columns:1fr}
    }

    @media (max-width:640px){
      .wrap{width:min(100% - 28px,var(--max))}
      .topbar{font-size:12px}
      .navin{height:60px;gap:8px}
      .brand{font-size:16px;white-space:nowrap}
      .navlinks{gap:0}
      .navlinks .btn{padding:10px 14px;font-size:13px;min-height:42px}
      .hero{padding:40px 0 52px}
      h1{font-size:clamp(36px,10.5vw,42px);letter-spacing:-.04em}
      .lead{font-size:17px}
      .hero-points{grid-template-columns:1fr}
      .hero-actions .btn{width:100%}
      .course-card{padding:16px;border-radius:20px}
      .screen{min-height:190px;padding:20px}
      .screen h3{font-size:28px}
      .founder-row{grid-template-columns:1fr 1fr}
      section{padding:52px 0}
      .pain-grid{grid-template-columns:1fr}
      .result-box{padding:26px}
      .section-head{margin-bottom:30px}
      .section-head h2{font-size:30px;letter-spacing:-.035em}
      .form-wrap{padding:22px 18px;border-radius:22px}
      .offer{padding:28px 22px;border-radius:24px}
      .offer h2{font-size:30px}
      .price{font-size:52px}
      .story-copy{font-size:16px}
      input,select,textarea{font-size:16px}
      .faq{width:100%}
      .faq-head{margin-bottom:24px}
      .faq-hint{font-size:14px!important}
      .faq details{margin-bottom:12px;border-radius:16px}
      .faq summary{
        min-height:66px;
        padding:17px 58px 17px 18px;
        font-size:16px;
      }
      .faq summary::after{
        right:16px;
        width:32px;
        height:32px;
        font-size:23px;
      }
      .faq details p{
        padding:0 18px 20px;
        font-size:15px;
        line-height:1.8;
      }
    }
    @media (max-width:370px){
      .founder-row{grid-template-columns:1fr}
      .topbar{font-size:11px}
      .brand{font-size:15px}
      .navlinks .btn{padding:9px 11px;font-size:12px}
    }

/* WordPress production helpers */
body.admin-bar nav{top:32px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{
  margin:0 0 22px;padding:14px 16px;border-radius:14px;font-size:14px;
}
.form-status.success{background:#ECFDF3;border:1px solid #ABEFC6;color:#067647}
.form-status.error{background:#FEF3F2;border:1px solid #FECDCA;color:#B42318}
@media (max-width:782px){body.admin-bar nav{top:46px}}
