/* ============================================================
   nail & eyelash Lueur（大阪・堺／ネイル＆まつげサロン）デモサイト
   エムサイト工房ポートフォリオ用。Claude Design の意匠を「正」として
   素の HTML / CSS / JS に忠実コード化したもの。
   配色は本案件専用（グロウホワイト＋グレージュ＋モーヴ＋シャンパン）。
   ハウスカラー不使用。住所/電話/料金/スタッフ/口コミはデモ用ダミー。
   ============================================================ */

:root{
  --glow-white:#FBF6F2; --greige:#E8DDD4; --rose:#D9B8A8; --rose-deep:#C29A8E;
  --mauve:#B6A2B8; --champagne:#C9A86A; --ink:#4A403B; --ink-sub:#8A7E76;
  /* DC props の既定値を焼き込み（accent=mauve / shimmer=on / glow=on） */
  --accent:#B6A2B8; --accent-deep:#9b8499; --shimmer-op:1; --glow-op:1;
  --footpad:0px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--glow-white); color:var(--ink);
  font-family:'Zen Kaku Gothic New',-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}
::selection{background:rgba(182,162,184,.3);}

/* フォーカス可視化（キーボード操作） */
a:focus-visible,button:focus-visible{
  outline:2px solid var(--accent-deep); outline-offset:3px; border-radius:6px;
}

/* ---------- keyframes ---------- */
@keyframes drift1{0%{transform:translate(0,0) scale(1)}50%{transform:translate(6vw,-4vh) scale(1.14)}100%{transform:translate(0,0) scale(1)}}
@keyframes drift2{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-5vw,5vh) scale(1.1)}100%{transform:translate(0,0) scale(1)}}
@keyframes drift3{0%{transform:translate(0,0) scale(1)}50%{transform:translate(4vw,6vh) scale(1.06)}100%{transform:translate(0,0) scale(1)}}
@keyframes shimmerMove{0%{background-position:-160% 0}100%{background-position:260% 0}}
@keyframes scrollCue{0%{transform:translateY(0);opacity:.5}50%{transform:translateY(9px);opacity:1}100%{transform:translateY(0);opacity:.5}}

.page{position:relative; width:100%; overflow:hidden;}

/* 共通：きらめきオーバーレイ */
.shimmer{
  position:absolute; inset:0;
  background:linear-gradient(105deg, transparent 33%, rgba(255,255,255,.5) 49%, transparent 63%);
  background-size:250% 100%; mix-blend-mode:screen; opacity:var(--shimmer-op);
  animation:shimmerMove 8s linear infinite; pointer-events:none;
}
.shimmer--7{animation-duration:7s;}
.shimmer--9{animation-duration:9s;}

/* 共通：写真プレースホルダのキャプション */
.ph-tag{
  position:absolute; font-family:'Courier New',monospace; font-size:10px; letter-spacing:.12em;
  color:rgba(74,64,59,.55); background:rgba(251,246,242,.55); -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px); padding:5px 9px; border-radius:6px;
}
.demo-note{font-family:'Courier New',monospace; font-size:10px; color:var(--ink-sub); opacity:.65;}

/* 共通：セクション見出し（スクリプト体のラベル） */
.sec-eyebrow{
  font-family:'Cormorant',serif; font-style:italic; font-size:clamp(20px,2.4vw,30px);
  color:var(--rose-deep); letter-spacing:.05em; margin-bottom:12px;
}

/* ============ HEADER ============ */
.hdr{
  position:fixed; top:0; left:0; right:0; z-index:60; display:flex; align-items:center;
  justify-content:space-between; gap:18px; padding:clamp(13px,1.8vw,20px) clamp(20px,5vw,64px);
  background:rgba(251,246,242,.45); -webkit-backdrop-filter:blur(16px) saturate(125%);
  backdrop-filter:blur(16px) saturate(125%); border-bottom:1px solid rgba(201,168,106,.16);
  transition:background .4s ease, box-shadow .4s ease;
}
.hdr.is-scrolled{background:rgba(251,246,242,.85); box-shadow:0 6px 26px -20px rgba(74,64,59,.55);}
.hdr__brand{text-decoration:none; display:block;}
.hdr__logo{font-family:'Cormorant',serif; font-weight:500; font-size:clamp(24px,3vw,33px); letter-spacing:.05em; color:var(--ink); line-height:.95;}
.hdr__sub{font-size:9px; letter-spacing:.42em; color:var(--ink-sub); text-transform:uppercase; margin-top:5px; padding-left:2px;}

