/*
Theme Name: Epi' silk
Theme URI: https://example.com/
Author: Epi' silk
Description: 完全個室・メンズプライベートサロン Epi' silk の大理石調オリジナルテーマ。お知らせ・メニュー・スタッフを管理画面から編集できます。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: episilk
*/

/* ================= tokens ================= */
:root{
  --white:#FFFFFF;
  --marble:#F8F7F5;
  --marble-2:#F1EFEB;
  --line:#E6E3DD;
  --line-2:#D8D4CC;
  --ink:#1E1C1A;
  --ink-2:#4A4540;
  --muted:#8C867D;
  --gold:#B08A3E;
  --gold-d:#8C6E30;
  --gold-lt:#D9BE86;
  --gold-pale:#F0E7D3;
  --line-green:#06C755;

  --f-lat:"Cormorant Garamond",serif;
  --f-jp:"Shippori Mincho B1",serif;
  --f-body:"Zen Kaku Gothic New",system-ui,sans-serif;

  --pad:clamp(18px,5vw,60px);
  --maxw:1140px;
  --ease:cubic-bezier(.22,.61,.36,1);

  --mb-hero:url("assets/marble-hero.jpg");
  --mb-wide:url("assets/marble-wide.jpg");
  --mb-soft:url("assets/marble-soft.jpg");
  --mb-body:url("assets/marble-body.jpg");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;color:var(--ink);
  font-family:var(--f-body);font-size:15px;line-height:1.95;letter-spacing:.04em;
  overflow-x:hidden;
  background-color:var(--paper);
  background-image:var(--mb-body);
  background-size:cover;
  background-position:center top;
  background-attachment:fixed;
  background-repeat:no-repeat;
}
/* 大理石をくっきり見せつつ文字が読める程度に、ごく薄い白ベールだけ重ねる */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(251,250,248,.30),rgba(251,250,248,.40))}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);position:relative;z-index:2}
.sec{padding-block:clamp(64px,9vw,124px);position:relative}
/* セクションはほぼ透明にして、body全面のくっきり大理石を通す */
.sec--marble{position:relative;background:transparent}
.sec--stone{background:rgba(244,242,238,.28)}
.sec--paper{background:rgba(251,250,248,.20)}

/* marble layer */


/* reveal */
.rv{opacity:0;transform:translateY(16px)}
.rv.in{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  *{animation:none!important;transition-duration:.01ms!important}
}

/* brand mark */
.mark{width:22px;height:22px;flex:none}
.mark ellipse{fill:none;stroke:currentColor;stroke-width:1.1}

/* ================= nav ================= */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;gap:14px;padding:16px var(--pad);color:var(--ink);
  transition:background .45s var(--ease),padding .45s var(--ease),box-shadow .45s var(--ease)}
.nav.stuck{background:rgba(255,255,255,.9);backdrop-filter:blur(14px) saturate(1.1);
  padding-block:9px;box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:9px;white-space:nowrap}
.brand__t{font-family:var(--f-lat);font-size:21px;letter-spacing:.13em;font-weight:400}
.brand .mark{color:var(--gold)}
.nav__menu{display:none;gap:26px;font-size:12.5px;letter-spacing:.14em;color:var(--ink-2)}
.nav__menu a{transition:color .3s}
.nav__menu a:hover{color:var(--gold)}
@media(min-width:960px){.nav__menu{display:flex}}
.nav__cta{display:none}
@media(min-width:760px){.nav__cta{display:inline-flex}}

/* ================= buttons ================= */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 30px;border:1px solid var(--ink);border-radius:0;background:transparent;
  color:var(--ink);font-size:12.5px;letter-spacing:.16em;cursor:pointer;position:relative;
  overflow:hidden;isolation:isolate;transition:color .45s var(--ease),border-color .45s var(--ease)}
.btn::after{content:"";position:absolute;inset:0;background:var(--ink);z-index:-1;
  transform:translateY(101%);transition:transform .45s var(--ease)}
