@font-face {
    font-family: 'JF Open Huninn';
    src: url('../fonts/jf-openhuninn-2.1.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }
  :root{--teal:#83b8b3;--teal2:#5d9490;--cream:#fff9ef;--pink:#ffd7e2;--blue:#ccecf5;--yellow:#ffe99c;--green:#cce8b3;--purple:#443054;--text:#534b58;--shadow:0 18px 45px rgba(89,75,100,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{
    margin:0;
    background:var(--cream);
    color:var(--text);
    font-family:'JF Open Huninn','PingFang TC','Microsoft JhengHei',sans-serif;
  }a{color:inherit;text-decoration:none}.site-header{height:78px;padding:8px 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(255,249,239,.93);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);box-shadow:0 5px 20px rgba(60,45,70,.06)}.brand{display:flex;align-items:center;gap:10px}.brand img{width:55px;height:55px;border-radius:50%;box-shadow:0 7px 16px rgba(60,80,75,.18)}.brand strong,.brand small{display:block}.brand strong{font-family:'JF Open Huninn','PingFang TC','Microsoft JhengHei',sans-serif;font-size:19px;color:var(--purple)}.brand small{font:700 9px Nunito;letter-spacing:.13em;color:var(--teal2)}.nav{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:800}.nav a:hover{color:var(--teal2)}.nav-line{padding:10px 16px;border-radius:99px;background:#06c755;color:white!important}.menu-toggle{display:none;border:0;background:none;font-size:26px}.hero{min-height:calc(100vh - 78px);position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding:50px 7vw;background:linear-gradient(180deg,#c9eff7 0%,#fdf6cf 64%,#f8d9dd 100%)}.sky{position:absolute;inset:0}.cloud{position:absolute;font-size:100px;color:white;filter:drop-shadow(0 8px 0 rgba(255,255,255,.35));animation:float 5s ease-in-out infinite}.c1{left:5%;top:6%}.c2{right:8%;top:14%;font-size:72px;animation-delay:1s}.rainbow{position:absolute;right:7%;top:25%;font-size:90px;transform:rotate(10deg)}.star{position:absolute;color:#fff;font-size:28px;animation:twinkle 1.6s infinite}.s1{left:33%;top:15%}.s2{right:30%;top:9%;animation-delay:.6s}.cartoon-world{position:absolute;left:3%;bottom:3%;width:58%;height:70%}.pet-house{position:absolute;left:28%;bottom:10%;width:250px;height:220px}.roof{position:absolute;width:220px;height:100px;background:#ff9eb9;clip-path:polygon(50% 0,100% 100%,0 100%);left:15px;top:0}.house-body{position:absolute;left:30px;bottom:0;width:190px;height:145px;background:#fff7df;border:6px solid #704b7d;border-radius:26px}.window{position:absolute;left:25px;top:28px;width:52px;height:52px;background:#bfe5f1;border:5px solid #704b7d;border-radius:50%;display:grid;place-items:center;color:#e3789b;font-size:25px}.door{position:absolute;right:28px;bottom:0;width:60px;height:90px;background:#bca6d3;border:5px solid #704b7d;border-radius:30px 30px 0 0}.tree{position:absolute;bottom:8%;width:90px;height:170px;background:#b98565;border-radius:35px}.tree span{position:absolute;width:150px;height:130px;background:#a9db8a;border:6px solid #5e8e68;border-radius:50%;left:-30px;top:-65px}.t1{left:4%}.t2{right:2%;transform:scale(.8)}.cute-dog,.cute-cat{position:absolute;bottom:5%;animation:bounce 1.8s ease-in-out infinite}.cute-dog{left:12%;width:150px;height:155px}.d-head{position:absolute;width:105px;height:95px;left:22px;top:15px;background:#fff6e7;border:6px solid #51405f;border-radius:48%}.d-ear{position:absolute;width:42px;height:58px;background:#cda8df;border:6px solid #51405f;border-radius:60% 60% 30% 30%;top:0}.d-ear.l{left:12px;transform:rotate(-28deg)}.d-ear.r{right:12px;transform:rotate(28deg)}.eye{position:absolute;width:9px;height:13px;background:#51405f;border-radius:50%;top:36px}.eye.l{left:28px}.eye.r{right:28px}.nose{position:absolute;width:19px;height:15px;background:#51405f;border-radius:50%;left:40px;top:55px}.d-body{position:absolute;width:110px;height:80px;background:#fff6e7;border:6px solid #51405f;border-radius:50%;left:20px;bottom:0}.d-tail{position:absolute;width:55px;height:20px;border:7px solid #51405f;border-left:0;border-bottom:0;border-radius:50%;right:-3px;bottom:45px;animation:wag .35s alternate infinite}.cute-cat{left:62%;width:125px;height:145px;animation-delay:.4s}.cat-head{position:absolute;width:90px;height:85px;background:#ffd4df;border:6px solid #51405f;border-radius:45%;left:18px}.cat-head:before,.cat-head:after{content:'';position:absolute;width:35px;height:42px;background:#ffd4df;border:6px solid #51405f;top:-25px;z-index:-1}.cat-head:before{left:0;transform:rotate(-25deg)}.cat-head:after{right:0;transform:rotate(25deg)}.cat-head b{position:absolute;width:14px;height:10px;background:#51405f;border-radius:50%;left:32px;top:52px}.cat-body{position:absolute;width:95px;height:80px;background:#ffd4df;border:6px solid #51405f;border-radius:50%;left:15px;bottom:0}.cat-tail{position:absolute;width:60px;height:70px;border:8px solid #51405f;border-left:0;border-bottom:0;border-radius:60%;right:-25px;bottom:20px;animation:wag .6s alternate infinite}.bubble{position:absolute;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.75);display:grid;place-items:center;color:#e583a3;font-size:23px;animation:bubble 4s infinite}.b1{left:10%;bottom:35%}.b2{left:68%;bottom:45%;animation-delay:1.2s}.b3{right:5%;bottom:25%;animation-delay:2.2s}.hero-content{position:relative;z-index:5;text-align:center;grid-column:2}.hero-logo{width:155px;height:155px;border-radius:50%;box-shadow:var(--shadow);animation:float 4s ease-in-out infinite}.eyebrow{font:800 11px Nunito;letter-spacing:.2em;color:var(--teal2)}h1,h2,h3{color:var(--purple)}.hero h1{font-family:'JF Open Huninn','PingFang TC','Microsoft JhengHei',sans-serif;font-size:60px;margin:8px 0}.hero-subtitle{font-size:28px;font-weight:900;margin:0 0 8px}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:25px}.actions.left{justify-content:flex-start}.btn{display:inline-block;padding:14px 23px;border-radius:999px;font-weight:900;box-shadow:0 10px 22px rgba(70,55,80,.12);transition:.2s}.btn:hover{transform:translateY(-3px) scale(1.02)}.line{background:#06c755;color:white}.cream{background:white;color:var(--purple)}.section{padding:95px 7vw}.pastel{background:#f9edf2}.heading{text-align:center;max-width:720px;margin:0 auto 45px}.heading h2{font-size:40px}.cards{display:grid;gap:20px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.cards article,.service-grid a{background:white;border-radius:28px;padding:30px;box-shadow:var(--shadow);border:4px solid white}.cards article{font-size:38px}.cards h3{font-size:20px}.cards p{font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-grid a{text-align:center}.service-grid span{font-size:70px}.cta{text-align:center;background:linear-gradient(135deg,#ccecf5,#ffd7e2,#fff0b8)}.cta img{width:110px;border-radius:50%}.page-hero{padding:110px 7vw 85px;text-align:center;background:linear-gradient(135deg,#ccecf5,#ffd7e2)}.page-hero h1{font-size:52px;margin:10px}.page-hero.hotel{background:linear-gradient(135deg,#dff3dd,#ccecf5)}.page-hero.groom{background:linear-gradient(135deg,#ffd7e2,#fff0b8)}.page-hero.space{background:linear-gradient(135deg,#ccecf5,#e8d9f5)}.page-hero.price{background:linear-gradient(135deg,#fff0b8,#ffd7e2)}.room{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px;margin-bottom:45px}.room.reverse .art{order:2}.art{min-height:330px;border-radius:32px;display:grid;place-items:center;font-size:100px;box-shadow:var(--shadow)}.blue{background:#ccecf5}.pink{background:#ffd7e2}.yellow{background:#fff0b8}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.timeline span{background:white;padding:22px;border-radius:20px;text-align:center;font-weight:900;box-shadow:var(--shadow)}.before-after{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:50px}.before-after div{width:250px;height:300px;background:white;border-radius:30px;display:grid;place-items:center;font-size:100px;box-shadow:var(--shadow)}.before-after b{display:block;font-size:18px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery div{height:260px;border-radius:28px;background:linear-gradient(135deg,#aacfd0,#f5cbd8);display:grid;place-items:end start;padding:25px;color:white;font-size:22px;font-weight:900;box-shadow:var(--shadow)}.note{color:#877c89;text-align:center;margin-top:25px}.guide{margin-top:40px;background:white;padding:35px;border-radius:28px;box-shadow:var(--shadow)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center}.map{padding:10px;background:white;border-radius:28px;box-shadow:var(--shadow)}.map iframe{width:100%;height:430px;border:0;border-radius:20px}footer{padding:45px 7vw 90px;background:#443054;color:white;display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand img{width:72px;border-radius:50%}footer small{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:18px}.mobile-bar{display:none}@keyframes float{50%{transform:translateY(-10px)}}@keyframes bounce{50%{transform:translateY(-12px) rotate(-1deg)}}@keyframes wag{to{transform:rotate(25deg)}}@keyframes bubble{0%{transform:translateY(30px);opacity:0}30%{opacity:1}100%{transform:translateY(-150px);opacity:0}}@keyframes twinkle{50%{opacity:.3;transform:scale(.7)}}@media(max-width:950px){.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:20px;flex-direction:column}.nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:90px;min-height:900px}.hero-content{grid-column:1;align-self:start}.cartoon-world{width:100%;left:0;height:52%}.cards.four{grid-template-columns:1fr 1fr}.room,.contact-grid{grid-template-columns:1fr}.room.reverse .art{order:0}.timeline{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}}@media(max-width:620px){.brand small{display:none}.hero h1{font-size:44px}.hero-logo{width:115px;height:115px}.cartoon-world{transform:scale(.75);transform-origin:center bottom;left:-10%;width:120%}.pet-house{left:30%}.cards.four,.cards.two,.service-grid,.gallery{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.section{padding:70px 20px}.page-hero h1{font-size:38px}.before-after div{width:42%;height:230px;font-size:70px}.mobile-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:60;background:white}.mobile-bar a{text-align:center;padding:13px;font-weight:900}.mobile-bar a:nth-child(2){background:#06c755;color:white}.mobile-bar a:nth-child(3){background:#ffe99c}footer{grid-template-columns:1fr;padding-bottom:100px}}

/* ===== 首頁影片 Hero：整理後最終版 ===== */
.hero.cute-hero {
  position: relative;
  width: 100%;
  height: calc(100vh - 86px);
  min-height: 620px;
  max-height: 850px;
  overflow: hidden;
  display: block;
  padding: 0;
  background: #f8f1df;
}

.hero.cute-hero .sky {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}

.hero.cute-hero .cloud,
.hero.cute-hero .star,
.hero.cute-hero .rainbow {
  display: none !important;
}

.hero.cute-hero .bath-world {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  transform: none !important;
  display: block;
}

.hero.cute-hero .hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.hero.cute-hero .hero-content {
  position: absolute !important;
  z-index: 5;
  top: 50%;
  right: 5vw;
  width: min(42vw, 620px) !important;
  max-width: 620px;
  margin: 0 !important;
  padding: 20px !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
}

.hero.cute-hero .hero-logo {
  width: 150px;
  height: 150px;
  object-fit: contain;
  margin: 0 auto 4px;
}

.hero.cute-hero .eyebrow {
  margin: 0;
  white-space: nowrap;
  font-size: clamp(13px, 1vw, 18px);
  letter-spacing: .18em;
}

.hero.cute-hero h1 {
  margin: 0;
  white-space: nowrap !important;
  font-size: clamp(54px, 5.2vw, 88px) !important;
  line-height: 1.08 !important;
}

.hero.cute-hero .hero-subtitle {
  margin: 0;
  white-space: nowrap;
  font-size: clamp(25px, 2.2vw, 38px) !important;
}

.hero.cute-hero .hero-content > p:not(.eyebrow):not(.hero-subtitle) {
  margin: 4px 0 10px;
  white-space: nowrap;
  font-size: clamp(16px, 1.25vw, 22px);
}

.hero.cute-hero .actions {
  width: 100%;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-top: 8px;
}

.hero.cute-hero .actions .btn {
  width: auto !important;
  min-width: 145px;
  margin: 0 !important;
  padding: 16px 22px;
  white-space: nowrap;
}

@media (max-width: 950px) {
  .hero.cute-hero {
    height: auto;
    min-height: 900px;
    max-height: none;
  }

  .hero.cute-hero .hero-video {
    object-position: 35% center;
  }

  .hero.cute-hero .hero-content {
    top: auto;
    right: 5%;
    bottom: 45px;
    left: 5%;
    width: 90% !important;
    max-width: none;
    padding: 24px !important;
    transform: none !important;
    border-radius: 28px;
    background: rgba(255, 250, 238, .88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .hero.cute-hero h1 {
    font-size: clamp(42px, 11vw, 68px) !important;
  }

  .hero.cute-hero .actions {
    flex-wrap: wrap !important;
  }
}

@media (max-width: 620px) {
  .hero.cute-hero {
    position: relative !important;
    height: 590px !important;
    min-height: 590px !important;
    max-height: 590px !important;
    overflow: hidden !important;
    background: #fff8eb;
  }

  .hero.cute-hero .sky,
  .hero.cute-hero .bath-world {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .hero.cute-hero .hero-video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 24% 18% !important;
  }

  .hero.cute-hero .hero-content {
    position: absolute !important;
    top: auto !important;
    right: 18px !important;
    bottom: 0px !important;
    left: 18px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 18px 16px !important;
    transform: none !important;
    background: rgba(255, 250, 239, 0.15) !important;
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid rgba(255,255,255,0.55);
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 24px !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    text-align: center !important;
  }

  .hero.cute-hero .hero-logo {
    width: 70px !important;
    height: 70px !important;
    margin: 0 auto 2px !important;
  }

  .hero.cute-hero .eyebrow {
    margin: 0 !important;
    font-size: 9px !important;
    letter-spacing: .14em !important;
    white-space: nowrap !important;
  }

  .hero.cute-hero h1 {
    margin: 0 !important;
    font-size: 34px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }

  .hero.cute-hero .hero-subtitle {
    margin: 0 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .hero.cute-hero .hero-content > p:not(.eyebrow):not(.hero-subtitle) {
    margin: 3px 0 5px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }

  .hero.cute-hero .actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 7px !important;
    margin-top: 5px !important;
  }

  .hero.cute-hero .actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    padding: 11px 5px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .hero.cute-hero + .section {
    margin-top: 0 !important;
    padding-top: 55px !important;
  }
}