/* ============================ RESET & BASE ============================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:'Noto Sans JP','Cormorant Garamond',serif;
  background:var(--bg-primary);color:var(--text-primary);
  overflow-x:hidden;line-height:1.8;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* ============================ CSS VARIABLES ============================ */
:root{
  --bg-primary:#F8F5FB;--bg-secondary:#F0EBF5;--bg-tertiary:#EDE6F3;
  --bg-dark:#241A33;--bg-dark-2:#2E2243;
  --purple-soft:#B8A0D4;--purple-medium:#9B7EBD;--purple-deep:#6B4E8F;--purple-darkest:#4A3266;
  --lavender-mist:#E8DDF0;--lavender-pale:#F3EEF8;
  --gold:#C9A96E;--gold-light:#DCC9A0;--gold-deep:#A88950;
  --text-primary:#3D2E5C;--text-secondary:#6B5B85;--text-muted:#9B8FB0;--text-light:#BFB0D0;
  --white:#FFFFFF;--white-soft:#FDFBFE;
  --shadow-soft:0 4px 30px rgba(107,78,143,.08);
  --shadow-medium:0 8px 50px rgba(107,78,143,.12);
  --shadow-strong:0 20px 70px rgba(107,78,143,.18);
  --radius-sm:8px;--radius-md:16px;--radius-lg:24px;
  --transition-fast:.3s cubic-bezier(.4,0,.2,1);
  --transition-medium:.5s cubic-bezier(.4,0,.2,1);
  --transition-slow:.8s cubic-bezier(.4,0,.2,1);
}

/* ============================ CUSTOM SCROLLBAR ============================ */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg-secondary)}
::-webkit-scrollbar-thumb{background:var(--purple-medium);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--purple-deep)}
::selection{background:var(--purple-medium);color:var(--white)}

/* ============================ FLOATING PARTICLES ============================ */
.particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}
.particle{
  position:absolute;width:8px;height:8px;
  background:radial-gradient(circle,var(--purple-soft) 0%,transparent 70%);
  border-radius:50%;opacity:0;animation:floatUp linear infinite;
}
.particle:nth-child(1){left:5%;animation-duration:18s;animation-delay:0s;width:10px;height:10px}
.particle:nth-child(2){left:15%;animation-duration:22s;animation-delay:2s;width:6px;height:6px}
.particle:nth-child(3){left:25%;animation-duration:20s;animation-delay:5s;width:12px;height:12px}
.particle:nth-child(4){left:35%;animation-duration:25s;animation-delay:1s;width:8px;height:8px}
.particle:nth-child(5){left:45%;animation-duration:19s;animation-delay:7s;width:5px;height:5px}
.particle:nth-child(6){left:55%;animation-duration:23s;animation-delay:3s;width:10px;height:10px}
.particle:nth-child(7){left:65%;animation-duration:21s;animation-delay:6s;width:7px;height:7px}
.particle:nth-child(8){left:75%;animation-duration:24s;animation-delay:4s;width:9px;height:9px}
.particle:nth-child(9){left:85%;animation-duration:20s;animation-delay:8s;width:6px;height:6px}
.particle:nth-child(10){left:95%;animation-duration:26s;animation-delay:2s;width:11px;height:11px}
.particle:nth-child(11){left:10%;animation-duration:17s;animation-delay:10s;width:5px;height:5px}
.particle:nth-child(12){left:50%;animation-duration:22s;animation-delay:12s;width:8px;height:8px}
.particle:nth-child(13){left:70%;animation-duration:19s;animation-delay:9s;width:7px;height:7px}
.particle:nth-child(14){left:30%;animation-duration:24s;animation-delay:11s;width:10px;height:10px}
.particle:nth-child(15){left:90%;animation-duration:21s;animation-delay:14s;width:6px;height:6px}
@keyframes floatUp{
  0%{transform:translateY(100vh) translateX(0) scale(0);opacity:0}
  10%{opacity:.5}
  50%{transform:translateY(50vh) translateX(30px) scale(1);opacity:.4}
  90%{opacity:.2}
  100%{transform:translateY(-10vh) translateX(-20px) scale(.5);opacity:0}
}

/* ============================ HEADER ============================ */
.header{
  position:fixed;top:0;left:0;width:100%;z-index:1000;
  padding:1rem 3rem;
  display:flex;align-items:center;justify-content:space-between;
  background:var(--bg-dark);
  box-shadow:0 2px 30px rgba(0,0,0,.2);
}
.header.scrolled{
  box-shadow:0 2px 30px rgba(0,0,0,.25);
}
.header-logo{
  font-family:'Cinzel',serif;font-size:1.6rem;font-weight:500;
  color:var(--white);
  transition:var(--transition-medium);
  display:flex;flex-direction:column;gap:0;
}
.header-logo .logo-main{display:flex;align-items:center;gap:.5rem;line-height:1.2}
.header-logo .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block}
.header-logo .logo-sub{
  font-family:'Noto Sans JP',sans-serif;font-size:.8rem;font-weight:300;
  letter-spacing:.15em;color:rgba(255,255,255,.75);
  margin-top:3px;transition:var(--transition-medium);
}
.header-right{display:flex;align-items:center;gap:1.5rem}
.header-info{text-align:right;font-size:.75rem;color:rgba(255,255,255,.7);line-height:1.5;transition:var(--transition-medium)}
.header-info .tel{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:500;color:rgba(255,255,255,.95);letter-spacing:.05em}
.btn-reserve{
  padding:.6rem 1.8rem;border:none;border-radius:30px;
  font-family:'Cormorant Garamond',serif;font-size:.85rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--white);
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  cursor:pointer;transition:var(--transition-fast);position:relative;overflow:hidden;
  box-shadow:0 4px 15px rgba(201,169,110,.3);
}
.btn-reserve::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}
.btn-reserve:hover::before{left:100%}
.btn-reserve:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(201,169,110,.5)}
.menu-toggle{display:flex;flex-direction:column;gap:5px;cursor:pointer;z-index:1001}
.menu-toggle span{width:28px;height:2px;background:var(--white);transition:var(--transition-fast)}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}

