.rock-h1-hero,
.rock-h1-hero *{
  box-sizing:border-box;
}

.rock-h1-hero{
  --bg:#ffffff;
  --soft:#f6f8fb;
  --ink:#0f172a;
  --muted:#5b6474;
  --line:#e5eaf0;
  --blue:#1d4ed8;
  --blue2:#2563eb;
  --cyan:#0891b2;

  position:relative;
  overflow:hidden;
  width:100%;
  padding:96px 0 82px;
  color:var(--ink);
  font-family:
    "Noto Sans TC",
    "PingFang TC",
    "Microsoft JhengHei",
    system-ui,
    -apple-system,
    sans-serif;
  line-height:1.75;

  background:
    radial-gradient(circle at 82% 18%,rgba(37,99,235,.12),transparent 34%),
    radial-gradient(circle at 12% 82%,rgba(8,145,178,.10),transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}

.rock-h1-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(15,23,42,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,23,42,.026) 1px,transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:linear-gradient(to bottom,black,transparent 90%);
  mask-image:linear-gradient(to bottom,black,transparent 90%);
}

.rock-h1-wrap{
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}

.rock-h1-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:58px;
  align-items:center;
}


/* =========================
   左側主內容
========================= */

.rock-h1-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 14px;
  border:1px solid #dbe5f3;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  box-shadow:0 8px 24px rgba(15,23,42,.04);
  font-size:12px;
  line-height:1.4;
  font-weight:900;
  letter-spacing:.12em;
  color:#2554a4;
}

.rock-h1-dot{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 5px rgba(34,197,94,.10);
}

.rock-h1-hero h1{
  margin:24px 0 18px;
  font-size:clamp(42px,6vw,72px);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:950;
  color:#0f172a;
}

.rock-h1-subtitle{
  max-width:800px;
  margin:0 0 20px;
  font-size:clamp(23px,3vw,36px);
  line-height:1.4;
  letter-spacing:-.028em;
  font-weight:900;
  color:#1e293b;
}

.rock-h1-grad{
  background:linear-gradient(
    90deg,
    var(--blue) 0%,
    var(--blue2) 42%,
    var(--cyan) 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.rock-h1-lead{
  max-width:820px;
  margin:0;
  color:var(--muted);
  font-size:18px;
  line-height:1.9;
}

.rock-h1-lead strong{
  color:#1e293b;
  font-weight:900;
}

.rock-h1-industries{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:25px;
}

.rock-h1-industry{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid #dfe7ef;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#475569;
  font-size:12px;
  line-height:1.4;
  font-weight:800;
  box-shadow:0 6px 20px rgba(15,23,42,.025);
}


/* =========================
   圖片
========================= */

.rock-h1-image{
  position:relative;
  margin-top:28px;
  overflow:hidden;
  border:1px solid #dfe7ef;
  border-radius:25px;
  background:#fff;
  box-shadow:0 24px 55px rgba(15,23,42,.10);
}

.rock-h1-image:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}

.rock-h1-image img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}


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

.rock-h1-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.rock-h1-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:13px 21px;
  border:1px solid var(--line);
  border-radius:14px;
  text-decoration:none;
  font-size:15px;
  line-height:1.4;
  font-weight:900;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.rock-h1-btn:hover{
  transform:translateY(-2px);
}

.rock-h1-btn-primary{
  background:#0f172a;
  color:#fff;
  border-color:#0f172a;
  box-shadow:0 12px 28px rgba(15,23,42,.12);
}

.rock-h1-btn-primary:hover{
  background:#1e293b;
}

.rock-h1-btn-secondary{
  background:#fff;
  color:#0f172a;
}

.rock-h1-btn-secondary:hover{
  background:#f8fafc;
}

.rock-h1-note{
  margin-top:20px;
  color:#64748b;
  font-size:13px;
  line-height:1.8;
  font-weight:700;
}


/* =========================
   右側能力展示
========================= */

.rock-h1-console{
  position:relative;
  border:1px solid #dfe7ef;
  border-radius:30px;
  padding:18px;
  background:rgba(255,255,255,.84);
  box-shadow:0 28px 80px rgba(30,64,175,.10);
  backdrop-filter:blur(10px);
}

