@font-face {
  font-family: 'Figtree';
  src: url('../fonts/Figtree-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Figtree';
  src: url('../fonts/Figtree-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: italic;
}

@font-face {
  font-family: 'Kalnia';
  src: url('../fonts/Kalnia-VariableFont_wdth,wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'BebasNeue';
  src: url('../fonts/BebasNeue-Regular.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'NunitoSans'; /* 你自定义的名字 */
  src: url('../fonts/NunitoSans-VariableFont_YTLC,opsz,wdth,wght.ttf') format('truetype');
  font-weight: 100 900;  /* variable font 范围 */
  font-stretch: 75% 125%;
  font-style: normal;
}

@font-face {
  font-family: 'NunitoSansItalic';
  src: url('../fonts/NunitoSans-Italic-VariableFont_YTLC,opsz,wdth,wght.ttf') format('truetype');
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: italic;
}

@font-face {
  font-family: 'EBGaramond';
  src: url('../fonts/EBGaramond-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'EBGaramondItalic';
  src: url('../fonts/EBGaramond-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: italic;
}

* {margin:0; padding:0; box-sizing:border-box;}
body {
    font-family: 'Figtree', sans-serif;
    cursor: url("../images/staymakerz-cursor.png") 0 0, auto;
}

h1, h2, h3, h4, h5, h6 {
    color: #1b1b1b;
}

::selection {
  background: #d5aa52; 
  color: #ffffff;        
}

::-moz-selection {
  background: #d5aa52;
  color: #ffffff;
}

/* Navbar Base */
nav {
  position: fixed;
  top:0; left:0; right:0;
  z-index:1000;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 40px;
  transition: background 0.4s, padding 0.3s;
}

nav.transparent {background: transparent; color:#fff;}
nav.solid {background: rgba(0,0,0,0.85); color:#fff;}

nav .logo img {
  max-width: 190px;
  transition: max-width 0.3s;
}

nav ul {
  list-style: none;
  display: flex;
  gap: 30px;
  font-family: 'Figtree';
  font-weight: 700;
  font-size: 17px;
}

nav ul li a{
  cursor: pointer;
  transition: all 0.3s ease;
}
nav ul li:hover a { color: #ffe28a; }
nav a {text-decoration: none; color: white;}
nav .active a { color: #ffcf45; text-decoration: overline; }

nav .social-icons,
.mobile-menu .social-icons {
  display: flex;
  gap: 12px;
}

.mobile-menu .social-icons {
    margin-top: 40px;
}

nav .social-icons img,
.mobile-menu .social-icons img { max-width: 34px; }

/* ---------------- RESPONSIVE ---------------- */
.hamburger {
  display: none;
  flex-direction: column;
  cursor: pointer;
  gap: 6px;
}
.hamburger span {
  width: 28px;
  height: 3px;
  background: white;
  border-radius: 3px;
  transition: all 0.3s;
}

.hamburger.active{
    display: flex;
}

/* Mobile menu overlay */
.mobile-menu {
    list-style: none;
  position: fixed;
  top:0; right:-100%;
  width:100%; height:100vh;
  background: rgba(0,0,0,0.95);
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 25px;
  font-size: 24px;
  font-weight: 700;
  transition: right 0.4s ease;
  z-index: 100;
}
.mobile-menu.active {
    display: flex;
  right:0;
}

.mobile-menu li {
  opacity: 0;
  cursor: pointer;
  transform: translateY(-20px);
  animation: dropIn 0.5s forwards;
  transition: all 0.3s ease;
}

.mobile-menu li a {
  color: white;
  text-decoration: none;
}
.mobile-menu li:hover a { color: #ffe28a; }

.mobile-menu li.active a {
    color: #ffcf45; text-decoration: overline; 
}
.mobile-menu li:nth-child(1){ animation-delay:0.2s; }
.mobile-menu li:nth-child(2){ animation-delay:0.35s; }
.mobile-menu li:nth-child(3){ animation-delay:0.5s; }
.mobile-menu li:nth-child(4){ animation-delay:0.65s; }
.mobile-menu li:nth-child(5){ animation-delay:0.8s; }

@keyframes dropIn {
  to { opacity: 1; transform: translateY(0); }
}

/* Responsive breakpoints */
@media(max-width: 1240px){
  nav ul, nav .social-icons {
    display: none;
  }
  .hamburger {
    display: flex;
  }
  nav .logo img {
    max-width: 150px;
  }

  .content {
    padding: 60px !important;
  }

  .staymakerz-float {
    right: -266px !important;
    width: 532px !important;
  }

  .hanglamp-float{
      left: unset !important;
        right: 29px !important;
    }
}

/* Hero Section */
.hero {
    position: relative;
    height:100vh;
    width:100%;
    overflow:hidden;
}
.slide {
    position:absolute;
    top:0; left:0;
    width:100%; height:100%;
    background-size:cover;
    background-position:center;
    opacity:0;
    transition:opacity 1s ease-in-out;
}
.slide.active {opacity:1;}

/* Text */
.hero-content {
    position:absolute;
    top:50%; left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
    color:#fff;
    max-width:800px;
}

@media (max-width: 900px) {
    .hero-content {
        max-width: none; 
        width: 400px;    
    }

    .title {
        font-size: 45px !important;
    }

    .hero-content .description {
        font-size: 16px !important;
    }

    .content {
        padding: 40px !important;
    }

    .content-dark {
      padding: 65px 40px !important;
    }

    #content-2 .services {
      display: block !important;
    }

    #content-2 .service-card {
      margin-bottom: 20px;
    }

    .staymakerz-float {
        top: -61px !important;
        right: -172px !important;
        width: 346px !important;
    }

    .hanglamp-float{
      left: unset !important;
        right: 29px !important;
    }

    .decor-lines {
        bottom: 36px !important;
    } 

    .decor-lines::before {
      opacity: 0 !important;
    }
}

.title {
    font-size:4rem;
    font-weight:bold;
    margin-bottom:20px;
    letter-spacing:2px;
}
.hero-content .description {
    font-size:1.2rem;
    line-height:1.6;
    min-height:80px;
    opacity: 0;
    transform: rotateX(90deg);  /* start tilted */
    transform-origin: top center;
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.hero-content .description.show {
  opacity: 1;
  transform: rotateX(0deg);  /* flat */
}

.decor-lines {
  filter: brightness(1);
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none; 
}

.decor-lines::before,
.decor-lines::after {
  content: "";
  position: absolute;
  background-color: #c99e2e;
  opacity: 0;
  filter: brightness(1);
  transform: scaleX(0) scaleY(0);
  transform-origin: left top;
}

.decor-lines::before {
  width: 1px;
  height: 200px;
  top: 0;
  right: 50px;
}

.decor-lines::after {
  width: 300px;
  height: 1px;
  bottom: 40px;
  left: 50px;
}

.slide.active .decor-lines::before {
  animation: grow-vertical 4s forwards;
}

.slide.active .decor-lines::after {
  animation: grow-horizontal 4s forwards;
}

@keyframes grow-vertical {
  0% { transform: scaleY(0); opacity: 1; }
  100% { transform: scaleY(1); opacity: 1; }
}

@keyframes grow-horizontal {
  0% { transform: scaleX(0); opacity: 1; }
  100% { transform: scaleX(1); opacity: 1; }
}

/* Typewriter / Letter animation */
.letter {display:inline-block; opacity:0; transform:translateY(20px);}
.letter.show {opacity:1; transform:translateY(0); transition:0.05s ease-in;}

.typed {border-right:2px solid #fff; animation:blink 0.8s infinite;}
@keyframes blink {50% {border-color:transparent;}}

/* Other Content */
.content {
    background:#f5f5f5; 
    padding: 65px 100px;
    position: relative; 
}

.content-dark {
    background:#1a1a1a; 
    padding: 65px 100px;
    position: relative; 
    color: white;
}

.staymakerz-float {
      position: absolute;
    top: -65px;
    right: -319px;
    transform: translateX(-50%);
    width: 687px;
    height: auto;
}

.hanglamp-float{
    position: absolute;
    top: 0;
    left: 385px;
    transform: translateX(0%);
    width: 67px;
    height: auto;
}



.btn {
  position: relative;
  display: inline-block;
  margin-top: 20px;
  padding: 18px 29px;
  font-size: 15px;
  font-weight: bold;
  color: white;
  border-radius: 15px;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  background: linear-gradient(90deg,rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.12) 35%, rgba(242, 235, 235, 0.13) 100%);
}

.btn::before {
  content: "";
    position: absolute;
    top: 48px;
    left: 0%;
    height: 1px;
    width: 0px;
    background: rgb(255, 255, 254);
    transform: translateY(-50%);
    transition: width 0.4s ease;
}

.btn span {
  position: absolute;
  bottom: 0;
  height: 0;  
  width: 1px;
  background: white;
  transition: height 0.4s ease;
}

.btn span:nth-child(1) { left: 1%; }
.btn span:nth-child(2) { left: 3%; bottom: 2px; }
.btn span:nth-child(3) { left: 5%; bottom: 2px; }
.btn span:nth-child(4) { left: 7%; bottom: 2px; }
.btn span:nth-child(5) { left: 9%; bottom: 2px; }
.btn span:nth-child(6) { left: 11%; }
.btn span:nth-child(7) { left: 13%; bottom: 2px; }
.btn span:nth-child(8) { left: 15%; bottom: 2px; }
.btn span:nth-child(9) { left: 17%; bottom: 2px; }
.btn span:nth-child(10) { left: 19%; bottom: 2px; }
.btn span:nth-child(11) { left: 21%; }
.btn span:nth-child(12) { left: 23%; bottom: 2px; }
.btn span:nth-child(13) { left: 25%; bottom: 2px; }
.btn span:nth-child(14) { left: 27%; bottom: 2px; }
.btn span:nth-child(15) { left: 29%; bottom: 2px; }
.btn span:nth-child(16) { left: 31%; }
.btn span:nth-child(17) { left: 33%; bottom: 2px; }
.btn span:nth-child(18) { left: 35%; bottom: 2px; }
.btn span:nth-child(19) { left: 37%; bottom: 2px; }
.btn span:nth-child(20) { left: 39%; bottom: 2px; }
.btn span:nth-child(21) { left: 41%; }
.btn span:nth-child(22) { left: 43%; bottom: 2px; }
.btn span:nth-child(23) { left: 45%; bottom: 2px; }
.btn span:nth-child(24) { left: 47%; bottom: 2px; }
.btn span:nth-child(25) { left: 49%; bottom: 2px; }
.btn span:nth-child(26) { left: 51%; }
.btn span:nth-child(27) { left: 53%; bottom: 2px; }
.btn span:nth-child(28) { left: 55%; bottom: 2px; }
.btn span:nth-child(29) { left: 57%; bottom: 2px; }
.btn span:nth-child(30) { left: 59%; bottom: 2px; }
.btn span:nth-child(31) { left: 61%; }
.btn span:nth-child(32) { left: 63%; bottom: 2px; }
.btn span:nth-child(33) { left: 65%; bottom: 2px; }
.btn span:nth-child(34) { left: 67%; bottom: 2px; }
.btn span:nth-child(35) { left: 69%; bottom: 2px; }
.btn span:nth-child(36) { left: 71%; }
.btn span:nth-child(37) { left: 73%; bottom: 2px; }
.btn span:nth-child(38) { left: 75%; bottom: 2px; }
.btn span:nth-child(39) { left: 77%; bottom: 2px; }
.btn span:nth-child(40) { left: 79%; bottom: 2px; }
.btn span:nth-child(41) { left: 81%; }
.btn span:nth-child(42) { left: 83%; bottom: 2px; }
.btn span:nth-child(43) { left: 85%; bottom: 2px; }
.btn span:nth-child(44) { left: 87%; bottom: 2px; }
.btn span:nth-child(45) { left: 89%; bottom: 2px; }
.btn span:nth-child(46) { left: 91%; }
.btn span:nth-child(47) { left: 93%; bottom: 2px; }
.btn span:nth-child(48) { left: 95%; bottom: 2px; }
.btn span:nth-child(49) { left: 97%; bottom: 2px; }
.btn span:nth-child(50) { left: 99%; bottom: 2px; }

.btn:hover::before {
  width: 100%;
}

.btn:hover span {
  height: 12%;
}

.btn:hover span:nth-child(2),
.btn:hover span:nth-child(3),
.btn:hover span:nth-child(4),
.btn:hover span:nth-child(5),
.btn:hover span:nth-child(7),
.btn:hover span:nth-child(8),
.btn:hover span:nth-child(9),
.btn:hover span:nth-child(10),
.btn:hover span:nth-child(12),
.btn:hover span:nth-child(13),
.btn:hover span:nth-child(14),
.btn:hover span:nth-child(15),
.btn:hover span:nth-child(17),
.btn:hover span:nth-child(18),
.btn:hover span:nth-child(19),
.btn:hover span:nth-child(20),
.btn:hover span:nth-child(22),
.btn:hover span:nth-child(23),
.btn:hover span:nth-child(24),
.btn:hover span:nth-child(25),
.btn:hover span:nth-child(27),
.btn:hover span:nth-child(28),
.btn:hover span:nth-child(29),
.btn:hover span:nth-child(30),
.btn:hover span:nth-child(32),
.btn:hover span:nth-child(33),
.btn:hover span:nth-child(34),
.btn:hover span:nth-child(35),
.btn:hover span:nth-child(37),
.btn:hover span:nth-child(38),
.btn:hover span:nth-child(39),
.btn:hover span:nth-child(40),
.btn:hover span:nth-child(42),
.btn:hover span:nth-child(43),
.btn:hover span:nth-child(44),
.btn:hover span:nth-child(45),
.btn:hover span:nth-child(47),
.btn:hover span:nth-child(48),
.btn:hover span:nth-child(49),
.btn:hover span:nth-child(50) {
  height: 6%;
}


#content-1 h2 {
    font-size: 35px;
}

#content-1 .logofont {
  font-family: 'NunitoSansItalic', sans-serif; font-weight: 900; color: #bf9016;
  margin-right: 5px;
  letter-spacing: 4px; 
}

#content-1 .container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 columns */
  gap: 20px; /* space between boxes */
  margin-top: 25px;
  z-index: 20;
}

#content-1 .note {
    font-size: 15px;
    border-radius: 20px;
    letter-spacing: 1px;
    line-height: 1.5;
}

.note.ct-1 {
    background: #d2a122;
    color: white;
    padding: 25px;
    transition: all 1s ease;
    z-index: 20;
}

.note.ct-1:hover {
    background: #1f1f1f;
    color: white;
}

.note.ct-2,
.note.ct-6 {
    background: rgb(228, 228, 228);
    padding: 25px;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    transition: all 1s ease;
    z-index: 20;
}

.note.ct-2:hover,
.note.ct-6:hover {
    background: #ecddb7;
}
/* Your existing image sizing */
.note.ct-5 .homeillus6,
.image-card .homeillus6{
  width: 100%;
  height: auto;
  max-height: 285px;
  object-fit: cover;
  object-position: center;
  border-radius: 20px;
  display: block;
  z-index: 20;
}

/* Card wrapper to handle clipping/overlay */
.image-card{
  position: relative;
  border-radius: 20px;
  overflow: hidden;            /* keeps overlay + image rounded */
}

/* Dim overlay (starts transparent) */
.image-card::after{
  content:"";
  position:absolute; inset:0;
  background: rgba(0,0,0,0);   /* idle: no dim */
  transition: background 380ms cubic-bezier(.2,.7,.2,1);
  pointer-events: none;
}

/* CTA button (centered, subtle “Succession”-like ease) */
.image-cta{
  position:absolute; 
  left:50%; top:50%;
  transform: translate(-50%,-46%) scale(.98);
  opacity:0;
  padding:12px 18px;
  border-radius:12px;
  background-color: #1b1b1b;
  color: #efefef;
  text-align: center;                 /* contrast on gold */
  font-family: 'Figtree', system-ui, sans-serif;
  font-weight:800;
  letter-spacing:.5px;
  text-decoration:none;
  text-transform:uppercase;
  transition:
    opacity 380ms cubic-bezier(.2,.7,.2,1),
    transform 380ms cubic-bezier(.2,.7,.2,1),
    box-shadow 220ms ease,
    background-color 0.5s ease,
    color 0.5s ease;
  box-shadow: 0 10px 24px rgba(0,0,0,0.0);
}

.image-cta:hover{
  background-color: rgba(243, 243, 243, 0.234);
  color: rgb(255, 255, 255);
}

/* Hover/focus state */
.image-card:hover .homeillus6{ 
  filter: brightness(0.45);    /* strong dim via filter */
  transform: scale(1.02);
  transition: transform 380ms cubic-bezier(.2,.7,.2,1), 
              filter 380ms cubic-bezier(.2,.7,.2,1);
}
.image-card:hover::after{
  background: rgba(0,0,0,0.25);/* optional extra softness over dim */
}
.image-card:hover .image-cta,
.image-cta:focus-visible{
  opacity:1;
  transform: translate(-50%,-50%) scale(1);
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);
  outline: none;
}

/* Mobile tap-friendly: keep CTA big enough */
@media (max-width: 900px){
  .image-cta{ padding: 12px 16px; font-size: 14px; }
}

/* Responsive: stack them on small screens */
@media (max-width: 900px) {
  #content-1 .container {
    grid-template-columns: 1fr; /* only 1 column */
  }
}

#content-2 .content-2-title {
    font-family: 'EBGaramond', sans-serif;
    font-size: 46px;
    margin-top: 7px;
    margin-bottom: 8px;
    color: white;
}

#content-2 .ct-2-specified {
    font-family: 'NunitoSans';
    color: #ffcf45;
    font-weight: 900;
    letter-spacing: 2px;
}

.ct-2-decofloat{
    position: absolute;
    top: -280px;
    left: 0;
    transform: translateX(0%);
    width: 265px;
    height: auto;
    z-index: 0;
    opacity: 0.8;
}

.ct-4-decofloat {
    position: absolute;
    top: -107px;
    left: -180px;
    transform: translateX(0%);
    width: 865px;
    height: auto;
    z-index: 0;
    opacity: 1;
}


.services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin: 50px 0;
}

.service-card {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  text-align: left;
  transition: transform 0.3s ease;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

.service-image {
  overflow: hidden;
  border-radius: 15px;
}

.service-image img {
  width: 100%;
  transition: transform 0.4s ease;
}

.service-card:hover .service-image img {
  transform: scale(1.1);
}

.service-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
    font-size: 1.3rem;
    font-weight: bold;
    color: #2c2c2c;
}

.icon-circle {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #d2a122;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-circle i {
  color: white;
  font-size: 14px;
}

.service-description {
  margin-top: 10px;
  color: #666;
  font-size: 0.95rem;
  line-height: 1.5;
}

.service-button {
  position: relative;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  font-family: 'Figtree';
}

.service-button img {
  display: block;
  width: 200px; /* adjust to your design */
  opacity: 0.8;
  transition: opacity 0.3s ease;
  border-radius: 8px; /* optional */
}

.service-button span {
    position: absolute;
    width: 126px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    font-weight: bold;
    color: #1a1a1a;
    letter-spacing: 1px;
    pointer-events: none;
    transition: color 0.3s ease;
}

.service-button span a {
  color: #1a1a1a;
    letter-spacing: 1px;
    pointer-events: none;
    transition: color 0.3s ease;
}

.service-button:hover img {
    opacity: 0.5;
}

.service-button:hover span{
  color: white;
}


.ticker-box {
    width: 100%;
    height: 45px;
    overflow: hidden;
    position: relative;
    background: #d2a122;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.ticker {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%; /* start off-screen */
  animation: scroll-left 25s linear infinite;
}

.ticker span {
  display: inline-block;
  font-size: 26px;
  color: rgb(25, 25, 25); /* green like LED */
  font-family: 'BebasNeue';
}

/* Animation */
@keyframes scroll-left {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

#content-4 .ct-4 {
  margin-left: 490px;
}

#content-4 .ct-4-title h4 {
  color: #dba720;
  margin-bottom: 6px;
}