/* ============================ MOBILE NAV (GLOBAL) ============================ */
.mobile-nav{
  position:fixed;top:0;right:-100%;width:320px;height:100vh;
  background:var(--bg-dark);z-index:999;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  gap:2rem;transition:right .5s ease;
}
.mobile-nav.active{right:0}
.mobile-nav a{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--white);letter-spacing:.1em;transition:var(--transition-fast)}
.mobile-nav a:hover{color:var(--gold)}
.nav-backdrop{display:block;position:fixed;inset:0;background:rgba(36,26,51,.5);backdrop-filter:blur(4px);z-index:998;opacity:0;pointer-events:none;transition:opacity .4s ease}
.nav-backdrop.active{opacity:1;pointer-events:auto}

/* ============================ HERO ============================ */
.hero{position:relative;width:100%;padding-top:70px;overflow:hidden}
.hero-bg{position:relative;width:100%;font-size:0;line-height:0}
.hero-bg img{width:100%;height:auto;display:block}
.scroll-indicator{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  animation:fadeUp 1s ease-out 1s forwards;opacity:0;cursor:pointer;
}
.scroll-indicator span{font-family:'Cormorant Garamond',serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,.5),transparent);position:relative;overflow:hidden}
.scroll-line::after{content:'';position:absolute;top:0;left:0;width:100%;height:50%;background:var(--gold);animation:scrollDown 2s ease-in-out infinite}
@keyframes scrollDown{0%{top:-50%}100%{top:100%}}
@keyframes fadeUp{0%{opacity:0;transform:translateX(-50%) translateY(20px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ============================ SECTION COMMON ============================ */
.section{position:relative;padding:7rem 3rem;z-index:2}
.section-header{text-align:center;margin-bottom:4rem}
.section-label{font-family:'Italiana',serif;font-size:.85rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem}
.section-title{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:var(--purple-deep);letter-spacing:.03em}
.section-title .accent{font-style:italic;color:var(--purple-medium)}
.section-jp{font-family:'Noto Serif JP',serif;font-size:1.1rem;font-weight:400;color:var(--text-secondary);margin-top:.5rem;letter-spacing:.1em}
.section-divider{width:50px;height:1px;background:var(--gold);margin:1.5rem auto 0}

/* ============================ SWIPER — EVENT ============================ */
.event-section{background:var(--bg-primary);overflow:hidden}
.event-swiper-container{max-width:1400px;margin:0 auto;padding:0 2rem}
.event-swiper{width:100%}
.event-swiper .swiper-slide{border-radius:var(--radius-lg);overflow:hidden;position:relative;box-shadow:var(--shadow-medium)}
.event-slide-bg{position:relative;font-size:0;line-height:0}
.event-slide-bg img{width:100%;height:auto;display:block}
.event-slide-1,.event-slide-2,.event-slide-3{background:transparent}
.event-swiper .swiper-pagination-bullet{background:var(--purple-medium);opacity:.4}
.event-swiper .swiper-pagination-bullet-active{background:var(--purple-deep);opacity:1}
.event-swiper .swiper-button-prev,.event-swiper .swiper-button-next{
  --swiper-navigation-size:20px;width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.92);box-shadow:0 4px 20px rgba(107,78,143,.15);
  color:var(--purple-deep);transition:var(--transition-fast);
}
.event-swiper .swiper-button-prev:hover,.event-swiper .swiper-button-next:hover{
  background:var(--white);transform:scale(1.1);box-shadow:0 6px 25px rgba(107,78,143,.25);
}
.event-swiper .swiper-button-prev::after,.event-swiper .swiper-button-next::after{font-size:18px;font-weight:700}
.event-swiper .swiper-button-prev{left:1.5rem}
.event-swiper .swiper-button-next{right:1.5rem}

/* ============================ SWIPER — CAST PICKUP ============================ */
.pickup{background:var(--bg-secondary);position:relative}
.pickup-bg{position:absolute;inset:0;opacity:.04;z-index:0}
.pickup-inner{position:relative;z-index:1}
.cast-swiper-container{max-width:1300px;margin:0 auto;padding:0 3rem 3rem}
.cast-swiper .swiper-slide{width:340px}
.cast-card{
  background:var(--white);border-radius:var(--radius-md);overflow:hidden;
  box-shadow:var(--shadow-soft);transition:var(--transition-medium);
  cursor:pointer;position:relative;
}
.cast-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-strong)}
.cast-card-img{position:relative;width:100%;}
.cast-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.cast-card:hover .cast-card-img img{transform:scale(1.08)}
.cast-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(36,26,51,.4) 100%)}
.cast-badge{
  position:absolute;top:1rem;left:1rem;padding:.25rem .8rem;
  background:var(--gold);color:var(--white);
  font-family:'Cormorant Garamond',serif;font-size:.7rem;letter-spacing:.15em;
  text-transform:uppercase;border-radius:20px;z-index:2;
  box-shadow:0 2px 10px rgba(201,169,110,.4);
}
.cast-card-body{padding:1.5rem}
.cast-name-jp{font-family:'Noto Serif JP',serif;font-size:1.2rem;font-weight:500;color:var(--purple-deep);margin-bottom:.5rem}
.cast-name-jp .age{font-size:.9rem;color:var(--text-muted);font-weight:300}
.cast-specs{font-family:'Cormorant Garamond',serif;font-size:.8rem;color:var(--text-muted);letter-spacing:.05em;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--lavender-mist)}
.cast-desc{font-family:'Noto Sans JP',sans-serif;font-size:.82rem;color:var(--text-secondary);line-height:1.8;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cast-detail-link{
  font-family:'Cormorant Garamond',serif;font-size:.8rem;color:var(--purple-medium);
  letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.3rem;
  transition:var(--transition-fast);
}
.cast-detail-link:hover{color:var(--gold);gap:.6rem}
.cast-swiper .swiper-pagination-bullet{background:var(--purple-medium);opacity:.4}
.cast-swiper .swiper-pagination-bullet-active{background:var(--purple-deep);opacity:1}
.cast-swiper .swiper-button-prev,.cast-swiper .swiper-button-next{color:var(--purple-deep)}

/* ============================ CAST GRID ============================ */
.cast-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1300px;margin:0 auto;padding:0 3rem 3rem}