.rock-h1-console:before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-35px;
  top:-35px;
  border-radius:50%;
  background:rgba(37,99,235,.08);
  filter:blur(35px);
  pointer-events:none;
}

.rock-h1-window{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
}

.rock-h1-windowbar{
  display:flex;
  align-items:center;
  gap:7px;
  padding:13px 14px;
  border-bottom:1px solid var(--line);
  background:#f8fafc;
}

.rock-h1-windowbar i{
  display:block;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#cbd5e1;
}

.rock-h1-code{
  padding:23px;
  overflow:auto;
  color:#334155;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
  font-size:13px;
  line-height:1.9;
}

.rock-h1-code-row{
  white-space:nowrap;
}

.rock-h1-code .k{
  color:#1d4ed8;
  font-weight:800;
}

.rock-h1-code .v{
  color:#0f766e;
}

.rock-h1-code .c{
  color:#94a3b8;
}

.rock-h1-status-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin-top:12px;
}

.rock-h1-status{
  padding:15px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--soft);
}

.rock-h1-status b{
  display:block;
  margin-bottom:3px;
  color:#172033;
  font-size:14px;
  line-height:1.5;
}

.rock-h1-status span{
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.65;
}


/* =========================
   右側說明
========================= */

.rock-h1-service-box{
  margin-top:12px;
  padding:17px 18px;
  border:1px solid #dfe7ef;
  border-radius:17px;
  background:#fff;
}

.rock-h1-service-title{
  margin-bottom:8px;
  color:#0f172a;
  font-size:13px;
  font-weight:900;
}

.rock-h1-service-text{
  margin:0;
  color:#64748b;
  font-size:12px;
  line-height:1.8;
}


/* =========================
   RWD
========================= */

@media(max-width:900px){

  .rock-h1-hero{
    padding:68px 0 60px;
  }

  .rock-h1-grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .rock-h1-console{
    max-width:720px;
    width:100%;
  }
}

@media(max-width:620px){

  .rock-h1-wrap{
    width:min(100% - 28px,1180px);
  }

  .rock-h1-hero{
    padding:54px 0 48px;
  }

  .rock-h1-hero h1{
    margin-top:20px;
    font-size:40px;
    line-height:1.12;
  }

  .rock-h1-subtitle{
    font-size:25px;
  }

  .rock-h1-lead{
    font-size:16px;
    line-height:1.85;
  }

  .rock-h1-image{
    margin-top:23px;
    border-radius:18px;
  }

  .rock-h1-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .rock-h1-btn{
    width:100%;
  }

  .rock-h1-status-grid{
    grid-template-columns:1fr;
  }

  .rock-h1-console{
    padding:12px;
    border-radius:22px;
  }

  .rock-h1-window{
    border-radius:17px;
  }

  .rock-h1-code{
    padding:18px 15px;
    font-size:11.5px;
  }
}

/* =========================================================
   台中搖滾設計工作室｜為什麼選擇我們｜獨立小工具
========================================================= */
#rock-why-choose,
#rock-why-choose *{
  box-sizing:border-box;
}

#rock-why-choose{
  --soft:#f6f8fb;
  --ink:#0f172a;
  --muted:#5b6474;
  --line:#e5eaf0;
  --blue:#1d4ed8;
  --blue2:#2563eb;
  --shadow2:0 10px 28px rgba(15,23,42,.07);

  width:100%;
  padding:86px 0;
  color:var(--ink);
  background:#fff;
  font-family:
    "Noto Sans TC",
    "PingFang TC",
    "Microsoft JhengHei",
    system-ui,
    -apple-system,
    sans-serif;
  line-height:1.75;
}

#rock-why-choose .rock-why-wrap{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}

#rock-why-choose .rock-why-kicker{
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  color:var(--blue2);
  text-transform:uppercase;
}

#rock-why-choose .rock-why-title{
  margin:10px 0 13px;
  font-size:clamp(31px,4vw,48px);
  line-height:1.2;
  letter-spacing:-.03em;
}

#rock-why-choose .rock-why-desc{
  max-width:760px;
  margin:0;
  color:var(--muted);
}

