/* Shared fixed footer tone for all non-bridal lower pages. */
:root{
  --sense-fixed-ink:#2f2b27;
  --sense-fixed-sub:#6f6256;
  --sense-fixed-line:#e3d4c2;
  --sense-fixed-bg:rgba(255,253,248,.94);
  --sense-fixed-active:#f4eadc;
  --sense-fixed-accent:#8a704d;
  --sense-fixed-paper:#fffaf2;
}
@media (max-width:739px){
  body{
    padding-bottom:112px !important;
    color:var(--sense-fixed-ink) !important;
  }
  .lower-sticky-actions,
  .bottom-bar{
    position:fixed !important;
    left:max(12px,env(safe-area-inset-left)) !important;
    right:max(12px,env(safe-area-inset-right)) !important;
    bottom:max(10px,env(safe-area-inset-bottom)) !important;
    z-index:990 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:0 !important;
    width:auto !important;
    max-width:none !important;
    min-height:70px !important;
    padding:6px !important;
    border:1px solid var(--sense-fixed-line) !important;
    border-radius:18px !important;
    background:var(--sense-fixed-bg) !important;
    backdrop-filter:blur(16px) !important;
    box-shadow:0 14px 30px rgba(92,64,35,.15) !important;
    overflow:hidden !important;
  }
  .lower-sticky-actions a,
  .bottom-bar a{
    position:relative !important;
    display:grid !important;
    place-items:center !important;
    align-content:center !important;
    justify-items:center !important;
    gap:2px !important;
    min-width:0 !important;
    min-height:58px !important;
    margin:0 !important;
    padding:6px 4px !important;
    border:0 !important;
    border-radius:12px !important;
    background:transparent !important;
    color:var(--sense-fixed-ink) !important;
    font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif !important;
    font-size:10px !important;
    font-weight:720 !important;
    line-height:1.22 !important;
    text-align:center !important;
    text-decoration:none !important;
    appearance:none !important;
    box-shadow:none !important;
    white-space:normal !important;
  }
  .lower-sticky-actions a + a::before,
  .bottom-bar a + a::before{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    top:9px !important;
    bottom:9px !important;
    width:1px !important;
    background:#eadfce !important;
  }
  .lower-sticky-actions a:first-child,
  .bottom-bar a:first-child{
    background:#fffaf2 !important;
  }
  .lower-sticky-actions a[aria-current="page"],
  .bottom-bar .primary{
    background:var(--sense-fixed-active) !important;
    color:var(--sense-fixed-ink) !important;
  }
  .lower-sticky-actions img,
  .bottom-bar i{
    width:24px !important;
    height:24px !important;
    object-fit:contain !important;
    color:var(--sense-fixed-accent) !important;
    filter:none !important;
    font-size:22px !important;
    line-height:1 !important;
  }
  .bottom-bar span,
  .lower-sticky-actions span{
    display:block !important;
  }
  .bottom-bar{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .bottom-bar a{
    font-size:10.5px !important;
  }

  .hd-burger,
  .lower-menu-toggle,
  #global-header #global-nav #navOpen{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:40px !important;
    height:40px !important;
    padding:0 !important;
    border:1px solid #d6c6b3 !important;
    border-radius:11px !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--sense-fixed-ink) !important;
    overflow:hidden !important;
  }
  .lower-menu-toggle::before,
  .lower-menu-toggle::after{
    content:"" !important;
    position:absolute !important;
    left:11px !important;
    right:11px !important;
    height:1.5px !important;
    border-radius:999px !important;
    background:var(--sense-fixed-ink) !important;
  }
  .hd-burger::before,
  .hd-burger::after{
    display:none !important;
    content:none !important;
  }
  .lower-menu-toggle::before{ top:14px !important; }
  .hd-burger::after,
  .lower-menu-toggle::after{ bottom:14px !important; }
  .hd-burger span,
  .lower-menu-toggle span{
    display:block !important;
    width:18px !important;
    height:1.5px !important;
    border-radius:999px !important;
    background:var(--sense-fixed-ink) !important;
    box-shadow:none !important;
  }
  #global-header #global-nav #navOpen img{
    display:none !important;
  }

  .drawer{
    background:var(--sense-fixed-paper) !important;
    padding:34px 18px 30px !important;
  }
  .drawer-close{
    top:18px !important;
    right:18px !important;
    width:44px !important;
    height:44px !important;
    border:1px solid #d6c6b3 !important;
    border-radius:12px !important;
    background:rgba(255,253,248,.72) !important;
    color:var(--sense-fixed-accent) !important;
    box-shadow:none !important;
  }
  .drawer-inner{
    width:min(100%,720px) !important;
    max-width:720px !important;
    margin:0 auto !important;
  }
  .drawer-logo{
    margin:0 0 24px !important;
    text-align:left !important;
  }
  .drawer-logo img{
    height:24px !important;
    width:auto !important;
    filter:none !important;
    opacity:1 !important;
  }
  .drawer-label{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:22px 0 9px !important;
    padding:0 0 9px !important;
    border:0 !important;
    border-bottom:0 !important;
    color:#6b625a !important;
    font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif !important;
    font-size:10px !important;
    font-weight:680 !important;
    letter-spacing:.20em !important;
    line-height:1.3 !important;
    text-transform:uppercase !important;
  }
  .drawer-label::after{
    content:"" !important;
    height:1px !important;
    flex:1 1 auto !important;
    background:#e5d7c7 !important;
  }
  .drawer-nav{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:2px 5px !important;
    padding:7px !important;
    background:#fffdf8 !important;
    border-radius:13px !important;
    box-shadow:inset 0 0 0 1px #eadfce !important;
    overflow:visible !important;
  }
  .drawer-nav a{
    display:flex !important;
    min-height:66px !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    padding:10px 8px !important;
    border:0 !important;
    border-radius:9px !important;
    background:transparent !important;
    color:var(--sense-fixed-ink) !important;
    font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif !important;
    font-size:13px !important;
    font-weight:720 !important;
    letter-spacing:0 !important;
    line-height:1.35 !important;
    text-decoration:none !important;
  }
  .drawer-nav a:hover,
  .drawer-nav a:focus-visible{
    background:#f5ecdf !important;
    padding-left:8px !important;
  }
  .drawer-nav a span:first-child{
    display:grid !important;
    gap:3px !important;
    min-width:0 !important;
  }
  .drawer-nav a .dn-en,
  .drawer-nav a .dn-arrow{
    color:var(--sense-fixed-accent) !important;
    font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif !important;
    font-size:9px !important;
    font-weight:700 !important;
    letter-spacing:.14em !important;
  }
  .drawer-nav a .dn-arrow{
    flex:0 0 auto !important;
    display:grid !important;
    place-items:center !important;
    width:20px !important;
    height:20px !important;
    border-radius:999px !important;
    background:#f3eadc !important;
    font-size:9px !important;
  }
  .drawer-brand-grid,
  .drawer-cta{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .drawer-brand{
    padding:12px !important;
    border:1px solid #e3d4c2 !important;
    border-radius:10px !important;
    background:#fffdf8 !important;
  }
  .drawer-brand-name{
    color:var(--sense-fixed-accent) !important;
    font-weight:650 !important;
  }
  .drawer-brand-jp,
  .drawer-foot p{
    color:var(--sense-fixed-sub) !important;
  }
  .drawer-cta a{
    border-radius:10px !important;
    box-shadow:none !important;
  }
  .drawer-cta .dc-line{
    background:#edf7ed !important;
    color:#2f5f3b !important;
  }
  .drawer-cta .dc-tel{
    background:#f2e7d8 !important;
    color:var(--sense-fixed-ink) !important;
  }
}
@media (min-width:740px){
  .lower-sticky-actions,
  .bottom-bar{
    display:none !important;
  }
  body{
    padding-bottom:0 !important;
  }
}