.btn:hover{color:var(--white)}
.btn:hover::after{transform:translateY(0)}
.btn--fill{background:var(--ink);color:var(--white);border-color:var(--ink)}
.btn--fill::after{background:var(--gold)}
.btn--fill:hover{color:var(--white);border-color:var(--gold)}
.btn--gold{border-color:var(--gold);color:var(--gold)}
.btn--gold::after{background:var(--gold)}
.btn--gold:hover{color:var(--white)}
.btn--light{border-color:rgba(255,255,255,.55);color:#fff}
.btn--light::after{background:#fff}
.btn--light:hover{color:var(--ink)}
.btn--sm{padding:11px 20px;font-size:11.5px}
.btn--w{width:100%;padding-block:16px}

/* ================= hero ================= */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;
  padding:110px var(--pad) 120px;text-align:center;overflow:hidden;background:#EDEAE4}
.hero__img{position:absolute;inset:0;z-index:0;
  background-image:var(--mb-hero);background-size:cover;background-position:center 42%}
@media(min-width:820px){.hero__img{background-image:var(--mb-wide)}}
.hero__glow{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(62% 52% at 50% 46%,rgba(255,255,255,.80),rgba(255,255,255,.28) 62%,rgba(255,255,255,0) 82%),
    linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 30%,rgba(255,255,255,.34))}
.hero__frame{position:absolute;inset:clamp(12px,2.4vw,26px);z-index:2;pointer-events:none;
  border:1px solid rgba(176,138,62,.5)}
.hero__frame::before,.hero__frame::after{content:"";position:absolute;background:var(--gold);
  left:50%;transform:translateX(-50%);width:70px;height:1px}
.hero__frame::before{top:-1px}.hero__frame::after{bottom:-1px}
.hero__in{position:relative;z-index:3;display:grid;justify-items:center;gap:24px;max-width:820px}
.hero__logo{display:flex;align-items:center;gap:11px;font-family:var(--f-lat);
  font-size:19px;letter-spacing:.22em;color:var(--gold-d)}
.hero__rule{width:1px;height:52px;background:linear-gradient(var(--gold),transparent)}
.hero__h{font-family:var(--f-lat);font-weight:300;margin:0;color:var(--ink);
  font-size:clamp(38px,8.4vw,76px);line-height:1.14;letter-spacing:.018em;
  text-shadow:0 1px 20px rgba(255,255,255,.6)}
.hero__h em{font-style:italic;color:var(--gold-d)}
.hero__jp{margin:0;font-family:var(--f-jp);font-size:clamp(13px,2.5vw,15.5px);
  letter-spacing:.2em;line-height:2.15;color:var(--ink-2)}
.hero__acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:6px}
.hero__note{margin:0;font-size:11.5px;letter-spacing:.12em;color:var(--muted)}


