@charset "UTF-8";
/* CSS Document */


  :root{
      --swiss-bg:#f2f2ef;
      --swiss-paper:#ffffff;
      --swiss-ink:#111111;
      --swiss-muted:#6e6e68;
      --swiss-line:#d9d9d2;
      --swiss-soft:#e8e8e2;
      --swiss-pink:#ef3d91;
      --swiss-pink-soft:#ffd4e7;
      --swiss-radius:22px;
      --swiss-max:1180px;
    }

    html{scroll-behavior:smooth;}
    body{
      margin:0;
      background:var(--swiss-bg);
      color:var(--swiss-ink);
      font-family:"Inter","Noto Sans TC",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      font-synthesis:none;
      text-rendering:optimizeLegibility;
    }

    *{box-sizing:border-box;}
    a{color:inherit;text-decoration:none;}
    img{display:block;max-width:100%;}

    .sw-container{
      width:min(var(--swiss-max),calc(100% - 48px));
      margin-inline:auto;
    }

    .sw-nav{
      position:sticky;
      top:0;
      z-index:999;
      border-bottom:1px solid var(--swiss-line);
      background:rgba(242,242,239,.92);
      backdrop-filter:blur(14px);
    }
    .sw-nav-inner{
      min-height:76px;
      display:grid;
      grid-template-columns:1fr auto auto;
      align-items:center;
      gap:32px;
    }
    .sw-logo img{/* height:27px; */width:auto;}
    .sw-nav-links{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:700;}
    .sw-nav-links a{position:relative;padding:28px 0 24px;font-size: 16px;}
    .sw-nav-links a::after{
      content:"";
      position:absolute;
      left:0;right:100%;bottom:19px;height:2px;
      background:var(--swiss-pink);
      transition:right .2s ease;
    }
    .sw-nav-links a:hover::after{right:0;}
    .sw-nav-cta,
    .sw-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      border:1px solid var(--swiss-ink);
      border-radius:999px;
      background:var(--swiss-ink);
      color:#fff;
      min-height: 50px;
      padding: 0 20px;
      font-size: 1em;
      font-weight:800;
      transition:transform .18s ease,background .18s ease,color .18s ease;
      min-width: 150px;
    }
    .sw-btn:hover,.sw-nav-cta:hover{transform:translateY(-2px);color:#fff;}
    .sw-btn--light{background:#fff;color:var(--swiss-ink);}
    .sw-btn--light:hover{color:var(--swiss-ink);}
    .sw-btn--pink{background:var(--swiss-pink);border-color:var(--swiss-pink);}
    .sw-btn--outline{background:transparent;color:var(--swiss-ink);}
    .sw-btn--outline:hover{color:var(--swiss-ink);}

    .sw-section{padding:108px 0;}
    .sw-section--tight{padding:76px 0;}
    .sw-rule{/* border-top:1px solid var(--swiss-line); */}

    .sw-eyebrow{
      display:flex;
      align-items:center;
      gap:10px;
      margin-bottom:24px;
      font-size:11px;
      font-weight:800;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:var(--swiss-muted);
    }
    .sw-dot{width:8px;height:8px;border-radius:50%;background:var(--swiss-pink);flex:0 0 auto;}

    .sw-hero{padding:52px 0 88px;}
    .sw-hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.95fr) minmax(300px,.8fr);
      gap:16px;
      align-items:stretch;
    }
    .sw-hero-main,
    .sw-hero-side{
      position:relative;
      overflow:hidden;
      border-radius:var(--swiss-radius);
    }
    .sw-hero-main{
      min-height:560px;
      background:#fff;
      padding:56px;
      display:flex;
      flex-direction:column;
      /* justify-content:space-between; */
    }
    .sw-hero-main::after{
      /* content:""; */
      /* position:absolute; */
      /* width:330px; */
      /* height:330px; */
      /* border-radius:50%; */
      /* right:-86px; */
      /* bottom:-125px; */
      /* background:var(--swiss-pink-soft); */
    }
    .sw-hero-copy{position:relative;z-index:1;max-width:810px;}
    .sw-kicker{
      display:inline-flex;
      align-items:center;
      min-height:32px;
      padding:0 13px;
      border-radius:999px;
      background:var(--swiss-pink);
      color:#fff;
      font-size:11px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      margin-bottom:24px;
    }
    .sw-hero h1{
      margin:0;
      font-size: clamp(58px,7.25vw,90px);
      line-height: 1.2;
      letter-spacing:-.067em;
      font-weight:900;
      max-width:820px;
    }
    .sw-hero h1 .pink{display:block;color:var(--swiss-pink);}
    .sw-hero-lead{
      margin:28px 0 0;
      max-width:700px;
      font-size:18px;
      line-height:1.8;
      font-weight:500;
      color:#3f3f3b;
    }
    .sw-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
    .sw-metrics{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns: repeat(2,1fr);
      margin-top:52px;
      border-top:1px solid var(--swiss-line);
    }
    .sw-metric{padding: 20px 0 0 0;}
    .sw-metric strong{display:block;/* font-size: 21px; *//* line-height:1; *//* font-weight:900; *//* letter-spacing:-.05em; */}
    .sw-metric span{display: inline-flex;/* margin-top:8px; */font-size: 21px;color:var(--swiss-muted);font-weight:700;}

    .sw-hero-side{
      min-height:560px;
      background:#111;
      color:#fff;
      padding:38px 34px;
      display:flex;
      flex-direction:column;
    }
    .sw-side-label{font-size:10px;letter-spacing:.14em;/* text-transform:uppercase; */color:#a5a5a0;font-weight:800;}
    .sw-side-title{margin:38px 0 10px;font-size: 2.8em;line-height: 1.2em;letter-spacing:-.05em;font-weight:900;}
    .sw-side-copy{color:#c7c7c2;font-size: 16px;line-height:1.7;}
    .sw-side-list{list-style:none;padding:0;margin:32px 0 28px;border-top:1px solid #2e2e2e;}
    .sw-side-list li{display:flex;gap:11px;padding:16px 0;border-bottom:1px solid #2e2e2e;font-size: 16px;font-weight:700;}
    .sw-side-list li::before{content:"↗";color:var(--swiss-pink);font-weight:900;}
    .sw-hero-side .sw-btn{margin-top:auto;background:#fff;color:#111;border-color:#fff;}
    .sw-hero-side .sw-btn:hover{color:#111;}

    .sw-section-head{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(280px,.75fr);
      gap: 30px;
      align-items:end;
      margin-bottom:38px;
      font-size: 1.1em;
    }
    .sw-section-head h2{
      margin:0;
      font-size: 2.8em;
      line-height: 1.2em;
      letter-spacing:-.055em;
      font-weight:900;
    }
    .sw-section-head p{margin:0;color:var(--swiss-muted);font-size: 1em;line-height:1.85;}

    .sw-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
    .sw-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
    .sw-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
    .sw-card{
      background:#fff;
      /* border:1px solid transparent; */
      border-radius:18px;
      /* padding:28px; */
    }
    .sw-card--black{background:#111;color:#fff;}
    .sw-card--pink{background:var(--swiss-pink-soft);}
    .sw-card-index{font-size:11px;color:#8a8a84;font-weight:800;letter-spacing:.08em;}
    .sw-card h3{margin:44px 0 10px;font-size: 3em;line-height:1.2;letter-spacing:-.035em;font-weight:900;}
    .sw-card p{margin:0;color:var(--swiss-muted);font-size:14px;line-height:1.7;}
    .sw-card--black p{color:#bdbdb8;}

    .sw-editorial-block{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:16px;
      margin-bottom:16px;
    }
    .sw-number-card{
      border-radius:18px;
      padding:38px;
      background:#111;
      color:#fff;
    }
    .sw-number-card .big{font-size: 3.5em;line-height:.9;font-weight:900;letter-spacing:-.065em;}
    .sw-number-card .big .pink{color:var(--swiss-pink);}
    .sw-number-card h3{font-size:22px;margin:18px 0 8px;font-weight:900;}
    .sw-number-card p{margin:0;color:#bdbdb7;font-size:14px;line-height:1.7;}
    .sw-pink-card{border-radius:18px;background:var(--swiss-pink-soft);padding:38px;/* display:flex; */flex-direction:column;justify-content:space-between;}
    .sw-pink-card strong{font-size:46px;line-height:.95;letter-spacing:-.055em;}
    .sw-pink-card p{margin:16px 0 0;font-size:14px;line-height:1.7;color:#5e4b53;}

    .sw-media-card{overflow:hidden;padding:0;background:#fff;border-radius:18px;}
    .sw-media-card .media{aspect-ratio:16/9;overflow:hidden;background:#ddd;}
    .sw-media-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
    .sw-media-card:hover img{transform:scale(1.025);}
    .sw-media-card .body{padding:26px;}
    .sw-media-card .body .label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8a8a84;font-weight:800;}
    .sw-media-card .body h3{margin:16px 0 10px;font-size:28px;letter-spacing:-.04em;font-weight:900;}
    .sw-media-card .body p{margin:0;color:var(--swiss-muted);line-height:1.75;font-size:14px;}
    .sw-media-card .body .actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;}

    .sw-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .sw-lesson{
      display:grid;
      grid-template-columns:46px 1fr;
      gap:18px;
      align-items:start;
      border-radius:14px;
      background:#fff;
      padding:20px;
    }
    .sw-lesson-index{
      width:38px;height:38px;
      border:1px solid var(--swiss-line);
      border-radius:50%;
      display:grid;place-items:center;
      font-size:11px;font-weight:800;color:#888882;
    }
    .sw-lesson h4{margin:0;font-size: 18px;line-height:1.45;font-weight:900;}
    .sw-lesson p{margin:5px 0 0;font-size: 16px;color:var(--swiss-muted);line-height:1.55;}

    .sw-feature-strip{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:10px;
      margin-top:18px;
    }
    .sw-feature{min-height: 80px;border-radius:16px;background:#fff;padding: 24px 12px;display:flex;flex-direction:column;justify-content:space-between;}
    .sw-feature .letter{font-size:12px;font-weight:900;color:#999992;}
    .sw-feature h4{margin:28px 0 8px;font-size:17px;font-weight:900;}
    .sw-feature p{margin:0;font-size:12px;line-height:1.65;color:var(--swiss-muted);}

    .sw-promo{
      border-radius:24px;
      background:var(--swiss-pink);
      padding:52px;
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:30px;
      align-items:end;
      color:#111;
    }
    .sw-promo h2{margin:0;/* max-width:780px; */font-size:clamp(38px,5vw,68px);line-height:.96;letter-spacing:-.055em;font-weight:900;line-height: 1.2em;}
    .sw-promo p{margin:16px 0 0;/* max-width:650px; */font-size: 1.2em;line-height:1.7;}
    .sw-promo .sw-btn{white-space:nowrap;}

    .sw-teachers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
    .sw-teacher{overflow:hidden;background:#fff;border-radius:18px;}
    .sw-teacher .portrait{aspect-ratio:4/3;overflow:hidden;background:#e5e5df;}
    .sw-teacher .portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;}
    .sw-teacher .body{padding:24px;}
    .sw-teacher .no{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#999992;font-weight:800;}
    .sw-teacher h3{margin:20px 0 12px;font-size:24px;letter-spacing:-.035em;font-weight:900;}
    .sw-teacher ul{margin:0;padding-left:18px;color:var(--swiss-muted);font-size:13px;line-height:1.75;}

    .sw-quote-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;}
    .sw-quote{
      border-radius:18px;
      background:#111;
      color:#fff;
      padding:42px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      min-height:430px;
    }
    .sw-quote mark{background:transparent;color:var(--swiss-pink);}
    .sw-quote blockquote{margin:0;font-size:clamp(28px,3.1vw,46px);line-height:1.18;letter-spacing:-.04em;font-weight:800;}
    .sw-quote small{color:#bdbdb8;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;}
    .sw-quote-image{overflow:hidden;border-radius:18px;background:#fff;min-height:430px;}
    .sw-quote-image img{width:100%;height:100%;object-fit:cover;}

    .sw-form-shell{
      background:#fff;
      border-radius:22px;
      padding:22px;
      overflow:hidden;
    }
    .sw-form-shell iframe{width:100%;height:900px;border:0;border-radius:14px;background:#fff;}

    .sw-footer{padding:50px 0 34px;border-top:1px solid var(--swiss-line);}
    .sw-footer-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start;}
    .sw-footer-brand{font-size:13px;color:var(--swiss-muted);line-height:1.8;}
    .sw-footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;font-weight:800;}

    .sw-mobile-toggle{display:none;background:none;border:0;font-size:22px;}

    @media (max-width: 991px){
      .sw-nav-inner{grid-template-columns:1fr auto;min-height:68px;}
      .sw-nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--swiss-bg);border-bottom:1px solid var(--swiss-line);padding:10px 24px 22px;flex-direction:column;align-items:flex-start;gap:0;}
      .sw-nav-links.is-open{display:flex;}
      .sw-nav-links a{padding:13px 0;width:100%;}
      .sw-nav-links a::after{display:none;}
      .sw-mobile-toggle{display:block;}
      .sw-nav-cta{display:none;}
      .sw-hero-grid{grid-template-columns:1fr;}
      .sw-hero-main,.sw-hero-side{min-height:auto;}
      .sw-hero-side{min-height:460px;}
      .sw-section-head{grid-template-columns:1fr;gap:24px;}
      .sw-grid-3,.sw-teachers{grid-template-columns:repeat(2,1fr);}
      .sw-grid-4,.sw-feature-strip{grid-template-columns:repeat(2,1fr);}
      .sw-editorial-block,.sw-quote-grid{grid-template-columns:1fr;}
      .sw-promo{grid-template-columns:1fr;align-items:start;}
    }

    @media (max-width: 767px){
      .sw-container{width:min(100% - 28px,var(--swiss-max));}
      .sw-section{padding:78px 0;}
      .sw-section--tight{padding:56px 0;}
      .sw-hero{padding:28px 0 64px;}
      .sw-hero-main{padding: 32px 5%;}
      .sw-hero-main::after{width:230px;height:230px;right:-85px;bottom:-90px;}
      .sw-hero h1{font-size: 3.5em;}
      .sw-hero-lead{font-size:16px;}
      .sw-metrics{grid-template-columns:1fr;}
      .sw-metric{border-bottom:1px solid var(--swiss-line);padding:17px 0;}
      .sw-hero-side{padding:30px 24px;}
      .sw-side-title{font-size:38px;}
      .sw-grid-2,.sw-grid-3,.sw-grid-4,.sw-teachers,.sw-lessons,.sw-feature-strip{grid-template-columns:1fr;}
      .sw-card h3{margin-top:28px;padding: 10px;}
      .sw-number-card .big{font-size:60px;line-height: 70px;}
      .sw-promo{padding:34px 24px;border-radius:20px;}
      .sw-quote{padding:30px 24px;min-height: 200px;}
      .sw-quote-image{min-height:320px;}
      .sw-form-shell{padding:8px;border-radius:16px;}
      .sw-form-shell iframe{height:980px;}
      .sw-footer-grid{grid-template-columns:1fr;}
    }


@media (max-width: 768px) {
      .sw-section-head h2{
      margin:0;
      font-size: 2.6em;
      line-height: 1.2em;
      letter-spacing:-.055em;
      font-weight:900;
    }
  }


  .sw-side {

    background: #111;
    color: #fff;
    padding: 38px 34px;
    display: flex;
    flex-direction: column;

     position: relative;
    overflow: hidden;
    border-radius: var(--swiss-radius);
}


.sw-side .sw-btn {
    margin-top: auto;
    background: #fff;
    color: #111;
    border-color: #fff;
}

.sw-side p{
    color: #c7c7c2;
    font-size: 14px;
    line-height: 1.7;
}



/* ==============================
   Interview Preparation
============================== */

.sw-prep-intro {
  margin-top: 48px;
  padding-bottom: 30px;
  border-bottom: 1px solid #111;
}

.sw-prep-intro h3 {
  margin: 12px 0 0;
  font-size: clamp(36px, 5vw, 72px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.04em;
}


/* 2 x 2 Grid */
.sw-prep-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 24px;
  /* border-top: 1px solid #111; */
  /* border-left: 1px solid #111; */
}

.sw-prep-card {
  /* min-height: 320px; */
  padding: 0;
  background: #fff;
  /* border-right: 1px solid #111; */
  /* border-bottom: 1px solid #111; */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.sw-prep-card--pink {
  background: #f5a6cf;
}

.sw-prep-card--black {
  background: #111;
  color: #fff;
}

.sw-prep-card--black .sw-card-index {
  color: rgba(255,255,255,.55);
}


/* 大數字 */
.sw-prep-number {
  margin: 3% 0;
  font-size: 3.5em;
  line-height: .9;
  font-weight: 800;
  letter-spacing: -0.06em;
  text-align: left;
}


/* Card title */
.sw-prep-card h3 {
  margin: 24px 0 12px;
  font-size: clamp(24px, 2vw, 34px);
  font-weight: 700;
  line-height: 1.2;
}


/* Card text */
.sw-prep-card p,
.sw-prep-list {
  max-width: 520px;
  margin: 0;
  font-size: 17px;
  line-height: 1.8;
  padding: 10px;
}

.sw-prep-list {
  padding-left: 1.2em;
}

.sw-prep-list li + li {
  margin-top: 8px;
}


/* CTA Bottom */
.sw-prep-bottom {
  margin-top: 24px;
  padding: 28px 30px;
  background: #111;
  color: #fff;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}

.sw-prep-bottom p {
  max-width: 700px;
  margin: 10px 0 0;
  font-size: 18px;
  line-height: 1.7;
}

.sw-prep-bottom .sw-card-index {
  color: rgba(255,255,255,.55);
}


/* Mobile */
@media (max-width: 768px) {

  .sw-prep-intro {
    margin-top: 32px;
  }

  .sw-prep-grid {
    grid-template-columns: 1fr;
  }

  .sw-prep-card {
    min-height: auto;
    padding: 0px;
    /* padding: 2%; */
    width: 100%;
  }

  .sw-prep-number {
    margin-top: 28px;
    padding: 0px;
    font-size: 4em;
  }

  .sw-prep-bottom {
    padding: 26px 22px;
    align-items: flex-start;
    flex-direction: column;
  }
}

.font-black{

 color: #000;
}  


.pink{
color: #ef3d91;
}   

.more{
text-align: center;
}

.more a{
  max-width: 30%;
    min-width: 250px;
    margin: 3% auto;
}

.sw-card {
    border-radius: 18px;
    padding: 38px;
}

.sw-infi-grid {
    display: grid;
}

.sw-prep-card h3{
  margin: 5px 0;
  text-align: left;
}

.sw-quote-image h3{
  margin: 0 12px;
    font-size: 24px;
    font-weight: 900;
}

.sw-quote-image .label{
  margin: 0 12px;
}






@media (max-width: 767px) {
header.masthead {
    padding-top: 10.5rem;
    text-align: center;
    color: #fff;
    background-image: url(../assets/images/header-bg-1.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
}

    header.masthead {
        padding-top: 50% !important;
        padding-bottom: 50%;
        text-align: center;
        color: #fff;
        background-image: url(../assets/images/header-bg-1-xs.jpg) !important;
        background-repeat: no-repeat;
        background-attachment: scroll;
        background-position: center center;
        background-size: contain;
        /* margin-top: 50px; */

}
}

@media (min-width: 768px) {
    header.masthead {
        padding-top: 17rem;
        padding-bottom: 12.5rem;
        min-height: 800px;
    }

header.masthead {
    padding-top: 10.5rem;
    padding-bottom: 6rem;
    text-align: center;
    color: #fff;
    background-image: url(../assets/images/header-bg-1.jpg);
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center center;
    background-size: cover;
}



}





@media (max-width: 767px) {
  .visible-xs {
    display: block !important;

  }

  .hidden-xs {
    display: none !important;
  }

}
@media (min-width: 768px) {
  .visible-xs {
    display: none !important;

  }

}







.big {
    font-size: 3.5em;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -.065em;
}


/* =====================================
   FlyEasy Course Table
===================================== */

.sw-course-table-wrap{
  margin-top: 60px;
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
}


/* =========================
   Table Header
========================= */

.sw-course-table-head{
  padding: 38px 42px 32px;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;

  border-bottom: 1px solid var(--swiss-line);
}


.sw-course-table-head h3{
  margin: 0;

  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.1;

  font-weight: 900;
  letter-spacing: -.055em;
}


.sw-course-table-tag{
  flex: 0 0 auto;

  padding: 10px 18px;

  background: #111;
  color: #fff;

  border-radius: 999px;

  font-size: 14px;
  font-weight: 800;
}


/* =========================
   Main Table
========================= */

.sw-course-table{
  width: 100%;
}


.sw-course-row{
  display: grid;
  grid-template-columns: 210px 1fr;

  min-height: 82px;

  border-bottom: 1px solid var(--swiss-line);
}


.sw-course-th{
  padding: 26px 30px;

  background: #f7f7f4;

  font-size: 18px;
  line-height: 1.5;

  font-weight: 900;

  border-right: 1px solid var(--swiss-line);
}


.sw-course-td{
  padding: 26px 34px;

  font-size: 18px;
  line-height: 1.8;

  color: #33332f;
}


.sw-course-title{
  font-size: 26px;
  font-weight: 900;
  color: #111;
}


.sw-course-row--top .sw-course-th,
.sw-course-row--top .sw-course-td{
  padding-top: 30px;
  padding-bottom: 30px;
}


/* =========================
   List
========================= */

.sw-course-list{
  list-style: none;

  padding: 0;
  margin: 0;
}


.sw-course-list li{
  position: relative;

  padding-left: 25px;

  font-size: 18px;
  line-height: 1.75;
}


.sw-course-list li + li{
  margin-top: 8px;
}


.sw-course-list li::before{
  content: "";

  position: absolute;
  left: 2px;
  top: .78em;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--swiss-pink);
}


.sw-course-list--arrow li::before{
  content: "↗";

  width: auto;
  height: auto;

  top: 0;

  background: transparent;

  color: var(--swiss-pink);

  font-weight: 900;
}


/* =========================
   Result
========================= */

.sw-course-result .sw-course-th{
  background: var(--swiss-pink);
  color: #111;
}


.sw-course-result .sw-course-td{
  font-size: 20px;
  line-height: 1.75;
}


.sw-course-result strong{
  color: var(--swiss-pink);
  font-weight: 900;
}


/* =========================
   Footer CTA
========================= */

.sw-course-table-footer{
  padding: 30px 42px;

  background: #111;
  color: #fff;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}


.sw-course-table-footer > div{
  display: flex;
  flex-direction: column;
  gap: 8px;
}


.sw-course-table-footer strong{
  font-size: 20px;
  line-height: 1.5;
}


.sw-course-small{
  color: #8f8f89;

  font-size: 10px;
  font-weight: 800;

  letter-spacing: .15em;
}


/* =====================================
   Mobile
===================================== */

@media (max-width: 767px){

  .sw-course-table-wrap{
    margin-top: 40px;
    border-radius: 18px;
  }


  .sw-course-table-head{
    padding: 28px 22px;

    display: block;
  }


  .sw-course-table-head h3{
    font-size: 2.8em;
  }


  .sw-course-table-tag{
    display: inline-flex;
    margin-top: 18px;
  }


  .sw-course-row{
    display: block;

    min-height: auto;
  }


  .sw-course-th{
    padding: 14px 20px;

    border-right: 0;
    border-bottom: 1px solid var(--swiss-line);

    font-size: 15px;

    background: #111;
    color: #fff;
  }


  .sw-course-td{
    padding: 22px 20px;

    font-size: 16px;
    line-height: 1.75;
  }


  .sw-course-title{
    font-size: 22px;
  }


  .sw-course-list li{
    font-size: 16px;
    padding-left: 22px;
  }


  .sw-course-result .sw-course-th{
    background: var(--swiss-pink);
    color: #111;
  }


  .sw-course-result .sw-course-td{
    font-size: 17px;
  }


  .sw-course-table-footer{
    padding: 26px 22px;

    flex-direction: column;
    align-items: flex-start;
  }


  .sw-course-table-footer .sw-btn{
    width: 100%;
  }

}

/* Hero 文字永遠在最上層 */
.sw-hero-copy,
.sw-metrics{
  position: relative;
  z-index: 2;
}

/* 右下角航空插圖 */
.sw-hero-illust{
  position: absolute;
  right: 20px;
  bottom: 16px;

  width: 360px;
  max-width: 43%;

  z-index: 1;
  pointer-events: none;

  opacity: .88;
}

.sw-hero-illust img{
  width: 100%;
  height: auto;
  display: block;
}



/* 平板 */
@media (max-width: 991px){
  .sw-hero-illust{
    width: 330px;
    max-width: 44%;
  }
}

/* 手機 */
@media (max-width: 767px){
  .sw-hero-main{
    padding-bottom: 180px;
  }

  .sw-hero-illust{
    width: 250px;
    max-width: 72%;

    right: -5px;
    bottom: 12px;

    opacity: .82;
  }
}


/* =====================================
   Solution CTA
   空姐插畫置中版
===================================== */

.sw-solution-cta{
  position: relative;
  margin-top: 3%;
  padding: 26px 30px 36px;
  text-align: center;
  overflow: hidden;
}


/* ↓ 導引箭頭 */
.sw-solution-arrow{
  margin-bottom: 2px;

  font-size: 3em;
  line-height: 1;
  font-weight: 900;

  color: #111;
}


/* =========================
   空姐推薦插畫
========================= */

.sw-solution-illust{
  position: relative;
  z-index: 1;

  display: flex;
  justify-content: center;
  align-items: flex-end;

  margin: 0 auto -6px;
}


/* 重要：
   覆蓋原本 .sw-media-card img 的
   height:100% / object-fit:cover
*/
.sw-media-card .sw-solution-illust img{
  display: block;

  width: 280px;
  max-width: 36%;
  height: auto;

  object-fit: contain;

  margin: 0 auto;

  transition: none;
}


/* 不要讓原本 media-card hover
   把插畫放大
*/
.sw-media-card:hover .sw-solution-illust img{
  transform: none;
}


/* =========================
   主標
========================= */

.sw-solution-title{
  position: relative;
  z-index: 2;

  margin: 4px 0 18px;

  font-size: 3em;
  line-height: 1.15;

  font-weight: 900;
  letter-spacing: -.055em;
}


.sw-solution-title .pink{
  color: var(--swiss-pink);
}


/* =========================
   CTA Button
========================= */

.sw-solution-cta .sw-btn{
  position: relative;
  z-index: 2;

  margin: 0 auto;

  min-width: 250px;
}


/* =========================
   Mobile
========================= */

@media (max-width: 767px){

  .sw-solution-cta{
    padding:
      22px
      18px
      28px;
  }

  .sw-solution-arrow{
    font-size: 2.4em;
  }

  .sw-media-card .sw-solution-illust img{
    width: 200px;
    max-width: 62%;
  }

  .sw-solution-title{
    margin-top: 2px;

    font-size: 2.2em;
    line-height: 1.18;
  }

  .sw-solution-cta .sw-btn{
    width: auto;
    min-width: 220px;
  }

}



/* =========================
   Course Info 插畫卡片
========================= */

#course-info .sw-editorial-block{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}

#course-info .sw-infi-grid{
  display: block;
  overflow: hidden;
}

#course-info .sw-prep-card{
  /* min-height: 100%; */
  /* padding: 28px 28px 30px; */
  border-radius: 22px;
  overflow: hidden;
}

/* 插畫區 */
.sw-prep-illust{
  display: block;
  /* align-items: center; */
  /* text-align: center; */
  /* justify-content: end; */
  /* margin: 0 auto; */
  /* min-height: 150px; */
}

.sw-prep-illust img{
  display: block;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  /* opacity: .8; */
}

/* 黑底卡片上的插畫可稍微亮一點 */
.sw-prep-card--black .sw-prep-illust img{
  filter: brightness(1.05);
}

/* 標題 */
#course-info .sw-prep-number{
  margin: 0 0 12px;
  font-size: 3em;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.055em;
}

/* 內文 */
#course-info .sw-prep-card p{
  padding: 0;
  margin: 0;
  max-width: 100%;
  font-size: 17px;
  line-height: 1.8;
}

/* 黑底卡片文字 */
#course-info .sw-prep-card--black p{
  color: rgba(255,255,255,.78);
}

/* 手機版 */
@media (max-width: 991px){
  #course-info .sw-editorial-block{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px){
  #course-info .sw-prep-card{
    padding: 22px 20px 24px;
  }

  .sw-prep-illust{
    min-height: auto;
    margin-bottom: 14px;
  }

  .sw-prep-illust img{
    width: 100%;
  }

  #course-info .sw-prep-number{
    font-size: 2.2em;
    line-height: 1.12;
    margin-bottom: 10px;
  }

  #course-info .sw-prep-card p{
    font-size: 15px;
    line-height: 1.75;
  }
}