#content-4 .ct-4-title h1 {
  font-size: 40px;
  margin-bottom: 15px;
}

#content-4 .ct-4-title p {
  line-height: 1.5;
  color: rgb(74, 74, 74);
}

.social-section {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 20px; /* spacing between phones */
  border-bottom: 3px solid #ccc; /* gray bottom line */
  position: relative;
  overflow: hidden;
  margin-top: 40px;
}

.phone {
  text-align: center;
  position: relative;
  padding: 0 10px; /* little padding left-right */
  z-index: 1;
}

.phone img {
  width: 200px; /* adjust phone size */
  transition: transform 0.4s ease;
  transform-origin: bottom center; /* scaling from bottom */
}

/* Tag style */
.tag {
  font-size: 16px;
  color: #666;
  margin-bottom: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Dotted underline */
.tag-underline {
  border-bottom: 2px dotted #aaa;
  margin-bottom: 10px;
  width: 50%;
  margin: auto;
}

/* Hover effects (phone OR tag) */
.phone:hover img,
.phone:hover .tag,
.phone .tag:hover {
  transform: scale(1.1);
  color: #333;
  font-size: 18px;
  font-weight: 600;
}

/* Important: phone enlarge behind bottom line "wall" */
.social-section::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid #ccc; /* redraw the wall on top */
  z-index: 2;
}