.nav{display:flex; align-items:center; gap:clamp(20px,2.4vw,38px);}
.nav__link{text-decoration:none; color:var(--ink-sub); font-size:13px; letter-spacing:.16em; text-transform:uppercase; transition:color .3s;}
.nav__link:hover{color:var(--ink);}
.nav__cta{
  display:inline-flex; align-items:center; gap:8px; padding:11px 26px; border-radius:999px;
  background:var(--accent); color:#fff; font-size:13px; letter-spacing:.12em; text-decoration:none;
  box-shadow:0 10px 26px -14px var(--accent-deep); transition:background .3s, transform .3s;
}
.nav__cta:hover{background:var(--accent-deep); transform:translateY(-2px);}

.hdr__burger{display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; padding:0 10px; background:transparent; border:none; cursor:pointer;}
.hdr__burger span{display:block; height:1.5px; width:100%; background:var(--ink); border-radius:2px;}
.hdr__burger span:last-child{width:70%;}

/* モバイルメニュー */
.mnav{
  position:fixed; top:64px; left:12px; right:12px; z-index:55; padding:22px 24px; border-radius:18px;
  background:rgba(251,246,242,.92); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  border:1px solid rgba(201,168,106,.2); box-shadow:0 24px 60px -28px rgba(74,64,59,.55);
  display:flex; flex-direction:column; gap:6px;
  opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .3s ease, transform .3s ease;
}
.mnav.is-open{opacity:1; transform:none; pointer-events:auto;}
.mnav__link{text-decoration:none; color:var(--ink); font-size:15px; letter-spacing:.14em; text-transform:uppercase; padding:12px 4px; border-bottom:1px solid rgba(201,168,106,.14);}
.mnav__cta{margin-top:12px; text-align:center; padding:14px; border-radius:999px; background:var(--accent); color:#fff; font-size:14px; letter-spacing:.12em; text-decoration:none;}

/* ============ HERO ============ */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden;
  padding:clamp(120px,17vh,190px) clamp(22px,6vw,96px) clamp(70px,9vh,110px);
  background:radial-gradient(125% 100% at 72% 18%, #FCF7F3 0%, #F4E8E1 42%, #ECDFE6 78%, #E6DCE6 100%);
}
.glow{position:absolute; inset:0; z-index:0; opacity:var(--glow-op); pointer-events:none;}
.glow__orb{position:absolute; border-radius:50%; filter:blur(8px);}
.hero .glow__orb--1{top:-12%; left:-8%; width:60vw; height:60vw; max-width:760px; max-height:760px; background:radial-gradient(circle at 32% 32%, rgba(217,184,168,.62), rgba(217,184,168,0) 70%); animation:drift1 19s ease-in-out infinite;}
.hero .glow__orb--2{top:8%; right:-10%; width:52vw; height:52vw; max-width:680px; max-height:680px; background:radial-gradient(circle at 50% 50%, rgba(182,162,184,.55), rgba(182,162,184,0) 70%); animation:drift2 23s ease-in-out infinite;}
.hero .glow__orb--3{bottom:-18%; left:30%; width:46vw; height:46vw; max-width:600px; max-height:600px; background:radial-gradient(circle at 50% 50%, rgba(201,168,106,.4), rgba(201,168,106,0) 68%); animation:drift3 27s ease-in-out infinite;}

.hero__inner{position:relative; z-index:2; width:100%; max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; gap:clamp(36px,5vw,80px);}
.hero__copy{flex:1 1 380px; min-width:280px;}
.hero__eyebrow{font-family:'Cormorant',serif; font-style:italic; font-weight:400; font-size:clamp(17px,1.7vw,21px); letter-spacing:.04em; color:var(--rose-deep); margin-bottom:clamp(20px,3vw,30px);}
.hero__title{font-family:'Shippori Mincho',serif; font-weight:500; font-size:clamp(38px,6vw,72px); line-height:1.32; letter-spacing:.06em; color:var(--ink); margin:0 0 clamp(22px,3vw,30px); text-wrap:balance;}
.hero__lead{font-size:clamp(14px,1.4vw,16px); line-height:2.1; letter-spacing:.07em; color:var(--ink-sub); font-weight:300; max-width:30em; margin:0 0 clamp(30px,4vw,42px);}
.hero__actions{display:flex; flex-wrap:wrap; gap:16px; align-items:center;}
.hero__cta{display:inline-flex; align-items:center; gap:10px; padding:16px 36px; border-radius:999px; background:var(--accent); color:#fff; font-size:15px; letter-spacing:.1em; text-decoration:none; box-shadow:0 14px 34px -14px var(--accent-deep); transition:background .3s, transform .3s;}
.hero__cta:hover{background:var(--accent-deep); transform:translateY(-2px);}
.hero__ghost{display:inline-flex; align-items:center; gap:8px; padding:15px 30px; border-radius:999px; background:rgba(255,255,255,.45); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:var(--ink); font-size:14px; letter-spacing:.1em; text-decoration:none; border:1px solid rgba(201,168,106,.3); transition:background .3s;}
.hero__ghost:hover{background:rgba(255,255,255,.7);}

.hero__media{flex:1 1 320px; min-width:260px; display:flex; justify-content:center;}
.hero__frame{position:relative; width:100%; max-width:420px; aspect-ratio:.82; border-radius:24px; overflow:hidden; background:linear-gradient(155deg, #F3E5DD 0%, #E2C7BC 45%, #C3A7C0 100%); box-shadow:0 40px 90px -45px rgba(122,86,98,.6);}
.hero__image{position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; opacity:0; animation:heroCrossfade 12s ease-in-out infinite;}
.hero__image:first-child{opacity:1; animation-delay:0s;}
.hero__image:nth-child(2){animation-delay:-8s;}
.hero__image:nth-child(3){animation-delay:-4s;}

@keyframes heroCrossfade{
  0%,25%{opacity:1;}
  33.333%,91.667%{opacity:0;}
  100%{opacity:1;}
}

.hero__scroll{position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:8px; text-decoration:none; color:var(--ink-sub);}
.hero__scroll span{font-family:'Cormorant',serif; font-style:italic; font-size:12px; letter-spacing:.18em;}
.hero__scroll-line{display:block; width:1px; height:30px; background:linear-gradient(var(--champagne),transparent); animation:scrollCue 2.4s ease-in-out infinite;}

/* ============ CONCEPT ============ */
.concept{scroll-margin-top:90px; position:relative; padding:clamp(90px,14vh,170px) clamp(22px,6vw,96px); text-align:center;}
.concept__inner{max-width:760px; margin:0 auto;}
.concept .sec-eyebrow{margin-bottom:18px;}
.concept__h2{font-family:'Shippori Mincho',serif; font-weight:400; font-size:clamp(24px,3.2vw,38px); line-height:1.7; letter-spacing:.1em; color:var(--ink); margin:0 0 clamp(34px,5vw,52px);}
.concept__body{font-family:'Shippori Mincho',serif; font-weight:400; font-size:clamp(15px,1.55vw,18px); line-height:2.5; letter-spacing:.08em; color:var(--ink); margin:0;}

/* ============ GALLERY ============ */
.gallery{scroll-margin-top:80px; position:relative; padding:clamp(70px,10vh,120px) clamp(22px,6vw,96px) clamp(90px,13vh,150px); background:linear-gradient(180deg, var(--glow-white) 0%, #F4ECE6 100%);}
.gallery__inner{max-width:1200px; margin:0 auto;}
.gallery__head{text-align:center; margin-bottom:clamp(34px,4.5vw,52px);}
.gallery__h2{font-family:'Shippori Mincho',serif; font-weight:400; font-size:clamp(22px,2.8vw,34px); letter-spacing:.14em; color:var(--ink); margin:0;}
.gallery__tabs{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:clamp(34px,4.5vw,50px);}
.tab{padding:10px 24px; border-radius:999px; cursor:pointer; font-size:13px; letter-spacing:.14em; font-family:'Zen Kaku Gothic New',sans-serif; transition:all .35s ease; background:transparent; color:var(--ink-sub); border:1px solid rgba(201,168,106,.3);}
.tab.is-active{background:var(--accent); color:#fff; border:1px solid var(--accent); box-shadow:0 10px 26px -16px var(--accent-deep);}
.gallery__grid{columns:17.5rem; column-gap:clamp(16px,1.8vw,24px);}
.gcard{break-inside:avoid; margin:0 0 clamp(18px,1.9vw,26px); cursor:pointer; transition:transform .55s cubic-bezier(.2,.7,.2,1);}
.gcard:hover{transform:translateY(-7px);}
.gcard__img{position:relative; border-radius:14px; overflow:hidden; border:1px solid rgba(255,255,255,.55); box-shadow:inset 0 0 50px rgba(255,255,255,.35);}
.gcard__img img{width:100%; height:100%; object-fit:cover;}
.gcard__img--sheer img{object-position:58% 56%;}
.gcard__img--mauve img{object-position:50% 52%;}
.gcard__img--aurora img{object-position:50% 50%;}
.gcard__img--tortoiseshell img{object-position:52% 52%;}
.gcard__img .ph-tag{right:10px; bottom:10px; font-size:9px; letter-spacing:.1em; color:rgba(74,64,59,.5); background:rgba(251,246,242,.5); padding:3px 7px; border-radius:5px;}
.gcard__cap{display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:14px 4px 0;}
.gcard__name{font-family:'Shippori Mincho',serif; font-size:15px; letter-spacing:.06em; color:var(--ink);}
.gcard__by{font-family:'Cormorant',serif; font-style:italic; font-size:13px; color:var(--ink-sub); white-space:nowrap;}
.gallery__more{text-align:center; margin-top:clamp(20px,3vw,34px);}
.gallery__more a{display:inline-flex; align-items:center; gap:8px; font-size:13px; letter-spacing:.14em; color:var(--ink-sub); text-decoration:none; border-bottom:1px solid var(--champagne); padding-bottom:4px; transition:color .3s;}
.gallery__more a:hover{color:var(--ink);}
.gallery__more .demo-note{display:block; margin-top:12px; opacity:.7;}

/* ============ MENU ============ */
.menu{scroll-margin-top:80px; position:relative; padding:clamp(90px,14vh,170px) clamp(22px,6vw,96px);}
.menu__inner{max-width:1080px; margin:0 auto;}
.menu__head{text-align:center; margin-bottom:clamp(40px,5vw,60px);}
.menu__h2{font-family:'Shippori Mincho',serif; font-weight:400; font-size:clamp(22px,2.8vw,34px); letter-spacing:.14em; color:var(--ink); margin:0;}
.menu__cols{display:flex; flex-wrap:wrap; gap:clamp(22px,3vw,40px);}
.menu-card{flex:1 1 360px; min-width:280px; padding:clamp(28px,3.4vw,46px); border-radius:20px; background:rgba(255,255,255,.5); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.7); box-shadow:0 30px 70px -45px rgba(122,86,98,.45);}
.menu-card__title{font-family:'Cormorant',serif; font-size:clamp(24px,2.6vw,30px); letter-spacing:.14em; color:var(--ink); margin-bottom:6px;}
.menu-card__rule{height:1px; background:linear-gradient(90deg,var(--champagne),transparent); margin-bottom:22px;}
.menu-row{display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:14px 0; border-bottom:1px solid rgba(201,168,106,.18);}
.menu-row:last-child{border-bottom:none;}
.menu-row__name{font-size:15px; letter-spacing:.04em; color:var(--ink);}
.menu-row__price{font-family:'Cormorant',serif; font-size:18px; color:var(--ink); white-space:nowrap;}
.menu__note{text-align:center; font-size:13px; letter-spacing:.07em; color:var(--ink-sub); margin:clamp(26px,3.4vw,40px) 0 0;}
.menu__demo{text-align:center; display:block; margin-top:10px;}

/* ============ NAILIST ============ */
.nailist{scroll-margin-top:80px; position:relative; padding:clamp(80px,12vh,150px) clamp(22px,6vw,96px); background:radial-gradient(110% 90% at 20% 50%, #F4E9E3 0%, var(--glow-white) 70%);}
.nailist__inner{max-width:1080px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; gap:clamp(36px,5vw,72px);}
.nailist__media{flex:1 1 280px; min-width:240px; display:flex; justify-content:center;}
.nailist__frame{position:relative; width:100%; max-width:360px; aspect-ratio:.84; border-radius:20px; overflow:hidden; background:linear-gradient(160deg,#EFE2DA,#C9A6A6 60%,#B6A2B8); border:1px solid rgba(255,255,255,.6); box-shadow:0 36px 80px -45px rgba(122,86,98,.55);}
.nailist__frame img{width:100%; height:100%; object-fit:cover; object-position:48% 50%;}
.nailist__body{flex:1 1 340px; min-width:280px;}
.nailist__name{font-family:'Shippori Mincho',serif; font-weight:500; font-size:clamp(26px,3vw,38px); letter-spacing:.08em; color:var(--ink); margin:0 0 6px;}
.nailist__role{font-size:13px; letter-spacing:.12em; color:var(--ink-sub); margin-bottom:clamp(24px,3vw,34px);}
.nailist__quote{font-family:'Shippori Mincho',serif; font-size:clamp(15px,1.5vw,18px); line-height:2.3; letter-spacing:.06em; color:var(--ink); margin:0;}

/* ============ VOICE ============ */
.voice{position:relative; padding:clamp(80px,12vh,150px) clamp(22px,6vw,96px);}
.voice__inner{max-width:1000px; margin:0 auto;}
.voice__head{text-align:center; margin-bottom:clamp(36px,4.5vw,54px);}
.voice__h2{font-family:'Shippori Mincho',serif; font-weight:400; font-size:clamp(22px,2.8vw,34px); letter-spacing:.14em; color:var(--ink); margin:0;}
.voice__cards{display:flex; flex-wrap:wrap; gap:clamp(20px,2.6vw,32px);}
.voice-card{flex:1 1 320px; min-width:260px; position:relative; padding:clamp(32px,3.4vw,46px) clamp(28px,3vw,40px); border-radius:20px; background:rgba(255,255,255,.5); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.7); box-shadow:0 30px 70px -48px rgba(122,86,98,.45);}
.voice-card__mark{font-family:'Cormorant',serif; font-size:64px; line-height:.6; color:var(--champagne); opacity:.55; margin-bottom:8px;}
.voice-card__text{font-family:'Shippori Mincho',serif; font-size:clamp(15px,1.5vw,17px); line-height:2.1; letter-spacing:.05em; color:var(--ink); margin:0 0 18px;}
.voice-card__who{font-size:12px; letter-spacing:.1em; color:var(--ink-sub);}
.voice__demo{text-align:center; display:block; margin-top:18px;}

/* ============ ACCESS ============ */
.access{scroll-margin-top:80px; position:relative; padding:clamp(80px,12vh,150px) clamp(22px,6vw,96px); background:linear-gradient(180deg, var(--glow-white) 0%, #F2E9E4 100%);}
.access__inner{max-width:1080px; margin:0 auto; display:flex; flex-wrap:wrap; gap:clamp(32px,4vw,64px);}
.access__info{flex:1 1 320px; min-width:280px;}
.access__h2{font-family:'Shippori Mincho',serif; font-weight:400; font-size:clamp(24px,2.8vw,34px); letter-spacing:.1em; color:var(--ink); margin:0 0 clamp(26px,3vw,36px);}
.access__list{display:flex; flex-direction:column; gap:18px;}
.access__label{font-size:11px; letter-spacing:.14em; color:var(--rose-deep); text-transform:uppercase; margin-bottom:5px;}
.access__val{font-size:15px; letter-spacing:.05em; color:var(--ink); line-height:1.8;}
.access__val--hours{line-height:1.9;}
.access__tel{font-family:'Cormorant',serif; font-size:20px; letter-spacing:.05em; color:var(--ink); text-decoration:none;}
.access__map{flex:1 1 340px; min-width:280px;}
.map-ph{display:block; position:relative; width:100%; height:100%; min-height:300px; border-radius:20px; overflow:hidden; background:repeating-linear-gradient(45deg,#ECE0D8 0 14px,#E6D9D0 14px 28px); border:1px solid rgba(201,168,106,.3); box-shadow:0 30px 70px -50px rgba(122,86,98,.4);}

/* ============ FINAL CTA ============ */
.cta{position:relative; overflow:hidden; padding:clamp(110px,18vh,200px) clamp(22px,6vw,96px); text-align:center; background:radial-gradient(120% 100% at 50% 40%, #F6E9E3 0%, #ECDDE5 55%, #E4D6E2 100%);}
.cta .glow__orb--1{top:-20%; left:10%; width:50vw; height:50vw; max-width:620px; max-height:620px; background:radial-gradient(circle,rgba(217,184,168,.5),transparent 70%); animation:drift1 21s ease-in-out infinite;}
.cta .glow__orb--2{bottom:-22%; right:6%; width:46vw; height:46vw; max-width:560px; max-height:560px; background:radial-gradient(circle,rgba(182,162,184,.5),transparent 70%); animation:drift2 25s ease-in-out infinite;}
.cta__inner{position:relative; z-index:2; max-width:760px; margin:0 auto;}
.cta__eyebrow{font-family:'Cormorant',serif; font-style:italic; font-size:clamp(18px,2vw,24px); color:var(--rose-deep); letter-spacing:.05em; margin-bottom:24px;}
.cta__h2{font-family:'Shippori Mincho',serif; font-weight:500; font-size:clamp(30px,5vw,58px); line-height:1.5; letter-spacing:.08em; color:var(--ink); margin:0 0 clamp(34px,4.5vw,48px);}
.cta__btn{display:inline-flex; align-items:center; gap:10px; padding:18px 46px; border-radius:999px; background:var(--accent); color:#fff; font-size:16px; letter-spacing:.1em; text-decoration:none; box-shadow:0 16px 40px -16px var(--accent-deep); transition:background .3s, transform .3s;}
.cta__btn:hover{background:var(--accent-deep); transform:translateY(-2px);}
.cta__demo{display:block; margin-top:20px;}

/* ============ FOOTER ============ */
.footer{padding:clamp(50px,7vw,80px) clamp(22px,6vw,96px) calc(clamp(40px,5vw,60px) + var(--footpad)); background:#EDE2DB; border-top:1px solid rgba(201,168,106,.2);}
.footer__row{max-width:1080px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:space-between; gap:30px;}
.footer__logo{font-family:'Cormorant',serif; font-weight:500; font-size:30px; letter-spacing:.05em; color:var(--ink); line-height:.95;}
.footer__sub{font-size:9px; letter-spacing:.42em; color:var(--ink-sub); text-transform:uppercase; margin-top:6px;}
.footer__cols{display:flex; flex-wrap:wrap; gap:clamp(30px,5vw,70px);}
.footer__addr{font-size:13px; line-height:2; letter-spacing:.05em; color:var(--ink-sub);}
.footer__links{display:flex; flex-direction:column; gap:10px;}
.footer__links a{font-size:13px; letter-spacing:.12em; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--champagne); padding-bottom:3px;}
.footer__copy{max-width:1080px; margin:clamp(40px,5vw,60px) auto 0; font-family:'Cormorant',serif; font-style:italic; font-size:12px; letter-spacing:.08em; color:var(--ink-sub); text-align:center;}

/* ============ MOBILE FIXED BOOKING BAR ============ */
.mbar{display:none; position:fixed; left:0; right:0; bottom:0; z-index:70; gap:10px; padding:12px 14px calc(12px + env(safe-area-inset-bottom)); background:rgba(251,246,242,.9); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); border-top:1px solid rgba(201,168,106,.25); box-shadow:0 -8px 30px -16px rgba(74,64,59,.4);}
.mbar__tel{flex:0 0 auto; display:flex; align-items:center; justify-content:center; gap:7px; padding:14px 20px; border-radius:14px; background:rgba(255,255,255,.6); color:var(--ink); font-size:14px; letter-spacing:.08em; text-decoration:none; border:1px solid rgba(201,168,106,.3);}
.mbar__cta{flex:1 1 auto; display:flex; align-items:center; justify-content:center; gap:8px; padding:14px; border-radius:14px; background:var(--accent); color:#fff; font-size:15px; letter-spacing:.1em; text-decoration:none; box-shadow:0 10px 26px -14px var(--accent-deep);}

/* ============ レスポンシブ：760px 未満＝モバイル ============ */
@media (max-width:759px){
  :root{--footpad:64px;}
  .nav{display:none;}
  .hdr__burger{display:flex;}
  .mbar{display:flex;}
}
@media (min-width:760px){
  .mnav{display:none;}
}

/* reveal は JS（GSAP）が inline で初期状態を制御するため CSS では隠さない。
   ＝ JS/CDN が読み込めなくても内容は常時表示される。 */

/* ============ iframe プレビュー（?embed=hero）専用 ============
   ?embed=hero が付いたときだけ html に .is-embed-hero が付く。
   通常アクセスには一切適用されない。 */
html.is-embed-hero{
  /* JS が毎フレーム位置を指定するため、ネイティブのスムーススクロールは無効化する */
  scroll-behavior:auto;
  /* 縦スクロールバーを視覚的に隠す（Firefox / 旧Edge） */
  scrollbar-width:none; -ms-overflow-style:none;
}
html.is-embed-hero::-webkit-scrollbar,
html.is-embed-hero body::-webkit-scrollbar{ width:0; height:0; display:none; }

/* ============ モーション低減 ============ */
@media (prefers-reduced-motion: reduce){
  *{animation:none!important; scroll-behavior:auto!important; transition:none!important;}
  .hero__image{animation:heroCrossfade 12s ease-in-out infinite!important;}
  .hero__image:first-child{animation-delay:0s!important;}
  .hero__image:nth-child(2){animation-delay:-8s!important;}
  .hero__image:nth-child(3){animation-delay:-4s!important;}
}