/* ================= today strip ================= */
.today{background:var(--ink);color:#F3F1EE;padding:24px var(--pad);position:relative;z-index:3}
.today__in{max-width:var(--maxw);margin-inline:auto;display:grid;gap:16px;align-items:center}
@media(min-width:920px){.today__in{grid-template-columns:auto 1fr auto;gap:28px}}
.today__lbl{display:flex;align-items:center;gap:12px;white-space:nowrap}
.today__en{font-family:var(--f-lat);font-size:12px;letter-spacing:.36em;color:var(--gold-lt)}
.today__date{font-family:var(--f-jp);font-size:14.5px;letter-spacing:.1em}
.slots{display:flex;flex-wrap:wrap;gap:7px}
.slot{border:1px solid rgba(199,174,121,.34);padding:6px 13px;font-size:12.5px;letter-spacing:.06em}
.slot b{font-family:var(--f-lat);font-size:14.5px;font-weight:500;letter-spacing:.03em;margin-right:5px}
.slot--ok{border-color:rgba(199,174,121,.6);color:var(--gold-lt)}
.slot--few{border-color:var(--gold-lt);color:var(--ink);background:var(--gold-lt)}
.slot--no{opacity:.32;text-decoration:line-through}
.slot--ok:hover{background:rgba(199,174,121,.18);cursor:pointer}
.slot--few:hover{background:#fff;cursor:pointer}

/* ================= section head ================= */
.head{display:grid;gap:8px;justify-items:center;text-align:center;margin-bottom:clamp(34px,5.5vw,60px)}
.head__en{font-family:var(--f-lat);font-size:12px;letter-spacing:.44em;color:var(--gold);text-transform:uppercase}
.head__en::after{content:"";display:block;width:26px;height:1px;background:var(--gold);margin:9px auto 0;opacity:.6}
.head__jp{font-family:var(--f-jp);font-weight:600;margin:0;color:var(--ink);
  font-size:clamp(21px,3.8vw,30px);letter-spacing:.15em;line-height:1.65}
.head__note{margin:6px 0 0;font-size:13.5px;color:var(--muted);line-height:2.05;max-width:60ch}

/* ================= news ================= */
.news{border-top:1px solid var(--line);background:rgba(255,255,255,.72);backdrop-filter:blur(3px);
  padding:4px clamp(16px,3vw,28px);border-radius:2px;box-shadow:0 10px 30px -24px rgba(31,29,26,.35)}
.news__row{display:grid;gap:4px;padding:17px 0;border-bottom:1px solid var(--line);align-items:baseline}
@media(min-width:760px){.news__row{grid-template-columns:104px 92px 1fr;gap:20px;padding:19px 0}}
.news__d{font-family:var(--f-lat);font-size:14.5px;letter-spacing:.08em;color:var(--muted)}
.news__tag{justify-self:start;font-size:11px;letter-spacing:.14em;padding:2px 10px;
  border:1px solid var(--gold);color:var(--gold)}
.news__tag--cp{background:var(--gold);color:var(--white);border-color:var(--gold)}
.news__t{font-size:14px;line-height:1.85}
.news__t strong{color:var(--gold)}

/* ================= menu ================= */
.menus{display:grid;gap:16px}
@media(min-width:820px){.menus{grid-template-columns:repeat(3,1fr);gap:22px}}
.menu{background:rgba(255,255,255,.90);backdrop-filter:blur(4px);border:1px solid var(--line);padding:34px 26px 28px;
  box-shadow:0 10px 30px -22px rgba(31,29,26,.4);
  display:flex;flex-direction:column;position:relative;
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease)}
.menu:hover{transform:translateY(-5px);box-shadow:0 22px 46px -30px rgba(30,28,26,.42);border-color:var(--line-2)}
.menu--pick{border-color:var(--gold)}
.menu__flag{position:absolute;top:0;left:26px;transform:translateY(-50%);
  background:var(--gold);color:var(--white);font-size:10.5px;letter-spacing:.18em;padding:4px 13px}
.menu__n{font-family:var(--f-jp);font-size:18.5px;letter-spacing:.13em;margin:0 0 5px}
.menu__s{font-size:12.5px;color:var(--muted);margin:0 0 22px;line-height:1.85}
.menu__p{display:flex;align-items:baseline;gap:4px;margin-bottom:5px}
.menu__num{font-family:var(--f-lat);font-weight:500;font-size:46px;line-height:1;letter-spacing:.005em}
.menu__yen{font-family:var(--f-jp);font-size:14px}
.menu__u{font-size:12px;color:var(--muted);letter-spacing:.08em}
.menu__sub{font-size:12.5px;color:var(--muted);margin:0 0 22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.menu__ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px;font-size:13.5px;color:var(--ink-2)}
.menu__ul li{position:relative;padding-left:18px;line-height:1.8}
.menu__ul li::before{content:"";position:absolute;left:0;top:.76em;width:9px;height:1px;background:var(--gold)}
.menu .btn{margin-top:auto}
.fine{margin:24px 0 0;font-size:12px;color:var(--muted);line-height:2}

/* ================= staff ================= */
.staff{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  margin-inline:calc(var(--pad) * -1);margin-block:-10px;
  padding:10px var(--pad) 26px;
  scrollbar-width:none;-ms-overflow-style:none}
.staff::-webkit-scrollbar{display:none}
@media(prefers-reduced-motion:reduce){.staff{scroll-behavior:auto}}
.staff__ctrl{display:flex;align-items:center;gap:22px;margin-top:6px}
.staff__bar{flex:1;height:1px;background:var(--line);position:relative}
.staff__bar i{position:absolute;top:0;left:0;height:1px;background:var(--gold);
  transition:left .25s var(--ease),width .25s var(--ease)}
.staff__nav{display:flex;gap:8px}
.arw{width:44px;height:44px;border:1px solid var(--line-2);background:var(--white);
  color:var(--ink);cursor:pointer;display:grid;place-items:center;font-size:15px;
  transition:border-color .35s var(--ease),color .35s var(--ease),opacity .35s var(--ease)}
.arw:hover{border-color:var(--gold);color:var(--gold)}
.arw[disabled]{opacity:.28;cursor:default;border-color:var(--line-2);color:var(--ink)}
.st{flex:0 0 clamp(252px,78vw,326px);scroll-snap-align:start;
  background:rgba(255,255,255,.90);backdrop-filter:blur(4px);border:1px solid var(--line);overflow:hidden;text-align:left;
  cursor:pointer;padding:0;font-family:inherit;
  transition:border-color .5s var(--ease),transform .55s var(--ease),box-shadow .55s var(--ease)}
.st:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 22px 46px -30px rgba(30,28,26,.4)}
.st__img{aspect-ratio:4/5;min-height:200px;position:relative;overflow:hidden;
  background-image:var(--mb-soft);background-size:cover;background-position:center}