#rock-why-choose .rock-why-points{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:34px;
}

#rock-why-choose .rock-why-point{
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px;
  background:#fff;
  box-shadow:var(--shadow2);
}

#rock-why-choose .rock-why-icon{
  width:40px;
  height:40px;
  margin-bottom:14px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#eef4ff;
  color:var(--blue);
  font-weight:900;
}

#rock-why-choose .rock-why-point strong{
  display:block;
  margin-bottom:7px;
  font-size:17px;
}

#rock-why-choose .rock-why-point p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}


/* =========================
   平板
========================= */

@media(max-width:980px){

  #rock-why-choose .rock-why-points{
    grid-template-columns:repeat(2,1fr);
  }
}


/* =========================
   手機
========================= */

@media(max-width:620px){

  #rock-why-choose{
    padding:64px 0;
  }

  #rock-why-choose .rock-why-wrap{
    width:min(100% - 28px,1180px);
  }

  #rock-why-choose .rock-why-points{
    grid-template-columns:1fr;
  }
}

/* =========================
   WHY CTA
========================= */

#rock-why-choose .rock-why-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:28px;
  padding:26px 28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:
    radial-gradient(circle at 90% 20%,rgba(37,99,235,.08),transparent 32%),
    #f8fafc;
}

#rock-why-choose .rock-why-cta-copy{
  flex:1;
  min-width:0;
}

#rock-why-choose .rock-why-cta-copy strong{
  display:block;
  margin-bottom:6px;
  color:var(--ink);
  font-size:18px;
  line-height:1.5;
}

#rock-why-choose .rock-why-cta-copy p{
  max-width:650px;
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}

#rock-why-choose .rock-why-cta-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

#rock-why-choose .rock-why-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 17px;
  border:1px solid var(--line);
  border-radius:13px;
  text-decoration:none;
  font-size:13px;
  line-height:1.4;
  font-weight:900;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

#rock-why-choose .rock-why-cta-btn:hover{
  transform:translateY(-2px);
}

#rock-why-choose .rock-why-cta-primary{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
}

#rock-why-choose .rock-why-cta-secondary{
  background:#fff;
  color:var(--ink);
}

/* CTA RWD */

@media(max-width:780px){

  #rock-why-choose .rock-why-cta{
    align-items:flex-start;
    flex-direction:column;
  }

  #rock-why-choose .rock-why-cta-actions{
    width:100%;
    justify-content:flex-start;
  }
}

@media(max-width:620px){

  #rock-why-choose .rock-why-cta{
    padding:22px 18px;
  }

  #rock-why-choose .rock-why-cta-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  #rock-why-choose .rock-why-cta-btn{
    width:100%;
  }
}



#rock-faq, 
#rock-faq *{ 
  box-sizing:border-box; 
} 
 
#rock-faq{ 
  --ink:#0f172a; 
  --muted:#5b6474; 
  --line:#e5eaf0; 
  --blue:#1d4ed8; 
  --blue2:#2563eb; 
  --soft:#f8fafc; 
  --shadow:0 10px 30px rgba(15,23,42,.05); 
 
  width:100%; 
  padding:86px 0; 
  color:var(--ink); 
  background:#fff; 
  font-family: 
    "Noto Sans TC", 
    "PingFang TC", 
    "Microsoft JhengHei", 
    system-ui, 
    -apple-system, 
    sans-serif; 
  line-height:1.75; 
} 
 
#rock-faq .rock-faq-wrap{ 
  width:min(1180px,calc(100% - 40px)); 
  margin:0 auto; 
} 
 
#rock-faq .rock-faq-kicker{ 
  text-align:center; 
  font-size:12px; 
  font-weight:900; 
  letter-spacing:.18em; 
  color:var(--blue2); 
  text-transform:uppercase; 
} 
 
#rock-faq .rock-faq-title{ 
  margin:10px 0 13px; 
  text-align:center; 
  font-size:clamp(31px,4vw,48px); 
  line-height:1.2; 
  letter-spacing:-.03em; 
} 
 
#rock-faq .rock-faq-desc{ 
  max-width:780px; 
  margin:0 auto; 
  text-align:center; 
  color:var(--muted); 
  font-size:15px; 
  line-height:1.85; 
} 
 