/* ============================ ROOM ============================ */
.room-section{background:var(--bg-primary)}
.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:1100px;margin:0 auto}
.room-card{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-soft);transition:var(--transition-medium);
  height:320px;cursor:pointer;
}
.room-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-strong)}
.room-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.room-card:hover img{transform:scale(1.08)}

/* ============================ NEWS ============================ */
.news-section{background:var(--bg-secondary)}
.news-list{max-width:900px;margin:0 auto;max-height:500px;overflow-y:auto;padding-right:.5rem}
.news-list::-webkit-scrollbar{width:5px}
.news-list::-webkit-scrollbar-track{background:var(--lavender-mist);border-radius:3px}
.news-list::-webkit-scrollbar-thumb{background:var(--purple-medium);border-radius:3px}
.news-list::-webkit-scrollbar-thumb:hover{background:var(--purple-deep)}
.news-item{display:flex;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--lavender-mist);transition:var(--transition-fast)}
.news-item:last-child{border-bottom:none}
.news-item:hover{padding-left:1rem}
.news-date{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:500;color:var(--purple-deep);letter-spacing:.05em;white-space:nowrap;min-width:100px}
.news-body h3{font-family:'Noto Serif JP',serif;font-size:1.05rem;font-weight:500;color:var(--purple-deep);margin-bottom:.5rem}
.news-body p{font-family:'Noto Sans JP',sans-serif;font-size:.88rem;font-weight:300;color:var(--text-secondary);line-height:1.9}

/* ============================ SYSTEM / PRICE (IMAGE) ============================ */
.system{background:var(--bg-dark);color:var(--white);position:relative;overflow:hidden}
.system::before{content:'';position:absolute;top:-200px;right:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(155,126,189,.15),transparent 70%);border-radius:50%}
.system::after{content:'';position:absolute;bottom:-200px;left:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(201,169,110,.08),transparent 70%);border-radius:50%}
.system .section-label{color:var(--gold-light)}
.system .section-title{color:var(--white)}
.system .section-title .accent{color:var(--purple-soft)}
.system .section-jp{color:var(--text-light)}
.system-inner{position:relative;z-index:1;max-width:900px;margin:0 auto}
.system-price-img{
  width:100%;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-medium);border:1px solid rgba(155,126,189,.2);
}
.system-price-img img{width:100%;height:auto;display:block}

/* ============================ ACCESS ============================ */
.access{background:var(--bg-secondary);position:relative;overflow:hidden}
.access-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.access-info{padding:1rem}
.access-info .access-label{font-family:'Italiana',serif;font-size:.8rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem}
.access-info h3{font-family:'Noto Serif JP',serif;font-size:1.4rem;font-weight:500;color:var(--purple-deep);margin-bottom:1.5rem}
.access-table{width:100%;border-collapse:collapse}
.access-table tr{border-bottom:1px solid var(--lavender-mist)}
.access-table tr:last-child{border-bottom:none}
.access-table th{font-family:'Noto Sans JP',sans-serif;font-size:.85rem;font-weight:500;color:var(--purple-deep);text-align:left;padding:1rem .5rem;white-space:nowrap;width:100px}
.access-table td{font-family:'Noto Sans JP',sans-serif;font-size:.85rem;font-weight:300;color:var(--text-secondary);padding:1rem .5rem}
.access-map{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-medium);height:380px;background:var(--purple-deep);position:relative}
.access-map iframe{width:100%;height:100%;border:none;filter:grayscale(.3) sepia(.1)}

