/* Current V1.9: blue with pale apricot and lavender, 2026-09-11. */
:root {
  --glass-blue: #0b66c3;
  --glass-ink: #24456b;
  --glass-body: #465b76;
  --glass-line: #c5d8ed;
  --spectrum: linear-gradient(90deg, #6bb8f5, #c6b7ef 62%, #ffd2ad);
}
body {
  background-color: #dceeff;
  background-image:
    linear-gradient(112deg, transparent 8%, rgba(255,255,255,.42) 22%, rgba(255,255,255,.12) 35%, transparent 47%, rgba(255,255,255,.46) 70%, transparent 91%),
    linear-gradient(125deg, #d5ecff 0%, #f4faff 30%, #e9e1f9 58%, #ffeadb 82%, #edf6ff 100%);
  background-attachment: fixed;
}
#about { --zone-bg: rgba(245,250,255,.16); }
#business { --zone-bg: rgba(196,226,255,.14); --theme-background: transparent; }
#ecosystem { --zone-bg: rgba(229,217,251,.14); --theme-background: transparent; }
#news { --zone-bg: rgba(255,229,205,.16); }
#about, #business, #ecosystem, #news, #contact {
  background: var(--zone-bg);
  background-image: linear-gradient(112deg, rgba(255,255,255,.48), rgba(255,255,255,.08) 36%, rgba(255,255,255,.3) 37%, transparent 56%, rgba(255,255,255,.18) 86%);
  border-top: 1px solid rgba(255,255,255,.85);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.8), inset 0 -1px 0 rgba(118,155,205,.16);
  -webkit-backdrop-filter: blur(26px) saturate(125%);
  backdrop-filter: blur(26px) saturate(125%);
}
#business > .shell, #business .business-journey, #business .business-list { background: transparent; }
#ecosystem .ecosystem-cooperation {
  background: rgba(239,235,255,.28); border-color: rgba(255,255,255,.85);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