#rock-faq .rock-faq-list{ 
  max-width:900px; 
  margin:38px auto 0; 
} 
 
#rock-faq details{ 
  margin:11px 0; 
  padding:0 20px; 
  border:1px solid var(--line); 
  border-radius:18px; 
  background:#fff; 
  box-shadow:var(--shadow); 
  overflow:hidden; 
} 
 
#rock-faq details[open]{ 
  border-color:#d8e3f3; 
  background: 
    linear-gradient( 
      180deg, 
      #ffffff 0%, 
      #fbfdff 100% 
    ); 
} 
 
#rock-faq summary{ 
  position:relative; 
  cursor:pointer; 
  list-style:none; 
  padding:19px 42px 19px 0; 
  color:var(--ink); 
  font-size:16px; 
  line-height:1.6; 
  font-weight:900; 
} 
 
#rock-faq summary::-webkit-details-marker{ 
  display:none; 
} 
 
#rock-faq summary:after{ 
  content:"+"; 
  position:absolute; 
  right:2px; 
  top:50%; 
  transform:translateY(-50%); 
  width:28px; 
  height:28px; 
  display:grid; 
  place-items:center; 
  border-radius:9px; 
  background:#eef4ff; 
  color:var(--blue); 
  font-size:18px; 
  font-weight:900; 
} 
 
#rock-faq details[open] summary:after{ 
  content:"−"; 
} 
 
#rock-faq details p{ 
  margin:0; 
  padding:0 0 20px; 
  color:var(--muted); 
  font-size:14px; 
  line-height:1.9; 
} 
 
#rock-faq details p strong{ 
  color:#1e293b; 
  font-weight:900; 
} 
 
#rock-faq .rock-faq-note{ 
  max-width:900px; 
  margin:26px auto 0; 
  padding:20px 22px; 
  border:1px solid var(--line); 
  border-radius:18px; 
  background:var(--soft); 
} 
 
#rock-faq .rock-faq-note strong{ 
  display:block; 
  margin-bottom:5px; 
  color:var(--ink); 
  font-size:15px; 
} 
 
#rock-faq .rock-faq-note p{ 
  margin:0; 
  color:var(--muted); 
  font-size:13px; 
  line-height:1.8; 
} 
 
#rock-faq .rock-faq-actions{ 
  display:flex; 
  flex-wrap:wrap; 
  justify-content:center; 
  gap:10px; 
  margin-top:24px; 
} 
 
#rock-faq .rock-faq-btn{ 
  display:inline-flex; 
  align-items:center; 
  justify-content:center; 
  min-height:48px; 
  padding:12px 18px; 
  border:1px solid var(--line); 
  border-radius:13px; 
  text-decoration:none; 
  font-size:13px; 
  font-weight:900; 
} 
 
#rock-faq .rock-faq-btn-primary{ 
  background:var(--ink); 
  border-color:var(--ink); 
  color:#fff; 
} 
 
#rock-faq .rock-faq-btn-secondary{ 
  background:#fff; 
  color:var(--ink); 
} 
 
@media(max-width:620px){ 
 
  #rock-faq{ 
    padding:64px 0; 
  } 
 
  #rock-faq .rock-faq-wrap{ 
    width:min(100% - 28px,1180px); 
  } 
 
  #rock-faq .rock-faq-title{ 
    font-size:34px; 
  } 
 
  #rock-faq .rock-faq-desc{ 
    font-size:14px; 
  } 
 
  #rock-faq details{ 
    padding:0 16px; 
    border-radius:15px; 
  } 
 
  #rock-faq summary{ 
    padding:17px 38px 17px 0; 
    font-size:15px; 
  } 
 
  #rock-faq .rock-faq-actions{ 
    display:grid; 
    grid-template-columns:1fr; 
  } 
 
  #rock-faq .rock-faq-btn{ 
    width:100%; 
  } 
}