/* ============================ RECRUIT ============================ */
.recruit{background:var(--bg-primary);position:relative;overflow:hidden}
.recruit-inner{
  max-width:800px;margin:0 auto;padding:3rem 2.5rem;
  background:var(--white);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);border:1px solid var(--lavender-mist);
  position:relative;overflow:hidden;
}
.recruit-inner::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--purple-medium),var(--gold))}
.recruit-header{text-align:center;margin-bottom:2.5rem}
.recruit-label{font-family:'Italiana',serif;font-size:.85rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.8rem}
.recruit-title{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;color:var(--purple-deep);margin-bottom:.3rem}
.recruit-title .accent{font-style:italic;color:var(--purple-medium)}
.recruit-jp{font-family:'Noto Serif JP',serif;font-size:1rem;color:var(--text-secondary);letter-spacing:.1em}
.recruit-table{width:100%;border-collapse:collapse;margin-bottom:2rem}
.recruit-table tr{border-bottom:1px solid var(--lavender-mist)}
.recruit-table tr:last-child{border-bottom:none}
.recruit-table th{font-family:'Noto Sans JP',sans-serif;font-size:.85rem;font-weight:500;color:var(--purple-deep);text-align:left;padding:1.2rem .5rem;width:120px;vertical-align:top;letter-spacing:.05em}
.recruit-table td{font-family:'Noto Sans JP',sans-serif;font-size:.85rem;font-weight:300;color:var(--text-secondary);padding:1.2rem .5rem;line-height:2}
.recruit-table td br+*{display:block;margin-top:.3rem}

/* ============================ FOOTER ============================ */
.footer{background:var(--bg-dark);color:var(--text-light);padding:5rem 2rem 2rem;position:relative;overflow:hidden}
.footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:300px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:3rem;margin-bottom:3rem;flex-wrap:wrap}
.footer-brand h3{font-family:'Cinzel',serif;font-size:1.8rem;font-weight:500;letter-spacing:.15em;color:var(--white);margin-bottom:.5rem}
.footer-brand .tagline{font-family:'Cormorant Garamond',serif;font-size:.85rem;font-style:italic;color:var(--gold-light);letter-spacing:.1em}
.footer-col h4{font-family:'Cormorant Garamond',serif;font-size:.85rem;font-weight:500;color:var(--gold-light);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem}
.footer-col ul{display:flex;flex-wrap:wrap;gap:1.8rem}
.footer-col ul li a{font-family:'Cormorant Garamond',serif;font-size:.9rem;color:var(--text-light);transition:var(--transition-fast);letter-spacing:.05em}
.footer-col ul li a:hover{color:var(--gold-light)}
.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(155,126,189,.15)}
.footer-bottom p{font-family:'Cormorant Garamond',serif;font-size:.8rem;color:var(--text-muted);letter-spacing:.1em}
.footer-ads{max-width:1200px;margin:2rem auto 0;text-align:center}
.footer-ads>a,.footer-ads>img,.footer-ads>div,.footer-ads>span{display:inline-block;margin:.3rem}
.footer-ads img{max-width:100%;height:auto;}

/* ============================ BACK TO TOP ============================ */
.back-to-top{
  position:fixed;bottom:2rem;right:2rem;z-index:900;
  width:52px;height:82px;border-radius:50%;
  background:linear-gradient(160deg,var(--purple-medium),var(--purple-deep));
  border:1px solid rgba(201,169,110,.4);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  cursor:pointer;opacity:0;pointer-events:none;
  transition:var(--transition-fast);box-shadow:0 8px 30px rgba(107,78,143,.3);
}
.back-to-top.visible{opacity:1;pointer-events:auto}
.back-to-top:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(107,78,143,.4);border-color:var(--gold)}
.back-to-top svg{width:18px;height:18px;fill:none;stroke:var(--gold-light);stroke-width:1.5}
.back-to-top span{font-family:'Cormorant Garamond',serif;font-size:.55rem;color:var(--gold-light);letter-spacing:.15em;text-transform:uppercase}

/* ============================ MOBILE CALL BUTTON ============================ */
.mobile-call{
  position:fixed;bottom:1.5rem;left:1.5rem;z-index:900;
  display:none;align-items:center;gap:.7rem;
  padding:.8rem 1.6rem;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  border-radius:40px;box-shadow:0 8px 30px rgba(201,169,110,.4);
  color:var(--white);font-family:'Cormorant Garamond',serif;
  font-size:1rem;letter-spacing:.08em;transition:var(--transition-fast);
}
.mobile-call:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(201,169,110,.5)}
.mobile-call svg{width:20px;height:20px;fill:var(--white);flex-shrink:0}
.mobile-call .call-text{display:flex;flex-direction:column;line-height:1.3}
.mobile-call .call-text small{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.mobile-call .call-text span{font-size:1.05rem;font-weight:500}

/* ============================ FLOATING DECORATIVE ELEMENTS ============================ */
.section{overflow:hidden}
.section-deco{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.hero-deco{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.footer-deco{position:absolute;inset:0;pointer-events:none;overflow:hidden}

/* --- ORB (发光球) --- */
.deco-orb{
  position:absolute;border-radius:50%;
  filter:blur(40px);opacity:.4;
  animation:orbFloat 8s ease-in-out infinite;
}
@keyframes orbFloat{
  0%,100%{transform:translateY(0) scale(1);opacity:.3}
  25%{transform:translateY(-30px) scale(1.1);opacity:.5}
  50%{transform:translateY(-15px) scale(.95);opacity:.4}
  75%{transform:translateY(-40px) scale(1.05);opacity:.45}
}

/* --- HEXAGON (六边形) --- */
.deco-hex{
  position:absolute;width:60px;height:52px;
  background:transparent;border:2px solid rgba(201,169,110,.3);
  clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
  animation:hexSpin 12s linear infinite, hexFloat 6s ease-in-out infinite;
}
@keyframes hexSpin{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}
@keyframes hexFloat{
  0%,100%{transform:translateY(0) rotate(0deg);opacity:.3}
  50%{transform:translateY(-25px) rotate(180deg);opacity:.6}
}

/* --- SPARKLE (闪光点) --- */
.deco-sparkle{
  position:absolute;width:6px;height:6px;
  background:var(--gold);border-radius:50%;
  box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);
  animation:sparkleTwinkle 3s ease-in-out infinite, sparkleFloat 5s ease-in-out infinite;
}
@keyframes sparkleTwinkle{
  0%,100%{opacity:.2;transform:scale(.6)}
  50%{opacity:1;transform:scale(1.2)}
}
@keyframes sparkleFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-20px)}
}