#contact {
  --zone-bg: rgba(221,237,255,.16);
  --ink: var(--glass-ink); --muted: var(--glass-body); --reading-body: var(--glass-body); --line: var(--glass-line);
  color: var(--glass-ink);
}
#contact :is(.contact-intro h2, .contact-row strong, .review-notes .review-bar strong) { color: var(--glass-ink); }
#contact :is(.contact-copy, .contact-row span, .footer p, .footer-meta, .review-notes, .review-notes .review-bar) { color: var(--glass-body); }
#contact .contact-intro > .eyebrow { color: var(--glass-blue); }
#contact .contact-row:last-child .pending, #contact .footer .pending { color: #80542c !important; }
#contact :is(.contact-list, .contact-row, .footer, .review-notes) { border-color: var(--glass-line); }
#contact .footer-brand img { filter: none; }
.site-header, .site-header.is-over-dark {
  background: linear-gradient(115deg, rgba(255,255,255,.68), rgba(243,248,255,.32) 55%, rgba(255,255,255,.52)); border-bottom: 1px solid rgba(255,255,255,.95);
  box-shadow: inset 0 1px 0 #fff, 0 8px 28px rgba(55,105,161,.13);
  -webkit-backdrop-filter: blur(28px) saturate(140%); backdrop-filter: blur(28px) saturate(140%);
}
.site-header.is-over-dark :is(.nav-links a, .nav-cta, .menu-button) { color: #073b73; }
.site-header.is-over-dark .brand img { filter: none; }
.site-header.is-over-dark .nav-links a::after { background: var(--glass-blue); }
.site-header :is(.nav-cta, .menu-button), .site-header.is-over-dark :is(.nav-cta, .menu-button) { color: #073b73; background: rgba(255,255,255,.58); border-color: #b7d2ed; }
#about .review-note, #ecosystem .reading-detail, #ecosystem .compliance,
#ecosystem .ai-product, #ecosystem .beauty-process, #contact .consultation-form {
  background: linear-gradient(125deg, rgba(255,255,255,.65), rgba(255,255,255,.22) 42%, rgba(255,255,255,.38)); border: 1px solid rgba(255,255,255,.95);
  box-shadow: inset 0 2px 0 #fff, inset 1px 0 0 rgba(255,255,255,.8), inset 0 -1px 0 rgba(110,144,194,.2), 0 16px 36px rgba(74,99,148,.14);
  -webkit-backdrop-filter: blur(24px) saturate(135%); backdrop-filter: blur(24px) saturate(135%);
}
#contact .consultation-form { border-top: 3px solid #8cbfed; }
#contact :is(input, select, textarea) { background: rgba(255,255,255,.85); border-color: #c5d8ed; }
#ecosystem .ai-product :is(.ai-platform-features, .ai-platform-footer) { background: rgba(235,243,255,.65); }
.section-index::before, .eyebrow::before { background: var(--spectrum); }
#ecosystem .flow-item::before { box-shadow: 0 0 0 6px rgba(238,232,251,.5); }
.action-link.primary, .action-button.primary { background: var(--glass-blue); border-color: var(--glass-blue); color: white; }
.action-link.primary:hover, .action-button.primary:hover { background: #0857a6; }
@supports not (backdrop-filter: blur(14px)) {
  .site-header, .site-header.is-over-dark { background: #f3f8ff; }
  #ecosystem .ai-product, #ecosystem .reading-detail, #contact .consultation-form { background: #f8faff; }
}
@media (max-width: 760px) {
  .site-header .nav-links { background: rgba(239,246,255,.97); }
}
.group-culture .culture-grid { grid-template-columns:1fr 1fr; }
.group-culture .culture-item { padding:36px 48px 40px 0; }
.group-culture .culture-item + .culture-item { padding-left:48px; }
.founder-page {
  min-height:720px; min-height:min(820px, calc(100svh - 88px));
  display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:64px;
  margin-top:80px; padding:64px 48px 0; overflow:hidden;
  border:1px solid rgba(255,255,255,.9); border-radius:8px;
  background:linear-gradient(115deg,rgba(255,255,255,.6),rgba(238,236,255,.25),rgba(255,238,224,.35));
  box-shadow:inset 0 1px 0 #fff,0 18px 44px #7897b315;
  scroll-margin-top:100px;
}
.founder-copy { padding-bottom:64px; }
.founder-copy h3 { margin:26px 0 12px; font-size:56px; line-height:1.25; color:#24456b; }
.founder-copy .founder-role { font-size:20px; color:#465b76; }
.founder-rule { width:72px; height:3px; margin:36px 0; background:var(--spectrum); }
.founder-copy .founder-statement { max-width:440px; font-size:24px; line-height:1.9; color:#24456b; }
.founder-figure { align-self:end; margin:0; }
.founder-figure img { display:block; width:100%; max-height:640px; object-fit:contain; object-position:center bottom; }
@media(max-width:760px) {
  .group-culture .culture-grid { grid-template-columns:1fr; }
  .group-culture .culture-item, .group-culture .culture-item + .culture-item { padding:24px 0; border-left:0; }
  .group-culture .culture-item + .culture-item { border-top:1px solid var(--glass-line); }
  .founder-page { min-height:0; grid-template-columns:1fr; gap:24px; margin-top:44px; padding:32px 24px 0; }
  .founder-copy { padding-bottom:0; }
  .founder-copy h3 { font-size:40px; }
  .founder-copy .founder-statement { font-size:20px; }
  .founder-rule { margin:24px 0; }
  .founder-figure img { max-height:440px; }
}
#ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules) {
  margin:18px 0; padding:0; border:1px solid rgba(255,255,255,.92); border-radius:8px;
  background:linear-gradient(110deg,rgba(255,255,255,.78),rgba(246,247,255,.46));
  box-shadow:inset 0 1px 0 #fff,0 6px 20px rgba(65,97,146,.055);
}
#ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>summary {
  display:grid; grid-template-columns:48px minmax(0,1fr) 40px; align-items:center; gap:22px;
  padding:26px 30px; margin:0; min-height:112px; border:0; border-radius:8px;
  color:#24456b; font-size:23px; line-height:1.4; cursor:pointer;
}
#ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>summary::before {
  content:'01'; display:grid; place-items:center; width:48px; height:48px;
  border:1px solid #d4e5f5; border-radius:8px; background:#eaf4ff;
  color:#0b66c3; font:14px Consolas,monospace;
}
#ecosystem #store-modules>summary::before { content:'02'; background:#f0ebfb; border-color:#e0d8f1; color:#7353a4; }
#ecosystem #cooperation-rules>summary::before { content:'03'; background:#fff1e6; border-color:#f0dfd0; color:#956039; }
#ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>summary small {
  display:block; margin-top:8px; color:#586a82; font-size:14px; line-height:1.6; font-weight:400;
}
#ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>summary::after {
  content:'+'; display:grid; place-items:center; width:38px; height:38px;
  border:1px solid #cbdff2; border-radius:50%; background:rgba(255,255,255,.8);
  color:#0b66c3; font-size:24px; line-height:1; font-weight:400;
}
#ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)[open]>summary::after { content:'−'; background:#0b66c3; color:#fff; }
#ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>summary:hover { background:rgba(255,255,255,.4); }
#ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>summary:focus-visible { outline:2px solid #0b66c3; outline-offset:3px; }
#ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)[open]>summary { border-bottom:1px solid #dce5f0; border-radius:8px 8px 0 0; }
#ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>:not(summary) { margin:24px 30px 30px; }
@media(max-width:760px) {
  #ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>summary { grid-template-columns:32px minmax(0,1fr) 30px; padding:20px 16px; gap:12px; font-size:18px; }
  #ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>summary::before { width:32px; height:36px; font-size:12px; }
  #ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>summary::after { width:28px; height:28px; font-size:20px; }
  #ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>summary small { font-size:13px; }
  #ecosystem :is(#ai-foundation,#store-modules,#cooperation-rules)>:not(summary) { margin:20px 16px; }
}
#top { padding-bottom:0; }
#top .screen-stage { padding:0; }
#top .hero-carousel { height:var(--arc-stage-height,calc(100svh - 88px)); min-height:320px; aspect-ratio:auto; }
#top .hero-intro { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); }
#top .hero-intro .action-row { display:none; }
#top .arc-floor { bottom:36px; }
#top .arc-mirror { height:48px; opacity:.1; }
@media(max-width:600px) {
  #top .hero-slides { top:50%; height:calc(100vw / 3); transform:translateY(-50%); }
}
.site-header .nav { min-height:104px; gap:28px; }
.site-header .brand img { width:254px; }
.site-header .nav-links { gap:32px; }
.site-header .nav-links a { font-size:16px; padding-top:40px; padding-bottom:40px; }
.site-header .nav-cta { font-size:15px; padding:15px 22px; }
#about,#business,#journey,#beauty,#ecosystem,#capabilities,#cooperation,#news,#contact,#founder { scroll-margin-top:120px; }
@media(min-width:761px) and (max-width:1100px) {
  .site-header .nav { gap:16px; }
  .site-header .brand img { width:214px; }
  .site-header .nav-links { gap:18px; }
  .site-header .nav-cta { padding:14px; }
}
@media(max-width:760px) {
  .site-header .nav { min-height:82px; gap:16px; }
  .site-header .brand img { width:204px; max-width:calc(100vw - 116px); }
  .site-header .nav-links { top:83px; max-height:calc(100svh - 83px); overflow-y:auto; gap:0; }
  .site-header .nav-links a { font-size:18px; padding:18px 0; }
  .site-header .menu-button { width:46px; height:46px; }
  #about,#business,#journey,#beauty,#ecosystem,#capabilities,#cooperation,#news,#contact,#founder { scroll-margin-top:99px; }
}
#top .arc-ceiling { display:none; }
#top .hero-utility-controls { position:absolute; z-index:6; bottom:20px; left:10%; display:flex; align-items:center; gap:4px; }
#top .hero-utility-controls :is(.carousel-toggle,.carousel-fullscreen) {
  position:static; display:grid; place-items:center; width:44px; height:44px; margin:0; padding:0;
  border:0; border-radius:0; background:transparent; box-shadow:none;
  font:22px Arial,sans-serif; color:#344054; opacity:.85; cursor:pointer; transform:none;
}
#top .hero-utility-controls .carousel-toggle[hidden] { display:none; }
#top .hero-utility-controls button:hover { color:#0b66c3; opacity:1; }
#top .hero-utility-controls button:focus-visible { outline:2px solid #0b66c3; outline-offset:0; opacity:1; }
@media(max-width:600px) {
  #top .hero-utility-controls { left:60px; bottom:16px; }
  #top .hero-utility-controls :is(.carousel-toggle,.carousel-fullscreen) { width:36px; }
  #top .carousel-dots { bottom:72px; }
  #top .hero-slides { top:calc((100% - 100vw / 3 - 100px) * .6); transform:none; }
}
.site-image-library { display:none; }