:root{ 
  --soft:#f6f8fb; 
  --ink:#0f172a; 
  --muted:#5b6474; 
  --line:#e5eaf0; 
  --blue2:#2563eb; 
} 
*{box-sizing:border-box} 
.wrap{ 
  width:min(1180px,calc(100% - 40px)); 
  margin:auto; 
} 
section{ 
  padding:86px 0; 
  color:var(--ink); 
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,-apple-system,sans-serif; 
  line-height:1.75; 
} 
.band{background:var(--soft)} 
.section-kicker{ 
  font-size:12px; 
  font-weight:900; 
  letter-spacing:.18em; 
  color:var(--blue2); 
  text-transform:uppercase; 
} 
.section-title{ 
  font-size:clamp(31px,4vw,48px); 
  line-height:1.2; 
  letter-spacing:-.03em; 
  margin:10px 0 13px; 
} 
.section-desc{ 
  color:var(--muted); 
  max-width:760px; 
  margin:0; 
} 
.process{ 
  display:grid; 
  grid-template-columns:repeat(4,1fr); 
  gap:16px; 
  margin-top:36px; 
} 
.step{ 
  padding:24px; 
  border:1px solid var(--line); 
  border-radius:20px; 
  background:#fff; 
} 
.num{ 
  font-size:12px; 
  color:var(--blue2); 
  font-weight:900; 
  letter-spacing:.12em; 
} 
.step h3{ 
  margin:8px 0; 
  font-size:18px; 
} 
.step p{ 
  margin:0; 
  color:var(--muted); 
  font-size:13px; 
} 
 
@media(max-width:900px){ 
  .process{grid-template-columns:1fr 1fr} 
} 
@media(max-width:620px){ 
  .wrap{width:min(100% - 28px,1180px)} 
  section{padding:64px 0} 
  .process{grid-template-columns:1fr} 
}

:root{ 
  --soft:#f6f8fb; 
  --ink:#0f172a; 
  --muted:#5b6474; 
  --line:#e5eaf0; 
  --green:#0f766e; 
  --shadow:0 18px 50px rgba(15,23,42,.08); 
} 
*{box-sizing:border-box} 
.wrap{ 
  width:min(1180px,calc(100% - 40px)); 
  margin:auto; 
} 
section{ 
  padding:86px 0; 
  color:var(--ink); 
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,-apple-system,sans-serif; 
  line-height:1.75; 
} 
.band{background:var(--soft)} 
.section-kicker{ 
  font-size:12px; 
  font-weight:900; 
  letter-spacing:.18em; 
  color:#2563eb; 
  text-transform:uppercase; 
} 
.section-title{ 
  font-size:clamp(31px,4vw,48px); 
  line-height:1.2; 
  letter-spacing:-.03em; 
  margin:10px 0 13px; 
} 
.section-desc{ 
  color:var(--muted); 
  max-width:760px; 
  margin:0; 
} 
.feature-grid{ 
  display:grid; 
  grid-template-columns:.92fr 1.08fr; 
  gap:46px; 
  align-items:start; 
} 
.service-list{ 
  display:grid; 
  grid-template-columns:1fr 1fr; 
  gap:12px; 
  margin-top:26px; 
} 
.service-item{ 
  display:flex; 
  gap:12px; 
  padding:16px; 
  border-radius:16px; 
  background:#fff; 
  border:1px solid var(--line); 
} 
.tick{ 
  width:24px; 
  height:24px; 
  flex:0 0 24px; 
  border-radius:50%; 
  display:grid; 
  place-items:center; 
  background:#ecfdf5; 
  color:#047857; 
  font-size:13px; 
  font-weight:900; 
} 
.service-item b{ 
  display:block; 
  font-size:14px; 
} 
.service-item span{ 
  display:block; 
  color:var(--muted); 
  font-size:12px; 
  margin-top:3px; 
} 
.regbox{ 
  background:#fff; 
  border:1px solid var(--line); 
  border-radius:24px; 
  padding:28px; 
  box-shadow:var(--shadow); 
} 
.regline{ 
  display:grid; 
  grid-template-columns:130px 1fr; 
  gap:14px; 
  padding:13px 0; 
  border-bottom:1px solid var(--line); 
} 
.regline:last-child{border-bottom:0} 
.regline span{ 
  font-size:13px; 
  color:var(--muted); 
} 
.regline b{font-size:14px} 
.cap{ 
  margin-top:16px; 
  padding:13px 15px; 
  border-radius:14px; 
  background:#f0fdf4; 
  color:#166534; 
  font-size:12px; 
  font-weight:800; 
} 
 