.st__img::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.5)}
.st__img::after{content:"PHOTO";position:absolute;inset:0;display:grid;place-items:center;z-index:2;
  font-family:var(--f-lat);font-size:12px;letter-spacing:.34em;color:var(--muted)}
.st__badge{position:absolute;top:12px;left:12px;z-index:3;font-size:10px;letter-spacing:.16em;
  background:var(--gold);color:var(--white);padding:3px 10px}
.st__b{padding:22px 22px 26px}
.st__role{font-size:10.5px;letter-spacing:.22em;color:var(--gold);margin:0 0 7px}
.st__n{font-family:var(--f-lat);font-size:25px;letter-spacing:.16em;margin:0 0 13px;color:var(--ink);font-weight:400}
.st__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 15px;padding:0;list-style:none}
.st__tags li{font-size:11px;letter-spacing:.06em;border:1px solid var(--line);padding:3px 10px;color:var(--ink-2)}
.st__x{font-size:13px;color:var(--muted);margin:0 0 17px;line-height:1.95}
.st__more{font-size:11.5px;letter-spacing:.16em;color:var(--gold);display:inline-flex;gap:8px;align-items:center}
.st__more::after{content:"→";transition:transform .35s var(--ease)}
.st:hover .st__more::after{transform:translateX(5px)}

/* modal */
.mdl{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center}
.mdl.open{display:flex}
@media(min-width:760px){.mdl{align-items:center}}
.mdl__bg{position:absolute;inset:0;background:rgba(26,24,22,.5);backdrop-filter:blur(5px)}
.mdl__box{position:relative;background:var(--white);width:100%;max-width:840px;max-height:92svh;
  overflow-y:auto;border-top:2px solid var(--gold);animation:up .5s var(--ease)}
