/* =========================================
   Terakoya Systems Brand Theme
   灯火 / 灯り / 灯火が溶ける闇
========================================= */

:root {
  --lantern-light: #FFF4D6;
  --lantern-soft: #FFD78A;
  --lantern-flame: #FF9A3D;
  --lantern-deep: #E66B1E;
  --lantern-amber: #7A4A1F;
  --lantern-dark: #1A120B;
  --lantern-night: #0F0B08;
}

/* Top page = 遠くの灯火 */
.home-page {
  color: #FFF4D6;
  background: var(--lantern-dark);
}

.home-page .site-header {
  background: rgba(15, 11, 8, 0.86);
  border-bottom-color: rgba(255, 215, 138, 0.12);
}

.home-page .brand-text,
.home-page .main-navigation a,
.home-page .menu-button span {
  color: #FFF4D6;
}

.home-page .main-navigation a:hover {
  color: #ffffff;
  background: rgba(255, 154, 61, 0.10);
}

.home-page .hero {
  position: relative;
  min-height: 680px;
  background:
    radial-gradient(circle at 78% 48%, rgba(255,154,61,.17) 0, rgba(255,154,61,.06) 12%, transparent 31%),
    radial-gradient(circle at 85% 26%, rgba(255,215,138,.06), transparent 28%),
    linear-gradient(120deg, #090705 0%, #120c08 54%, #1A120B 100%);
}

.home-page .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .32;
  background:
    linear-gradient(180deg, transparent 72%, rgba(0,0,0,.55)),
    repeating-linear-gradient(115deg, transparent 0 88px, rgba(255,244,214,.018) 89px 90px);
}