@media(max-width:900px){ 
  .feature-grid{grid-template-columns:1fr} 
} 
@media(max-width:620px){ 
  .wrap{width:min(100% - 28px,1180px)} 
  section{padding:64px 0} 
  .service-list{grid-template-columns:1fr} 
  .regline{grid-template-columns:1fr;gap:4px} 
}

:root{
  --soft:#f6f8fb;
  --ink:#0f172a;
  --muted:#5b6474;
  --line:#e5eaf0;
  --blue2:#2563eb;
  --shadow:0 18px 50px rgba(15,23,42,.08);
}

*{
  box-sizing:border-box;
}

#works{
  padding:86px 0;
  color:var(--ink);
  background:#fff;
  font-family:
    "Noto Sans TC",
    "PingFang TC",
    "Microsoft JhengHei",
    system-ui,
    -apple-system,
    sans-serif;
  line-height:1.75;
}

#works .wrap{
  width:min(1180px,calc(100% - 40px));
  margin:auto;
}

#works .section-kicker{
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  color:var(--blue2);
  text-transform:uppercase;
}

#works .section-title{
  font-size:clamp(31px,4vw,48px);
  line-height:1.2;
  letter-spacing:-.03em;
  margin:10px 0 13px;
}

#works .section-desc{
  color:var(--muted);
  max-width:820px;
  margin:0;
}

#works .projects{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:38px;
}

#works .project{
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}

#works .project-wide{
  grid-column:1 / -1;
}

#works .project-media{
  height:330px;
  overflow:hidden;
  background:#e9eef5;
  position:relative;
}

#works .project-wide .project-media{
  height:430px;
}

#works .project-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

#works .project-media:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:35%;
  background:linear-gradient(
    transparent,
    rgba(15,23,42,.28)
  );
  pointer-events:none;
}

#works .project-body{
  padding:26px;
}

#works .project-wide .project-body{
  padding:30px;
}

#works .project-meta{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--blue2);
  font-weight:900;
}

#works .project h3{
  font-size:26px;
  line-height:1.35;
  margin:8px 0;
}

#works .project-wide h3{
  font-size:30px;
}

#works .project p{
  color:var(--muted);
  margin:0;
}

#works .project-wide p{
  max-width:920px;
}

#works .project-data{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:20px 0;
}

#works .project-wide .project-data{
  grid-template-columns:repeat(4,1fr);
}

#works .project-data div{
  padding:12px;
  background:var(--soft);
  border-radius:13px;
  font-size:12px;
  color:#475569;
}

#works .project-link{
  display:inline-flex;
  margin-top:6px;
  text-decoration:none;
  font-weight:900;
  color:var(--blue2);
}

#works .project-link:hover{
  text-decoration:underline;
}

@media(max-width:900px){

  #works .projects{
    grid-template-columns:1fr;
  }

  #works .project-wide{
    grid-column:auto;
  }

  #works .project-wide .project-data{
    grid-template-columns:1fr 1fr;
  }

  #works .project-wide .project-media{
    height:330px;
  }
}

@media(max-width:620px){

  #works{
    padding:64px 0;
  }

  #works .wrap{
    width:min(100% - 28px,1180px);
  }

  #works .project-media,
  #works .project-wide .project-media{
    height:270px;
  }

  #works .project-body,
  #works .project-wide .project-body{
    padding:22px;
  }

  #works .project h3,
  #works .project-wide h3{
    font-size:24px;
  }

  #works .project-data,
  #works .project-wide .project-data{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:420px){

  #works .project-data,
  #works .project-wide .project-data{
    grid-template-columns:1fr;
  }
}