@media(min-width:760px){.mdl__box{max-height:88svh;border:1px solid var(--line);border-top:2px solid var(--gold)}}
@keyframes up{from{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}
.mdl__x{position:sticky;top:0;margin-left:auto;display:block;width:48px;height:48px;
  border:none;background:var(--white);color:var(--muted);font-size:22px;line-height:1;cursor:pointer;z-index:3}
.mdl__body{padding:0 clamp(20px,4vw,40px) 36px;margin-top:-48px}
.mdl__gal{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin-bottom:26px}
.mdl__ph{background-image:var(--mb-soft);background-size:cover;background-position:center;
  border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}
.mdl__ph::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.55)}
.mdl__ph span{position:relative;z-index:2;font-family:var(--f-lat);font-size:11px;letter-spacing:.28em;color:var(--muted)}
.mdl__ph--m{grid-row:span 2;aspect-ratio:4/5}
.mdl__ph--s{aspect-ratio:1}
.mdl__role{font-size:11px;letter-spacing:.22em;color:var(--gold);margin:0 0 6px}
.mdl__n{font-family:var(--f-lat);font-size:34px;letter-spacing:.14em;margin:0 0 3px;font-weight:400}
.mdl__jp{font-family:var(--f-jp);font-size:12.5px;letter-spacing:.16em;color:var(--muted);margin:0 0 22px}
.mdl__x2{font-size:14px;line-height:2.15;margin:0 0 26px;color:var(--ink-2)}
.mdl__dl{margin:0 0 28px;border-top:1px solid var(--line)}
.mdl__row{display:grid;grid-template-columns:100px 1fr;gap:14px;padding:13px 0;
  border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.9}
.mdl__k{color:var(--muted);font-size:12.5px;letter-spacing:.1em}
.mdl__acts{display:grid;gap:10px}
@media(min-width:560px){.mdl__acts{grid-template-columns:1fr 1fr}}

/* ================= schedule ================= */
.sch__filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:28px}
.chip{border:1px solid var(--line-2);background:var(--white);padding:9px 20px;font-size:12px;
  letter-spacing:.12em;cursor:pointer;transition:all .35s var(--ease)}
.chip:hover{border-color:var(--gold);color:var(--gold)}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--white)}
.sch__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);background:rgba(255,255,255,.86);backdrop-filter:blur(3px)}
.sch{border-collapse:collapse;width:100%;min-width:660px;font-size:13px}
.sch th,.sch td{border-bottom:1px solid var(--line);padding:14px 8px;text-align:center;vertical-align:middle}
.sch thead th{background:var(--marble-2);font-weight:500;letter-spacing:.08em;font-size:12px;position:sticky;top:0}
.sch__day{display:block;font-family:var(--f-lat);font-size:18px;letter-spacing:.02em}
.sch__wd{display:block;font-size:10.5px;color:var(--muted);letter-spacing:.1em}
.sch__wd.sat{color:#5D7A96}.sch__wd.sun{color:#A66463}
.sch th.nm{text-align:left;padding-left:18px;min-width:136px;font-family:var(--f-lat);
  font-size:17px;letter-spacing:.13em;font-weight:400;background:var(--white)}
.sch th.nm small{display:block;font-family:var(--f-body);font-size:10.5px;letter-spacing:.1em;color:var(--muted)}
.sch td.wk{color:var(--ink-2);letter-spacing:.03em;font-size:12.5px}
.sch td.off{color:var(--line-2)}
.sch tbody tr{transition:background .3s,opacity .3s}
.sch tbody tr:hover{background:var(--marble)}
.sch tbody tr.dim{opacity:.22}
.sch__note{margin:15px 0 0;font-size:12px;color:var(--muted);line-height:1.95}

/* ================= booking ================= */
.book{display:grid;gap:42px}
.book>div:last-child{background:rgba(255,255,255,.66);backdrop-filter:blur(3px);
  padding:8px clamp(16px,3vw,26px);border-radius:2px;box-shadow:0 10px 30px -24px rgba(31,29,26,.35)}
@media(min-width:900px){.book{grid-template-columns:1.05fr .95fr;gap:56px}}
.fld{display:grid;gap:6px;margin-bottom:17px}
.fld label{font-size:12px;letter-spacing:.14em;color:var(--muted)}
.fld .rq{color:var(--gold);font-size:10.5px;margin-left:6px}
.fld input,.fld select,.fld textarea{width:100%;padding:13px 14px;background:var(--white);
  border:1px solid var(--line-2);border-radius:0;font-size:14.5px;transition:border-color .3s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--gold);outline:none}