@media (max-width: 1375px) {
  .phone img {
    width: 100%;
  }
}

@media (max-width: 1250px) {
  .ct-4-decofloat {
    display: none;
  }

  #content-4 .ct-4 {
    margin-left: unset;
  }
}

@media (max-width: 900px) {
  .social-section {
    display: block;
  }

  .phone {
    margin-bottom: 20px;
  }

  .floating-btn {
    bottom: 45px;
  }

  .note.ct-4 {
    display: none;
  }
}


  


.floating-btn {
  position: fixed;
  bottom: 60px;
  right: 50px;
  background-color: #144D37; /* WhatsApp green */
  color: white;
  padding: 12px 20px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  z-index: 9999;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
  
  animation: pulse 2s infinite;
}

/* Extra outline rings */
.floating-btn::before,
.floating-btn::after {
  content: "";
  position: absolute;
  border-radius: 50px;
  top: -8px;
  left: -8px;
  right: -8px;
  bottom: -8px;
  z-index: -1;
}

.floating-btn::before {
  border: 2px solid #ffffff; /* white outline */
}

.floating-btn::after {
  border: 2px solid #25D366; /* teal/green outline */
  top: -14px;
  left: -14px;
  right: -14px;
  bottom: -14px;
}

/* Pulse Animation */
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); } /* small movement */
  100% { transform: scale(1); }
}


