:root {
  --font-geist-sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  --font-beauty-serif: "Yu Mincho", "Hiragino Mincho ProN", "Times New Roman", serif;
}

[hidden] { display: none !important; }
/* SEG public pages keep the approved light palette regardless of OS theme. */
:root[data-public-theme="light"] { color-scheme: only light; }
.fill-image { position: absolute; inset: 0; width: 100%; height: 100%; }
.icon-text { display: inline-grid; place-items: center; line-height: 1; }
.quick-trust > div > .icon-text { grid-row: 1 / 3; align-self: center; color: #d95582; font-size: 20px; }
.benefit-cell > .icon-text, .condition-group > .icon-text { color: #d95582; font-size: 26px; }
.play-control .icon-text, .modal-play .icon-text, .home-video-image .icon-text { transform: translateX(1px); }
.site-brand:focus-visible, .desktop-nav a:focus-visible, .mobile-menu-button:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #c94772; outline-offset: 3px; }
.faq-list summary > span { flex: 0 0 auto; color: #df4f7d; font-size: 20px; transition: transform .25s ease; }
.faq-list details[open] summary > span { transform: rotate(45deg); }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.js .reveal.is-visible { opacity: 1; transform: none; }

/* Scoped to SEG TOP: preserve the existing layout and other stores. */
.seg-home .seg-decorative-icon { display: inline-block; width: 1em; height: 1em; vertical-align: middle; }
/* SEG TOP and video pages share footer link layout and tap targets. */
.seg-home .site-footer nav a,
html[data-public-theme="light"] .video-page .site-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
@media (prefers-reduced-motion: no-preference) {
  .js .seg-home .reveal { transform: translateY(12px); transition-duration: .35s; }
  .js .seg-home .reveal.is-visible { transform: none; }
  .js .seg-home .pop-hero-copy.reveal { opacity: 1; transform: none; }
}

.mobile-menu-backdrop, .mobile-menu-panel { transition: opacity .25s ease, transform .35s cubic-bezier(.16,1,.3,1); }
.mobile-menu-panel[hidden], .mobile-menu-backdrop[hidden] { opacity: 0; }

.static-video-poster { padding: 0; }
.video-item[hidden] { display: none; }
.video-empty[hidden] { display: none; }
.modal-media img { width: 100%; height: 100%; object-fit: cover; }
.video-modal[hidden], .admin-drawer[hidden], .admin-notice[hidden] { display: none; }

.admin-sidebar a { width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 13px; border-radius: 10px; color: #bbb2c0; font-size: 13px; }
.admin-sidebar a:hover { background: #3a2e41; color: #fff; }
.admin-row[hidden] { display: none; }
.admin-back-link { margin-top: 26px; display: inline-flex; color: #cdbfce; font-size: 12px; }

@media (max-width: 900px) {
  .mobile-menu-panel { transform-origin: top; }
}

@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1; transform: none; transition: none; }
}
