/* Homepage-only editorial upgrade. Shared detail-page styles are unchanged. */
.creative-upgrade { --bg:#fff; --bg-alt:#f3f1f7; --ink:#292536; --ink-soft:#605b6b; --accent:#655384; --accent-deep:#55416f; --maxw:1280px; --radius:4px; --radius-sm:3px; background:#fff; }
.creative-upgrade .site-header { background:#fff; box-shadow:none; border-bottom:1px solid #e6e2ec; }
.creative-upgrade .brand-logo { filter:brightness(.76) saturate(1.15); }
.creative-upgrade .btn { border-radius:4px; box-shadow:none; min-height:48px; }
.creative-upgrade .btn--primary { background:#655384; color:#fff; }
.creative-upgrade .btn--primary:hover { background:#49375f; }
.creative-upgrade .eyebrow { font-size:12px; letter-spacing:.17em; }
.creative-upgrade .eyebrow::before,.creative-upgrade .eyebrow::after { display:none; }
.creative-upgrade .hero { background:#f5f3f8; overflow:visible; }
.creative-upgrade .hero-inner { max-width:1600px; grid-template-columns:1fr 1.04fr; gap:0; padding:0; align-items:stretch; }
.creative-upgrade .hero-copy { padding:64px 48px 56px max(40px,calc((100vw - 1200px)/2)); }
.creative-upgrade .hero-copy .eyebrow { letter-spacing:.15em; margin-bottom:24px; font-size:12px; }
.hero-category { font-size:14px; font-weight:500; margin-bottom:16px; }
.creative-upgrade .hero-title { font-size:clamp(36px,3.7vw,56px); line-height:1.52; letter-spacing:.02em; margin:0 0 24px; white-space:nowrap; }
.creative-upgrade .hero-title em { font-style:normal; color:#655384; }
.creative-upgrade .hero-title em::after { display:none; }
.creative-upgrade .hero-lead { margin:0; max-width:31em; font-size:15px; line-height:2; }
.creative-upgrade .hero-cta { display:flex; align-items:flex-start; flex-direction:column; gap:16px; margin-top:28px; }
.creative-upgrade .hero-cta .btn { width:100%; max-width:360px; padding:17px 24px; font-size:15px; display:flex; justify-content:space-between; }
.hero-consult { font-size:14px; font-weight:500; text-decoration:underline; text-underline-offset:6px; min-height:32px; }
.creative-upgrade .hero-note { font-size:12px; padding:0; margin-top:12px; line-height:1.8; }
.creative-upgrade .hero-note::before { display:none; }
.editorial-photo { position:relative; min-height:650px; overflow:hidden; background:#dbd8d4; }
.editorial-photo img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:48% center; }
.editorial-photo::after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(28,22,34,.65)); pointer-events:none; }
.editorial-photo figcaption { position:absolute; z-index:1; bottom:36px; left:36px; color:#fff; }
.editorial-photo figcaption span { display:block; font-size:11px; letter-spacing:.18em; margin-bottom:10px; }
.editorial-photo figcaption strong { font-family:var(--font-serif); font-size:24px; font-weight:500; line-height:1.7; }
.photo-tag { position:absolute; right:24px; top:24px; background:#fff; color:#493d57; padding:6px 12px; font-size:11px; letter-spacing:.12em; }
.business-overview { background:#fff; padding:36px 0 26px; border-bottom:1px solid #e1dce8; }
.overview-grid { display:grid; grid-template-columns:1fr 1.3fr 1fr 1fr; align-items:center; }
.overview-title span { font-size:11px; letter-spacing:.14em; color:#655384; }
.overview-title p { font-family:var(--font-serif); font-size:20px; line-height:1.6; margin:8px 0 0; }
.overview-grid>a { display:block; border-left:1px solid #dfd9e7; padding:0 28px; text-decoration:none; color:var(--ink); }
.overview-label { display:block; font-size:13px; }
.overview-grid strong { display:block; font-family:var(--font-serif); font-weight:500; font-size:38px; line-height:1.6; white-space:nowrap; }
.overview-grid small { font-family:var(--font-sans); font-size:14px; padding:0 5px; }
.overview-detail { font-size:12px; color:#655384; }
.overview-grid a:hover .overview-detail { text-decoration:underline; }
.overview-note { margin-top:20px; margin-bottom:0; font-size:12px; color:#605b6b; }
.creative-upgrade .section { padding-block:88px; }
.creative-upgrade .section-head { margin-bottom:36px; }
.creative-upgrade .lp-statement { font-size:clamp(27px,3vw,38px); line-height:1.65; letter-spacing:.02em; }
.creative-upgrade .lp-statement em { background:none; padding:0; }
.creative-upgrade .lp-body p { line-height:2; }
.creative-upgrade .media-frame { border-radius:3px; box-shadow:none; }
.creative-upgrade .media-frame--tall::before { padding-top:92%; }
.creative-upgrade .media-frame-caption { border-radius:2px; font-size:12px; letter-spacing:.04em; }
.creative-upgrade .lp-tile { border:0; border-top:1px solid #bfb4cf; border-radius:0; box-shadow:none; background:transparent; padding:28px 10px 0; }
.creative-upgrade .lp-tile .tile-step { background:none; border-radius:0; width:auto; height:auto; font-size:30px; font-weight:500; margin-bottom:16px; }
.creative-upgrade .lp-tile .tile-sub { font-size:13px; }
.creative-upgrade .lp-tile h3 { font-size:21px; }
.creative-upgrade .lp-tile p { font-size:16px; }
.creative-upgrade .lp-facts>div { grid-template-columns:130px 1fr; }
.creative-upgrade .fee-tier { border-radius:3px; box-shadow:none; }
.creative-upgrade .fee-tier--now { background:#f1edf6; }
.creative-upgrade .lp-dark { background:#342b44; }
.creative-upgrade .lp-dark .lp-tile { background:transparent; border-color:#736781; }
.creative-upgrade .lp-dark .lp-statement em { color:#e5d7fb; background:none; }
.creative-upgrade .lp-dark .lp-body .strong { color:#fff; }
.creative-upgrade .lp-dark .lp-note { color:#d2c9dd; }
.creative-upgrade .lp-dark .btn { background:#fff; color:#433354; border-color:#fff; }
.creative-upgrade .form-shell { border-radius:4px; box-shadow:none; border:1px solid #ded7e6; }
.creative-upgrade .lp-form-head .section-lead { margin-inline:auto; }
.creative-upgrade .lp-sticky[hidden] { display:none; }
.creative-upgrade .lp-sticky { padding:10px 20px calc(10px + env(safe-area-inset-bottom)); }
.creative-upgrade .lp-sticky-micro { display:none; }
.creative-upgrade .lp-sticky .btn { min-height:48px; padding:12px; }
@media(min-width:861px) { .creative-upgrade .lp-sticky { display:none; } }
@media(max-width:1100px) and (min-width:861px) { .creative-upgrade .hero-copy { padding:44px 28px; } .creative-upgrade .hero-title { font-size:36px; } .overview-grid>a { padding:0 16px; } .overview-grid strong { font-size:30px; } }
@media(max-width:860px) {
  .creative-upgrade .hero-inner { display:flex; flex-direction:column; }
  .creative-upgrade .hero-copy { padding:32px 24px 28px; }
  .creative-upgrade .hero-copy .eyebrow { margin-bottom:15px; font-size:10px; }
  .hero-category { font-size:12px; margin-bottom:10px; }
  .creative-upgrade .hero-title { font-size:clamp(30px,7.5vw,46px); line-height:1.5; margin-bottom:18px; }
  .creative-upgrade .hero-lead { font-size:14px; line-height:1.9; }
  .creative-upgrade .hero-cta { margin-top:20px; gap:12px; }
  .creative-upgrade .hero-cta .btn { max-width:none; min-height:54px; padding:14px 20px; }
  .editorial-photo { min-height:0; height:320px; }
  .editorial-photo img { object-position:50% 47%; }
  .editorial-photo figcaption { left:24px; bottom:20px; }
  .editorial-photo figcaption strong { font-size:19px; }
  .photo-tag { right:16px; top:16px; }
  .business-overview { padding:28px 0; }
  .overview-grid { grid-template-columns:1fr 1fr; row-gap:24px; }
  .overview-title p { font-size:20px; }
  .overview-grid>a { padding:0 16px; }
  .overview-grid>a:nth-child(3) { border-left:0; padding-left:0; }
  .overview-grid strong { font-size:30px; }
  .overview-grid small { font-size:12px; padding:0 2px; }
  .overview-label,.overview-detail { font-size:12px; }
  .creative-upgrade .section { padding-block:58px; }
  .creative-upgrade .lp-cols { gap:28px; }
  .creative-upgrade .lp-statement { font-size:27px; }
  .creative-upgrade .lp-tile { padding-top:22px; }
  .creative-upgrade .lp-facts>div { grid-template-columns:1fr; gap:4px; }
  .creative-upgrade .lp-dark { padding-block:60px; }
  .creative-upgrade .fee-tiers { grid-template-columns:1fr; gap:26px; }
  .creative-upgrade .fee-tier { padding:22px; }
  .creative-upgrade .fee-tier-fee { font-size:32px; }
  .creative-upgrade .lp-grid3 { gap:24px; }
}
@media(prefers-reduced-motion:reduce) { .creative-upgrade *, .creative-upgrade *::after { scroll-behavior:auto; transition:none; animation:none; } }
/* Long Japanese CTA labels must wrap at narrow widths and enlarged text. */
.creative-upgrade .btn { white-space:normal; max-width:100%; text-align:center; }
@media(max-width:360px) {
  .creative-upgrade .hero-copy { padding-inline:20px; }
  .creative-upgrade .hero-title { font-size:28px; }
  .overview-grid>a { padding-inline:10px; }
  .overview-grid strong { font-size:26px; }
}
.creative-upgrade .form-submit .btn { min-width:0; width:100%; }