#content-3 {
  display: flex;
  position: relative;
  gap: 20px;
  align-items: flex-start;
  flex-wrap: wrap;
}

/* First div text */
#content-3 .text-box {
  flex: 1 1 185px;
}

#content-3 .small-title {
  font-size: 16px;
  color: #dba720;
  margin-bottom: 6px;
}

#content-3 .big-title {
  font-size: 32px;
  font-weight: 700;
  margin: 10px 0;
}

#content-3 .description {
  font-size: 16px;
  color: #444;
  line-height: 1.5;
  width: 85%;
}

#content-3 .ct-3-point {
  width: 40px;
  margin-right: 5px;
}

#content-3 .box h4 {
    font-size: 26px;
    margin-top: 7px;
    margin-bottom: 8px;
}

#content-3 .box p {
  font-size: 14px;
  line-height: 1.4;
  color: #3f3f3f;
}

/* Second div boxes */
#content-3 .color-boxes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  flex: 1 1 300px;
}

#content-3 .box {
  border-radius: 8px;
  transition: all 0.3s ease;
  padding: 25px;
}

#content-3 .box.yellow {
  background: #d2a122;
}

#content-3 .box.grey {
  background: #d7d7d7;
}

#content-3 .box:hover {
  filter: brightness(85%);
}

