/* ===== START123 創業基地 - rebuilt static site ===== */
:root{
  --red:#9b292b;
  --red-dark:#7d1f1f;
  --red-soft:#f0ddd0;
  --ink:#3a3433;
  --muted:#6f6862;
  --bg:#f4eadf;
  --soft:#efe1d1;
  --line:#e2d4c4;
  --yellow:#f6c41f;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",-apple-system,"Helvetica Neue",sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.7;font-size:15px;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.btn{
  display:inline-block;background:var(--red);color:#fff;font-weight:800;
  padding:11px 26px;border-radius:50px;transition:.25s;border:none;cursor:pointer;
}
.btn:hover{background:var(--red-dark);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--red);border:2px solid var(--red)}
.btn-outline:hover{background:var(--red);color:#fff}
.text-center{text-align:center}

/* ===== Header (transparent on beige) ===== */
.site-header{background:transparent;position:relative;z-index:50}
.nav-bar{
  display:flex;align-items:flex-start;justify-content:flex-start;gap:24px;
  padding:24px 0 20px;
}
.logo{display:flex;align-items:center;margin-left:48px;margin-top:34px;flex:0 0 auto}
.logo img{width:228px;height:auto}
.menu-toggle{display:none;background:none;border:none;font-size:28px;cursor:pointer;color:var(--red)}

/* multi-row navigation – opens from upper-centre, left-aligned, generous spacing */
.nav-groups{display:flex;flex-direction:column;gap:32px;align-items:flex-start;flex:1;margin-left:80px;padding-top:0}
.nav-row{display:flex;flex-wrap:wrap;gap:12px 62px;justify-content:flex-start;align-items:center}
.nav-row a{
  font-weight:800;font-size:16px;color:#7d1f22;letter-spacing:2.5px;transition:.2s;
}
.nav-row a:hover{color:var(--red-dark);text-decoration:underline}

/* social + language sit to the right of the first nav row */
.nav-side{display:flex;align-items:center;gap:12px;padding-top:58px;margin-right:74px;flex:0 0 auto}
.nav-side .soc{
  width:18px;height:18px;display:grid;place-items:center;transition:.2s;opacity:.9;
}
.nav-side .soc img{width:18px;height:18px;display:block}
.nav-side .soc:hover{opacity:1}
.nav-side .lang{display:flex;align-items:center;gap:6px;font-weight:800;color:#7d1f22;font-size:14px}
.nav-side .lang .flag{width:20px;height:13px;border:1px solid #d8cbb8}

/* ===== Hero (simplified, left-aligned, lots of whitespace) ===== */
.hero{background:var(--bg);padding:172px 0 96px;overflow:hidden}
.hero .container{display:block}
.hero-text{max-width:360px;margin-left:102px;padding-top:0}
.hero-title{position:relative;display:inline-block;margin-bottom:24px}
.hero-title:before{
  content:"";position:absolute;left:-22px;right:-128px;top:50%;transform:translateY(-50%);
  height:92px;background:url("../images/brush.svg") no-repeat center/100% 100%;z-index:0;
}
.hero-text h1{
  position:relative;z-index:1;font-size:37px;line-height:1.3;color:#7d1f22;
  font-weight:900;letter-spacing:2px;
}
.hero-text h1 em{font-style:normal;color:#7d1f22}
.hero-text p{font-size:15px;color:#4a4340;font-weight:500;margin:0;line-height:30px}
.hero-actions{margin-top:26px}
.hero-actions .btn{
  font-size:15px;width:188px;height:47px;padding:0;border-radius:24px;
  display:inline-flex;align-items:center;justify-content:center;
}

/* ===== Section ===== */
.section{padding:64px 0}
.section.alt{background:var(--soft)}
.section-title{text-align:center;margin-bottom:30px}
.section-title h2{font-size:32px;color:var(--red);font-weight:900;letter-spacing:2px;display:inline-block}
.section-title p{color:var(--muted);margin-top:12px;font-size:16px}
/* coloured square decoration under a title */
.dots{display:flex;gap:12px;justify-content:center;margin-top:16px;width:auto;margin-left:auto;margin-right:auto}
.dots span{width:6px;height:5px;border-radius:1px;display:inline-block;flex:0 0 auto}
.dots span:nth-child(1){background:#b5403c}
.dots span:nth-child(2){background:#e8c14e}
.dots span:nth-child(3){background:#5fa86e}
.dots span:nth-child(4){background:#9a958e}
.dots span:nth-child(5){background:#7d8a99}
.dots span:nth-child(6){background:#b5403c}
.dots span:nth-child(7){background:#e8c14e}
.dots span:nth-child(8){background:#5fa86e}
.dots span:nth-child(9){background:#9a958e}
.dots span:nth-child(10){background:#7d8a99}

/* element heading band on the home page (beige, no card) – sits low on first screen */
.elements-head{padding:150px 0 150px;text-align:center}
.elements-head .container{transform:translateX(-20px)}
.elements-head h2{font-size:26px;color:var(--red);font-weight:900;letter-spacing:4px}

/* ===== Feature cards (四要素) ===== */
.grid{display:grid;gap:24px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 24px;text-align:center;transition:.25s;
}
.card:hover{transform:translateY(-6px);border-color:var(--red)}
.card .ico{
  width:70px;height:70px;border-radius:18px;background:var(--red-soft);color:var(--red);
  display:grid;place-items:center;font-size:32px;margin:0 auto 18px;
}
.card h3{font-size:19px;margin-bottom:10px;color:var(--red)}
.card p{color:var(--muted);font-size:14px}
.card ul{list-style:none;color:var(--muted);font-size:14px;text-align:left;margin-top:10px}
.card ul li{padding:4px 0 4px 22px;position:relative}
.card ul li:before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:900}

/* ===== Process (設立流程) ===== */
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.step{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 18px;
  text-align:center;position:relative;
}
.step .num{
  width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;
  font-size:20px;font-weight:900;display:grid;place-items:center;margin:0 auto 14px;
}
.step h4{font-size:17px;margin-bottom:8px;color:var(--red-dark)}
.step p{font-size:13px;color:var(--muted)}
.process-cta{text-align:center;margin-top:40px}
.process-cta h3{font-size:25px;margin-bottom:6px;color:var(--red)}
.process-cta p{color:var(--muted);margin-bottom:20px}

/* ===== Split feature row ===== */
.split{display:flex;align-items:center;gap:46px;flex-wrap:wrap}
.split .col{flex:1;min-width:300px}
.split img{border-radius:20px}
.split h2{font-size:28px;margin-bottom:16px;color:var(--red)}
.split p{color:var(--muted);margin-bottom:12px}
.checklist{list-style:none}
.checklist li{padding:8px 0 8px 30px;position:relative;color:var(--ink)}
.checklist li:before{content:"✔";position:absolute;left:0;color:var(--red);font-weight:900}

/* ===== Pricing table ===== */
.pricing{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.price-card .head{background:var(--red);color:#fff;padding:18px;text-align:center}
.price-card .head h3{font-size:22px}
.price-card .head .note{font-size:13px;opacity:.92;font-weight:500}
.price-card .body{padding:8px 24px 24px}
.price-row{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px dashed var(--line)}
.price-row:last-child{border-bottom:none}
.price-row .label{font-weight:700}
.price-row .amt{font-size:22px;font-weight:900;color:var(--red-dark)}
.price-row .amt small{font-size:13px;color:var(--muted);font-weight:600}
.notes{background:var(--soft);border-radius:var(--radius);padding:28px 32px;margin-top:36px}
.notes h3{color:var(--red-dark);margin-bottom:14px;font-size:20px}
.notes ol{padding-left:20px;color:var(--muted);font-size:14px}
.notes ol li{padding:5px 0}
.fineprint{text-align:center;color:var(--muted);font-size:14px;margin-top:20px}

/* ===== FAQ accordion ===== */
.faq{max-width:860px;margin:0 auto}
.faq details{
  background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden;
}
.faq summary{
  list-style:none;cursor:pointer;padding:20px 56px 20px 24px;font-weight:800;font-size:17px;
  position:relative;color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{
  content:"+";position:absolute;right:24px;top:18px;font-size:26px;color:var(--red);font-weight:400;transition:.2s;
}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details[open] summary{background:var(--red-soft);color:var(--red-dark)}
.faq .answer{padding:18px 24px 24px;color:var(--muted);font-size:15px;border-top:1px solid var(--line)}
.faq .answer ol,.faq .answer ul{padding-left:22px;margin:8px 0}
.faq .answer p{margin:8px 0}

/* ===== Location ===== */
.loc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.loc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.loc-card h3{color:var(--red-dark);font-size:21px;margin-bottom:8px}
.loc-card .addr{color:var(--ink);font-size:16px;margin-bottom:6px;display:flex;gap:8px}
.loc-card .addr:before{content:"📍"}
.loc-services{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px}
.tag{background:var(--red-soft);color:var(--red-dark);padding:8px 18px;border-radius:50px;font-weight:700;font-size:15px}
.city-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:40px}
.city-nav a{padding:10px 22px;border:1px solid var(--line);border-radius:50px;font-weight:700;transition:.2s}
.city-nav a:hover,.city-nav a.active{background:var(--red);color:#fff;border-color:var(--red)}

/* ===== Page banner ===== */
.page-banner{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);color:#fff;padding:56px 0;text-align:center}
.page-banner h1{font-size:40px;margin-bottom:8px}
.page-banner p{opacity:.95;font-size:17px}
.breadcrumb{color:var(--muted);font-size:14px;margin-bottom:6px}
.breadcrumb a:hover{color:var(--red)}

/* ===== CTA band ===== */
.cta-band{background:var(--soft);text-align:center;padding:60px 0}
.cta-band h2{font-size:30px;margin-bottom:12px;color:var(--red)}
.cta-band p{color:var(--muted);max-width:680px;margin:0 auto 24px}

/* ===== Footer ===== */
.site-footer{background:var(--red-dark);color:#f0ddd0;padding:54px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer-grid h4{color:#fff;font-size:17px;margin-bottom:16px}
.footer-grid a,.footer-grid li{color:#e6cfc2;font-size:15px;line-height:2}
.footer-grid a:hover{color:#fff}
.footer-grid ul{list-style:none}
.foot-logo{font-size:22px;font-weight:900;color:#fff;margin-bottom:12px}
.foot-logo span{color:var(--yellow)}
.copyright{border-top:1px solid rgba(255,255,255,.2);margin-top:36px;padding-top:20px;text-align:center;font-size:13px;color:#e0c8ba}

/* ===== Responsive ===== */
@media(max-width:980px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .logo,.hero-text{margin-left:24px}
}
@media(max-width:768px){
  .menu-toggle{display:block}
  .nav-bar{flex-wrap:wrap;align-items:center}
  .nav-groups{display:none;width:100%;align-items:stretch;gap:4px;margin-top:10px}
  .nav-groups.open{display:flex}
  .nav-row{justify-content:flex-start}
  .nav-side{display:none}
  .hero-text h1{font-size:36px}
  .hero-text{margin-left:24px}
  .grid-4,.grid-3,.grid-2,.pricing,.loc-grid{grid-template-columns:1fr}
  .process{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .section{padding:48px 0}
}

/* ============================================================
   index v2 — target-match overrides (appended; later-wins cascade)
   keeps all earlier rules so other pages (.pricing/.site-footer/
   .page-banner/.loc-grid/.faq/.city-nav) stay intact.
   ============================================================ */
:root{
  --bg:#f7f0e6; --soft:#f7f0e6;
  --red:#8e2c2c; --red-dark:#7a2222;
  --ink:#3f3a37; --muted:#8a827b; --line:#e7dccd;
  --yellow:#f3c33f; --sage:#9fad8c; --taupe:#ab9e95;
}
body{background:#f7f0e6;color:var(--ink);font-size:14px}
.wrap{max-width:820px;margin:0 auto;padding:0 28px}
.btn-sm{display:inline-block;background:var(--red);color:#fff;font-weight:600;
  font-size:13px;line-height:1;padding:11px 28px;border-radius:999px;letter-spacing:1px;transition:.2s}
.btn-sm:hover{background:var(--red-dark)}
.t-dots{display:flex;gap:5px;justify-content:center;margin:12px auto 0;flex-wrap:wrap}
.t-dots span{width:7px;height:5px;border-radius:1px;display:inline-block;flex:0 0 auto}
.t-dots span:nth-child(5n+1){background:#b5403c}
.t-dots span:nth-child(5n+2){background:#e8c14e}
.t-dots span:nth-child(5n+3){background:#5fa86e}
.t-dots span:nth-child(5n+4){background:#9a958e}
.t-dots span:nth-child(5n+5){background:#7d8a99}




/* ============================================================
   index v2 — target-match overrides (regenerated per section)
   ============================================================ */

/* ---- global layout ---- */
.wrap{max-width:820px;margin:0 auto;padding:0 28px;}
.container{max-width:820px;margin:0 auto;padding:0 28px;}

/* ---- section: header ---- */
.site-header{background:var(--bg);position:relative;z-index:50;}
.nav-bar{display:flex;align-items:flex-start;flex-wrap:wrap;padding:22px 0 14px;gap:0;}
.logo{display:flex;align-items:center;margin:6px 0 0 0;flex:0 0 auto;}
.logo img{width:130px;height:auto;}
.menu-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:var(--red);}
.nav-groups{display:flex;flex-direction:column;gap:9px;align-items:flex-start;margin-left:36px;padding-top:6px;flex:1 1 auto;}
.nav-row{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:flex-start;align-items:center;}
.nav-row a{font-weight:700;font-size:13px;letter-spacing:1.5px;color:var(--red);text-decoration:none;transition:.2s;line-height:1.4;}
.nav-row a:hover{color:var(--red-dark);}
.nav-side{display:flex;align-items:center;gap:11px;padding-top:8px;margin-left:auto;flex:0 0 auto;}
.nav-side .soc{display:grid;place-items:center;opacity:.85;transition:.2s;}
.nav-side .soc,.nav-side .soc img{width:14px;height:14px;}
.nav-side .soc:hover{opacity:1;}
.nav-side .lang{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--red);text-decoration:none;}
.nav-side .lang .flag{width:18px;height:12px;border:1px solid var(--line);}

/* ---- section: hero ---- */
.t-hero{background:var(--bg);padding:64px 0 72px;overflow:hidden;}
.t-hero-inner{margin-left:48px;max-width:340px;text-align:left;}
.t-hero-title{position:relative;display:inline-block;z-index:1;margin:0 0 26px;font-size:30px;line-height:1.3;color:var(--red);font-weight:700;letter-spacing:1px;}
.t-hero-title:after{content:"";position:absolute;z-index:-1;right:-40px;top:50%;transform:translateY(-50%) rotate(-8deg);width:84px;height:14px;background:var(--yellow);border-radius:2px;}
.t-hero-sub{margin:0 0 28px;}
.t-hero-sub p{margin:0;font-size:13px;line-height:2;color:var(--ink);}
.t-hero-cta{display:inline-block;}
@media(max-width:768px){.t-hero-inner{margin-left:24px;}}

/* ---- section: elements + greenband ---- */
.t-elements{
  padding-top:150px;
  padding-bottom:54px;
  text-align:center;
}
.t-elements-title{
  color:var(--red);
  font-size:22px;
  font-weight:800;
  letter-spacing:2px;
  margin:0 auto;
}
.t-greenband{
  width:100%;
  height:128px;
  background:var(--sage);
}

/* ---- section: process ---- */
.t-process{background:var(--bg);padding:64px 0;text-align:center;}
.t-process-title{margin:0;color:var(--red);font-size:22px;font-weight:800;letter-spacing:2px;}
.t-process-sub{margin:16px 0 0;font-size:13px;color:var(--ink);text-align:center;letter-spacing:1px;}

/* ---- section: rental ---- */
.t-rental {
  background: var(--bg);
  padding: 64px 0;
  text-align: center;
}
.t-rental-title {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 1px;
  color: var(--red);
}
.t-rental-bar {
  display: block;
  width: 44px;
  height: 3px;
  margin: 0 auto 12px;
  border-radius: 2px;
  background: var(--yellow);
}
.t-rental-line {
  margin: 3px 0;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
}

/* ---- section: office ---- */
.t-office{background:var(--bg);padding:64px 0;text-align:center;}
.t-office .t-dots{margin:14px auto 0;}
.t-office-title{margin:0;color:var(--red);font-size:22px;font-weight:800;letter-spacing:1px;}
.t-office-lead{margin:14px auto 0;color:var(--muted);font-size:13px;line-height:1.9;letter-spacing:.5px;}
.t-office-points{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:30px 56px;margin-top:32px;}
.t-office-point{flex:0 1 140px;}
.t-office-point h3{margin:0;color:var(--red-dark);font-size:12px;font-weight:600;letter-spacing:1px;}
.t-office-point p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.6;letter-spacing:.3px;}
@media (max-width:600px){.t-office{padding:48px 0;}.t-office-points{gap:26px 36px;margin-top:26px;}}

/* ---- section: fees + table ---- */
.t-fees{
  background:var(--bg);
  padding:64px 0;
  text-align:center;
}
.t-fee-title{
  font-size:22px;
  color:var(--red);
  font-weight:700;
  letter-spacing:1px;
  margin:0;
}
.t-fee-sub{
  font-size:13px;
  color:var(--muted);
  margin:14px 0 44px;
  letter-spacing:.5px;
}
.t-fee-table{
  width:100%;
  max-width:720px;
  border-collapse:collapse;
  margin:0 auto;
  font-size:13px;
  text-align:center;
}
.t-fee-table th,
.t-fee-table td{
  padding:14px 12px;
  vertical-align:middle;
  border:0;
}
.t-fee-table tbody tr{
  border-bottom:1px solid var(--line);
}
.t-fee-table thead th{
  border-bottom:1.5px solid var(--red);
}
.t-fee-col{
  font-size:13px;
  font-weight:700;
  color:var(--ink);
  letter-spacing:1px;
  padding-top:6px;
  padding-bottom:14px;
}
.t-fee-mid{
  background:#fdf3d0;
}
.t-fee-col.t-fee-mid{
  color:var(--red);
}
.t-fee-coltag{
  display:block;
  font-size:11px;
  font-weight:400;
  color:var(--muted);
  letter-spacing:0;
  margin-top:4px;
}
.t-fee-group td{
  padding:16px 12px 6px;
  text-align:left;
}
.t-fee-table tbody tr.t-fee-group{
  border-bottom:1px solid var(--line);
}
.t-fee-grouptitle{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  color:var(--red);
  letter-spacing:.8px;
  padding-left:2px;
}
.t-fee-grouptitle::before{
  content:"◆";
  font-size:9px;
  margin-right:6px;
  color:var(--red);
  vertical-align:1px;
}
.t-fee-svc{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-bottom:6px;
  letter-spacing:.3px;
}
.t-fee-price{
  display:block;
  font-size:17px;
  font-weight:700;
  color:var(--red);
  letter-spacing:.5px;
  line-height:1.2;
}
.t-fee-unit{
  font-size:11px;
  font-weight:400;
  color:var(--muted);
  margin-left:2px;
  letter-spacing:0;
}
.t-fee-price s{
  color:var(--muted);
  font-weight:400;
  font-size:11px;
  margin-right:5px;
}
.t-fee-green{
  color:var(--sage);
}
.t-fee-green .t-fee-unit{
  color:var(--sage);
  opacity:.8;
}
.t-fee-note-row td{
  padding-top:14px;
  padding-bottom:18px;
}
.t-fee-table tbody tr.t-fee-note-row{
  border-bottom:0;
}
.t-fee-sub-item{
  display:block;
  font-size:11px;
  color:var(--muted);
  line-height:1.6;
  letter-spacing:0;
}
.t-fee-cta{
  margin-top:44px;
}
.t-fee-finenote{
  font-size:11px;
  color:var(--muted);
  margin-top:14px;
  letter-spacing:.3px;
}
@media(max-width:768px){
  .t-fee-table{font-size:12px}
  .t-fee-table th,.t-fee-table td{padding:11px 6px}
  .t-fee-price{font-size:15px}
  .t-fees{padding:64px 0 80px}
}

/* ---- section: notice ---- */
.t-notice{background:var(--bg);padding:64px 0;text-align:center;}
.t-notice-title{font-size:22px;color:var(--red);font-weight:800;letter-spacing:1px;margin:0 0 14px;}
.t-notice-list{list-style:decimal;max-width:640px;margin:26px auto 0;padding:0 0 0 18px;text-align:left;color:var(--ink);font-size:12px;line-height:1.95;}
.t-notice-list li{margin-bottom:6px;padding-left:4px;}

/* ---- section: apply ---- */
.t-apply{background:var(--bg);padding-top:64px;padding-bottom:64px;text-align:center;}
.t-apply-title{margin:0;color:var(--red);font-size:22px;font-weight:800;letter-spacing:2px;}

/* ---- section: footer ---- */
.t-ft{width:100%;background:var(--taupe);color:#3a2e26;padding:56px 0 26px;}
.t-ft-brand{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
.t-ft-brand img{width:84px;height:auto;}
.t-ft-name{font-size:19px;letter-spacing:3px;font-weight:700;color:#3a2e26;}
.t-ft-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:48px;margin-top:36px;}
.t-ft-qr{display:flex;flex-direction:column;align-items:center;gap:10px;}
.t-ft-qr img{width:86px;height:86px;object-fit:cover;border-radius:6px;background:#fff;padding:4px;}
.t-ft-cap{font-size:12px;letter-spacing:1px;color:#3a2e26;}
.t-ft-contact{display:flex;flex-direction:column;gap:12px;}
.t-ft-row{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.5px;color:#3a2e26;line-height:1.4;}
.t-ft-ico{font-size:14px;line-height:1;width:18px;text-align:center;opacity:.85;}
.t-ft-copy{margin-top:44px;text-align:center;font-size:11px;letter-spacing:.4px;color:#5a4a3e;line-height:1.6;}
@media (max-width:640px){.t-ft-top{flex-direction:column;gap:28px;text-align:center;}.t-ft-contact{align-items:flex-start;}}

/* ============================================================
   index v3 — designer redesign (appended; later-wins cascade)
   unified brand palette, 2-col hero, trust cards, content bands
   ============================================================ */
:root{
  --red:#9B2F32;
  --red-dark:#7F2427;
  --bg:#F4EDE3;
  --ink:#2F2924;
  --muted:#6F6258;
  --yellow:#F2C230;
  --sage:#A9B99A;
  --line:#E7DCCD;
  --cream:#FFF9F0;
}
body{background:var(--bg);color:var(--ink);font-size:16px;line-height:1.9;}
.wrap,.container{max-width:1040px;margin:0 auto;padding:0 28px;}

/* shared section heading */
.section-h2{
  font-size:28px;line-height:1.35;font-weight:800;letter-spacing:.04em;color:var(--red);
}

/* primary CTA button */
.btn-cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:176px;height:48px;padding:0 28px;border-radius:999px;
  font-size:16px;font-weight:700;background:var(--red);color:#fff;transition:.2s;
}
.btn-cta:hover{background:var(--red-dark);}

/* ---- header ---- */
.site-header{background:var(--bg);position:relative;z-index:50;}
.header__inner{
  max-width:1040px;margin:0 auto;height:88px;
  display:flex;align-items:flex-start;gap:44px;padding:0 28px;
}
.logo{display:flex;align-items:center;margin:18px 0 0;flex:0 0 auto;}
.logo img{height:48px;width:auto;}
.menu-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:var(--red);}
.nav-groups{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-left:4px;padding-top:18px;flex:1 1 auto;}
.nav-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;}
.nav-row a{font-weight:700;font-size:14px;letter-spacing:1px;color:var(--red);transition:.2s;}
.nav-row a:hover{color:var(--red-dark);text-decoration:underline;}
.nav-city-label{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:1px;}
.nav-row--city a{font-weight:600;color:var(--muted);}
.nav-row--city a:hover{color:var(--red);}

.nav-side{display:flex;align-items:center;gap:14px;padding-top:20px;margin-left:auto;flex:0 0 auto;}
.nav-side .soc{display:grid;place-items:center;opacity:.85;transition:.2s;}
.nav-side .soc,.nav-side .soc img{width:18px;height:18px;}
.nav-side .soc:hover{opacity:1;}
.nav-side .lang{display:inline-flex;align-items:center;font-size:13px;font-weight:700;color:var(--red);
  border:1px solid #CBBEAF;border-radius:999px;padding:4px 10px;line-height:1;}
.nav-side .lang:hover{background:var(--red);color:#fff;border-color:var(--red);}
.line-btn{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:18px;
  background:#06C755;color:#fff;font-weight:700;font-size:13px;letter-spacing:.5px;transition:.2s;}
.line-btn:hover{filter:brightness(.93);}

/* ---- hero (2-column) ---- */
.hero{
  max-width:1040px;margin:72px auto 64px;padding:0 28px;
  display:grid;grid-template-columns:1fr 460px;gap:72px;align-items:center;
}
.hero__title{
  position:relative;display:inline-block;font-size:40px;line-height:1.3;
  font-weight:900;letter-spacing:1px;color:var(--red);margin:0 0 20px;
}
.title-mark{
  position:absolute;width:118px;height:12px;background:var(--yellow);
  transform:rotate(-6deg);bottom:4px;right:-8px;z-index:-1;border-radius:2px;
}
.hero__trust{font-size:16px;line-height:1.9;color:var(--ink);margin:0 0 22px;max-width:460px;}
.hero__points{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:8px;}
.hero__points li{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:.5px;}
.hero__actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.hero__seclink{font-size:15px;font-weight:700;color:var(--red);text-decoration:underline;text-underline-offset:3px;}
.hero__seclink:hover{color:var(--red-dark);}
.hero__finenote{margin:14px 0 0;font-size:13px;color:var(--muted);letter-spacing:.3px;}
.hero__media{display:flex;justify-content:center;}
.hero__image{width:100%;max-width:460px;height:auto;border-radius:20px;}

/* ---- trust stats cards ---- */
.trust-stats{padding:0 0 24px;}
.trust-stats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.trust-card{
  background:var(--cream);border-radius:16px;padding:26px 22px;text-align:center;
  border:1px solid var(--line);
}
.trust-card strong{display:block;font-size:24px;font-weight:800;color:var(--red);letter-spacing:.5px;}
.trust-card span{display:block;margin-top:6px;font-size:14px;color:var(--muted);}

/* ---- 創業四要素 ---- */
.t-elements{padding:64px 0 48px;text-align:center;}
.t-elements-title{display:block;}
.brand-bars{display:flex;justify-content:center;gap:6px;margin:22px auto 44px;}
.brand-bars span{width:8px;height:4px;border-radius:1px;}
.brand-bars span:nth-child(4n+1){background:var(--red);}
.brand-bars span:nth-child(4n+2){background:var(--yellow);}
.brand-bars span:nth-child(4n+3){background:var(--sage);}
.brand-bars span:nth-child(4n+4){background:#9a958e;}
.elements-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:left;}
.el-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px;transition:.25s;
}
.el-card:hover{transform:translateY(-4px);border-color:var(--red);}
.el-card h3{font-size:17px;font-weight:800;color:var(--red);margin:0 0 10px;}
.el-card p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 14px;}
.el-more{font-size:14px;font-weight:700;color:var(--red);text-decoration:underline;text-underline-offset:3px;}
.el-more:hover{color:var(--red-dark);}

/* ---- lead-in content band (former green band) ---- */
.lead-band{background:var(--sage);padding:40px 0;}
.lead-band__inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.lead-band__text h2{font-size:24px;font-weight:800;color:var(--ink);margin:0 0 8px;letter-spacing:.04em;}
.lead-band__text p{font-size:16px;color:var(--ink);margin:0;}
.btn-lead{
  display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 30px;
  border-radius:999px;background:var(--cream);color:var(--red);font-weight:800;font-size:16px;transition:.2s;
}
.btn-lead:hover{background:#fff;transform:translateY(-2px);}

/* ---- process steps ---- */
.t-process{background:var(--bg);padding:64px 0;text-align:center;}
.t-process-sub{margin:14px 0 44px;font-size:16px;color:var(--muted);letter-spacing:.5px;}
.process-steps{
  list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;
}
.process-steps li{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 14px;
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.ps-num{
  width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;
  font-size:18px;font-weight:800;display:grid;place-items:center;
}
.ps-label{font-size:14px;font-weight:700;color:var(--ink);line-height:1.5;}

/* ---- apply reassurance ---- */
.t-apply-reassure{margin:14px auto 0;font-size:15px;color:var(--muted);max-width:520px;line-height:1.8;}
.t-apply-cta{margin-top:24px;}

/* ---- responsive ---- */
@media(max-width:980px){
  .hero{grid-template-columns:1fr;gap:36px;}
  .hero__media{order:2;}
  .elements-grid{grid-template-columns:repeat(2,1fr);}
  .process-steps{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .header__inner{flex-wrap:wrap;height:auto;gap:0;padding:14px 28px;align-items:center;}
  .menu-toggle{display:block;margin-left:auto;}
  .nav-groups{display:none;width:100%;margin:12px 0 0;padding-top:0;gap:14px;}
  .nav-groups.open{display:flex;}
  .nav-side{display:none;}
  .hero{margin-top:40px;}
  .hero__title{font-size:32px;}
  .hero__image{max-width:320px;margin:32px auto 0;}
  .hero__actions{gap:16px;}
  .trust-stats__grid{grid-template-columns:1fr;}
  .elements-grid{grid-template-columns:1fr;}
  .process-steps{grid-template-columns:1fr;}
  .lead-band__inner{flex-direction:column;align-items:flex-start;}
  /* city menu becomes horizontal scroll chips */
  .nav-row--city{flex-wrap:nowrap;overflow-x:auto;gap:8px;-webkit-overflow-scrolling:touch;}
  .nav-row--city .nav-city-label{flex:0 0 auto;}
  .nav-row--city a{
    flex:0 0 auto;background:var(--cream);border:1px solid #D9CDBC;
    border-radius:999px;padding:6px 14px;white-space:nowrap;
  }
}

/* ============================================================
   v4 — legibility pass (appended; later-wins cascade)
   raises every too-small font to an accessible floor while
   keeping the existing visual hierarchy intact.
   floor: reading text ≥15px · UI labels 14px · fine print 13px
   ============================================================ */

/* ---- index.html : section content (was 13px) ---- */
.t-rental-line{font-size:15px;line-height:2;}
.t-office-lead{font-size:15px;line-height:1.9;}
.t-fee-sub{font-size:15px;}

/* ---- index.html : office points (were 12px) ---- */
.t-office-point h3{font-size:15px;}
.t-office-point p{font-size:14px;line-height:1.7;}

/* ---- index.html : fee table (was 11–13px) ---- */
.t-fee-table{font-size:14px;}
.t-fee-col{font-size:14px;}
.t-fee-coltag{font-size:13px;}
.t-fee-grouptitle{font-size:14px;}
.t-fee-svc{font-size:14px;}
.t-fee-unit{font-size:13px;}
.t-fee-sub-item{font-size:13px;line-height:1.7;}
.t-fee-finenote{font-size:13px;}
.t-fee-price s{font-size:13px;}
@media(max-width:768px){
  .t-fee-table{font-size:13px;}
  .t-fee-coltag,.t-fee-unit,.t-fee-sub-item,.t-fee-finenote{font-size:12px;}
}

/* ---- index.html : legal notice (was 12px reading block) ---- */
.t-notice-list{font-size:15px;line-height:2;}

/* ---- index.html : footer (were 11–13px) ---- */
.t-ft-cap{font-size:14px;}
.t-ft-row{font-size:15px;}
.btn-sm{font-size:14px;}
.t-ft-copy{font-size:13px;line-height:1.7;}

/* ---- header / nav (was 12–14px) ---- */
.nav-row a{font-size:15px;}
.nav-side .lang{font-size:14px;}
.line-btn{font-size:14px;}
.nav-city-label,.nav-row--city a{font-size:14px;}

/* ---- inner pages (v1 classes) : lift small text ---- */
.step p{font-size:14px;}
.price-row .amt small{font-size:14px;}
.breadcrumb{font-size:15px;}
.copyright{font-size:14px;}
.card p,.card ul{font-size:15px;}
.notes ol{font-size:15px;}
.fineprint{font-size:15px;}

/* ============================================================
   req-145 — vertical rhythm fix (appended; later-wins cascade)
   index content sections all share the beige bg and each carried
   64px top+bottom padding, so consecutive sections (設立流程 →
   租地址 → 事務所 …) stacked into ~128px hollow gaps that read as
   broken empty space — worst around the sparse 租地址 block.
   Tighten to a consistent 44px (≈88px combined) so the column
   keeps breathing room without the void. Sparser sections get a
   touch less; hero keeps its larger top offset elsewhere.
   ============================================================ */
.t-process,.t-rental,.t-office,.t-fees,.t-notice,.t-apply{
  padding-top:44px;
  padding-bottom:44px;
}
/* 租地址 is just a title + two short lines — pull it tighter so it
   doesn't float in empty beige between 設立流程 and 事務所 */
.t-rental{padding-top:36px;padding-bottom:36px;}
@media(max-width:768px){
  .t-process,.t-rental,.t-office,.t-fees,.t-notice,.t-apply{
    padding-top:36px;
    padding-bottom:36px;
  }
}

/* ============================================================
   req-146 — trim excess vertical whitespace (appended; later-wins)
   Even after req-145 (44px), the consecutive same-beige sections
   設立流程 → 租地址 → 事務所 still left ~80px hollow bands, and the
   sparse 租地址 block (title + two short lines) floated in empty
   beige — the spot the dealer flagged. Tighten the shared rhythm
   to 32px, pull 租地址 in to 22px, and trim the 設立流程 cards'
   trailing pad so the flagged card→租地址 seam doesn't double up.
   Scope: these t-* classes are used ONLY on index.html, so no
   other page is affected.
   ============================================================ */
.t-process,.t-rental,.t-office,.t-fees,.t-notice,.t-apply{
  padding-top:32px;
  padding-bottom:32px;
}
.t-rental{padding-top:22px;padding-bottom:22px;}
.t-process{padding-bottom:24px;}
@media(max-width:768px){
  .t-process,.t-rental,.t-office,.t-fees,.t-notice,.t-apply{
    padding-top:28px;
    padding-bottom:28px;
  }
  .t-rental{padding-top:18px;padding-bottom:18px;}
  .t-process{padding-bottom:22px;}
}

/* ============================================================
   req-147 — kill remaining "留白太多" in the 租地址／事務所 band.
   Outer padding was already minimal (req-145/146), so the airy
   feel came from INTERNAL gaps: 事務所's points sat 64px below the
   lead and 租地址's title/bar/lines used generous margins. Tighten
   the internal rhythm (handled in the base .t-rental-*/.t-office-*
   rules above) so the sparse blocks read as compact units instead
   of floating. Scope: t-* classes are index.html-only.
   ============================================================ */