/* --- RING (圆环) --- */
.deco-ring{
  position:absolute;border-radius:50%;
  border:2px solid rgba(155,126,189,.25);
  animation:ringPulse 6s ease-in-out infinite, ringRotate 15s linear infinite;
}
@keyframes ringPulse{
  0%,100%{transform:scale(1);opacity:.3}
  50%{transform:scale(1.2);opacity:.6}
}
@keyframes ringRotate{
  0%{transform:rotate(0deg) scale(1)}
  50%{transform:rotate(180deg) scale(1.15)}
  100%{transform:rotate(360deg) scale(1)}
}

/* --- DIAMOND (菱形) --- */
.deco-diamond{
  position:absolute;width:20px;height:20px;
  background:linear-gradient(135deg,var(--purple-soft),var(--gold-light));
  transform:rotate(45deg);opacity:.5;
  animation:diamondFloat 7s ease-in-out infinite, diamondSpin 10s ease-in-out infinite;
}
@keyframes diamondFloat{
  0%,100%{transform:translateY(0) rotate(45deg) scale(1);opacity:.4}
  33%{transform:translateY(-20px) rotate(60deg) scale(1.1);opacity:.6}
  66%{transform:translateY(-10px) rotate(30deg) scale(.9);opacity:.5}
}
@keyframes diamondSpin{
  0%{transform:rotate(45deg)}
  100%{transform:rotate(405deg)}
}

/* ===== HERO DECO ===== */
.hero-deco .orb-1{width:300px;height:300px;background:radial-gradient(circle,rgba(201,169,110,.4),transparent 70%);top:10%;left:5%;animation-duration:10s;animation-delay:0s}
.hero-deco .orb-2{width:250px;height:250px;background:radial-gradient(circle,rgba(155,126,189,.45),transparent 70%);top:50%;right:8%;animation-duration:12s;animation-delay:2s}
.hero-deco .orb-3{width:180px;height:180px;background:radial-gradient(circle,rgba(184,160,212,.5),transparent 70%);bottom:15%;left:15%;animation-duration:9s;animation-delay:1s}
.hero-deco .hex-1{top:20%;right:20%;width:80px;height:69px;border-color:rgba(255,255,255,.2);animation-duration:15s,8s;animation-delay:0s,1s}
.hero-deco .hex-2{bottom:25%;left:10%;width:50px;height:43px;border-color:rgba(201,169,110,.25);animation-duration:12s,7s;animation-delay:3s,2s}
.hero-deco .sparkle-1{top:15%;left:25%;animation-delay:0s,0s}
.hero-deco .sparkle-2{top:40%;right:15%;width:8px;height:8px;animation-delay:1s,.5s}
.hero-deco .sparkle-3{bottom:30%;left:30%;width:5px;height:5px;animation-delay:2s,1.5s}
.hero-deco .sparkle-4{bottom:20%;right:25%;animation-delay:.5s,2s}

/* ===== EVENT DECO ===== */
.event-deco .orb-gold-1{width:200px;height:200px;background:radial-gradient(circle,rgba(201,169,110,.3),transparent 70%);top:-50px;right:10%;animation-duration:11s}
.event-deco .orb-purple-1{width:150px;height:150px;background:radial-gradient(circle,rgba(155,126,189,.35),transparent 70%);bottom:10%;left:5%;animation-duration:9s;animation-delay:2s}
.event-deco .ring-1{width:120px;height:120px;top:20%;left:8%;border-color:rgba(201,169,110,.2);animation-duration:7s,18s}
.event-deco .ring-2{width:80px;height:80px;bottom:20%;right:12%;border-color:rgba(155,126,189,.25);animation-duration:5s,14s;animation-delay:1s,0s}
.event-deco .diamond-1{top:30%;right:20%;width:16px;height:16px;animation-duration:8s,12s;animation-delay:0s,1s}
.event-deco .diamond-2{bottom:35%;left:15%;width:12px;height:12px;animation-duration:6s,9s;animation-delay:2s,0s}
.event-deco .sparkle-gold-1{top:15%;left:20%;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:0s,.3s}
.event-deco .sparkle-gold-2{top:50%;right:8%;width:8px;height:8px;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:1.5s,1s}
.event-deco .sparkle-gold-3{bottom:25%;left:25%;width:5px;height:5px;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:.8s,2s}