:root{ --soft:#f6f8fb; --ink:#0f172a; --muted:#5b6474; --line:#e5eaf0; --blue:#1d4ed8; --blue2:#2563eb; --shadow2:0 10px 28px rgba(15,23,42,.07); } *{ box-sizing:border-box; } #services{ padding:86px 0; color:var(--ink); background:#fff; font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, -apple-system, sans-serif; line-height:1.75; } #services .wrap{ width:min(1180px,calc(100% - 40px)); margin:auto; } #services .section-kicker{ font-size:12px; font-weight:900; letter-spacing:.18em; color:var(--blue2); text-transform:uppercase; } #services .section-title{ font-size:clamp(31px,4vw,48px); line-height:1.2; letter-spacing:-.03em; margin:10px 0 13px; } #services .section-desc{ color:var(--muted); max-width:820px; margin:0; } #services .cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px; } #services .card{ border:1px solid var(--line); border-radius:22px; padding:26px; background:#fff; box-shadow:var(--shadow2); } #services .icon{ width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:#eef4ff; color:var(--blue); font-size:22px; font-weight:900; margin-bottom:18px; } #services .card h3{ margin:0 0 9px; font-size:20px; } #services .card p{ margin:0; color:var(--muted); font-size:14px; } #services .tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; } #services .tag{ font-size:11px; font-weight:800; padding:6px 9px; background:var(--soft); border:1px solid var(--line); border-radius:999px; color:#475569; } @media(max-width:900px){ #services .cards{ grid-template-columns:1fr 1fr; } } @media(max-width:620px){ #services{ padding:64px 0; } #services .wrap{ width:min(100% - 28px,1180px); } #services .cards{ grid-template-columns:1fr; } }

/* ROCK PRICING CSS v1.2.0 */
#rock-pricing,
#rock-pricing *{
  box-sizing:border-box;
}

#rock-pricing{
  --ink:#0f172a;
  --muted:#5b6474;
  --line:#e5eaf0;
  --soft:#f6f8fb;
  --soft2:#f8fafc;
  --blue:#1d4ed8;
  --blue2:#2563eb;
  --green:#0f766e;
  --shadow:0 14px 38px rgba(15,23,42,.07);
  --shadow2:0 22px 55px rgba(37,99,235,.11);

  width:100%;
  padding:90px 0;
  color:var(--ink);
  background:#fff;
  font-family:
    "Noto Sans TC",
    "PingFang TC",
    "Microsoft JhengHei",
    system-ui,
    -apple-system,
    sans-serif;
  line-height:1.75;
}

#rock-pricing .rp-wrap{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}

#rock-pricing .rp-kicker{
  text-align:center;
  color:var(--blue2);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

#rock-pricing .rp-title{
  margin:10px 0 14px;
  text-align:center;
  font-size:clamp(32px,4vw,48px);
  line-height:1.2;
  letter-spacing:-.035em;
}

#rock-pricing .rp-desc{
  max-width:820px;
  margin:0 auto;
  text-align:center;
  color:var(--muted);
  font-size:15px;
  line-height:1.9;
}

#rock-pricing .rp-group{
  margin-top:58px;
}

#rock-pricing .rp-group-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}

#rock-pricing .rp-group-label{
  color:var(--blue2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#rock-pricing .rp-group-title{
  margin:5px 0 0;
  font-size:28px;
  line-height:1.3;
  letter-spacing:-.02em;
}

#rock-pricing .rp-group-desc{
  max-width:570px;
  margin:0;
  color:var(--muted);
  font-size:13px;
  text-align:right;
}

#rock-pricing .rp-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

#rock-pricing .rp-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:27px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow);
}

#rock-pricing .rp-card-featured{
  border-color:#cddcff;
  box-shadow:var(--shadow2);
  background:
    radial-gradient(circle at 90% 5%,rgba(37,99,235,.08),transparent 30%),
    #fff;
}

#rock-pricing .rp-badge{
  position:absolute;
  top:18px;
  right:18px;
  padding:6px 9px;
  border-radius:999px;
  background:#eff6ff;
  border:1px solid #dbeafe;
  color:var(--blue);
  font-size:10px;
  font-weight:900;
}

#rock-pricing .rp-plan{
  color:var(--blue2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

#rock-pricing .rp-card h3{
  margin:7px 0 4px;
  font-size:23px;
  line-height:1.35;
}

#rock-pricing .rp-plan-desc{
  min-height:48px;
  margin:0;
  color:var(--muted);
  font-size:13px;
}

