/* match.php 改版（match1008）：由改版稿轉出，所有規則限定在 .match-v2 內，不影響網站共用頁首／頁尾。
   產生方式見 commit 說明；字型為頁面用到的字子集化後的 woff2（Noto Sans TC 與源樣明體皆為 SIL OFL 授權）。 */

/* 先把 Bootstrap／mycss 的全域元素樣式還原成瀏覽器預設，改版稿是以瀏覽器預設為基準設計的。
   用 :where() 讓這條的權重只有 .match-v2 一個 class，改版稿後面每條規則都比它重。SVG 內部不還原（會清掉 fill/stroke 屬性）。 */
.match-v2 :where(*:not(svg, svg *)) {all:revert;}
/* SVG 不能整個還原，只個別擋掉 mycss.css 的 img, svg {max-height:100%; vertical-align:middle}（會把背景波浪圖的高度卡住） */
.match-v2 :where(svg) {max-height:none;vertical-align:baseline;}
.match-v2 #reservation {scroll-margin-top:calc(var(--site-header-height, 84px) + 20px);}

@font-face {
  font-family:"Noto Sans TC";
  src:url("../fonts/match_v2/noto-sans-tc.woff2") format("woff2");
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
.match-v2 {--cream:#f7f3ef;--yellow:#ffe59a;--pink:#ffb5c1;--mint:#b7e1d1;--blue:#a9d3ff;--purple:#a58aca;--line:#ebe6e1;--radius:18px;--space:24px;--header:80px}
.match-v2 * {box-sizing:border-box;}
.match-v2 {margin:0;font:16px/1.75 "Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}
.match-v2 h1, .match-v2 h2, .match-v2 h3, .match-v2 p, .match-v2 figure {margin:0;}
.match-v2 h1, .match-v2 h2, .match-v2 h3 {line-height:1.35;}
.match-v2 h1 {font-size:clamp(42px,4.7vw,64px);
  letter-spacing:.025em;}
.match-v2 h3 {font-size:21px;}
.match-v2 a {color:inherit;
  text-decoration:none;}
.match-v2 button, .match-v2 input, .match-v2 select {font:inherit;}
.match-v2 button, .match-v2 a, .match-v2 input, .match-v2 select {-webkit-tap-highlight-color:transparent;}
.match-v2 button, .match-v2 a {touch-action:manipulation;}
.match-v2 button {cursor:pointer;}
.match-v2 button:disabled {cursor:default;}
.match-v2 a:focus-visible, .match-v2 button:focus-visible, .match-v2 input:focus-visible, .match-v2 select:focus-visible, .match-v2 [tabindex="-1"]:focus-visible {outline:3px solid #70539b;
  outline-offset:5px;}
.match-v2 svg {display:block;
  max-width:100%;}
.match-v2 .defs {position:absolute;
  width:0;
  height:0;
  overflow:hidden;}
.match-v2 .wrap {width:min(var(--width),calc(100% - 80px));
  margin:auto;}
.match-v2 .section {padding:64px 0;
  position:relative;}
.match-v2 .heading {display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  margin-bottom:28px;}
.match-v2 .eyebrow {font-size:12px;
  letter-spacing:.27em;
  color:#777680;
  font-weight:700;
  margin-bottom:16px;}
.match-v2 .mv-btn {display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:11px 30px;
  background:var(--yellow);
  border:1px solid transparent;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.04em;
  transition:background .2s,transform .2s;}
.match-v2 .mv-btn:hover {background:#ffda71;
  transform:translateY(-2px);}
.match-v2 .mv-btn .arrow {font-size:21px;
  line-height:1;}
.match-v2 .hero {overflow:hidden;
  position:relative;}
.match-v2 .hero-grid {display:grid;
  align-items:center;}
.match-v2 .hero-copy {padding:42px 0 48px;
  position:relative;
  z-index:1;}
.match-v2 .tags {display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-bottom:25px;}
.match-v2 .tag {display:flex;
  align-items:center;
  gap:7px;
  padding:5px 12px;
  border-radius:30px;
  font-size:14px;
  color:#55545d;}
.match-v2 .hero-copy .mv-btn {min-width:295px;}
.match-v2 .hero-art {position:relative;
  align-self:stretch;
  display:flex;
  align-items:center;}
.match-v2 .hero-art:before {content:"";
  position:absolute;}
.match-v2 .cafe {position:relative;}
.match-v2 .spark {display:inline-block;
  margin-left:9px;
  font-family:serif;
  font-size:28px;
  transform:rotate(12deg);}
.match-v2 .steps {display:grid;
  grid-template-columns:repeat(3,1fr);}
.match-v2 .step {display:grid;
  grid-template-columns:40px 1fr;
  gap:14px;}
.match-v2 .number {width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;}
.match-v2 .step h3 {margin-bottom:7px;}
.match-v2 .step p {color:var(--muted);}
.match-v2 .wave:before {content:"";
  position:absolute;
  z-index:-1;
  background:var(--tint);}
.match-v2 .services {padding:60px 0;}
.match-v2 .service-grid {display:grid;
  grid-template-columns:repeat(3,1fr);}
.match-v2 .service-card {display:grid;
  column-gap:17px;}
.match-v2 .icon {width:60px;
  height:60px;}
.match-v2 .service-card h3 {margin:2px 0 4px;}
.match-v2 .service-card p {color:var(--muted);}
.match-v2 .service-note {margin-top:23px;
  color:#535c66;
  text-align:center;}
.match-v2 .choice-grid {display:grid;
  align-items:center;}
.match-v2 .choice-art {position:relative;}
.match-v2 .choice-art svg {width:100%;
  aspect-ratio:1.25;}
.match-v2 .choice-art figcaption {position:absolute;
  font-size:12px;
  color:#656060;
  background:#fff9;
  border-radius:20px;
  padding:3px 12px;}
.match-v2 .choice-list {list-style:none;
  padding:0;
  margin:24px 0;}
.match-v2 .choice-list li {padding:12px 0;
  display:grid;
  grid-template-columns:25px 1fr;
  gap:12px;}
.match-v2 .choice-list li:last-child {border-bottom:0;}
.match-v2 .check {display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border-radius:50%;
  font-size:14px;
  margin-top:3px;}
.match-v2 .choice-list strong {font-size:18px;}
.match-v2 .choice-list p {color:var(--muted);
  margin-top:3px;}
.match-v2 .trust {padding:54px 0 42px;}
.match-v2 .trust-grid {display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;}
.match-v2 .trust-item {border-radius:var(--radius);
  display:flex;
  gap:18px;}
.match-v2 .trust-item .icon {width:49px;
  height:49px;
  flex-shrink:0;}
.match-v2 .trust-item h3 {font-size:18px;}
.match-v2 .trust-item p {font-size:14px;
  color:var(--muted);
  margin-top:5px;}
.match-v2 .guarantee {display:flex;
  gap:28px;
  align-items:center;
  border:1.5px solid #edc75e;
  border-radius:16px;}
.match-v2 .guarantee h3 {font-size:28px;}
.match-v2 .guarantee h3 span {display:block;
  font-size:17px;
  margin-bottom:3px;}
.match-v2 .guarantee em {font:italic 42px/1 Georgia,serif;
  margin-right:5px;}
.match-v2 .stories {padding:58px 0;}
.match-v2 .story-grid {display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;}
.match-v2 .story {border-radius:16px;
  overflow:hidden;}
.match-v2 .story-picture {position:relative;
  display:grid;
  place-items:center;}
.match-v2 .story-text {padding:17px 15px;}
.match-v2 .story h3 {font-size:19px;
  margin-bottom:3px;}
.match-v2 .story p {font-size:14px;
  color:var(--muted);}
.match-v2 .reservation {padding:55px 0 60px;
  overflow:hidden;}
.match-v2 .reservation:after {content:"";
  position:absolute;
  width:380px;
  height:210px;
  background:#facdd4;
  right:-140px;
  bottom:-90px;
  z-index:-1;
  border-radius:60% 40% 0 0;
  transform:rotate(-20deg);}
.match-v2 .reservation-grid {display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:80px;
  align-items:center;}
.match-v2 .reservation-copy h2 {margin:15px 0;}
.match-v2 .reservation-copy>p {color:#625c4e;
  max-width:420px;}
.match-v2 .flower {width:62px;
  height:62px;
  color:#f2b1bc;
  margin-bottom:15px;}
.match-v2 .demo-notice {font-size:14px;
  border-left:3px solid #e9bf60;
  padding:10px 14px;
  background:#fff9;
  margin-top:24px;
  max-width:405px;}
.match-v2 .form {border-radius:22px;
  padding:28px 30px;}
.match-v2 .form-hint {margin-bottom:18px;
  font-size:13px;
  color:var(--muted);}
.match-v2 .field {margin-bottom:15px;}
.match-v2 .field label {display:block;
  font-size:14px;
  font-weight:700;
  margin-bottom:5px;}
.match-v2 .required {color:#b53e52;
  font-size:12px;
  margin-left:5px;}
.match-v2 .optional {font-size:12px;
  color:#777;
  font-weight:400;
  margin-left:5px;}
.match-v2 input, .match-v2 select {width:100%;
  min-height:44px;
  padding:9px 12px;
  color:var(--ink);
  background:white;
  border:1px solid #dfdfe4;
  border-radius:7px;
  line-height:1.5;}
.match-v2 input::placeholder {color:#898791;
  font-size:14px;}
.match-v2 input[aria-invalid="true"], .match-v2 select[aria-invalid="true"] {border-color:#b13f54;}
.match-v2 input:focus, .match-v2 select:focus {border-color:#9a7eba;}
.match-v2 .field-row {display:grid;
  grid-template-columns:1fr auto;
  gap:10px;}
.match-v2 .code-button {border:0;
  background:#fff0bf;
  border-radius:7px;
  padding:8px 14px;
  font-size:14px;
  font-weight:700;
  min-height:44px;}
.match-v2 .code-button:hover {background:var(--yellow);}
.match-v2 .error {font-size:14px;
  color:#a32a42;
  margin-top:4px;}
.match-v2 .error:empty {display:none;}
.match-v2 .field-note {font-size:14px;
  color:#665778;
  margin-top:6px;}
.match-v2 .field-note:empty {display:none;}
.match-v2 .submit {width:100%;
  margin-top:5px;}
.match-v2 .status {margin-top:15px;
  background:#e2f3eb;
  border-radius:9px;
  padding:12px 14px;
  color:#315447;
  font-size:15px;}
.match-v2 .status[hidden] {display:none;}
.match-v2 .form-bottom {display:block;
  text-align:center;
  font-size:12px;
  color:#777;
  margin-top:12px;}
.match-v2 {--width:1180px}
.match-v2 .hero-grid {grid-template-columns:.85fr 1.15fr;
  min-height:540px;
  gap:32px;}
.match-v2 .hero-copy {padding-top:64px;}
.match-v2 .hero h1 {white-space:nowrap;}
.match-v2 .hero-copy>p:not(.eyebrow):not(.small) {max-width:465px;
  margin:18px 0 22px;}
.match-v2 .hero-art {margin-right:-94px;
  min-width:0;
  overflow:visible;}
.match-v2 .hero-art:before {inset:9px 20px 40px -36px;
  border-radius:50% 43% 50% 49%/55% 50% 50% 45%;
  transform:rotate(-13deg);}
.match-v2 .cafe {width:100%;
  height:540px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  border-radius:43% 0 0 42%/55% 0 0 45%;
  clip-path:none;
  box-shadow:0 18px 34px #44362b12;}
.match-v2 .section {padding-top:58px;
  padding-bottom:58px;}
.match-v2 .consult {padding-top:47px;}
.match-v2 .steps {gap:0;}
.match-v2 .step {padding:10px 26px 8px 0;
  border-right:1px solid #f1e4e1;}
.match-v2 .step+.step {padding-left:26px;}
.match-v2 .step:last-child {border-right:0;}
.match-v2 .step h3 {font-size:21px;}
.match-v2 .service-grid {gap:16px;}
.match-v2 .service-card {padding:23px 25px;
  grid-template-columns:68px 1fr;
  align-items:center;}
.match-v2 .service-card p {font-size:16px;}
.match-v2 .services {--tint:#dceefa;
  padding-top:62px;
  padding-bottom:58px;}
.match-v2 .choice-grid {grid-template-columns:1.05fr .95fr;
  gap:42px;}
.match-v2 .choice-art {order:2;
  max-width:none;
  overflow:visible;
  padding:0;
  background:transparent;
  border-radius:0;}
.match-v2 .choice-art:before {content:"";
  position:absolute;
  inset:12px 15px 12px -20px;
  border-radius:48% 52% 43% 57%;
  background:#f9dfe3;
  transform:rotate(8deg);}
.match-v2 .choice-art img {position:relative;
  display:block;
  width:100%;
  height:355px;
  object-fit:cover;
  object-position:center;
  border-radius:45% 48% 43% 45%/42% 55% 50% 50%;}
.match-v2 .choice-art figcaption {bottom:11px;
  right:12px;}
.match-v2 .choice-grid>div {order:1;}
.match-v2 .choice-list {display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 22px;}
.match-v2 .choice-list li {border-bottom:0;
  min-height:92px;}
.match-v2 .choice-list li strong {font-size:18px;}
.match-v2 .trust {--tint:#dff2eb;}
.match-v2 .trust-item {min-height:108px;
  padding:23px 18px;}
.match-v2 .guarantee {margin-top:23px;}
.match-v2 .stories {--tint:#fbe6e9;}
.match-v2 .story-picture {height:188px;}
.match-v2 .reservation {--tint:#fff2c5;}
.match-v2 .wave:before {inset:-19px 0;
  border-radius:52% 48% 47% 53%/2% 2% 2% 2%;}
@media(min-width:1500px) {
  .match-v2 .hero-art {margin-right:-80px;}
}
@media(max-width:1000px) {
  .match-v2 {--header:72px}
  .match-v2 .wrap {width:calc(100% - 48px);}
  .match-v2 .service-card {gap:12px;}
  .match-v2 .icon {width:48px;
    height:48px;}
  .match-v2 .heading {gap:24px;}
  .match-v2 .trust-item {padding:19px 15px;
    gap:10px;}
  .match-v2 .trust-item .icon {width:36px;
    height:36px;}
  .match-v2 .reservation-grid {gap:35px;}
  .match-v2 .form {padding:25px;}
  .match-v2 .steps {gap:20px;}
  .match-v2 .step {gap:10px;
    grid-template-columns:32px 1fr;}
  .match-v2 .number {width:30px;
    height:30px;
    font-size:19px;}
  .match-v2 .step h3 {font-size:18px;}
}
@media(max-width:700px) {
  .match-v2 {--header:68px;--space:18px}
  .match-v2 .wrap {width:calc(100% - 40px);}
  .match-v2 .section {padding:42px 0;}
  .match-v2 .eyebrow {font-size:11px;
    margin-bottom:11px;}
  .match-v2 h1 {font-size:42px;}
  .match-v2 .hero-copy>p:not(.eyebrow):not(.small) {margin:14px 0 16px;
    max-width:100%;}
  .match-v2 .tags {gap:6px;
    margin-bottom:18px;}
  .match-v2 .hero-copy .mv-btn {width:100%;
    min-width:0;}
  .match-v2 .hero-art {align-self:auto;}
  .match-v2 .cafe {aspect-ratio:auto;
    clip-path:ellipse(66% 51% at 58% 50%);}
  .match-v2 .heading {display:block;
    margin-bottom:23px;}
  .match-v2 .steps {grid-template-columns:1fr;}
  .match-v2 .step {grid-template-columns:36px 1fr;
    gap:14px;}
  .match-v2 .number {width:34px;
    height:34px;
    font-size:21px;}
  .match-v2 .step h3 {font-size:19px;
    margin:1px 0 4px;}
  .match-v2 .service-grid {grid-template-columns:1fr 1fr;
    gap:12px;}
  .match-v2 .service-card {display:block;}
  .match-v2 .service-card .icon {margin-bottom:12px;}
  .match-v2 .service-card h3 {margin-bottom:6px;}
  .match-v2 .service-card p {line-height:1.6;}
  .match-v2 .service-note {text-align:left;
    font-size:16px;}
  .match-v2 .choice-art {width:100%;
    margin:auto;
    order:2;}
  .match-v2 .choice-art svg {max-height:255px;}
  .match-v2 .choice-list {margin:17px 0 20px;}
  .match-v2 .choice-list p {font-size:16px;}
  .match-v2 .choice-grid .mv-btn {width:100%;}
  .match-v2 .trust-grid {grid-template-columns:1fr;
    gap:12px;}
  .match-v2 .trust-item {gap:18px;}
  .match-v2 .trust-item .icon {width:46px;
    height:46px;}
  .match-v2 .trust-item p {font-size:16px;}
  .match-v2 .guarantee {display:block;
    margin-top:22px;}
  .match-v2 .guarantee h3 span {font-size:17px;}
  .match-v2 .guarantee em {font-size:38px;}
  .match-v2 .story-grid {grid-template-columns:1fr;
    gap:16px;}
  .match-v2 .story {display:grid;
    grid-template-columns:115px 1fr;
    align-items:stretch;}
  .match-v2 .story-text {padding:21px 14px;}
  .match-v2 .story h3 {font-size:18px;}
  .match-v2 .story p {font-size:16px;
    line-height:1.6;}
  .match-v2 .reservation-grid {grid-template-columns:1fr;
    gap:25px;}
  .match-v2 .reservation-copy h2 {margin-top:7px;}
  .match-v2 .flower {width:45px;
    height:45px;
    margin-bottom:8px;}
  .match-v2 .demo-notice {font-size:16px;
    margin-top:18px;}
  .match-v2 .form {padding:23px 20px;}
  .match-v2 .form-hint, .match-v2 .field label {font-size:16px;}
  .match-v2 .field {margin-bottom:17px;}
  .match-v2 .field label .required, .match-v2 .optional {font-size:13px;}
  .match-v2 .code-button {font-size:14px;
    padding:8px 10px;}
  .match-v2 .field-row {gap:8px;
    grid-template-columns:minmax(0,1fr) auto;}
  .match-v2 .error, .match-v2 .field-note, .match-v2 .status {font-size:16px;}
  .match-v2 .wave:before {border-radius:45% 55% 45% 55%/1% 1% 1% 1%;}
}
@media(prefers-reduced-motion:reduce) {
  .match-v2 *, .match-v2 *:before, .match-v2 *:after {transition:none!important;
    animation:none!important;}
}
@media(max-width:1000px) {
  .match-v2 .hero-grid {grid-template-columns:1fr 1fr;
    gap:10px;
    min-height:470px;}
  .match-v2 .hero-art {margin-right:-40px;}
  .match-v2 .cafe {height:470px;}
  .match-v2 .choice-grid {gap:28px;}
  .match-v2 .choice-art img {height:330px;}
  .match-v2 .choice-list {gap:0 12px;}
  .match-v2 .service-card {min-height:135px;
    grid-template-columns:52px 1fr;
    padding:19px 17px;}
  .match-v2 .trust-item {min-height:104px;}
}
@media(max-width:700px) {
  .match-v2 .hero-grid {grid-template-columns:1fr;
    gap:0;}
  .match-v2 .hero-copy {padding:34px 0 15px;}
  .match-v2 .hero-art {height:285px;
    margin:0 -20px;}
  .match-v2 .hero-art:before {inset:10px 2px 15px 32px;}
  .match-v2 .cafe {height:285px;
    object-position:48% center;
    border-radius:30% 0 0 25%/40% 0 0 40%;}
  .match-v2 .steps {gap:13px;}
  .match-v2 .step, .match-v2 .step+.step {padding:7px 0;
    border-right:0;}
  .match-v2 .choice-grid {grid-template-columns:1fr;
    gap:24px;}
  .match-v2 .choice-list {display:block;}
  .match-v2 .choice-list li {min-height:0;
    padding:11px 0;
    border-bottom:1px solid var(--line);}
  .match-v2 .choice-art {max-width:100%;}
  .match-v2 .choice-art img {height:255px;}
  .match-v2 .story-picture {height:100%;
    min-height:145px;}
}
@media(min-width:701px) and (max-width:1000px) {
  .match-v2 .cafe {height:350px;}
  .match-v2 .hero-art:before {inset:45px 9px 42px -15px;}
}
.match-v2 {--font:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;--ink:#302c35;--muted:#6d6872;--accent:#f56571}
.match-v2 {font-family:var(--font);background:#fdfbf8;color:var(--ink);-webkit-font-smoothing:antialiased}
.match-v2 h1, .match-v2 h2, .match-v2 h3, .match-v2 .hero-copy>p:not(.eyebrow):not(.small), .match-v2 .service-card h3, .match-v2 .guarantee h3, .match-v2 .guarantee em, .match-v2 .number {font-family:var(--font);}
.match-v2 h1 {font-weight:700;}
.match-v2 .hero h1 {font-size:clamp(46px,4.5vw,64px);
  letter-spacing:-.035em;}
.match-v2 h2, .match-v2 .heading h2 {font-weight:500;
  letter-spacing:.025em;
  font-size:clamp(28px,2.8vw,38px);}
.match-v2 h3, .match-v2 .step h3, .match-v2 .service-card h3, .match-v2 .trust-item h3 {font-weight:500;}
.match-v2 .hero-copy>p:not(.eyebrow):not(.small) {font-size:20px;
  font-weight:400;
  line-height:1.85;}
.match-v2 .guarantee em {font-weight:500;
  font-style:normal;}
.match-v2 .consult, .match-v2 .choice {background:transparent;}
.match-v2 .consult {padding-bottom:60px;}
.match-v2 .choice {padding-top:64px;
  padding-bottom:64px;}
.match-v2 .wave {background:none;
  isolation:isolate;
  padding-top:76px;
  padding-bottom:76px;
  overflow:visible;}
.match-v2 .wave:before, .match-v2 .wave:after {display:none;}
.match-v2 .section-art {display:block;
  position:absolute;
  left:0;
  width:100%;
  max-width:none;
  z-index:-1;
  pointer-events:none;}
.match-v2 .wave>.wrap {position:relative;
  z-index:1;}
.match-v2 .services {margin:18px 0 20px;}
.match-v2 .trust {margin:14px 0 0;}
.match-v2 .stories {margin-top:0;
  padding-top:77px;
  padding-bottom:80px;}
.match-v2 .reservation {padding-top:86px;
  padding-bottom:86px;
  margin-top:10px;}
.match-v2 .service-card, .match-v2 .trust-item {background:#ffffffa8;
  border:1px solid #ffffffe8;
  backdrop-filter:blur(13px);
  box-shadow:0 10px 34px #53617c08;}
.match-v2 .service-card {border-radius:20px;
  min-height:153px;}
.match-v2 .service-card h3 {font-size:24px;}
.match-v2 .service-card .icon {width:62px;
  height:62px;}
.match-v2 .icon {stroke:#3f3540;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;}
.match-v2 .tag {background:#fff5f6a8;
  border:1px solid #ffe4e8;}
.match-v2 .tag svg {width:20px;
  height:20px;}
.match-v2 .number {background:#fcd5dc;
  font-size:19px;
  color:#75474e;}
.match-v2 .check {background:#fbdce1;
  color:#a53e51;}
.match-v2 .spark {color:#f56571;}
.match-v2 .story {background:#ffffffb8;
  border:2px solid #fffffff0;
  backdrop-filter:blur(12px);
  box-shadow:0 8px 25px #98768c08;}
.match-v2 .story-picture>svg {opacity:1;
  width:106px;
  height:106px;}
.match-v2 .story-picture {background:radial-gradient(ellipse at 20% 15%,#fff9e8,transparent 75%),#f6e6e9;}
.match-v2 .story:nth-child(2) .story-picture {background:radial-gradient(ellipse at 20% 15%,#f5fff9,transparent 75%),#dfece8;}
.match-v2 .story:nth-child(3) .story-picture {background:radial-gradient(ellipse at 20% 15%,#fff4f7,transparent 75%),#e8e0f2;}
.match-v2 .guarantee {background:linear-gradient(115deg,#fff8d5d9,#ffeaa7d9);
  backdrop-filter:blur(12px);
  border-color:#edc967;}
.match-v2 .form {background:#ffffffc9;
  border:1px solid #fff;
  backdrop-filter:blur(15px);
  box-shadow:0 15px 45px #9469830d;}
.match-v2 .reservation-copy h2 {font-weight:500;
  line-height:1.6;
  font-size:36px;}
.match-v2 .reservation-copy .flower {width:52px;
  height:52px;
  transform:rotate(-12deg);}
.match-v2 .hero-art:before {background:linear-gradient(135deg,#f7d6e4,#ffddd5 60%,#eee3f7);}
@media(max-width:1000px) {
  .match-v2 .hero h1 {font-size:44px;}
  .match-v2 .hero-copy>p:not(.eyebrow):not(.small) {font-size:18px;}
  .match-v2 .service-card h3 {font-size:21px;}
  .match-v2 .service-card .icon {width:48px;
    height:48px;}
  .match-v2 .trust-item h3 {font-size:17px;}
  .match-v2 .reservation-copy h2 {font-size:30px;}
}
@media(max-width:700px) {
  .match-v2 .hero-copy>p:not(.eyebrow):not(.small) {font-size:17px;
    line-height:1.8;}
  .match-v2 .hero-copy {padding-top:32px;}
  .match-v2 .heading h2, .match-v2 h2 {font-size:27px;
    font-weight:500;
    letter-spacing:.015em;}
  .match-v2 #consult-title {font-size:25px;
    letter-spacing:0;}
  .match-v2 .section {padding-top:42px;
    padding-bottom:42px;}
  .match-v2 .wave {padding-top:60px;
    padding-bottom:60px;}
  .match-v2 .services, .match-v2 .trust, .match-v2 .stories, .match-v2 .reservation {margin-top:0;
    margin-bottom:0;}
  .match-v2 .consult, .match-v2 .choice {padding-top:42px;
    padding-bottom:42px;}
  .match-v2 .service-card {min-height:159px;
    padding:18px 14px;}
  .match-v2 .service-card h3 {font-size:20px;}
  .match-v2 .service-card p {font-size:16px;}
  .match-v2 .service-card .icon {width:48px;
    height:48px;}
  .match-v2 .trust-item h3 {font-size:18px;}
  .match-v2 .reservation-copy h2 {font-size:30px;}
  .match-v2 .story-picture>svg {width:83px;
    height:83px;}
  .match-v2 .guarantee h3 {font-size:23px;}
  .match-v2 .tag {font-size:13px;
    padding:4px 8px;}
  .match-v2 .tag svg {width:18px;
    height:18px;}
}
.match-v2 .hero {background:#fdfbf8;
  isolation:isolate;}
.match-v2 .hero::before {content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse at 22% 12%,#fbe7ecb3,transparent 64%),radial-gradient(ellipse at 52% 22%,#eee8f775,transparent 56%);
  mask-image:linear-gradient(#000 0%,#000 36%,transparent 100%);}
.match-v2 .hero::after {content:"";
  position:absolute;
  inset:auto 0 0;
  height:68px;
  background:linear-gradient(transparent,#fdfbf8);
  pointer-events:none;
  z-index:3;}
.match-v2 .hero-art::before {content:"";
  position:absolute;
  inset:auto;
  width:clamp(400px,43vw,640px);
  height:auto;
  aspect-ratio:1;
  left:-68px;
  top:1%;
  border-radius:50%;
  transform:rotate(-18deg);
  background:radial-gradient(circle at 27% 21%,#ffffffb3 0%,#fff9fc59 26%,#f5b9cb30 58%,#f2a5c45e 78%,#fff3f896 98%);
  border:1px solid #ffffffb8;
  box-shadow:inset 8px 10px 28px #ffffffa3,inset -12px -16px 34px #f1a3bd45,0 12px 48px #e5b6d12b;
  backdrop-filter:blur(14px) saturate(110%);
  pointer-events:none;}
.match-v2 .hero-art::after {content:"";
  position:absolute;
  width:100px;
  height:100px;
  left:-19px;
  bottom:44px;
  border-radius:50%;
  background:radial-gradient(circle at 28% 22%,#ffffffa8,#ffe9f44d 38%,#ecc8eb33 63%,#f8bad47a 95%);
  border:1px solid #ffffffbd;
  box-shadow:inset 4px 5px 14px #fff9,inset -5px -7px 18px #f2b4ce70,0 5px 24px #c599bf1a;
  backdrop-filter:blur(9px);
  pointer-events:none;
  z-index:2;}
.match-v2 .hero .hero-copy>p.hero-message {font-size:20px;
  line-height:1.85;
  max-width:none;
  letter-spacing:0;
  margin-bottom:24px;}
.match-v2 .hero-message span {white-space:normal;}
.match-v2 .hero-copy {padding-bottom:66px;}
.match-v2 .trust-item {align-items:flex-start;
  padding-top:25px;
  padding-bottom:25px;}
.match-v2 .trust-item .icon {margin-top:4px;}
.match-v2 .trust-item p {line-height:1.8;}
.match-v2 .guarantee {justify-content:center;
  text-align:center;
  padding:27px 24px;}
@media(min-width:701px) and (max-width:1000px) {
  .match-v2 .hero .hero-copy>p.hero-message {font-size:clamp(15px,2.05vw,20px);}
  .match-v2 .hero-art::before {width:420px;
    left:-42px;
    top:22px;}
  .match-v2 .hero-art::after {width:76px;
    height:76px;
    left:-18px;
    bottom:57px;}
}
@media(max-width:700px) {
  .match-v2 .hero-copy {padding-bottom:24px;}
  .match-v2 .hero-art::before {width:310px;
    height:310px;
    left:12px;
    top:-8px;
    aspect-ratio:1;}
  .match-v2 .hero-art::after {width:63px;
    height:63px;
    left:17px;
    bottom:24px;}
  .match-v2 .guarantee {padding:24px 12px;}
  .match-v2 .trust-item {padding:21px 20px;}
}
.match-v2 .guarantee.guarantee-contract {display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(24px,3.2vw,46px);
  padding:28px 32px;
  margin-top:18px;
  background:#ffffffa8;
  border:1px solid #ffffffe8;
  border-radius:20px;
  box-shadow:0 10px 34px #53617c08;
  backdrop-filter:blur(13px);
  color:#47454f;
  text-align:left;}
.match-v2 .guarantee-contract-icon {display:block;
  flex:0 0 auto;
  width:clamp(110px,12vw,160px);
  height:auto;
  object-fit:contain;}
.match-v2 .guarantee-contract-copy {min-width:0;}
.match-v2 .guarantee-exclusive {display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:5px 17px;
  border:2px solid #f1606d;
  border-radius:17px;
  color:#f1606d;
  font-size:21px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.035em;}
.match-v2 .guarantee .guarantee-contract-title {display:flex;
  align-items:baseline;
  gap:22px;
  margin-top:3px;
  font-family:var(--font);
  font-size:clamp(27px,3.15vw,44px);
  font-style:normal;
  font-weight:700;
  line-height:1.3;
  letter-spacing:0;
  color:#47454f;}
.match-v2 .guarantee .guarantee-contract-title span {display:inline;
  margin:0;
  font-size:inherit;}
.match-v2 .guarantee .guarantee-contract-title .guarantee-period {display:inline-flex;
  align-items:baseline;
  gap:6px;
  color:#f1606d;
  white-space:nowrap;}
.match-v2 .guarantee-period strong {font-size:clamp(74px,8.1vw,112px);
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.065em;}
.match-v2 .guarantee .guarantee-contract-title .guarantee-period>span {font-size:clamp(35px,4vw,53px);
  font-weight:700;}
.match-v2 .guarantee-contract-promise {white-space:nowrap;}
@media(max-width:1000px) {
  .match-v2 .guarantee.guarantee-contract {gap:25px;
    padding:25px 24px;}
  .match-v2 .guarantee-contract-icon {width:115px;}
  .match-v2 .guarantee-exclusive {font-size:17px;
    min-height:36px;
    border-radius:14px;
    padding:4px 13px;}
  .match-v2 .guarantee .guarantee-contract-title {font-size:30px;
    gap:15px;}
  .match-v2 .guarantee-period strong {font-size:82px;}
  .match-v2 .guarantee .guarantee-contract-title .guarantee-period>span {font-size:37px;}
}
@media(max-width:700px) {
  .match-v2 .guarantee.guarantee-contract {gap:15px;
    padding:22px 17px;
    border-radius:18px;
    align-items:center;}
  .match-v2 .guarantee-contract-icon {width:75px;}
  .match-v2 .guarantee-exclusive {font-size:14px;
    min-height:31px;
    padding:3px 10px;
    border-radius:12px;}
  .match-v2 .guarantee .guarantee-contract-title {display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    font-size:clamp(20px,5.1vw,26px);
    margin-top:6px;}
  .match-v2 .guarantee-period strong {font-size:68px;}
  .match-v2 .guarantee .guarantee-contract-title .guarantee-period>span {font-size:32px;}
  .match-v2 .guarantee .guarantee-contract-title .guarantee-period {gap:5px;}
  .match-v2 .guarantee-contract-promise {letter-spacing:-.035em;}
}
@media(max-width:360px) {
  .match-v2 .guarantee.guarantee-contract {gap:12px;
    padding:20px 12px;}
  .match-v2 .guarantee-contract-icon {width:62px;}
  .match-v2 .guarantee .guarantee-contract-title {font-size:19px;}
}
.match-v2 a.mv-btn.button--telesto {box-sizing:border-box;
  pointer-events:auto;
  cursor:pointer;
  position:relative;
  isolation:isolate;
  display:inline-block;
  overflow:hidden;
  border:none;
  border-radius:999px;
  padding:1.5rem 3rem;
  margin:0;
  max-width:100%;
  background:#ffe59a;
  color:#47454f;
  font-family:inherit;
  font-weight:800;
  font-style:normal;
  font-size:1.15rem;
  line-height:1.5;
  text-align:center;
  transform:none;}
.match-v2 a.mv-btn.button--telesto:hover, .match-v2 a.mv-btn.button--telesto:focus-visible, .match-v2 a.mv-btn.button--telesto.is-touch-animating {background:#ffe59a;
  color:#fff;
  transform:none;}
.match-v2 .button--telesto span {display:block;
  position:relative;
  z-index:1;}
.match-v2 .button--telesto>span {overflow:hidden;
  mix-blend-mode:normal;}
.match-v2 .button--telesto>span>span {white-space:nowrap;}
.match-v2 .button--telesto::before, .match-v2 .button--telesto::after {box-sizing:border-box;
  content:'';
  position:absolute;
  top:0;
  left:0;
  height:100%;
  background:#f1606d;
  pointer-events:none;}
.match-v2 .button--telesto::before {width:135%;
  clip-path:polygon(75% 0%,100% 50%,75% 100%,0% 100%,0% 0%);
  transform:translate3d(-100%,0,0);}
.match-v2 .button--telesto::after {width:105%;
  transform:translate3d(100%,0,0);
  transition:transform .3s cubic-bezier(.7,0,.2,1);}
.match-v2 .button--telesto:is(:hover,:focus-visible,.is-touch-animating)>span>span {animation:MoveRightInitial .1s forwards,MoveRightEnd .3s forwards .2s;}
.match-v2 .button--telesto:is(:hover,:focus-visible,.is-touch-animating)::before {transform:translate3d(0,0,0);
  transition:transform .3s cubic-bezier(.7,0,.2,1);}
.match-v2 .button--telesto:is(:hover,:focus-visible,.is-touch-animating)::after {transform:translate3d(0,0,0);
  transition:transform .01s .3s cubic-bezier(.7,0,.2,1);}
@keyframes MoveRightInitial {
  to {
    transform:translate3d(105%,0,0);
  }
}
@keyframes MoveRightEnd {
  from {
    transform:translate3d(-100%,0,0);
  }

  to {
    transform:translate3d(0,0,0);
  }
}
@media(max-width:700px) {
  .match-v2 a.mv-btn.button--telesto {padding:1.2rem 2rem;}
}
@media(prefers-reduced-motion:reduce) {
  .match-v2 .button--telesto:is(:hover,:focus-visible,.is-touch-animating)>span>span {animation:none;
    transform:none;}
  .match-v2 .button--telesto::before, .match-v2 .button--telesto::after, .match-v2 .button--telesto:is(:hover,:focus-visible,.is-touch-animating)::before, .match-v2 .button--telesto:is(:hover,:focus-visible,.is-touch-animating)::after {transition:none;}
}
.match-v2 .scroll-reveal {transition:opacity .8s ease var(--reveal-delay,0ms),translate .8s ease var(--reveal-delay,0ms),scale 1s cubic-bezier(.2,.9,.25,1.2) var(--reveal-delay,0ms);}
.match-v2 .scroll-reveal:not(.is-revealed) {opacity:0;
  translate:0 34px;}
.match-v2 .scroll-reveal.reveal-photo:not(.is-revealed) {scale:.96;}
.match-v2 .scroll-reveal.is-revealed {opacity:1;
  translate:0 0;
  scale:1;}
.match-v2 .scroll-reveal:focus-within {opacity:1;
  translate:0 0;
  scale:1;
  transition-delay:0ms;}
@media(max-width:700px) {
  .match-v2 .scroll-reveal:not(.is-revealed) {translate:0 24px;}
}
@media(prefers-reduced-motion:reduce) {
  .match-v2 .scroll-reveal, .match-v2 .scroll-reveal:not(.is-revealed) {opacity:1;
    translate:none;
    scale:none;
    transition:none!important;}
}
@media print {
  .match-v2 .scroll-reveal, .match-v2 .scroll-reveal:not(.is-revealed) {opacity:1;
    translate:none;
    scale:none;
    transition:none!important;}
}
.match-v2 .story-picture {overflow:hidden;}
.match-v2 .story-picture>img {position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;}
.match-v2 .story:nth-child(2) .story-picture>img {object-position:50% 42%;}
@media(max-width:700px) {
  .match-v2 .story-picture>img {object-position:50% 35%;}
  .match-v2 .story:nth-child(2) .story-picture>img {object-position:50% 40%;}
  .match-v2 .story:nth-child(3) .story-picture>img {object-position:62% 40%;}
}
@media(max-width:700px) {
  .match-v2 .hero-grid {display:block;
    position:relative;
    isolation:isolate;
    min-height:0;}
  .match-v2 .hero-grid::before {content:"";
    position:absolute;
    inset:0 -20px;
    z-index:1;
    pointer-events:none;}
  .match-v2 .hero .hero-art {position:absolute;
    bottom:auto;
    left:auto;
    display:block;
    margin:0;
    z-index:0;
    pointer-events:none;}
  .match-v2 .hero .hero-art .cafe {display:block;
    border-radius:0;
    clip-path:none;
    box-shadow:none;}
  .match-v2 .hero .hero-art::before, .match-v2 .hero .hero-art::after {display:none;}
  .match-v2 .hero .hero-copy {position:relative;
    z-index:2;
    padding:30px 0 26px;}
  .match-v2 .hero .eyebrow {font-size:10px;
    letter-spacing:.2em;
    margin-bottom:12px;}
  .match-v2 .hero h1 {letter-spacing:-.035em;}
  .match-v2 .hero .hero-copy>p.hero-message {font-size:clamp(14px,3.9vw,17px);
    line-height:1.85;
    margin:15px 0 19px;
    color:#47454f;}
  .match-v2 .hero .tags {gap:6px;
    margin-bottom:19px;}
  .match-v2 .hero .tag {font-size:12px;
    padding:4px 8px;
    background:rgba(255,248,248,.93);}
  .match-v2 .hero .tag svg {width:16px;
    height:16px;}
  .match-v2 .hero-copy a.mv-btn.button--telesto {width:100%;
    min-width:0;
    padding:1rem 1.5rem;
    font-size:17px;}
  .match-v2 .hero::after {height:20px;
    z-index:1;}
}
.match-v2 .hero-art>picture {display:block;
  width:100%;}
@media(max-width:700px) {
  .match-v2 .hero .hero-art {opacity:1;}
  .match-v2 .hero h1, .match-v2 .hero .hero-copy>p.hero-message {text-shadow:0 0 5px #fdfbf8,0 1px 3px #fdfbf8,1px 0 3px #fdfbf8,-1px 0 3px #fdfbf8;}
}
@media(min-width:701px) {
  .match-v2 .hero {container-type:inline-size;}
  .match-v2 .hero-grid {--hero-edge-space:max(40px,calc((100cqw - var(--width))/2));}
  .match-v2 .hero .hero-art {margin-right:calc(-1 * var(--hero-edge-space));
    transform-origin:right center;}
}
@media(min-width:701px) and (max-width:1000px) {
  .match-v2 .hero-grid {--hero-edge-space:24px;}
}
@media(max-width:700px) {
  .match-v2 .hero .hero-art {top:0;
    max-width:none;
    height:calc(100% - 84px);
    aspect-ratio:auto;}
  .match-v2 .hero-art>picture {height:100%;}
  .match-v2 .hero .hero-art .cafe {width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%);}
}
@media(max-width:700px) {
  .match-v2 .hero .hero-art {right:-20px;
    width:calc(100% + 40px);}
}
@media(min-width:701px) {
  .match-v2 .hero .hero-art>picture {overflow:hidden;
    border-radius:43% 0 0 42%/55% 0 0 45%;}
  .match-v2 .hero .hero-art .cafe {border-radius:0;}
}
@media(min-width:701px) {
  .match-v2 .hero .hero-art .cafe {transform:scale(1.3);
    transform-origin:78% 28%;
    object-position:right center;}
}
@media(max-width:700px) {
  .match-v2 .hero h1 {max-width:58%;
    white-space:normal;
    font-size:clamp(28px,7.7vw,34px);
    line-height:1.25;}
  .match-v2 .hero .hero-art .cafe {object-position:right center;}
  .match-v2 .hero-grid::before {background:linear-gradient(90deg,#fdfbf8 0%,rgba(253,251,248,.96) 22%,rgba(253,251,248,.8) 36%,rgba(253,251,248,.3) 49%,transparent 61%);}
}
.match-v2 .section-art {--wave-edge:48px;
  top:-24px;
  height:calc(100% + 48px);
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDMyIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48cGF0aCBkPSJNMCAxNkMxODAgNCAzMDAgNCA0ODAgMTZTNzgwIDI4IDk2MCAxNlMxMjYwIDQgMTQ0MCAxNlYzMkgwWiIgZmlsbD0id2hpdGUiLz48L3N2Zz4="),linear-gradient(#fff,#fff),url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDMyIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48cGF0aCBkPSJNMCAxNkMxODAgMjggMzAwIDI4IDQ4MCAxNlM3ODAgNCA5NjAgMTZTMTI2MCAyOCAxNDQwIDE2VjBIMFoiIGZpbGw9IndoaXRlIi8+PC9zdmc+");
  mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDMyIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48cGF0aCBkPSJNMCAxNkMxODAgNCAzMDAgNCA0ODAgMTZTNzgwIDI4IDk2MCAxNlMxMjYwIDQgMTQ0MCAxNlYzMkgwWiIgZmlsbD0id2hpdGUiLz48L3N2Zz4="),linear-gradient(#fff,#fff),url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDMyIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48cGF0aCBkPSJNMCAxNkMxODAgMjggMzAwIDI4IDQ4MCAxNlM3ODAgNCA5NjAgMTZTMTI2MCAyOCAxNDQwIDE2VjBIMFoiIGZpbGw9IndoaXRlIi8+PC9zdmc+");
  -webkit-mask-size:100% var(--wave-edge),100% calc(100% - var(--wave-edge) - var(--wave-edge) + 2px),100% var(--wave-edge);
  mask-size:100% var(--wave-edge),100% calc(100% - var(--wave-edge) - var(--wave-edge) + 2px),100% var(--wave-edge);
  -webkit-mask-position:top,center,bottom;
  mask-position:top,center,bottom;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;}
@media(max-width:700px) {
  .match-v2 .section-art {--wave-edge:24px;
    top:-12px;
    height:calc(100% + 24px);}
}
.match-v2 {position:relative;isolation:isolate;overflow-x:clip;overflow-y:visible;background:#fdfbf8;}
@font-face {
  font-family:"GenYoMin H";
  src:url("../fonts/match_v2/genyomin-h.woff2") format("woff2");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}
.match-v2 .prelude {position:relative;
  isolation:auto;
  overflow:visible;
  z-index:auto;
  padding:28px 0 35px;
  background:transparent;
  color:#302c35;}
.match-v2 .prelude-decor {position:absolute;inset:0;z-index:0;pointer-events:none;}
.match-v2 .prelude-content {max-width:900px;position:relative;z-index:3;text-align:center;}
.match-v2 .prelude-quote {display:block;
  height:58px;
  margin-bottom:14px;
  font-family:"GenYoMin H",serif;
  font-weight:900;
  font-size:82px;
  line-height:1;
  color:#c9a7d6;}
.match-v2 #prelude-title {font-family:"GenYoMin H","Noto Serif TC","PMingLiU",serif;
  font-weight:900;
  font-size:clamp(29px,3.3vw,44px);
  line-height:1.75;
  letter-spacing:.035em;
  color:#302c35;
  text-wrap:balance;}
.match-v2 #prelude-title>span {display:block;}
.match-v2 .prelude-divider {display:block;width:58px;height:2px;background:#c9a7d6;margin:25px auto 28px;}
.match-v2 .prelude-description {max-width:700px;
  margin:0 auto 30px;
  font-size:19px;
  line-height:1.95;
  color:#302c35;
  text-wrap:pretty;}
.match-v2 .prelude-description strong {color:#b04a69;font-weight:700;}
.match-v2 .prelude-bubble, .match-v2 .prelude-ring {position:absolute;display:block;aspect-ratio:1;border-radius:50%;}
.match-v2 .prelude-bubble {border:1px solid #ffffffa6;
  background:radial-gradient(circle at 28% 22%,#ffffff80,transparent 60%),linear-gradient(135deg,#fddfe3d9 15%,#fddfe399 52%,#eacbdfcc);
  box-shadow:inset 12px 14px 35px #ffffff52,inset -12px -16px 32px #c9a7d624,0 15px 55px #eacbdf20;
  backdrop-filter:blur(14px);}
.match-v2 .prelude-bubble::after {content:"";position:absolute;inset:0;border-radius:inherit;opacity:.11;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNTAiIGhlaWdodD0iMTUwIj48ZmlsdGVyIGlkPSJncmFpbiI+PGZlVHVyYnVsZW5jZSB0eXBlPSJmcmFjdGFsTm9pc2UiIGJhc2VGcmVxdWVuY3k9Ii44NSIgbnVtT2N0YXZlcz0iMyIgc3RpdGNoVGlsZXM9InN0aXRjaCIvPjxmZUNvbG9yTWF0cml4IHR5cGU9InNhdHVyYXRlIiB2YWx1ZXM9IjAiLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWx0ZXI9InVybCgjZ3JhaW4pIiBvcGFjaXR5PSIuNTUiLz48L3N2Zz4=");background-size:150px 150px;mix-blend-mode:multiply;}
.match-v2 .prelude-bubble-left {width:330px;left:-126px;top:-142px;}
.match-v2 .prelude-bubble-right {width:295px;right:-108px;bottom:-158px;}
.match-v2 .prelude-ring {border:1.5px solid #c9a7d680;}
.match-v2 .prelude-ring-left {width:300px;left:-28px;top:-52px;}
.match-v2 .prelude-ring-right {width:320px;right:-139px;bottom:-65px;border-color:#eacbdfcc;}
.match-v2 .prelude a.mv-btn.button--telesto {min-width:258px;padding:1.1rem 2.6rem;font-size:17px;font-style:normal;}
@media(max-width:700px) {
  .match-v2 .prelude {padding:28px 0 24px;}
  .match-v2 .prelude-content {width:calc(100% - 40px);}
  .match-v2 .prelude-quote {font-size:66px;height:46px;margin-bottom:9px;}
  .match-v2 #prelude-title {font-size:clamp(21px,5.6vw,29px);line-height:1.8;letter-spacing:.01em;}
  .match-v2 .prelude-divider {width:44px;margin:19px auto 22px;}
  .match-v2 .prelude-description {font-size:16px;line-height:1.95;margin-bottom:24px;max-width:430px;}
  .match-v2 .prelude-bubble-left {width:180px;left:-110px;top:-98px;}
  .match-v2 .prelude-ring-left {width:174px;left:-91px;top:-53px;}
  .match-v2 .prelude-bubble-right {width:165px;right:-108px;bottom:-79px;}
  .match-v2 .prelude-ring-right {width:174px;right:-105px;bottom:-35px;}
  .match-v2 .prelude a.mv-btn.button--telesto {width:min(100%,320px);min-width:0;padding:1rem 1.5rem;}
  .match-v2 .hero .hero-art {height:calc(100% - 12px);}
}
.match-v2 .hero {isolation:auto;}
.match-v2 .hero-grid {isolation:auto;}
.match-v2 .hero::before {z-index:0;}
.match-v2 .hero .hero-art {z-index:1;}
.match-v2 .hero-grid::before, .match-v2 .hero::after {z-index:0;}
.match-v2 .hero .hero-copy {z-index:3;}
.match-v2 .consult>.wrap {position:relative;z-index:3;}
@media(min-width:701px) {
  .match-v2 .hero .hero-art>picture {-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 88%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 88%,transparent 100%);}
}
@media(max-width:700px) {
  .match-v2 .hero .hero-art>picture {-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.04) 22%,rgba(0,0,0,.2) 36%,rgba(0,0,0,.7) 49%,#000 61%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.04) 22%,rgba(0,0,0,.2) 36%,rgba(0,0,0,.7) 49%,#000 61%);}
}
.match-v2 .prelude-cta-note {margin:5px auto 0;font-size:14px;line-height:23px;font-weight:400;color:#6d6872;text-align:center;text-wrap:balance;}
.match-v2 .pain-points {position:relative;isolation:auto;overflow:visible;padding:40px 0 34px;background:transparent;color:#302c35;}
.match-v2 .pain-content {position:relative;z-index:3;max-width:780px;text-align:center;font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;}
.match-v2 #pain-title {margin:0;font-family:"GenYoMin H","PMingLiU",serif;font-weight:900;font-size:clamp(32px,3.5vw,46px);line-height:1.23;letter-spacing:.035em;}
.match-v2 #pain-title>span {display:block;}
.match-v2 #pain-title .pain-title-accent {position:relative;display:table;margin:0 auto;color:#874682;padding-bottom:12px;}
.match-v2 .pain-title-accent svg {position:absolute;bottom:0;left:8%;width:88%;height:12px;color:#feafce;}
.match-v2 .pain-list {max-width:650px;margin:38px auto 32px;padding:0;list-style:none;text-align:left;font-size:20px;line-height:1.85;}
.match-v2 .pain-list li {display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:22px;padding:19px 12px;border-bottom:1px solid #eacbdf99;}
.match-v2 .pain-check {display:block;width:18px;height:18px;margin-top:9px;stroke:#874682;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.match-v2 .pain-list strong {font-weight:700;}
.match-v2 .pain-conclusion {margin:0 0 20px;font-family:"GenYoMin H","Noto Serif TC","PMingLiU",serif;font-size:clamp(21px,2.5vw,28px);font-weight:900;line-height:1.7;color:#874682;text-wrap:balance;}
.match-v2 .pain-encouragement {margin:0;font-size:20px;line-height:1.7;letter-spacing:.035em;}
.match-v2 .pain-scroll-cue {display:block;width:30px;height:20px;margin:24px auto 0;color:#874682;opacity:.4;}
.match-v2 .pain-decor {position:absolute;inset:0;z-index:0;pointer-events:none;}
.match-v2 .pain-bubble, .match-v2 .pain-ring, .match-v2 .pain-dot {position:absolute;display:block;aspect-ratio:1;border-radius:50%;}
.match-v2 .pain-bubble {border:1px solid #ffffff99;background:radial-gradient(circle at 25% 20%,#ffffffb3,transparent 65%),linear-gradient(145deg,#fddfe399,#eacbdf80 60%,#eccff08c);box-shadow:inset 12px 14px 35px #ffffff70,inset -12px -16px 32px #eacbdf33,0 0 65px #fddfe330;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.match-v2 .pain-bubble::after {content:"";position:absolute;inset:0;border-radius:inherit;opacity:.11;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNTAiIGhlaWdodD0iMTUwIj48ZmlsdGVyIGlkPSJncmFpbiI+PGZlVHVyYnVsZW5jZSB0eXBlPSJmcmFjdGFsTm9pc2UiIGJhc2VGcmVxdWVuY3k9Ii44NSIgbnVtT2N0YXZlcz0iMyIgc3RpdGNoVGlsZXM9InN0aXRjaCIvPjxmZUNvbG9yTWF0cml4IHR5cGU9InNhdHVyYXRlIiB2YWx1ZXM9IjAiLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWx0ZXI9InVybCgjZ3JhaW4pIiBvcGFjaXR5PSIuNTUiLz48L3N2Zz4=") 0 0/150px 150px;mix-blend-mode:multiply;}
.match-v2 .pain-bubble-top {width:155px;left:-72px;top:22px;}
.match-v2 .pain-bubble-left {width:310px;left:-180px;bottom:28px;background:radial-gradient(circle at 25% 20%,#ffffffa6,transparent 60%),linear-gradient(145deg,#eccff0a6,#fddfe399);}
.match-v2 .pain-bubble-right {width:350px;right:-235px;top:27%;}
.match-v2 .pain-ring {border:1.5px solid #eacbdfcc;}
.match-v2 .pain-ring-left {width:245px;left:-120px;bottom:55px;border-color:#ffffff;}
.match-v2 .pain-ring-right {width:285px;right:-185px;top:32%;border-color:#87468240;}
.match-v2 .pain-dot {width:26px;right:89px;top:44%;background:#eccff099;}
@media(max-width:700px) {
  .match-v2 .pain-points {padding:20px 0;}
  .match-v2 .pain-content {width:calc(100% - 40px);}
  .match-v2 #pain-title {font-size:clamp(27px,7.4vw,35px);line-height:1.25;letter-spacing:.015em;}
  .match-v2 .pain-title-accent svg {height:10px;}
  .match-v2 .pain-list {margin:20px auto 18px;font-size:17px;line-height:1.85;}
  .match-v2 .pain-list li {grid-template-columns:15px minmax(0,1fr);gap:14px;padding:12px 0;}
  .match-v2 .pain-check {width:15px;height:15px;margin-top:8px;}
  .match-v2 .pain-conclusion {font-size:21px;margin-bottom:16px;}
  .match-v2 .pain-encouragement {font-size:17px;letter-spacing:.01em;}
  .match-v2 .pain-bubble-top {width:95px;left:-64px;top:15px;}
  .match-v2 .pain-bubble-left {width:210px;left:-155px;bottom:18px;}
  .match-v2 .pain-bubble-right {width:190px;right:-156px;top:29%;}
  .match-v2 .pain-ring-left {width:180px;left:-130px;bottom:42px;}
  .match-v2 .pain-ring-right {width:180px;right:-155px;top:34%;}
  .match-v2 .pain-dot {width:17px;right:18px;top:38%;}
}
.match-v2 .services-benefits {font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;}
.match-v2 .services-benefits .benefits-heading {display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;margin-bottom:34px;}
.match-v2 .services-benefits #services-title {font-size:clamp(28px,3vw,36px);line-height:1.5;font-weight:700;color:#302c35;text-wrap:balance;}
.match-v2 .services-benefits #services-title>span:last-child {color:#f56571;}
.match-v2 .services-benefits .benefits-subtitle {margin:12px auto 0;font-size:19px;line-height:1.7;color:#6d6872;text-wrap:balance;}
.match-v2 .benefits-subtitle strong {font-weight:700;color:#302c35;}
.match-v2 .services-benefits .service-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:20px;}
.match-v2 .services-benefits .service-card {grid-template-columns:56px minmax(0,1fr);align-items:center;gap:22px;min-height:164px;padding:26px 28px;border-radius:24px;}
.match-v2 .services-benefits .service-card .icon {width:56px;height:56px;}
.match-v2 .services-benefits .service-card h3 {margin:0 0 8px;font-size:22px;line-height:1.5;font-weight:700;color:#302c35;}
.match-v2 .services-benefits .service-card p {margin:0;font-size:17px;line-height:1.85;color:#6d6872;}
@media(max-width:700px) {
  .match-v2 .services-benefits .benefits-heading {margin-bottom:26px;}
  .match-v2 .services-benefits #services-title {font-size:clamp(25px,6.8vw,32px);line-height:1.5;}
  .match-v2 .services-benefits #services-title>span {display:block;}
  .match-v2 .services-benefits .benefits-subtitle {font-size:16px;margin-top:10px;}
  .match-v2 .services-benefits .service-grid {grid-template-columns:minmax(0,1fr);gap:14px;}
  .match-v2 .services-benefits .service-card {grid-template-columns:44px minmax(0,1fr);gap:16px;min-height:0;padding:23px 20px;border-radius:22px;}
  .match-v2 .services-benefits .service-card .icon {width:44px;height:44px;}
  .match-v2 .services-benefits .service-card h3 {font-size:19px;margin-bottom:7px;}
  .match-v2 .services-benefits .service-card p {font-size:16px;line-height:1.8;}
}
.match-v2 .consult-journey {font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;}
.match-v2 .consult-journey .steps {grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:28px;}
.match-v2 .consult-journey .step, .match-v2 .consult-journey .step+.step {grid-template-columns:42px minmax(0,1fr);gap:16px;padding:8px 0;border-right:0;}
.match-v2 .consult-journey .number {width:40px;height:40px;font-size:18px;font-variant-numeric:tabular-nums;}
.match-v2 .consult-journey .step h3 {margin:1px 0 6px;font-size:21px;line-height:1.5;color:#302c35;}
.match-v2 .consult-journey .step p {font-size:16px;line-height:1.85;color:#6d6872;}
@media(max-width:700px) {
  .match-v2 .consult-journey .steps {grid-template-columns:minmax(0,1fr);gap:20px;}
  .match-v2 .consult-journey .step, .match-v2 .consult-journey .step+.step {grid-template-columns:38px minmax(0,1fr);gap:14px;padding:5px 0;}
  .match-v2 .consult-journey .number {width:36px;height:36px;font-size:17px;}
  .match-v2 .consult-journey .step h3 {font-size:19px;margin-bottom:4px;}
}
.match-v2 svg.spark {width:28px;height:28px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;}
.match-v2 .trust .heading, .match-v2 .stories .heading {justify-content:center;text-align:center;}
.match-v2 #trust-title, .match-v2 #stories-title {width:100%;text-align:center;}
.match-v2 .floating-consultation {position:relative;z-index:20;flex:0 0 auto;display:flex;justify-content:center;width:100%;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #eacbdf80;background:#fdfbf8;overflow:hidden;}
.match-v2 .floating-consultation-button {position:relative;isolation:isolate;display:block;width:min(324px,100%);box-sizing:border-box;padding:12.6px 21.6px;opacity:1;border:1px solid transparent;border-radius:999px;background:transparent;color:#673663;text-decoration:none;font-family:var(--font);font-size:16.2px;font-weight:700;line-height:1.5;-webkit-tap-highlight-color:transparent;}
.match-v2 .floating-consultation-button::before {content:"";position:absolute;z-index:-1;inset:0;border:1px solid #ffffffd9;border-radius:inherit;background:linear-gradient(125deg,#ffffff 0%,#fddfe3 46%,#eacbdf 78%,#ffffff);box-shadow:0 9px 32px #67487924,inset 0 2px 3px #ffffffed,inset 0 -3px 8px #b891b82e;backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);transition:transform .3s cubic-bezier(.7,0,.2,1);pointer-events:none;}
.match-v2 .floating-consultation-content {display:block;position:relative;overflow:hidden;transition:transform .3s;transform:translate3d(0,0,0);}
.match-v2 .floating-consultation-inner {display:flex;align-items:center;justify-content:center;gap:14.4px;}
.match-v2 .floating-consultation-icon {display:block;width:37.8px;height:37.8px;flex:0 0 37.8px;object-fit:contain;filter:brightness(0) invert(1);transform:rotate(90deg);}
.match-v2 .floating-consultation-label {white-space:nowrap;}
.match-v2 .floating-consultation-button:is(:hover,:focus-visible,.is-touch-animating)::before {transform:translate3d(0,-10px,0);}
.match-v2 .floating-consultation-button:is(:hover,:focus-visible,.is-touch-animating)>.floating-consultation-content {transform:translate3d(0,-.555rem,0);}
.match-v2 .floating-consultation-button:is(:hover,:focus-visible,.is-touch-animating) .floating-consultation-inner {animation:narviMoveUpInitial .15s forwards,narviMoveUpEnd .15s forwards .15s;}
.match-v2 .floating-consultation-button:focus-visible {outline:3px solid #874682;outline-offset:5px;}
@keyframes narviMoveUpInitial {to {transform:translate3d(0,-105%,0);}}
@keyframes narviMoveUpEnd {from {transform:translate3d(0,100%,0);}to {transform:translate3d(0,0,0);}}
@media(max-width:700px) {
  .match-v2 .floating-consultation {box-sizing:border-box;height:calc(68px + env(safe-area-inset-bottom,0px));padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));}
  .match-v2 .floating-consultation-button {width:min(306px,100%);padding:5.4px 18px;font-size:15.3px;}
  .match-v2 .floating-consultation-icon {width:34.2px;height:34.2px;flex-basis:34.2px;}
}
.match-v2:has(#reservation-form:focus-within) .floating-consultation {display:none;}
@media(prefers-reduced-motion:reduce) {
  .match-v2 .floating-consultation-button::before, .match-v2 .floating-consultation-content {transition:none;}
  .match-v2 .floating-consultation-button:is(:hover,:focus-visible,.is-touch-animating)::before, .match-v2 .floating-consultation-button:is(:hover,:focus-visible,.is-touch-animating)>.floating-consultation-content {transform:none;}
  .match-v2 .floating-consultation-button:is(:hover,:focus-visible,.is-touch-animating) .floating-consultation-inner {animation:none;}
}
@media print {
  .match-v2 .floating-consultation {display:none;}
}

/* 網站版：改版稿的浮動諮詢列原本是整頁版型的最下面一列，這裡改成黏在畫面底部，捲到內容結尾（頁尾之前）就停住 */
.match-v2 .floating-consultation {position:sticky;bottom:0;}

/* 居住地下拉：原生箭頭會貼在最右邊，改用自訂箭頭並往內縮 */
.match-v2 select {-webkit-appearance:none;appearance:none;padding-right:42px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%236d6872' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center/14px 14px;}

/* 表單區（最後一個區塊）底部不要波浪，背景直接平鋪到頁尾：只留上緣波浪，下方實心延伸到區塊底 */
.match-v2 .reservation .section-art {height:calc(100% + var(--wave-edge) / 2);
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDMyIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48cGF0aCBkPSJNMCAxNkMxODAgNCAzMDAgNCA0ODAgMTZTNzgwIDI4IDk2MCAxNlMxMjYwIDQgMTQ0MCAxNlYzMkgwWiIgZmlsbD0id2hpdGUiLz48L3N2Zz4="),linear-gradient(#fff,#fff);
  mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDMyIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48cGF0aCBkPSJNMCAxNkMxODAgNCAzMDAgNCA0ODAgMTZTNzgwIDI4IDk2MCAxNlMxMjYwIDQgMTQ0MCAxNlYzMkgwWiIgZmlsbD0id2hpdGUiLz48L3N2Zz4="),linear-gradient(#fff,#fff);
  -webkit-mask-size:100% var(--wave-edge),100% calc(100% - var(--wave-edge) + 2px);
  mask-size:100% var(--wave-edge),100% calc(100% - var(--wave-edge) + 2px);
  -webkit-mask-position:top,bottom;
  mask-position:top,bottom;}
.match-v2 .reservation:after {display:none;}
/* 黏住的預約列在內容最後原本會多佔一條米白底，改成疊在表單區底部的留白上（桌機 90px、700px 以下 68px） */
.match-v2 .floating-consultation {margin-top:-90px;}
@media (max-width:700px) {
  .match-v2 .floating-consultation {margin-top:-68px;}
}

/* 表單已經在畫面上時，預約列往下收起（按了也只是捲到這裡），捲回上面再出現 */
.match-v2 .floating-consultation {transition:transform .3s ease,opacity .3s ease;}
.match-v2 .floating-consultation.is-tucked {transform:translateY(100%);opacity:0;pointer-events:none;}
@media (prefers-reduced-motion:reduce) {
  .match-v2 .floating-consultation {transition:none;}
}

/* 這頁底部多了黏住的預約列（桌機 90px、700px 以下 68px），把共用浮動按鈕（回頂端／LINE／LINE 速配）往上移，避免疊在預約列上 */
body:has(.match-v2) .floating-actions {bottom:calc(30px + 90px);}
@media (max-width:768px) {
  body:has(.match-v2) .floating-actions {bottom:calc(10px + 90px);}
}
@media (max-width:700px) {
  body:has(.match-v2) .floating-actions {bottom:calc(10px + 68px);}
}