.home-page .hero-inner { position: relative; z-index: 1; }
.home-page .hero-copy h1 { color: #FFF9EA; }
.home-page .hero-copy h1 span { color: var(--lantern-flame); text-shadow: 0 0 30px rgba(255,154,61,.16); }
.home-page .hero-description { color: #D9C7AB; }
.home-page .eyebrow,
.home-page .section-label { color: var(--lantern-flame); }

.home-page .button-secondary {
  color: #FFF4D6;
  background: rgba(255,244,214,.04);
  border-color: rgba(255,215,138,.22);
}
.home-page .button-secondary:hover { border-color: rgba(255,154,61,.55); background: rgba(255,154,61,.08); }

.lantern-distance {
  position: relative;
  min-height: 430px;
  display: grid;
  place-items: center;
}

.night-haze {
  position: absolute;
  border-radius: 50%;
  filter: blur(30px);
  opacity: .5;
}
.night-haze-one { width: 300px; height: 140px; background: rgba(122,74,31,.24); bottom: 52px; right: 24px; }
.night-haze-two { width: 160px; height: 160px; background: rgba(255,154,61,.08); top: 92px; right: 110px; }

.distant-lantern {
  position: relative;
  width: 118px;
  height: 190px;
  transform: translate(34px, -8px) scale(.92);
  filter: drop-shadow(0 0 34px rgba(255,154,61,.32));
}
.distant-lantern::before,
.distant-lantern::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 77px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
}
.distant-lantern::before { width: 155px; height: 155px; background: radial-gradient(circle, rgba(255,244,214,.72) 0, rgba(255,215,138,.32) 22%, rgba(255,154,61,.13) 45%, transparent 72%); filter: blur(12px); }
.distant-lantern::after { width: 270px; height: 270px; background: radial-gradient(circle, rgba(255,154,61,.12), transparent 64%); filter: blur(20px); }
.lantern-handle { position:absolute; z-index:2; left:30px; top:3px; width:58px; height:47px; border:5px solid #4A2D18; border-bottom:0; border-radius:32px 32px 0 0; }
.lantern-roof { position:absolute; z-index:4; left:8px; top:42px; width:102px; height:24px; background:#23170F; clip-path:polygon(14% 42%, 37% 0, 63% 0, 86% 42%, 100% 72%, 78% 72%, 72% 100%, 28% 100%, 22% 72%, 0 72%); }
.lantern-body { position:absolute; z-index:3; left:24px; top:62px; width:70px; height:93px; border:7px solid #2B1B11; border-radius:5px; background:linear-gradient(90deg,#B95A16 0 8%,#FFD78A 12% 46%,#FFF4D6 50%,#FFD78A 56% 88%,#B95A16 92% 100%); box-shadow: inset 0 0 22px rgba(255,154,61,.7), 0 0 26px rgba(255,154,61,.45); }
.lantern-body::before,.lantern-body::after { content:""; position:absolute; background:#5B351A; opacity:.85; }
.lantern-body::before { width:4px; top:0; bottom:0; left:29px; }
.lantern-body::after { height:4px; left:0; right:0; top:41px; }
.lantern-body i { position:absolute; inset:18px; border-radius:50%; background:#FFF8DE; box-shadow:0 0 18px 10px rgba(255,215,138,.88); }
.lantern-base { position:absolute; z-index:4; left:13px; top:151px; width:92px; height:17px; border-radius:3px; background:#23170F; box-shadow:0 10px 0 -4px #120C08; }
.lantern-caption { position:absolute; right:8px; bottom:22px; margin:0; color:#BDA98B; font-size:.86rem; letter-spacing:.08em; }

.home-page #products,
.home-page #about,
.home-page #contact { background: #15100C; }
.home-page .section-muted { background: #0F0B08; }
.home-page .section-heading p,
.home-page .philosophy-text,
.home-page .contact-inner p,
.home-page .product-card p,
.home-page .about-card p,
.home-page .update-item p { color: #C8B79D; }
.home-page .section-heading h2,
.home-page .philosophy-grid h2,
.home-page .contact-inner h2,
.home-page .product-card h3,
.home-page .about-card h3,
.home-page .update-item h3 { color: #FFF4D6; }

.home-page .product-card,
.home-page .about-card,
.home-page .update-item,
.home-page .contact-card {
  border-color: rgba(255,215,138,.12);
  background: #1A120B;
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}
.home-page .product-card-featured {
  color: #21160E;
  border-color: rgba(255,154,61,.48);
  background:
    radial-gradient(circle at 82% 0%, rgba(255,154,61,.21), transparent 36%),
    linear-gradient(150deg, #FFF9E8, #FFF4D6 74%, #FFE8B6);
  box-shadow: 0 24px 70px rgba(255,154,61,.12);
}
.home-page .product-card-featured h3 { color:#21160E; }
.home-page .product-card-featured p { color:#66513E; }
.home-page .product-card-featured .product-category { color:#9A571E; }
.home-page .product-card:not(.product-card-featured) {
  background:
    radial-gradient(circle at 8% 14%, rgba(255,154,61,.10), transparent 25%),
    linear-gradient(145deg, #20160F, #120D09);
}
.home-page .status-badge:not(.status-ready) { color:#D6B58A; background:rgba(255,244,214,.05); border-color:rgba(255,215,138,.12); }
.home-page .text-link { color:#E4C59B; }
.home-page .feature-list li { color:#5B4635; }
.home-page .about-number,
.home-page .product-category,
.home-page .update-type { color: var(--lantern-flame); }
.home-page .contact-card strong { color:#FFF4D6; }
.home-page .contact-card small { color:#BDA98B; }
.home-page .site-footer { color:#BDA98B; background:#090705; border-top:1px solid rgba(255,215,138,.08); }
.home-page .site-footer .brand-text { color:#FFF4D6; }

@media (max-width: 720px) {
  .home-page .main-navigation { background:#15100C; border-color:rgba(255,215,138,.15); }
  .lantern-distance { min-height:330px; }
  .distant-lantern { transform:scale(.78); }
  .lantern-caption { position:static; align-self:end; text-align:center; }
}

/* =========================================
   Product pages = 手に持った灯籠の明るさ
   全体を #FFF4D6 系で統一
========================================= */
.product-page-body {
  --background: #FFF4D6;
  --background-muted: #FFECC3;
  --surface: #FFF9E8;
  --text: #2A1B11;
  --text-muted: #6C5643;
  --border: #EACD99;
  --primary: #FF9A3D;
  --primary-dark: #E66B1E;
  --primary-soft: #FFE3B0;
  color: var(--text);
  background: #FFF4D6;
}

.product-page-body .site-header {
  background: rgba(255,244,214,.92);
  border-bottom-color: rgba(122,74,31,.15);
}
.product-page-body .brand-text { color:#2A1B11; }
.product-page-body .main-navigation a { color:#6C5643; }
.product-page-body .main-navigation a:hover { color:#2A1B11; background:#FFE6B2; }

.product-page-body .product-hero {
  background:
    radial-gradient(circle at 78% 18%, rgba(255,154,61,.18), transparent 31%),
    linear-gradient(180deg, #FFF4D6, #FFF0CF);
}
.product-page-body .product-lead,
.product-page-body .problem-grid span,
.product-page-body .section-heading p,
.product-page-body .workflow-grid p,
.product-page-body .use-case-list p,
.product-page-body .requirements-card p { color:#725B46; }

.product-page-body .problem-strip,
.product-page-body .section,
.product-page-body .section-muted,
.product-page-body .download-section,
.product-page-body .product-bottom-nav { background:#FFF4D6; }
.product-page-body .section-muted { background:#FFEEC9; }

.product-page-body .product-preview-card,
.product-page-body .feature-detail-card,
.product-page-body .workflow-grid article,
.product-page-body .requirements-card,
.product-page-body .download-card,
.product-page-body .app-mock-result div,
.product-page-body .app-mock-options span,
.product-page-body .app-mock-panel,
.product-page-body .use-case-list article {
  background:#FFF9E8;
  border-color:#EACD99;
  box-shadow:0 14px 34px rgba(122,74,31,.07);
}
.product-page-body .feature-card-primary {
  background:linear-gradient(180deg,#FFE9BC,#FFF9E8);
  border-color:#FFB96E;
}
.product-page-body .preview-toolbar { background:#F5E5C5; border-bottom-color:#E1C28A; }
.product-page-body .app-mock-drop { background:#FFF4D6; border-color:#DDBF8B; }
.product-page-body .app-mock-options span:first-child { background:#FFE3B0; border-color:#FFB96E; }

.product-page-body .section-dark-info {
  color:#2A1B11;
  background:#FFE7B5;
  border-top:1px solid #EACD99;
  border-bottom:1px solid #EACD99;
}
.product-page-body .section-label-light { color:#E66B1E; }
.product-page-body .privacy-copy p { color:#6C5643; }
.product-page-body .privacy-copy .privacy-note { color:#8B725A; }

.product-page-body .download-card-release {
  background:
    radial-gradient(circle at 88% 20%, rgba(255,154,61,.18), transparent 28%),
    linear-gradient(135deg,#FFF9E8,#FFE9BC);
  color:#2A1B11;
  border:1px solid #E6BD7D;
}
.product-page-body .download-card-release p { color:#6C5643; }
.product-page-body .release-badge {
  color:#9B4D16;
  background:#FFE0A3;
  border-color:#F4B965;
}
.product-page-body .download-card .release-detail { color:#8A623D; }
.product-page-body .release-warning {
  margin-top:12px;
  max-width:720px;
  color:#7A4A1F !important;
  font-size:.82rem;
}
.product-page-body .download-action small { color:#8A6B4B; }

.product-page-body .site-footer {
  color:#6C5643;
  background:#F6E4BD;
  border-top:1px solid #DFC18D;
}
.product-page-body .site-footer .brand-text { color:#2A1B11; }
.product-page-body .footer-navigation a:hover { color:#E66B1E; }
.product-page-body .copyright { border-top-color:rgba(122,74,31,.12); }

.product-page-body .button-secondary { background:#FFF9E8; border-color:#E2C594; color:#2A1B11; }
.product-page-body .button-secondary:hover { border-color:#FF9A3D; }

@media (max-width:720px) {
  .product-page-body .main-navigation { background:#FFF4D6; border-color:#EACD99; }
}