.fld textarea{min-height:92px;resize:vertical}
.fnote{font-size:12px;color:var(--muted);margin:13px 0 0;line-height:1.95}
.done{background:var(--white);border:1px solid var(--gold);padding:30px;display:none}
.done.show{display:block}
.done h3{font-family:var(--f-jp);margin:0 0 10px;font-size:18px;letter-spacing:.12em}
.done p{margin:0;font-size:13.5px;color:var(--muted);line-height:2}
.info__row{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:15px 0;
  border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.9;color:var(--ink-2)}
.info__row:first-child{border-top:1px solid var(--line)}
.info__k{color:var(--muted);font-size:12px;letter-spacing:.14em}
.info__map{margin-top:24px;aspect-ratio:16/10;border:1px solid var(--line);position:relative;
  display:grid;place-items:center;color:var(--muted);font-size:11.5px;letter-spacing:.2em;
  text-align:center;padding:14px;overflow:hidden;
  background-image:var(--mb-soft);background-size:cover;background-position:center}
.info__map::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.62)}
.info__map span{position:relative;z-index:2}

/* ================= band ================= */
.band::before{content:"";position:absolute;inset:0;z-index:0;background-image:var(--mb-wide);
  background-size:cover;background-position:center;opacity:.14;filter:grayscale(.3) brightness(.8)}
.band__h,.band__s,.band__acts{position:relative;z-index:2}
.band{position:relative;color:#F5F3EF;text-align:center;padding-block:clamp(60px,9vw,110px);
  background:var(--ink);overflow:hidden}
.band__h{font-family:var(--f-jp);font-size:clamp(19px,3.4vw,28px);letter-spacing:.15em;
  line-height:1.9;margin:0 0 13px}
.band__s{font-size:13.5px;color:rgba(245,243,239,.6);margin:0 0 30px;line-height:2}
.band__acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.band .btn--fill{background:var(--gold);border-color:var(--gold)}
.band .btn--fill::after{background:#fff}
.band .btn--fill:hover{color:var(--ink)}

/* ================= foot ================= */
.foot{background:#141312;color:rgba(245,243,239,.65);padding:42px var(--pad) 108px}
.foot__in{max-width:var(--maxw);margin-inline:auto;display:flex;flex-wrap:wrap;gap:20px;
  justify-content:space-between;align-items:center}
.foot .brand{color:#F5F3EF}
.foot__nav{display:flex;flex-wrap:wrap;gap:18px;font-size:12.5px;letter-spacing:.1em}
.foot__cp{width:100%;font-family:var(--f-lat);font-size:11.5px;letter-spacing:.24em;color:rgba(245,243,239,.36)}
@media(min-width:900px){.foot{padding-bottom:46px}}

/* ================= floating ================= */
.line-fab{position:fixed;right:14px;bottom:88px;z-index:70;display:flex;align-items:center;gap:8px;
  background:var(--line-green);color:#fff;padding:12px 17px;border-radius:999px;font-size:13px;
  letter-spacing:.08em;font-weight:700;box-shadow:0 12px 28px -12px rgba(6,199,85,.8);
  transform:translateY(150px);transition:transform .5s var(--ease)}
.line-fab.show{transform:none}
@media(min-width:900px){.line-fab{bottom:26px}}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:65;display:grid;grid-template-columns:1fr 1fr;
  gap:1px;background:rgba(255,255,255,.14);transform:translateY(105%);transition:transform .5s var(--ease)}
.bar.show{transform:none}
.bar a{padding:15px 8px;text-align:center;font-size:13px;letter-spacing:.1em;background:var(--ink);color:#F5F3EF}
.bar a.pri{background:var(--gold);color:var(--white);font-weight:700}
.bar small{display:block;font-family:var(--f-lat);font-size:9.5px;letter-spacing:.26em;opacity:.8;margin-bottom:1px}
@media(min-width:900px){.bar{display:none}}