/* ===== PICKUP DECO ===== */
.pickup-deco .orb-purple-2{width:220px;height:220px;background:radial-gradient(circle,rgba(155,126,189,.25),transparent 70%);top:5%;left:-50px;animation-duration:13s}
.pickup-deco .orb-purple-3{width:180px;height:180px;background:radial-gradient(circle,rgba(184,160,212,.3),transparent 70%);bottom:10%;right:-30px;animation-duration:10s;animation-delay:3s}
.pickup-deco .hex-purple-1{top:15%;right:15%;width:70px;height:60px;border-color:rgba(155,126,189,.25);animation-duration:18s,8s;animation-delay:0s,2s}
.pickup-deco .hex-purple-2{top:40%;left:10%;width:45px;height:39px;border-color:rgba(201,169,110,.2);animation-duration:14s,6s;animation-delay:1s,1s}
.pickup-deco .hex-purple-3{bottom:20%;right:25%;width:55px;height:48px;border-color:rgba(155,126,189,.2);animation-duration:16s,7s;animation-delay:2s,3s}
.pickup-deco .ring-purple-1{width:100px;height:100px;bottom:30%;left:20%;border-color:rgba(155,126,189,.2);animation-duration:8s,20s;animation-delay:1s}
.pickup-deco .sparkle-purple-1{top:20%;left:30%;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.5);animation-delay:.2s,.5s}
.pickup-deco .sparkle-purple-2{top:35%;right:10%;width:7px;height:7px;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.5);animation-delay:1s,1.5s}
.pickup-deco .sparkle-purple-3{bottom:25%;left:15%;width:5px;height:5px;background:var(--gold-light);box-shadow:0 0 10px var(--gold-light),0 0 20px rgba(201,169,110,.5);animation-delay:2s,1s}
.pickup-deco .sparkle-purple-4{bottom:15%;right:20%;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.5);animation-delay:.5s,2.5s}

/* ===== ROOM DECO ===== */
.room-deco .orb-room-1{width:180px;height:180px;background:radial-gradient(circle,rgba(201,169,110,.25),transparent 70%);top:10%;right:5%;animation-duration:11s;animation-delay:1s}
.room-deco .orb-room-2{width:140px;height:140px;background:radial-gradient(circle,rgba(155,126,189,.3),transparent 70%);bottom:15%;left:8%;animation-duration:9s;animation-delay:2s}
.room-deco .diamond-room-1{top:25%;left:15%;width:18px;height:18px;animation-duration:7s,11s;animation-delay:0s,.5s}
.room-deco .diamond-room-2{top:45%;right:18%;width:14px;height:14px;animation-duration:9s,13s;animation-delay:1.5s,1s}
.room-deco .diamond-room-3{bottom:30%;left:25%;width:10px;height:10px;animation-duration:6s,8s;animation-delay:2s,2s}
.room-deco .sparkle-room-1{top:18%;left:35%;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:0s,.2s}
.room-deco .sparkle-room-2{top:55%;right:10%;width:7px;height:7px;background:var(--purple-medium);box-shadow:0 0 10px var(--purple-medium),0 0 20px rgba(155,126,189,.5);animation-delay:1.2s,1s}
.room-deco .sparkle-room-3{bottom:20%;right:30%;width:5px;height:5px;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:.8s,2s}

/* ===== NEWS DECO ===== */
.news-deco .orb-news-1{width:160px;height:160px;background:radial-gradient(circle,rgba(155,126,189,.25),transparent 70%);top:5%;left:10%;animation-duration:10s}
.news-deco .orb-news-2{width:120px;height:120px;background:radial-gradient(circle,rgba(201,169,110,.2),transparent 70%);bottom:10%;right:15%;animation-duration:8s;animation-delay:2s}
.news-deco .hex-news-1{top:30%;right:10%;width:50px;height:43px;border-color:rgba(201,169,110,.2);animation-duration:13s,7s;animation-delay:0s,1s}
.news-deco .hex-news-2{bottom:25%;left:8%;width:40px;height:35px;border-color:rgba(155,126,189,.25);animation-duration:15s,6s;animation-delay:2s,2s}
.news-deco .ring-news-1{width:90px;height:90px;top:20%;right:25%;border-color:rgba(155,126,189,.2);animation-duration:6s,16s;animation-delay:1s}
.news-deco .sparkle-news-1{top:15%;left:25%;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:.3s,.4s}
.news-deco .sparkle-news-2{top:40%;right:8%;width:7px;height:7px;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.5);animation-delay:1s,1.2s}
.news-deco .sparkle-news-3{bottom:30%;left:20%;width:5px;height:5px;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:1.5s,2s}
.news-deco .sparkle-news-4{bottom:15%;right:20%;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.5);animation-delay:.5s,.8s}