@media (max-width: 900px) {
  #content-3 .box:nth-child(odd) {
    background-color: #d2a122; /* 黄 */
  }
  #content-3 .box:nth-child(even) {
    background-color: #d7d7d7; /* 灰 */
  }
}

/* Third div image */
#content-3 .image-box {
  flex: 1 1 70px;
  display: flex;
}

#content-3 .image-box img {
  width: 100%;
  height: 770px;       /* force full height */
  object-fit: cover;  /* crop to fit */
  border-radius: 10px;
}

#content-img.image-box {
  display: none;
}

#content-img.image-box img {
  width: 100%;
  height: 100%;       /* force full height */
  object-fit: cover;  /* crop to fit */
  border-radius: 10px;
}


#content-3 .decoration-img {
    position: absolute;
    bottom: 41px;
    right: 0;
    width: 820px;
    opacity: 0.8;
    pointer-events: none;
}


/* Responsive for 1250px */
@media (max-width: 1250px) {
  #content-3 #content-3 {
    flex-direction: column;
  }
  #content-3 .color-boxes, #content-3 .image-box {
    display: none;
    gap: 20px;
    flex: 1;
  }
}

/* Responsive for 900px */
@media (max-width: 900px) {
  #content-3 #content-3 {
    flex-direction: column;
  }
  #content-3 .color-boxes {
    display: block;
  }
  #content-3 .box {
    margin-bottom: 20px;
    width: 100%;
  }
  #content-3 .image-box img {
    width: 100%;
    height: 250px; /* TV-like rectangle */
    object-fit: cover;
  }

  #content-3 .description {
    width: 100%;
  }

  #content-3 .decoration-img {
    display: none !important;
  }

  #footer-contacts{
    padding-left: 0 !important;
    margin-bottom: 50px !important;
  }

  #content-img.image-box {
    display: flex;
  }
}