/* Responsive carousel sizing: desktop breathing room, readable mobile poster. */
#top .hero-utility-controls .carousel-fullscreen { display:none !important; }
@media (max-width:600px) {
  #top .hero-carousel { height:calc(100vw / 1.65 + 140px); min-height:0; }
  #top .hero-slides { top:56px; height:calc(100vw / 1.65); transform:none; }
  #top .hero-slides .hero-slide img { object-fit:cover; object-position:center; }
}

/* Mobile uses the same segmented 3D ring as desktop. */
@media (max-width:600px) {
 #top .hero-carousel { height:calc(100vw / 1.65 + 160px); }
 #top .arc-view, #top .arc-floor { display:block; }
 #top .hero-slides { width:1px; height:1px; top:0; left:0; clip-path:inset(50%); overflow:hidden; }
 #top .hero-slides .hero-slide { width:1px; height:1px; }
 #top .arc-mirror { height:32px; opacity:.1; }
 #top .arc-floor { height:68px; bottom:48px; }
 #top .carousel-dots { bottom:12px; }
}

/* Geometry tracks both viewport width and height, including rotation. */
#top .hero-carousel { height:var(--arc-stage-height); min-height:0; }
@media (min-width:1800px) { .shell { max-width:1600px; margin-inline:auto; } }

@media (min-width:761px) and (max-width:780px) {
 .site-header .nav-links { position:absolute; top:105px; left:0; right:0; height:calc(100dvh - 105px); overflow-y:auto; }
 .glass-nav-line { display:none; }
}