/* ===== SYSTEM DECO ===== */
.system-deco .orb-system-1{width:250px;height:250px;background:radial-gradient(circle,rgba(155,126,189,.2),transparent 70%);top:-80px;right:-50px;animation-duration:14s}
.system-deco .orb-system-2{width:200px;height:200px;background:radial-gradient(circle,rgba(201,169,110,.15),transparent 70%);bottom:-60px;left:-40px;animation-duration:12s;animation-delay:2s}
.system-deco .orb-system-3{width:150px;height:150px;background:radial-gradient(circle,rgba(184,160,212,.2),transparent 70%);top:40%;right:10%;animation-duration:10s;animation-delay:1s}
.system-deco .ring-system-1{width:140px;height:140px;top:20%;left:10%;border-color:rgba(201,169,110,.2);animation-duration:8s,20s;animation-delay:0s}
.system-deco .ring-system-2{width:100px;height:100px;bottom:25%;right:15%;border-color:rgba(155,126,189,.25);animation-duration:6s,15s;animation-delay:2s,1s}
.system-deco .diamond-system-1{top:30%;left:20%;width:16px;height:16px;background:linear-gradient(135deg,var(--gold-light),var(--gold));animation-duration:8s,12s;animation-delay:.5s,1s}
.system-deco .diamond-system-2{bottom:35%;right:25%;width:12px;height:12px;background:linear-gradient(135deg,var(--purple-soft),var(--purple-medium));animation-duration:7s,10s;animation-delay:1.5s,0s}
.system-deco .sparkle-system-1{top:15%;left:30%;background:var(--gold-light);box-shadow:0 0 10px var(--gold-light),0 0 20px rgba(201,169,110,.5);animation-delay:0s,.3s}
.system-deco .sparkle-system-2{top:50%;right:8%;width:8px;height:8px;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.5);animation-delay:1s,1.5s}
.system-deco .sparkle-system-3{bottom:20%;left:15%;width:6px;height:6px;background:var(--gold-light);box-shadow:0 0 10px var(--gold-light),0 0 20px rgba(201,169,110,.5);animation-delay:2s,1s}
.system-deco .sparkle-system-4{bottom:30%;right:30%;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.5);animation-delay:.5s,2.5s}

/* ===== ACCESS DECO ===== */
.access-deco .orb-access-1{width:180px;height:180px;background:radial-gradient(circle,rgba(201,169,110,.2),transparent 70%);top:10%;right:-30px;animation-duration:11s;animation-delay:1s}
.access-deco .orb-access-2{width:140px;height:140px;background:radial-gradient(circle,rgba(155,126,189,.25),transparent 70%);bottom:15%;left:-20px;animation-duration:9s;animation-delay:3s}
.access-deco .hex-access-1{top:20%;left:15%;width:60px;height:52px;border-color:rgba(155,126,189,.2);animation-duration:17s,8s;animation-delay:0s,1s}
.access-deco .hex-access-2{top:50%;right:12%;width:40px;height:35px;border-color:rgba(201,169,110,.25);animation-duration:13s,6s;animation-delay:2s,2s}
.access-deco .hex-access-3{bottom:25%;left:25%;width:50px;height:43px;border-color:rgba(155,126,189,.2);animation-duration:15s,7s;animation-delay:1s,3s}
.access-deco .diamond-access-1{top:30%;right:20%;width:14px;height:14px;animation-duration:8s,11s;animation-delay:0s,1.5s}
.access-deco .diamond-access-2{bottom:35%;left:10%;width:10px;height:10px;animation-duration:6s,9s;animation-delay:2s,0s}
.access-deco .sparkle-access-1{top:15%;left:30%;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:.5s,.2s}
.access-deco .sparkle-access-2{top:45%;right:10%;width:7px;height:7px;background:var(--purple-medium);box-shadow:0 0 10px var(--purple-medium),0 0 20px rgba(155,126,189,.5);animation-delay:1.5s,1s}
.access-deco .sparkle-access-3{bottom:20%;right:25%;width:5px;height:5px;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:1s,2s}

/* ===== RECRUIT DECO ===== */
.recruit-deco .orb-recruit-1{width:200px;height:200px;background:radial-gradient(circle,rgba(155,126,189,.2),transparent 70%);top:-60px;left:10%;animation-duration:13s}
.recruit-deco .orb-recruit-2{width:160px;height:160px;background:radial-gradient(circle,rgba(201,169,110,.2),transparent 70%);top:20%;right:-40px;animation-duration:10s;animation-delay:2s}
.recruit-deco .orb-recruit-3{width:130px;height:130px;background:radial-gradient(circle,rgba(184,160,212,.25),transparent 70%);bottom:-30px;right:20%;animation-duration:9s;animation-delay:1s}
.recruit-deco .ring-recruit-1{width:110px;height:110px;top:30%;left:8%;border-color:rgba(201,169,110,.2);animation-duration:7s,18s;animation-delay:.5s}
.recruit-deco .ring-recruit-2{width:70px;height:70px;bottom:20%;left:25%;border-color:rgba(155,126,189,.25);animation-duration:5s,12s;animation-delay:1.5s,1s}
.recruit-deco .hex-recruit-1{top:25%;right:15%;width:55px;height:48px;border-color:rgba(155,126,189,.2);animation-duration:16s,7s;animation-delay:0s,2s}
.recruit-deco .hex-recruit-2{bottom:30%;right:30%;width:40px;height:35px;border-color:rgba(201,169,110,.2);animation-duration:14s,6s;animation-delay:2s,1s}
.recruit-deco .diamond-recruit-1{top:40%;left:18%;width:15px;height:15px;animation-duration:9s,13s;animation-delay:0s,.5s}
.recruit-deco .diamond-recruit-2{bottom:25%;right:12%;width:11px;height:11px;animation-duration:7s,10s;animation-delay:1.5s,2s}
.recruit-deco .sparkle-recruit-1{top:15%;left:35%;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:.2s,.3s}
.recruit-deco .sparkle-recruit-2{top:50%;right:8%;width:8px;height:8px;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.5);animation-delay:1s,1.5s}
.recruit-deco .sparkle-recruit-3{bottom:15%;left:20%;width:6px;height:6px;background:var(--gold);box-shadow:0 0 10px var(--gold),0 0 20px rgba(201,169,110,.5);animation-delay:1.8s,1s}
.recruit-deco .sparkle-recruit-4{bottom:35%;right:25%;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.5);animation-delay:.5s,2.5s}