/* Shared typography guard for special lower pages that carry inline legacy CSS. */
body{
  color:#2f2b27;
}
.page-title-block,
.page-hero,
.lpi-hero,
.lower-hero{
  text-align:center !important;
  background:linear-gradient(180deg,#fffdf8 0%,#fbf4ea 100%) !important;
}
.page-title-block .eb,
.page-hero .eyebrow,
.lpi-hero .eyebrow,
.lower-hero .eyebrow,
.kicker,
.eb{
  color:#8a704d !important;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif !important;
  font-size:clamp(11px,1.7vw,13px) !important;
  font-weight:700 !important;
  letter-spacing:.24em !important;
  line-height:1.35 !important;
  text-align:center !important;
  text-transform:uppercase !important;
}
.page-title,
.page-hero h1,
.lpi-hero h1,
.lower-hero h1{
  color:#2f2b27 !important;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif !important;
  font-size:clamp(31px,6vw,42px) !important;
  font-weight:760 !important;
  letter-spacing:.06em !important;
  line-height:1.36 !important;
  text-align:center !important;
}
.page-title-block .page-lead,
.page-hero .lead,
.lpi-hero .lead,
.lower-hero .lead{
  color:#6f6256 !important;
  font-size:clamp(15px,2.5vw,18px) !important;
  font-weight:430 !important;
  line-height:1.95 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
}
.sec h2,
.section h2,
.official-hero-copy h2,
.ft-cta h2,
.content h2{
  color:#2f2b27 !important;
  font-weight:760 !important;
}
.sec h3,
.section h3,
.condition-note h4,
.flow-step h3{
  color:#2f2b27 !important;
  font-weight:720 !important;
}
.sec p,
.section p,
.section li,
.section dd,
.official-hero-copy p,
.ft-cta p,
.form-preview label,
.fallback-note{
  color:#5f554c !important;
  font-weight:430 !important;
}
.line-btn,
.tel-btn,
.form-submit,
.tab-buttons button,
.chips span{
  font-weight:720 !important;
}

/* shop_info.html baseline components */
.hd{
  background:rgba(255,253,248,.96) !important;
  border-bottom:1px solid #e8ddcf !important;
}
.hd-logo img{
  height:24px !important;
  width:auto !important;
}
.hd-right,
.lower-header-actions{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.hd-btn,
.lower-store-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-width:78px !important;
  min-height:48px !important;
  padding:0 17px !important;
  border:1px solid rgba(120,96,64,.16) !important;
  border-radius:999px !important;
  background:#b9a17f !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:760 !important;
  line-height:1 !important;
  text-decoration:none !important;
}
.hd-burger,
.lower-menu-toggle{
  width:52px !important;
  height:52px !important;
  border:1px solid #d8c8b2 !important;
  border-radius:15px !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#252321 !important;
}
.hd-burger span,
.lower-menu-toggle span,
.lower-menu-toggle::before,
.lower-menu-toggle::after{
  height:2px !important;
  width:24px !important;
  background:#252321 !important;
  border-radius:999px !important;
}

.lower-drawer,
.drawer{
  background:#fffaf2 !important;
  color:#252321 !important;
}
.lower-drawer-panel{
  width:min(100%,720px) !important;
  min-height:100dvh !important;
  margin:0 auto !important;
  padding:34px 18px 30px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.lower-drawer-head,
.drawer-label{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:22px 0 9px !important;
  padding:0 0 9px !important;
  border:0 !important;
  color:#6b625a !important;
  font-size:10px !important;
  font-weight:680 !important;
  letter-spacing:.20em !important;
  line-height:1.3 !important;
  text-transform:uppercase !important;
}
.lower-drawer-head::after,
.drawer-label::after{
  content:"" !important;
  height:1px !important;
  flex:1 1 auto !important;
  background:#e5d7c7 !important;
}
.lower-drawer-close,
.drawer-close{
  position:fixed !important;
  top:18px !important;
  right:18px !important;
  width:52px !important;
  height:52px !important;
  border:1px solid #d8c8b2 !important;
  border-radius:15px !important;
  background:transparent !important;
  color:#9d7532 !important;
  box-shadow:none !important;
  font-size:26px !important;
}
.lower-drawer-links,
.drawer-nav{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:2px 5px !important;
  padding:7px !important;
  border-radius:13px !important;
  background:#fffdf8 !important;
  box-shadow:inset 0 0 0 1px #eadfce !important;
}
.lower-drawer-links a,
.drawer-nav a{
  display:flex !important;
  min-height:66px !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  padding:10px 8px !important;
  border:0 !important;
  border-radius:9px !important;
  background:transparent !important;
  color:#252321 !important;
  box-shadow:none !important;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif !important;
  font-size:13px !important;
  font-weight:760 !important;
  letter-spacing:0 !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}

.ft,
.lower-site-footer{
  background:#fffaf2 !important;
  color:#5d5046 !important;
  border-top:1px solid #e2d2bd !important;
  padding:64px 24px 44px !important;
}
.ft-inner{
  width:min(100%,760px) !important;
  margin:0 auto !important;
}
.ft-brand{
  text-align:center !important;
  margin-bottom:38px !important;
}
.ft-brand-logo,
.lower-footer-logo{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.ft-brand-logo img,
.lower-footer-logo img{
  height:42px !important;
  width:auto !important;
  max-width:min(74vw,380px) !important;
  filter:none !important;
}
.ft-brand-sub{
  margin:18px 0 0 !important;
  color:#756a61 !important;
  font-size:14px !important;
  line-height:1.7 !important;
  text-align:center !important;
}
.ft-nav,
.lower-footer-links{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:32px 38px !important;
  margin:0 auto !important;
}
.ft-nav-col{
  display:grid !important;
  align-content:start !important;
  gap:14px !important;
}
.ft-nav-title{
  margin:0 0 2px !important;
  padding-bottom:12px !important;
  border-bottom:1px solid #d8c8b2 !important;
  color:#9d7532 !important;
  font-size:14px !important;
  font-weight:760 !important;
  line-height:1.4 !important;
}
.ft-nav-col a,
.lower-footer-links a{
  display:block !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#675d55 !important;
  font-size:15px !important;
  font-weight:430 !important;
  line-height:1.8 !important;
  text-decoration:none !important;
}
.ft-bottom{
  width:min(100%,760px) !important;
  margin:42px auto 0 !important;
  padding-top:26px !important;
  border-top:1px solid #d8c8b2 !important;
  text-align:center !important;
}
.ft-copy,
.lower-footer-copy{
  margin:0 !important;
  color:#756a61 !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.7 !important;
}

@media (max-width:739px){
  body{ padding-bottom:112px !important; }
  .lower-sticky-actions{ display:none !important; }
  .ft{
    padding:58px 24px calc(116px + env(safe-area-inset-bottom)) !important;
  }
  .ft-brand-logo img,
  .lower-footer-logo img{
    height:38px !important;
  }
}

/* final tone guard: no pure black, no crushed heavy Japanese type */
:root{
  --sense-ink-final:#34302c;
  --sense-ink-soft:#62584f;
  --sense-ink-muted:#766b61;
  --sense-dark-surface:#2f2d2a;
}
body,
.content,
.key-page,
.drawer,
.lower-drawer,
.ft,
.lower-site-footer{
  color:var(--sense-ink-final) !important;
}
h1,h2,h3,h4,h5,h6,
.page-title,
.page-hero h1,
.key-hero h1,
.key-section h2,
.key-section h3,
.drawer-nav a,
.lower-drawer-links a,
.ft-tabbar a,
.ft-tabbar button,
.ft-nav-title,
.hd-btn,
.lower-store-link{
  color:var(--sense-ink-final) !important;
  font-weight:580 !important;
}
p,li,dd,dt,td,th,
.lead,
.key-lead,
.key-section p,
.key-section li,
.ft-nav-col a,
.ft-brand-sub,
.ft-copy,
.drawer-brand-jp,
.drawer-foot p{
  color:var(--sense-ink-soft) !important;
  font-weight:430 !important;
}
.eyebrow,
.key-eyebrow,
.drawer-label,
.dn-en,
.drawer-brand-name,
.dc-main,
.key-price,
.key-stat strong,
.key-card strong{
  color:#8a704d !important;
  font-weight:560 !important;
}
.hd-btn,
.lower-store-link,
.key-cta a:first-child{
  color:#fffaf2 !important;
  font-weight:560 !important;
}
.ft-tabbar svg,
.ft-tabbar i,
.lower-menu-toggle span,
.lower-menu-toggle::before,
.lower-menu-toggle::after,
.hd-burger span{
  color:var(--sense-ink-final) !important;
  stroke:var(--sense-ink-final) !important;
  background:var(--sense-ink-final) !important;
}
.drawer-nav a .dn-arrow{
  background:#f3eadc !important;
  color:#8a704d !important;
  stroke:#8a704d !important;
}
.drawer,
.lower-drawer{
  background:#fffaf2 !important;
}
.final,
.brief-cta,
[style*="background:#000"],
[style*="background: #000"],
[style*="background:black"],
[style*="background: black"]{
  background:var(--sense-dark-surface) !important;
}

.page-title-block{
  padding:36px 18px 34px !important;
  text-align:center !important;
  background:#fbf5ec !important;
}
.page-title-block .eb,
.eb{
  display:block !important;
  margin:0 0 12px !important;
  color:#8a704d !important;
  font-size:10px !important;
  line-height:1.4 !important;
  letter-spacing:.22em !important;
  font-weight:560 !important;
  text-align:center !important;
}
.page-title{
  margin:0 !important;
  color:var(--sense-ink-final) !important;
  font-size:clamp(27px,8vw,38px) !important;
  line-height:1.25 !important;
  letter-spacing:.04em !important;
  font-weight:580 !important;
  text-align:center !important;
}
.page-title em{
  color:#8a704d !important;
  font-style:normal !important;
  font-weight:580 !important;
}
.page-title-block .gl,
.gl{
  width:54px !important;
  height:2px !important;
  margin:18px auto 0 !important;
  background:linear-gradient(90deg,transparent,#b79a67,transparent) !important;
}
.page-title-block .page-lead,
.page-lead{
  max-width:680px !important;
  margin:24px auto 0 !important;
  color:var(--sense-ink-soft) !important;
  font-size:14px !important;
  line-height:1.85 !important;
  font-weight:430 !important;
  text-align:center !important;
}