#footer-contacts{
  flex:1; min-width:250px; margin-bottom:20px; padding-left: 60px;
}


/* === Subpage Hero (About) === */
.subpage-hero {
  position: relative;
  width: 100%;
  min-height: clamp(260px, 55vh, 544px);
  display: grid;
  place-items: center;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  margin: 0;             /* no margins, full-bleed */
  padding: 0;
  color: #fff;
}

/* subtle dark overlay for text readability */
.subpage-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
}

.subpage-hero-inner {
  position: relative;
  text-align: center;
  z-index: 1;
  padding: 60px 20px; /* safe area for small screens */
}

.subpage-hero-subtitle {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  opacity: 0.95;
  margin-top: 60px;
  margin-bottom: 10px;
}

.subpage-hero-subtitle:hover {
  text-decoration: underline;
}

.subpage-hero-title {
  margin: 0;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.06em;
  font-size: clamp(32px, 12vw, 80px);
}

.about-us.showcase {
  width: 100%;
  overflow: hidden;
  position: relative;
  background: #fff;
  height: 170px;
}

.about-us .showcase-track {
  display: flex;
  width: max-content;
  animation: scroll 30s linear infinite;
}

.about-us .showcase img {
  flex: 0 0 auto;
  width: 400px;   
  margin: 0 10px; 
  border-radius: 10px;
  object-fit: cover;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.aboutus-deco1{
    position: absolute;
    top: 750px;
    right: -243px;
    transform: translateX(0%);
    width: 545px;
    height: auto;
    z-index: 0;
    opacity: 0.8;
    transform: rotate(90deg);
}