/* =====================================================
   マイ法務 LP — Figma design-context based build (v2, accurate sizing)
   Reference design width: 1920px / container: 1200px
   Font/spacing clamp() = clamp(minPx, figmaPx/19.2 * 1vw, figmaPx)
   so the layout matches Figma exactly at >=1200px viewports.
===================================================== */
:root{
  --blue:        #0468b4;   /* マイ法務ブルー */
  --blue-link:   #005bac;   /* Endeavour */
  --navy:        #00346b;   /* video / pdf banner bg */
  --orange:      #f18c00;   /* マイ法務_オレンジ (form title accent) */
  --orange-btn:  #ff9900;   /* California (button / table accent) */
  --orange-shadow:#c57600;
  --red:         #fe0000;
  --pink:        #ff9d9d;
  --grey-20:     #333333;   /* Mine Shaft */
  --grey-33:     #555555;   /* Emperor */
  --grey-40:     #666666;   /* Dove Gray */
  --grey-46:     #757575;   /* Boulder */
  --azure-84:    #cbd5e1;   /* Geyser */
  --azure-65:    #94a3b8;   /* Gull Gray */
  --azure-35:    #475569;   /* Fiord */
  --mystic:      #e2e8f0;
  --catskill:    #f1f5f9;
  --max: 1200px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Noto Sans JP","Hiragino Sans",sans-serif;
  color:var(--grey-20);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
  .pc{
    display: block;
  }
  .mobi{
    display: none;
  }
img{max-width:100%;display:block;}
p{margin:0;}
.page{display:flex;flex-direction:column;align-items:center;}
.container{width:100%;max-width:var(--max);margin:0 auto;position:relative;}
.c-red{color:var(--red);}
.c-orange{color:var(--orange);}
.c-pink{color:var(--pink);}

/* HEADER */
.header{
  width:100%;max-width:var(--max);margin:0 auto;
  min-height:65px;display:flex;align-items:center;justify-content:space-between;
  padding:10px;flex-wrap:wrap;gap:10px;
}
.header__logo{width:140px;height:45px;object-fit:contain;}
.header__catch{font-weight:700;font-size:20px;margin:0;}

/* HERO */
.hero{position:relative;width:100%;padding:50px 0;overflow:hidden;}
.hero__bg{position:absolute;inset:0;background-image:url('../images/hero_bg.png');background-size:cover;background-position:top center;z-index:0;}
.hero__inner{position:relative;z-index:1;width:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(15px,1.04vw,15px);}

.kv01{display:flex;gap:30px;align-items:center;padding-bottom:50px;flex-wrap:wrap;}
.kv01__badge{width:clamp(90px,7.3vw,140px);height:auto;flex:none;}
.kv01__text{flex:1;min-width:260px;display:flex;flex-direction:column;gap:15px;}
.kv01__members{width:100%;max-width:279px;height:auto;}
.kv01__lead{
    font-weight: 700;
    font-size: 26px;
    line-height: 1.3;
    margin: 0;
}

.kv02{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px 5px;
    padding-bottom: 20px;
}
.kv02__row1{display:flex;flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:20px;max-width:100%;}
.kv02__row1 .offer-box{min-width:0;}
.kv02__plus,.kv02__ga{align-self:center;}
.offer-box{
  background:#fff;border:1px solid var(--blue);border-radius:20px;
  box-shadow:3px 3px 0 var(--blue);
  padding:15px 20px 0;
  display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:flex-start;
  flex:1 1 378px;min-width:300px;max-width:378px;min-height:177px;
}
.offer-box__head{display:flex;gap:10px;align-items:center;justify-content:center;}
.offer-box__head img{height:clamp(32px,2.6vw,50px);width:auto;}
.offer-box__head span{color:var(--blue);font-weight:700;font-size:30px;}
.offer-box__value{display:flex;align-items:center;gap:5px;justify-content:center;margin:0;white-space:nowrap;}
.offer-box__value .fs-sm{
    font-size: 48px;
    font-weight: 700;
}
.offer-box__value .fs-num{
    font-size: 102px;
    font-weight: 700;
    margin-bottom: 15px;
      line-height: 1;
}
.offer-box__value .fs-unit{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.3;
}
.offer-box__value2{
  font-weight: 700;
  font-size: 49px;
  margin:0;
  text-align:center;}
.kv02__plus{flex:none;font-size:84px;font-weight:700;color:var(--blue);line-height:1;}
.kv02__ga{font-weight:700;font-size:48px;text-shadow:4px 4px 4px #fff;}
.kv02__result{display:flex;flex-direction:column;align-items:center;text-align:center;}
.kv02__free{color:var(--red);font-weight:700;font-size:128px;line-height:1;text-shadow:4px 4px 4px #fff;margin:0;}
.kv02__note{font-weight:700;font-size:30px;text-shadow:4px 4px 4px #fff;margin:0;}

.mv-sub {
    display: flex;
    gap: 10%;
    flex-wrap: wrap;
    padding-top: 12px;
    margin-left: 3%;
}
.mv-sub__col p {
    font-size: 20px;
    line-height: 1.5;
    margin: 0;
}
.mv-sub__col .c-red{font-weight:700;}
.mv-sub__head {
    font-weight: 400;
    font-size: 20px;
}
.mv-sub__sub {
    font-size: 18px;
    color: var(--grey-20);
}

/* SIGNUP FORM */
.form-section-wrap{
  --pad: clamp(16px,4vw,60px);
  width:100%;max-width:calc(1100px + 2 * var(--pad));margin:0 auto;
  padding:20px var(--pad) 60px;display:flex;flex-direction:column;align-items:center;gap:14px;
}
.form-section{
  width:100%;background:#fffbf6;border:3px solid var(--orange);border-radius:8px;
  padding:35px clamp(20px,5vw,60px);display:flex;flex-direction:column;align-items:center;gap:30px;
}
.form-title{
  width:100%;background:#ffe6c1;border-radius:50px;padding:10px 24px;
  display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;
}
.form-title p{font-weight:700;font-size:40px;margin:0;}
.form-title__divider{width:2px;height:36px;background:#e0b878;flex:none;}
.form-title__note{font-weight:400!important;font-size:18px!important;color:var(--grey-33);}
.form{width:100%;max-width:700px;display:flex;flex-direction:column;gap:24px;padding-top:8px;}
.form-input{
    width: 100%;
    border: 1px solid var(--azure-84);
    border-radius: 6px;
    padding: 15px 16px;
    font-size: 18px;
    color: var(--grey-46);
    font-family: inherit;
    max-width: 100%;
    width: 400px;
    text-align: left;
    font-size: 19px;
}
.form-submit{
  width:100%;background:var(--orange-btn);border:none;border-radius:6px;
  box-shadow:0 4px 0 var(--orange-shadow);
  color:#fff;font-weight:700;font-size:32px;
  padding:22px 18px;position:relative;cursor:pointer;
  text-shadow:0 3px 0 rgba(0,0,0,.25);
  font-family:inherit;
}
.form-submit:hover{filter:brightness(1.05);}
.form-submit__arrow{position:absolute;right:21px;top:50%;transform:translateY(-50%);font-size:14px;}
.submit{
  width:100%;
  border:none;border-radius:6px;
  box-shadow:0 4px 0 var(--orange-shadow);
  color:#fff;font-weight:700;font-size:32px;
  padding:22px 18px;
  cursor:pointer;
  text-align:center;
  text-shadow:0 3px 0 rgba(0,0,0,.25);
  font-family:inherit;
  appearance:none;-webkit-appearance:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M0 0l10 5-10 5z' fill='%23fff'/%3E%3C/svg%3E")
      no-repeat right 21px center / 10px 10px,
    var(--orange-btn);
    margin-top: 25px;
    font-size: 29px;
}
.submit:hover{filter:brightness(1.05);}
.form-note{font-size:16px;color:var(--grey-40);text-align:center;margin:0;}
.form-links{font-size:16px;color:var(--blue-link);text-align:center;margin:0;}
.form-links a{color:var(--blue-link);text-decoration:none;}
.form-links a:hover{text-decoration:underline;}

/* SUPERVISOR */
.supervisor{width:100%;background:#f4f6f9;padding:70px clamp(16px,4vw,40px);}
.supervisor__inner{
  max-width:1112px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
}
.supervisor__text{flex:1;min-width:300px;display:flex;flex-direction:column;gap:20px;align-items:flex-start;}
.supervisor__pill {
    background: #fff;
    box-shadow: 0 2px 0 var(--orange-btn);
    border-radius: 23px;
    padding: 10px 26px;
    font-weight: 700;
    font-size: 26px;
    margin: 0;
}

.supervisor__title {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 64px;
    margin: 0;
}
.supervisor__rule{width:100%;max-width:608px;height:1px;background:#ccc;display:block;}
.supervisor__desc{font-size:20px;line-height:1.75;margin:0;}
.supervisor__note{font-weight:700;color:#0168b7;font-size:20px;line-height:1.75;margin:0;}
.supervisor__photo{width:100%;max-width:490px;height:auto;flex:none;}

/* BENEFITS SECTION 1 */
.benefits-section{position:relative;width:100%;padding:60px clamp(16px,4vw,40px);overflow:hidden;}
.benefits-section--1{background:#f2f8ff;}
.benefits-section__bg{position:absolute;top:0;left:0;width:100%;height:56%;background-image:url('../images/benefits_bg1.png');background-size:cover;background-position:top center;z-index:0;}
.benefits-section--1 .container{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:50px;}

.section-title{display:flex;flex-direction:column;align-items:center;padding:50px 0 70px;}
.section-title__label{font-family:"Noto Serif JP",serif;font-weight:700;font-size:64px;color:#fff;margin:0 0 24px;}
.section-title__main{display:flex;align-items:center;gap:10px;}
.section-title__num{font-family:"Noto Serif JP",serif;font-weight:700;font-size:300px;color:#fff;text-shadow:4px 4px 0 var(--blue);line-height:1;}
.section-title__suffix{font-family:"Noto Serif JP",serif;font-weight:700;font-size:96px;color:#fff;text-shadow:4px 4px 0 var(--blue);}
.section-title__ribbon{width:clamp(60px,6.2vw,119px);height:auto;filter:drop-shadow(3px 3px 0 var(--blue));}

.lead-count{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px 0;width:100%;}
.lead-count__line{width:40px;height:1px;background:#666;flex:none;}
.lead-count__mid{display:flex;flex-direction:column;align-items:center;gap:40px;}
.lead-count__title{font-family:"Noto Serif JP",serif;font-weight:700;font-size:40px;text-align:center;margin:0;}
.lead-count__num{display:flex;align-items:center;gap:8px;margin:0;}
.lead-count__num img {
    height: 55px;
    width: auto;
}
.lead-count__num .c-red{font-family:"Noto Serif JP",serif;font-weight:700;font-size:120px;}
.lead-count__num .unit{font-family:"Noto Serif JP",serif;font-weight:700;font-size:32px;}

.benefit{
  width:100%;background:#fff;border-bottom:1px dashed var(--blue);
  display:flex;align-items:stretch;gap:10px;padding:30px 20px 30px 0;flex-wrap:wrap;
}
.benefit__num{
  background:var(--blue);border-radius:0 5px 5px 0;flex:none;width:103px;
  display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:20px;color:#fff;
}
.benefit__num p{font-family:"Noto Serif JP",serif;font-weight:700;text-align:center;margin:0;}
.benefit__num p:first-child{font-size:24px;}
.benefit__num .num{font-size:64px;}
.ribbon-sm{width:30px;height:auto;}

.benefit__mid{
  flex:none;width:100%;max-width:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:10px;
}
.benefit__icon {
    height: 48px;
    width: auto;
}
.benefit__title{font-weight:700;color:var(--blue);font-size:45px;text-align:center;margin:0;}
.benefit__count{font-family:"Noto Serif JP",serif;font-weight:700;font-size:20px;text-align:center;margin:0;}
.benefit__count .c-red{font-size:40px;}

.benefit__list{
  flex:1;min-width:280px;background:#f8f8f8;border-radius:5px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:20px 30px;
}
.benefit__list p{font-weight:700;font-size:20px;color:var(--grey-33);line-height:2;margin:0;text-align:left;width:100%;}

/* BENEFITS SECTION 2 */
.benefits-section--2{background:linear-gradient(180deg,#baddff 22%,#83b9ee 46%,#f1f8ff 100%);}
.benefits-section__bg2{position:absolute;top:0;left:0;width:100%;height:14%;background-image:url('../images/benefits_bg2.png');background-size:cover;background-position:top center;z-index:0;}
.benefits-section--2 .container{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:50px;}

.banner-bar{width:100%;background:var(--navy);padding:30px 20px;display:flex;align-items:center;justify-content:center;gap:20px;}
.banner-bar__line{width:40px;height:1px;background:#fff;flex:none;}
.banner-bar__icon{width:clamp(30px,2.3vw,44px);height:clamp(30px,2.3vw,44px);}
.banner-bar__text{font-family:"Noto Serif JP",serif;font-weight:700;color:#fff;font-size:48px;text-align:center;margin:0;}

.benefit--video{border-bottom:1px dashed var(--blue);padding:40px 20px 40px 0;align-items:stretch;}
.benefit__num--tall{align-self:stretch;height:auto;}
.benefit__video-body{flex:1;min-width:280px;display:flex;flex-direction:column;align-items:center;gap:24px;padding-left:30px;}
.video-top{display:flex;gap:24px;align-items:center;width:100%;flex-wrap:wrap;}
.video-top__photo{width:100%;max-width:340px;height:auto;border-radius:4px;flex:none;object-fit:cover;}
.video-top__info{flex:1;min-width:280px;display:flex;flex-direction:column;gap:20px;align-items:flex-start;}
.video-pill{border:1px solid var(--blue);border-radius:28px;padding:10px 24px;color:var(--blue);font-weight:700;font-size:32px;text-align:center;width:100%;margin:0;}
.video-heading{font-family:"Noto Serif JP",serif;font-weight:700;font-size:50px;line-height:1.4;margin:0;}
.video-meta{font-size:20px;line-height:1.6;margin:0;}
.video-meta .small{font-size:0.7em;}

.video-panel{width:100%;background:#f5f5f5;border-radius:5px;padding:30px;display:flex;flex-direction:column;gap:24px;}
.video-panel__q{background:#333;color:#fff;font-weight:700;font-size:32px;text-align:center;padding:16px;margin:0;}
.video-panel__text{font-size:18px;line-height:2;margin:0;}
.video-panel__cols{background:#fff;border-radius:5px;padding:20px 30px;display:flex;gap:40px;flex-wrap:wrap;}
.col{flex:1;min-width:240px;display:flex;flex-direction:column;gap:12px;padding-right:30px;border-right:1px dashed #000;}
.col:last-child{border-right:none;padding-right:0;}
.col__title{color:var(--blue);font-weight:700;font-size:20px;line-height:1.6;margin:0;}
.col__text{font-size:20px;line-height:1.6;margin:0;}
.col{flex:1;min-width:240px;display:flex;flex-direction:column;gap:12px;padding-right:30px;border-right:1px dashed #000;}
.col:first-child {
    flex: 0.8;
}
.col:last-child{border-right:none;padding-right:0;}

.benefit--ebook{align-items:center;gap:30px;padding:30px 20px 30px 0;flex-wrap:wrap;}
.benefit__num--short{align-self:stretch;}
.ebook__text{flex:none;width:100%;max-width:336px;font-weight:700;color:var(--blue);font-size:24px;line-height:1.7;}
.ebook__cover{width:100%;max-width:180px;height:auto;box-shadow:0 4px 4px rgba(0,0,0,.25);flex:none;}

/* COMPARE TABLE */
.table-section{width:100%;max-width:var(--max);margin:0 auto;padding:70px clamp(16px,4vw,20px);display:flex;flex-direction:column;align-items:center;gap:40px;}
.table-title{
  text-align:center;font-family:"Noto Serif JP",serif;font-weight:700;
  font-size:32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:0;
}
.c-blue-big{color:var(--blue);font-size:1.5em;}
.free-pill{
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,var(--blue),#003769);color:#fff;border-radius:2px;
  padding:10px 18px;font-weight:700;letter-spacing:3px;font-size:2em;
}
.compare{width:100%;max-width:1068px;margin:0 auto;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;font-size:18px;}
.compare th{padding:16px 15px;font-weight:400;}
.compare thead .col-name,.compare thead .col-no{background:var(--blue-link);color:#fff;border-bottom:1px solid var(--mystic);}
.compare thead .col-no{text-align:center;}
.compare thead .col-yes{background:var(--orange-btn);color:#fff;font-weight:700;font-size:24px;text-align:center;border-bottom:1px solid var(--mystic);}
.compare thead .col-yes img{width:24px;display:inline-block;vertical-align:middle;margin-left:8px;}
.compare td{padding:16px 15px;border-bottom:1px solid var(--azure-65);font-weight:700;font-size:20px;color:var(--grey-20);}
.compare td:first-child{background:#e0f0ff;}
.compare td:nth-child(2){text-align:center;font-weight:400;font-size:18px;}
.compare td:nth-child(2).none{color:var(--azure-65);}
.compare td:nth-child(3){background:#fffbf6;text-align:center;color:var(--orange-btn);font-size:24px;}
.compare .sub{font-size:0.75em;font-weight:400;}

/* FLOW */
.flow{width:100%;max-width:var(--max);margin:0 auto;padding:70px clamp(16px,4vw,40px);display:flex;flex-direction:column;align-items:center;gap:36px;}
.flow__title{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--blue-link);font-size:50px;margin:0;}
.flow__steps{display:flex;align-items:stretch;justify-content:center;gap:clamp(8px,1.5vw,20px);flex-wrap:nowrap;}
.flow__step{
  background:var(--catskill);border-radius:6px;box-shadow:0 4px 2px rgba(0,0,0,.25);
  flex:1 1 350px;min-width:0;max-width:350px;padding:20px 10px;display:flex;flex-direction:column;align-items:center;gap:30px;
}
.flow__step-label{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--orange);font-size:20px;margin:0;}
.flow__step-num{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--orange);font-size:96px;margin:-16px 0 0;}
.flow__step-icon{width:clamp(60px,5.2vw,100px);height:clamp(60px,5.2vw,100px);opacity:.85;}
.flow__step-text{background:#fff;border-radius:8px;padding:14px;font-size:18px;line-height:1.7;color:var(--grey-20);margin:0;width:100%;flex:1;}
.flow__arrow{color:var(--orange-btn);font-size:1.4rem;align-self:center;flex:none;}
@media(max-width:900px){.flow__arrow{transform:rotate(90deg);}}

/* FOOTER */
.footer-top{width:100%;max-width:var(--max);margin:0 auto;padding:20px 10px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer-top__logo{width:140px;height:45px;object-fit:contain;}
.footer-top__catch{font-weight:700;font-size:24px;margin:0;}

.footer{width:100%;background:var(--grey-20);padding:30px 20px 6px;}
.footer__nav{
  max-width:1040px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;padding-bottom:16px;
}
.footer__nav a{color:var(--azure-84);text-decoration:none;font-size:20px;}
.footer__nav span{color:#fff;font-size:14px;}
.footer__copyright{
  max-width:1040px;margin:0 auto;border-top:1px solid var(--azure-35);
  text-align:center;color:var(--azure-65);font-size:14px;padding:12px 0;margin-top:0;
}

@media(max-width:700px){
  .col{border-right:none!important;padding-right:0!important;}
  .video-panel__cols{flex-direction:column;}
}

/* =====================================================
   MOBILE (Figma mobile design: 375px reference width)
   Sourced from node 177:21 "マイ法務LP_スマホ版"
===================================================== */
@media(max-width:640px){
  .pc{
    display: none;
  }
  .mobi{
    display: block;
  }
  .container,.hero__inner,.header,.footer-top,.table-section,.flow{padding-left:16px;padding-right:16px;}

  /* header */
  .header{height:49px;min-height:49px;padding:8px 12px;}
  .header__logo{width:96px;height:32px;}
  .header__catch{font-size:14px;}

  /* hero */
  .hero{
    padding: 0;
  }
  .hero .mobi img{
    max-width: 100%;
    height: auto;
  }
  .kv01{gap:10px;padding-bottom:20px;}
  .kv01__badge {
        width: 80px;
        position: absolute;
        top: 8%;
    }
  .kv01__lead {
        font-size: 4.5vw;
        line-height: 1.5;
        position: absolute;
        top: 11%;
        left: 100px;
    }
  .kv01__members {
          max-width: 146px;
          position: absolute;
          top: 0;
      }

  .kv02{gap:12px;justify-content:center;}
  .offer-box{
    max-width:166px;
    min-width:0;
    min-height:87px;
    padding:6px 12px;
    border-radius:10px;
    gap:6px;}
  .offer-box--video{max-width:151px;min-width:0;min-height:87px;}
  .offer-box__head span{font-size:16px;}
  .offer-box__head img{height:22px;}
  .offer-box__value .fs-sm{font-size:14px;}
  .offer-box__value .fs-num{font-size:40px;}
  .offer-box__value .fs-unit{font-size:16px;}
  .offer-box__value2{font-size:20px;}
  .kv02__plus{width:22px;height:22px;}
  .kv02__ga{font-size:20px;}
  .kv02__free{font-size:44px;}
  .kv02__note{font-size:18px;}

  .mv-sub{gap:12px;flex-direction:column;}
  .mv-sub__col p{font-size:14px;}
  .mv-sub__head{font-size:14px!important;}
  .mv-sub__sub{font-size:12px!important;}

  /* signup form */
  .form-section-wrap{padding:16px 16px 40px;}
  .form-section{padding:20px 16px;border-radius:8px;gap:16px;}
  .form-title{padding:10px 16px;gap:8px;}
  .form-title p{font-size:22px;}
  .form-title__divider{display:none;}
  .form-title__note {
        font-size: 4vw !important;
        width: 100%;
  }
  .form{gap:16px;}
  .form-input{font-size:15px;padding:12px 14px;}
  .form-submit{font-size:20px;padding:16px;}
  .form-note{font-size:12px;text-align:left;}
  .form-links{font-size:14px;}
  .submit{
    font-size: 5vw;
  }

  /* supervisor */
  .supervisor{padding:32px 16px;position: relative;}
  .supervisor__inner {
        gap: 20px;
    }
  .supervisor__text {
    flex: 1;
    min-width: 300px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
    z-index: 2;
}
  .supervisor__pill {
        font-size: 4vw;
        padding: 8px 2vw;
        letter-spacing: -1px;
    }
  .supervisor__title{font-size:28px;}
  .supervisor__desc {
        font-size: 4.5vw;
        color: #000;
    }
  .supervisor__note{font-size: 4.5vw;}
  .supervisor__photo {
        max-width: 31vw;
        position: absolute;
        right: 0;
        top: 13vw;
        z-index: 1;
    }

  /* benefits section 1 */
  .benefits-section__bg {
    height: 19%;
  }
  .benefits-section {
        padding: 0 0 20px;
    }
  .section-title{padding:24px 0;}
  .section-title__label{font-size:20px;margin-bottom:8px;}
  .section-title__num{font-size:64px;}
  .section-title__suffix{font-size:28px;}
  .section-title__ribbon{width:44px;}

  .lead-count {
        padding: 16px 0 0;
        gap: 8px;
    }
  .lead-count__line{display:none;}
  .lead-count__mid{gap:16px;}
  .lead-count__title {
        font-size: 5vw;
    }
  .lead-count__num .c-red{font-size:52px;}
  .lead-count__num .unit{font-size:18px;}
  .lead-count__num img{height:22px;}
  .lead-count__num {
    line-height: 1;
}

  .benefit{
    padding: 16px 0px 0 0;
    gap:0;flex-wrap:wrap;}
  .benefit__num {
        width: 64px;
        padding-top: 12px;
        gap: 10px;
        border-radius: 5px !important;
        line-height: 1;
    }
  .benefit__num p:first-child{font-size:13px;}
  .benefit__num .num{font-size:28px;}
  .ribbon-sm{display:none;}
  .benefit__mid{
    flex:1 1 0;max-width:none;padding:8px 0 8px 14px;gap:4px;
    align-items:flex-start;justify-content:center;text-align:left;
  }
  .benefit__icon{display:none;}
  .benefit__title {
        font-size: 6vw;
        text-align: left;
        margin-left: 15vw;
    }

  .benefit__count {
        font-size: 4.5vw;
        text-align: left;
        margin-left: 15vw;
        line-height: 1;
    }

  .benefit__count .c-red{font-size:20px;}
  .benefit__list {
        flex: 1 1 100%;
        order: 3;
        margin-top: 12px;
        padding: 14px 5px;
        min-width: 0;
    }
  .benefit__list p {
        font-size: 14px;
        line-height: 1.3;
    }


  /* benefits section 2 (video/ebook) */
  .banner-bar {
        padding: 16px 0;
        gap: 10px;
    }
  .benefits-section--2 {
    background: none;
  }
  .benefits-section__bg2 {
    background-image: none;
  }
  .benefits-section--2 .container {
          padding: 0;
          gap: 0;
  }
  .banner-bar__line{display:none;}
  .banner-bar__icon{width:24px;height:24px;}
  .banner-bar__text{font-size:16px;}

  .benefit--video{
    display:grid;
    grid-template-columns:56px 1fr;
    grid-template-areas:
      "tab   pill"
      "head  head"
      "meta  meta"
      "photo text"
      "qbar  qbar"
      "cols  cols";
    column-gap:10px;row-gap:10px;
    padding:16px 12px 20px 0;
    width: 96%;
  }
  .benefit__num--tall {
        grid-area: tab;
        width: 56px;
        flex: none;
        align-self: flex-start;
        padding-top: 8px;
        gap: 6px;
        height: 60px;
    }
  .benefit__num--tall p:first-child{font-size:12px;}
  .benefit__num--tall .num{font-size:22px;}

  /* flatten nested wrappers so children can be placed directly on the grid */
  .benefit__video-body,
  .benefit--video .video-top,
  .benefit--video .video-top__info,
  .benefit--video .video-panel{
    display:contents;
  }

  .benefit--video .video-pill {
        grid-area: pill;
        margin: 4vw 0 0 4vw;
        font-size: 14px;
        padding: 8px 3px;
        align-self: center;
        width: 90%;
    }
  .benefit--video .video-heading {
        grid-area: head;
        font-size: 19px;
        line-height: 1.4;
        margin: 8vw 0 0;
    }
  .benefit--video .video-meta{
    grid-area:meta;font-size:12px;margin:0;
  }
  .benefit--video .video-top__photo{
    grid-area:photo;width:30vw;max-width:none;margin:0;align-self:start;
  }
  .benefit--video .video-panel__text {
        grid-area: text;
        font-size: 4.3vw;
        line-height: 1.5;
        margin: 0;
        align-self: start;
    }
  .benefit--video .video-panel__q {
    grid-area: qbar;
    font-size: 4.1vw;
    line-height: 1.5;
    padding: 10px;
    margin: 0;
  }
  .benefit--video .video-panel__cols{
    grid-area:cols;padding:12px;gap:16px;margin:0;
    background: #f7f7f7;
  }
  .benefit--video{
    display:grid;
    grid-template-columns:56px 1fr;
    grid-template-areas:
      "tab   pill"
      "head  head"
      "meta  meta"
      "photo text"
      "text2 text2"
      "qbar  qbar"
      "cols  cols";
      column-gap: 10px;
      row-gap: 10px;
      padding: 10px 2px 20px 0;
  }
  .benefit--video .video-panel__text{
  grid-area:text;
  font-size:4vw;
  line-height:1.5;
  margin: 0 0 0 13vw;
  align-self:start;
}
.benefit--video .video-panel__text + .video-panel__text{
        grid-area: text2;
        margin-left: 0;
}
  .col__title{font-size:14px;}
  .col__text{font-size:14px;}

  .benefit--ebook {
        padding: 16px 12px 16px 0;
        gap: 16px;
        justify-content: center;
        position: relative;
    }
  .benefit__num {
          width: 64px;
          padding-top: 12px;
          gap: 10px;
          border-radius: 5px !important;
          line-height: 1;
          position: absolute;
          left: 4%;
          height: 69px;
      }
  .ebook__text {
        max-width: 100%;
        font-size: 4.5vw;
        line-height: 1.3;
        position: absolute;
        left: 22%;
        top: 9%;
    }
  .ebook__cover {
        max-width: 80px;
        margin-top: 27vw;
    }

  /* compare table */
  .table-section{padding:32px 12px;gap:20px;}
  .table-title{font-size:15px;gap:6px;}
  .free-pill{font-size:1.3em;padding:6px 12px;letter-spacing:1px;}
  .compare{table-layout:fixed;font-size:3.5vw;}
  .compare .col-name{width:62.5%;}
  .compare .col-no,.compare .col-yes{width:18.75%;}
  .compare th{padding:8px 4px;}
  .compare thead .col-yes{font-size:4vw;}
  .compare thead .col-yes img{width:14px;margin-left:4px;}
  .compare td {
        padding: 8px 4px;
        font-size: 4vw;
    }
  .compare td:nth-child(2){font-size:3.7vw;}
  .compare td:nth-child(3) {
        font-size: 4vw;
    }

  /* flow */
  .flow{padding:32px 16px;gap:20px;}
  .flow__title{font-size:22px;}
  .flow__steps{flex-direction:column;gap:12px;}
  .flow__step{max-width:100%;gap:1}

  .footer-top__catch {
    font-size: 4.5vw;
  }
  .footer__nav a {
    font-size: 4vw;
  }
  .footer__copyright{
    font-size: 3vw;
  }
}

@media(max-width:700px){
  .col{border-right:none!important;padding-right:0!important;}
  .video-panel__cols{flex-direction:column;}
}