#rock-pricing .rp-price{
  margin:23px 0 5px;
}

#rock-pricing .rp-original{
  display:block;
  color:#94a3b8;
  font-size:13px;
  text-decoration:line-through;
}

#rock-pricing .rp-sale{
  display:flex;
  align-items:flex-end;
  gap:5px;
  margin-top:2px;
}

#rock-pricing .rp-sale strong{
  color:var(--ink);
  font-size:38px;
  line-height:1.1;
  letter-spacing:-.04em;
}

#rock-pricing .rp-sale span{
  margin-bottom:4px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

#rock-pricing .rp-save{
  display:inline-flex;
  align-self:flex-start;
  margin-top:8px;
  padding:5px 8px;
  border-radius:8px;
  background:#ecfdf5;
  color:#047857;
  font-size:11px;
  font-weight:900;
}

#rock-pricing .rp-line{
  height:1px;
  margin:22px 0;
  background:var(--line);
}

#rock-pricing .rp-includes-title{
  margin-bottom:12px;
  font-size:13px;
  font-weight:900;
}

#rock-pricing .rp-list{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

#rock-pricing .rp-list li{
  position:relative;
  padding-left:29px;
  color:#475569;
  font-size:13px;
  line-height:1.7;
}

#rock-pricing .rp-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#ecfdf5;
  color:#047857;
  font-size:11px;
  font-weight:900;
}

#rock-pricing .rp-card-foot{
  margin-top:auto;
  padding-top:24px;
}

#rock-pricing .rp-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:12px 16px;
  border:1px solid var(--line);
  border-radius:13px;
  text-decoration:none;
  background:#fff;
  color:var(--ink);
  font-size:13px;
  font-weight:900;
}

#rock-pricing .rp-card-featured .rp-btn{
  border-color:var(--ink);
  background:var(--ink);
  color:#fff;
}

#rock-pricing .rp-note{
  margin-top:36px;
  padding:22px 24px;
  border:1px solid var(--line);
  border-radius:19px;
  background:var(--soft2);
}

#rock-pricing .rp-note strong{
  display:block;
  margin-bottom:5px;
  font-size:15px;
}

#rock-pricing .rp-note p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}

#rock-pricing .rp-bottom-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:24px;
  padding:27px 28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 15%,rgba(37,99,235,.08),transparent 34%),
    #fff;
}

#rock-pricing .rp-bottom-copy strong{
  display:block;
  margin-bottom:5px;
  font-size:18px;
}

#rock-pricing .rp-bottom-copy p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

#rock-pricing .rp-bottom-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

#rock-pricing .rp-bottom-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 17px;
  border:1px solid var(--line);
  border-radius:13px;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
}

#rock-pricing .rp-bottom-primary{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

#rock-pricing .rp-bottom-secondary{
  background:#fff;
  color:var(--ink);
}

@media(max-width:980px){

  #rock-pricing .rp-grid{
    grid-template-columns:1fr;
  }

  #rock-pricing .rp-plan-desc{
    min-height:auto;
  }

  #rock-pricing .rp-group-head{
    align-items:flex-start;
    flex-direction:column;
  }

  #rock-pricing .rp-group-desc{
    max-width:760px;
    text-align:left;
  }
}

@media(max-width:720px){

  #rock-pricing .rp-bottom-cta{
    align-items:flex-start;
    flex-direction:column;
  }

  #rock-pricing .rp-bottom-actions{
    width:100%;
  }
}

@media(max-width:620px){

  #rock-pricing{
    padding:64px 0;
  }

  #rock-pricing .rp-wrap{
    width:min(100% - 28px,1180px);
  }

  #rock-pricing .rp-group{
    margin-top:46px;
  }

  #rock-pricing .rp-group-title{
    font-size:25px;
  }

  #rock-pricing .rp-card{
    padding:23px 20px;
  }

  #rock-pricing .rp-sale strong{
    font-size:35px;
  }

  #rock-pricing .rp-bottom-cta{
    padding:22px 18px;
  }

  #rock-pricing .rp-bottom-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  #rock-pricing .rp-bottom-btn{
    width:100%;
  }
}