/* ===== FOOTER DECO ===== */
.footer-deco .orb-footer-1{width:250px;height:250px;background:radial-gradient(circle,rgba(155,126,189,.15),transparent 70%);top:-100px;left:5%;animation-duration:15s}
.footer-deco .orb-footer-2{width:200px;height:200px;background:radial-gradient(circle,rgba(201,169,110,.12),transparent 70%);top:-50px;right:10%;animation-duration:12s;animation-delay:2s}
.footer-deco .orb-footer-3{width:150px;height:150px;background:radial-gradient(circle,rgba(184,160,212,.18),transparent 70%);bottom:10%;left:30%;animation-duration:10s;animation-delay:3s}
.footer-deco .ring-footer-1{width:120px;height:120px;top:20%;left:15%;border-color:rgba(201,169,110,.15);animation-duration:9s,22s;animation-delay:1s}
.footer-deco .ring-footer-2{width:80px;height:80px;bottom:20%;right:20%;border-color:rgba(155,126,189,.2);animation-duration:6s,16s;animation-delay:2s,1s}
.footer-deco .hex-footer-1{top:30%;right:15%;width:50px;height:43px;border-color:rgba(201,169,110,.15);animation-duration:18s,8s;animation-delay:0s,2s}
.footer-deco .hex-footer-2{bottom:25%;left:10%;width:40px;height:35px;border-color:rgba(155,126,189,.15);animation-duration:15s,7s;animation-delay:1s,3s}
.footer-deco .diamond-footer-1{top:25%;left:25%;width:14px;height:14px;background:linear-gradient(135deg,var(--gold-light),var(--gold));animation-duration:8s,12s;animation-delay:.5s,1s}
.footer-deco .diamond-footer-2{bottom:30%;right:30%;width:10px;height:10px;background:linear-gradient(135deg,var(--purple-soft),var(--purple-medium));animation-duration:7s,10s;animation-delay:1.5s,2s}
.footer-deco .sparkle-footer-1{top:15%;left:20%;background:var(--gold-light);box-shadow:0 0 10px var(--gold-light),0 0 20px rgba(201,169,110,.4);animation-delay:0s,.2s}
.footer-deco .sparkle-footer-2{top:40%;right:10%;width:7px;height:7px;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.4);animation-delay:1s,1s}
.footer-deco .sparkle-footer-3{bottom:20%;left:15%;width:6px;height:6px;background:var(--gold-light);box-shadow:0 0 10px var(--gold-light),0 0 20px rgba(201,169,110,.4);animation-delay:1.5s,2s}
.footer-deco .sparkle-footer-4{bottom:35%;right:25%;background:var(--purple-soft);box-shadow:0 0 10px var(--purple-soft),0 0 20px rgba(155,126,189,.4);animation-delay:.5s,1.5s}
.footer-deco .sparkle-footer-5{top:60%;left:40%;width:5px;height:5px;background:var(--gold-light);box-shadow:0 0 10px var(--gold-light),0 0 20px rgba(201,169,110,.4);animation-delay:2s,3s}

/* ===== EVENT ANIMATED SLIDES (GIF-like effect) ===== */
.event-anim-layer{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);
  background-size:200% 100%;
  animation:shineSweep 3s ease-in-out infinite;
}
.event-anim-layer::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.15) 0%,transparent 50%),
             radial-gradient(circle at 80% 70%,rgba(201,169,110,.15) 0%,transparent 50%);
  animation:pulseGlow 4s ease-in-out infinite;
}
.event-anim-layer::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.1) 45%,transparent 50%);
  background-size:300% 300%;
  animation:diagonalShine 5s linear infinite;
}
@keyframes shineSweep{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}
@keyframes pulseGlow{
  0%,100%{opacity:.5;transform:scale(1)}
  50%{opacity:1;transform:scale(1.1)}
}
@keyframes diagonalShine{
  0%{background-position:0% 0%}
  100%{background-position:200% 200%}
}

.event-slide-1 .event-anim-layer{animation-delay:0s}
.event-slide-1 .event-anim-layer::before{animation-delay:0s}
.event-slide-1 .event-anim-layer::after{animation-delay:0s}

.event-slide-2 .event-anim-layer{animation-delay:.5s}
.event-slide-2 .event-anim-layer::before{animation-delay:1s}
.event-slide-2 .event-anim-layer::after{animation-delay:.3s}

.event-slide-3 .event-anim-layer{animation-delay:1s}
.event-slide-3 .event-anim-layer::before{animation-delay:2s}
.event-slide-3 .event-anim-layer::after{animation-delay:.7s}

/* ============================ SCROLL REVEAL ============================ */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal:nth-child(2){transition-delay:.1s}
.reveal:nth-child(3){transition-delay:.2s}
.reveal:nth-child(4){transition-delay:.3s}
