:root{
  --bg:#090808; --panel:#111010; --panel2:#151313; --text:#f6f1ea; --muted:#aaa19a;
  --line:rgba(255,255,255,.10); --rose:#d7a1aa; --rose2:#f1c5cb; --gold:#c9a56a;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0%,rgba(215,161,170,.10),transparent 36%),radial-gradient(circle at 90% 70%,rgba(201,165,106,.05),transparent 28%);z-index:-3}
.noise{position:fixed;inset:-50%;opacity:.045;pointer-events:none;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
.topbar{position:fixed;top:0;left:0;right:0;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px);z-index:15;background:linear-gradient(180deg,rgba(9,8,8,.82),transparent);backdrop-filter:blur(7px)}
.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;letter-spacing:.12em}.brand-mark{font-family:"Cormorant Garamond";font-size:29px;color:var(--rose2)}.brand b{font-size:11px;font-weight:600;display:block}.brand small{display:block;color:#77716d;font-size:7px;letter-spacing:.28em;margin-top:3px}
.lang-btn{background:transparent;border:1px solid var(--line);color:#eee;padding:10px 13px;font-size:10px;letter-spacing:.14em;border-radius:100px;cursor:pointer;transition:.35s}.lang-btn:hover{border-color:rgba(215,161,170,.65);box-shadow:0 0 25px rgba(215,161,170,.12)}
.hero{min-height:100svh;display:grid;place-items:center;position:relative;overflow:hidden;text-align:center;padding:120px 22px 70px}
.hero-copy{max-width:900px;position:relative;z-index:2}.eyebrow{font-size:9px;letter-spacing:.35em;color:#aaa19a;display:flex;align-items:center;gap:14px;justify-content:center}.eyebrow span{width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--rose))}
.hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(76px,15vw,180px);line-height:.72;margin:42px 0 35px;font-weight:400;letter-spacing:-.055em}.hero h1 em{font-style:normal;color:#e6c5c8}.hero h1 strong{font-weight:500;color:#f5eee7}
.hero-sub{max-width:540px;margin:auto;color:#aaa19a;font-size:13px;line-height:1.9;font-weight:300}.scroll-cta{display:inline-flex;align-items:center;gap:18px;margin-top:42px;color:#ddd;text-decoration:none;font-size:9px;letter-spacing:.28em}.scroll-cta i{font-style:normal;border:1px solid var(--line);border-radius:50%;width:39px;height:39px;display:grid;place-items:center;color:var(--rose2);animation:float 2.3s ease-in-out infinite}
.hero-sakura{position:absolute;right:10%;top:26%;font-size:130px;color:rgba(215,161,170,.08);font-family:"Cormorant Garamond";transform:rotate(-15deg);filter:blur(.2px)}
.hero-orbit{position:absolute;border:1px solid rgba(215,161,170,.08);border-radius:50%;width:min(78vw,820px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-b{width:min(52vw,550px);border-color:rgba(201,165,106,.06);animation:spin 35s linear infinite}.orbit-a{animation:spin 55s linear infinite reverse}
.intro{max-width:1120px;margin:0 auto;padding:120px 28px 55px;display:grid;grid-template-columns:.55fr 1fr;gap:50px;border-top:1px solid var(--line)}.section-kicker{font-size:9px;letter-spacing:.28em;color:var(--rose2)}.intro h2,.experience h2{font-family:"Cormorant Garamond";font-weight:400;font-size:clamp(48px,7vw,82px);line-height:.9;margin:0 0 22px}.intro h2 i,.experience h2 i{font-style:italic;color:var(--rose2)}.intro p,.experience p{max-width:650px;color:#99918b;line-height:1.9;font-size:13px}
.contact-grid{max-width:1120px;margin:auto;padding:25px 22px 150px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.contact-card{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:25px;padding:20px;position:relative;overflow:hidden;transition:transform .6s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .6s}.contact-card:after{content:"";position:absolute;top:-30%;left:-80%;width:45%;height:160%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transition:left .9s}.contact-card:hover:after{left:135%}.contact-card:hover{transform:translateY(-7px);border-color:rgba(215,161,170,.25);box-shadow:0 25px 70px rgba(0,0,0,.38),0 0 50px rgba(215,161,170,.06)}.wide-card{grid-column:1/-1;max-width:560px;width:100%;justify-self:center}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.number{font-size:8px;color:#726c67;letter-spacing:.15em}.card-top h3{font-family:"Cormorant Garamond";font-size:30px;font-weight:500;margin:5px 0 0}.card-top p{margin:2px 0 0;color:#817a75;font-size:10px;letter-spacing:.04em}.mini-icon{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:12px;color:var(--rose2)}
.qr-wrap{background:#fff;border-radius:16px;padding:10px;position:relative;overflow:hidden}.qr-wrap img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}.scan-line{position:absolute;left:7%;right:7%;height:1px;background:linear-gradient(90deg,transparent,var(--rose2),transparent);box-shadow:0 0 12px var(--rose2);top:12%;z-index:2;opacity:.6;animation:scan 4.5s ease-in-out infinite}
.card-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-top:15px}.card-bottom span{font-size:7px;color:#6e6863;letter-spacing:.22em}.card-bottom a,.copyless{font:inherit;font-size:8px;color:#ddd;text-decoration:none;letter-spacing:.12em;background:transparent;border:0;cursor:pointer;padding:0}.card-bottom a:hover,.copyless:hover{color:var(--rose2)}
.experience{max-width:1120px;margin:auto;padding:130px 28px 170px;border-top:1px solid var(--line);position:relative}.experience h2{font-size:clamp(58px,9vw,112px);margin-top:35px}.experience h2 span{font-size:.5em;color:#766f6a;letter-spacing:.04em}.experience>p{max-width:500px;margin-top:40px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;border-top:1px solid var(--line)}.pillars div{padding:28px 18px;border-right:1px solid var(--line)}.pillars div:last-child{border:0}.pillars b{display:block;font-size:9px;color:var(--rose2);margin-bottom:30px}.pillars strong{display:block;font-family:"Cormorant Garamond";font-size:22px;font-weight:500}.pillars span{display:block;color:#716b66;font-size:9px;margin-top:8px;letter-spacing:.08em}
footer{border-top:1px solid var(--line);padding:38px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#716b66;font-size:9px;letter-spacing:.12em}.footer-mark{font-family:"Cormorant Garamond";font-size:30px;color:var(--rose)}footer b{display:block;color:#bdb4ae;font-size:10px}footer span{display:block;font-size:7px;margin-top:5px}footer a{color:#aaa;text-decoration:none}
#petals{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}.petal{position:absolute;width:9px;height:13px;border-radius:90% 10% 90% 10%;background:linear-gradient(135deg,#f1c5cb,#a66f79);opacity:.55;filter:blur(.1px);animation:fall linear forwards}
.touch-ripple{position:fixed;width:10px;height:10px;border:1px solid rgba(241,197,203,.75);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:25;animation:ripple .8s ease-out forwards}.touch-petal{position:fixed;pointer-events:none;z-index:25;font-size:15px;color:var(--rose2);animation:burst 1.3s ease-out forwards}
.language-modal{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center}.language-modal.show{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(5,4,4,.78);backdrop-filter:blur(18px)}.language-panel{position:relative;width:min(480px,calc(100% - 36px));padding:50px 38px 40px;background:linear-gradient(145deg,#181515,#0c0b0b);border:1px solid var(--line);border-radius:28px;text-align:center;box-shadow:0 40px 120px #000}.modal-close{position:absolute;right:18px;top:15px;background:none;border:0;color:#aaa;font-size:25px;cursor:pointer}.modal-flower{font-family:"Cormorant Garamond";font-size:52px;color:var(--rose2);opacity:.75}.language-panel small{font-size:8px;letter-spacing:.28em;color:#777}.language-panel h2{font:400 55px/ .9 "Cormorant Garamond";margin:22px 0 35px}.language-panel h2 i{color:var(--rose2)}.language-options{display:grid;gap:10px}.language-options button{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:13px;padding:17px;color:#eee;letter-spacing:.12em;font-size:9px;cursor:pointer;transition:.35s}.language-options button:hover{border-color:rgba(215,161,170,.5);background:rgba(215,161,170,.07);padding-left:22px}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes float{50%{transform:translateY(7px)}}@keyframes scan{0%,100%{top:10%;opacity:0}15%{opacity:.65}50%{top:88%;opacity:.65}85%{opacity:0}}@keyframes ripple{to{width:150px;height:150px;opacity:0}}@keyframes burst{to{transform:translate(var(--x),var(--y)) rotate(260deg) scale(.2);opacity:0}}@keyframes fall{to{transform:translate3d(var(--dx),110vh,0) rotate(var(--rot));opacity:0}}
@media(max-width:700px){.topbar{height:70px}.hero{padding-top:100px}.hero h1{font-size:76px}.intro{grid-template-columns:1fr;padding-top:85px}.contact-grid{grid-template-columns:1fr;padding-bottom:100px}.wide-card{grid-column:auto}.pillars{grid-template-columns:1fr}.pillars div{border-right:0;border-bottom:1px solid var(--line)}footer{flex-wrap:wrap}.hero-orbit{width:115vw}.hero-sakura{right:2%;top:18%}.card-top h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* V2: larger app-opening language screen */
.language-panel{
  width:min(560px,calc(100% - 28px));
  padding:62px 44px 48px;
}
.modal-flower{font-size:64px}
.language-panel small{font-size:9px}
.language-panel h2{
  font-size:clamp(64px,11vw,88px);
  line-height:.86;
  margin:28px 0 42px;
}
.language-options{gap:12px}
.language-options button{
  min-height:58px;
  padding:19px 20px;
  font-size:11px;
}
@media(max-width:700px){
  .language-panel{padding:58px 25px 34px}
  .language-panel h2{font-size:68px;margin:24px 0 34px}
  .language-options button{min-height:60px;font-size:10px}
}

/* V3 — MASSAGE NURU is the primary hero title */
.hero-title{
  margin:42px 0 35px !important;
  line-height:.9 !important;
  letter-spacing:0 !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.hero-main-title{
  display:block;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(62px,12vw,145px);
  line-height:.82;
  font-weight:500;
  letter-spacing:-.045em;
  color:#f2e9e2;
  white-space:nowrap;
}
.hero-brand-title{
  display:block;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(30px,5.2vw,62px);
  line-height:.9;
  font-weight:400;
  letter-spacing:.08em;
  color:#d9a9b0;
  text-transform:uppercase;
}
@media(max-width:700px){
  .hero-title{gap:12px !important;margin:44px 0 34px !important}
  .hero-main-title{
    font-size:clamp(48px,13vw,76px);
    letter-spacing:-.035em;
  }
  .hero-brand-title{
    font-size:clamp(27px,7vw,42px);
    letter-spacing:.07em;
  }
}
