/* Public website only. Customer and administrator styles remain independent. */
body.public-body { margin: 0; background: #fcfaf4; }
.site { --paper: #fcfaf4; --ink: #292b25; --muted: #6c7065; --gold: #f6cd55; --line: #e7e5d9; --soft: #f4f0e3; color: var(--ink); background: var(--paper); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
.site *, .site *::before, .site *::after { box-sizing: border-box; }
.site [hidden] { display: none !important; }
.site a { color: inherit; text-decoration: none; }
.site button { font: inherit; color: inherit; cursor: pointer; }
.site a:focus-visible, .site button:focus-visible, .site summary:focus-visible { outline: 3px solid #876714; outline-offset: 5px; }
.site img { display: block; max-width: 100%; height: auto; }
.site h1, .site h2, .site h3, .site p { margin: 0; }
.site h1, .site h2, .site h3 { line-height: 1.25; }
.site svg { max-width: 100%; }
.site .site-icon { width: 24px; height: 24px; flex: 0 0 auto; vertical-align: middle; }
.site .site-wrap { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.site .skip-link { position: absolute; top: 12px; left: 16px; z-index: 20; padding: 8px 20px; background: var(--gold); border-radius: 8px; transform: translateY(-160%); }
.site .skip-link:focus { transform: none; }
.site .site-header { position: relative; z-index: 5; border-bottom: 1px solid transparent; }
.site .site-header > .site-wrap { min-height: 100px; display: flex; align-items: center; gap: 36px; }
.site .brand { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; font-size: 21px; font-weight: 750; letter-spacing: -.035em; }
.site .brand-icon { width: 44px; height: 44px; object-fit: contain; }
.site .site-nav { display: flex; align-items: center; gap: 29px; margin-inline: auto; font-size: 14px; font-weight: 550; }
.site .site-nav a { position: relative; padding-block: 12px; color: var(--muted); transition: color .18s ease; white-space: nowrap; }
.site .site-nav a:hover, .site .site-nav a[aria-current="page"] { color: var(--ink); }
.site .site-nav a[aria-current="page"]::after { content: ""; width: 14px; height: 3px; border-radius: 5px; background: var(--gold); position: absolute; left: calc(50% - 7px); bottom: 3px; }
.site .header-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.site .header-actions :is(.language-link, .login-link) { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 44px; min-width: 44px; min-height: 44px; padding: 0 10px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: #53574d; font-size: 13px; font-weight: 600; line-height: 1; white-space: nowrap; transition: background .18s ease, border-color .18s ease; }
.site .header-actions :is(.language-link, .login-link) svg { width: 18px; height: 18px; flex: 0 0 18px; stroke-width: 1.7; }
.site .header-actions :is(.language-link, .login-link):hover { background: rgba(222, 211, 181, .20); border-color: rgba(185, 167, 121, .10); }
.site .header-actions :is(.language-link, .login-link):active { background: rgba(222, 211, 181, .30); }
.site .language-compact { display: none; }
.site .menu-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 50%; background: transparent; }
.site .menu-toggle svg { width: 23px; height: 23px; }
.site .hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 30px; padding-block: 56px 70px; }
.site .hero-copy { min-width: 0; position: relative; z-index: 2; }
.site .eyebrow { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 700; letter-spacing: .06em; margin-bottom: 25px; }
.site .eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #dca431; box-shadow: 0 0 0 5px #f4e9c6; flex: 0 0 auto; }
.site .hero-title { font-size: clamp(45px, 4.4vw, 62px); font-weight: 680; letter-spacing: -.055em; line-height: 1.22; text-wrap: balance; }
.site .hero-title em { color: #a87810; font-style: normal; }
.site .hero-title > span { display: block; }
.site .hero-description { max-width: 450px; margin-top: 26px; color: var(--muted); font-size: 17px; line-height: 1.95; text-wrap: pretty; }
.site .hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 32px; }
.site .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 13px 26px; border: 1px solid transparent; border-radius: 100px; font-size: 14px; line-height: 1.45; font-weight: 650; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.site .btn svg { width: 17px; height: 17px; }
.site .btn-primary { background: var(--gold); color: #322b18; box-shadow: 0 5px 14px #ad7a1310; }
.site .btn-primary:hover { background: #f3c344; box-shadow: 0 6px 18px #ad7a1320; transform: translateY(-2px); }
.site .btn-secondary { border-color: #dad8cb; background: transparent; }
.site .btn-secondary:hover { background: #f0eddf; transform: translateY(-2px); }
.site .hero-note { margin-top: 23px; font-size: 12px; color: var(--muted); }
.site .hero-art { min-width: 0; height: 510px; position: relative; isolation: isolate; }
.site .hero-glow { position: absolute; inset: 55px 15px 15px; border-radius: 50%; background: radial-gradient(ellipse at 50% 50%, #f8e7ae 0%, #faf0d4 54%, #fcfaf400 74%); z-index: -1; }
.site .orbit { position: absolute; width: 100%; height: 100%; inset: 0; color: #ded7bc; pointer-events: none; }
.site .orbit path, .site .orbit circle { fill: none; stroke: currentColor; stroke-width: 1; }
.site .hero-cat { position: absolute; width: 355px; height: 355px; object-fit: contain; left: 50%; top: 50%; transform: translate(-50%, -45%); filter: drop-shadow(0 22px 30px #77511414); }
.site .art-label { position: absolute; bottom: 1px; right: 24px; color: var(--muted); font-size: 10px; letter-spacing: .1em; }
.site .demo-card { display: flex; align-items: center; gap: 12px; position: absolute; z-index: 2; padding: 15px 18px; border: 1px solid #e8e3d5; border-radius: 17px; background: #fffdf8; box-shadow: 0 12px 28px #5950350b; max-width: 290px; }
.site .demo-one { top: 26px; left: 8px; }
.site .demo-two { top: 173px; right: -5px; }
.site .demo-three { left: 0; bottom: 36px; background: #f7edc7; border-color: #eee1b3; }
.site .step-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 29px; height: 29px; border-radius: 50%; background: #f2ede0; font-size: 10px; font-weight: 750; color: #71613c; }
.site .demo-three .step-number { background: #c79428; color: #3c2f13; }
.site .demo-icon { display: flex; color: #ab852b; }
.site .demo-icon svg { width: 22px; height: 22px; }
.site .demo-copy { display: flex; flex-direction: column; min-width: 0; }
.site .demo-copy strong { font-size: 13px; font-weight: 650; line-height: 1.4; }
.site .demo-copy small { font-size: 10px; line-height: 1.5; color: #666a5b; margin-top: 4px; }
.site .section { padding-block: 82px; }
.site .section-tinted { background: #f6f3e9; }
.site .section-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .8fr); align-items: end; gap: 14px 60px; margin-bottom: 38px; }
.site .section-heading > .kicker { grid-column: 1 / -1; margin-bottom: 0; }
.site .kicker { font-size: 11px; font-weight: 750; letter-spacing: .11em; color: #8f722e; text-transform: uppercase; margin-bottom: 15px; }
.site .section-heading h2, .site .cta-band h2 { font-size: clamp(27px, 2.5vw, 36px); font-weight: 650; letter-spacing: -.04em; text-wrap: balance; }
.site .section-heading p { max-width: 410px; color: var(--muted); font-size: 14px; }
.site .section-heading > p { flex: 0 1 400px; }
.site .section-link { display: inline-flex; gap: 9px; align-items: center; font-size: 13px; font-weight: 650; border-bottom: 1px solid #d2c4a1; padding-bottom: 4px; }
.site .section-link svg { width: 17px; height: 17px; }
.site .feature-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); padding-block: 30px; }
.site .feature { position: relative; padding: 9px 34px; }
.site .feature:first-child { padding-left: 0; }
.site .feature:last-child { padding-right: 0; }
.site .feature + .feature { border-left: 1px solid var(--line); }
.site .feature-number { font-size: 11px; font-weight: 650; color: #989681; }
.site .feature-icon { width: 32px; height: 32px; color: #ae8625; margin-bottom: 17px; }
.site .feature-icon { display: block; }
.site .feature-number { display: none; }
.site .feature-icon svg { width: 32px; height: 32px; }
.site .feature h3 { font-size: 18px; font-weight: 650; margin-block: 12px; }
.site .feature p { font-size: 13px; color: var(--muted); }
.site .steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
.site .step-card { min-width: 0; padding-block: 8px; }
.site .step-card .step-number { width: 40px; height: 40px; font-size: 12px; margin-bottom: 22px; background: #eee7ce; }
.site .step-card h3 { font-size: 20px; margin-bottom: 12px; font-weight: 650; }
.site .step-card p { color: var(--muted); font-size: 14px; }
.site .steps-section { background: #f6f3e9; }
.site .step-card-top > .site-icon { display: none; }
.site .section-after { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.site .window-note, .site .price-note { color: var(--muted); font-size: 12px; }
.site .window-note { display: flex; align-items: center; gap: 9px; }
.site .window-note svg { width: 17px; height: 17px; }
.site .text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 650; line-height: 1.6; padding-block: 7px; }
.site .text-link svg { width: 17px; height: 17px; }
.site .text-link:hover { color: #957021; }
.site .pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 960px; margin-inline: auto; }
.site .price-card { min-width: 0; border: 1px solid #e3e0d2; border-radius: 24px; padding: 33px 36px; background: #fffefa; display: flex; flex-direction: column; }
.site .price-card:last-child { background: #f8f0d5; border-color: #eadeb7; }
.site .price-name { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:17px; font-weight:650; margin-bottom:22px; }
.site .price { font-size: 59px; line-height: 1.1; letter-spacing: -.06em; font-weight: 650; }
.site .price-symbol { font-size: 26px; margin-right: 4px; vertical-align: baseline; }
.site .price-currency { font-size: 11px; color: var(--muted); margin-top: 8px; }
.site .price-unit { font-size: 15px; color: var(--muted); font-weight: 500; letter-spacing: 0; margin-left: 10px; }
.site .price-description { margin-bottom: 20px; font-size: 13px; color: var(--muted); }
.site .price-list { list-style: none; padding: 0; margin: 25px 0 30px; font-size: 13px; color: #5f6357; }
.site .price-list li { display: flex; align-items: start; gap: 10px; margin-block: 8px; }
.site .price-list .site-icon { width: 16px; height: 16px; margin-top: 3px; color: #9a7825; }
.site .price-card .btn { margin-top: auto; align-self: flex-start; }
.site .pricing-note { text-align: center; font-size: 12px; color: var(--muted); margin: 22px auto 0; max-width: 800px; }
.site .faq-list { max-width: 840px; }
.site .faq-item { border-bottom: 1px solid var(--line); }
.site .faq-item:first-child { border-top: 1px solid var(--line); }
.site .faq-item summary { position: relative; list-style: none; padding: 22px 38px 22px 0; cursor: pointer; font-size: 16px; font-weight: 550; line-height: 1.55; }
.site .faq-item summary::-webkit-details-marker { display: none; }
.site .faq-item summary::after { content: "+"; position: absolute; right: 5px; top: 20px; font-size: 22px; line-height: 1.2; color: #958762; }
.site .faq-item[open] summary::after { content: "−"; }
.site .faq-item p { padding: 0 35px 24px 0; font-size: 14px; color: var(--muted); line-height: 1.9; }
.site .faq-item a { text-decoration: underline; text-underline-offset: 3px; }
.site .faq-home { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1fr); gap: 72px; }
.site .faq-home .section-heading { display: block; }
.site .faq-home .section-heading h2 { margin-top: 18px; }
.site .faq-home .section-heading p:last-child { margin-top: 20px; }
.site .faq-more { margin-top: 20px; }
.site .faq-group + .faq-group { margin-top: 42px; }
.site .faq-group > h2 { font-size: 17px; margin-bottom: 22px; }
.site .faq-intro > img { width: 175px; margin-top: 27px; }
.site .cta-band { position: relative; display: grid; grid-template-columns: 1fr 280px; align-items: center; gap: 32px; border-radius: 28px; background: #f4e8bb; padding: 45px 60px; min-height: 295px; }
.site .cta-band p { margin-top: 16px; color: #756849; font-size: 14px; }
.site .cta-band .btn { margin-top: 24px; }
.site .cta-art { width: 230px; height: 230px; object-fit: contain; justify-self: center; }
.site .site-footer { border-top: 1px solid var(--line); margin-top: 36px; padding-block: 40px 24px; }
.site .footer-top, .site .footer-main { display: flex; justify-content: space-between; gap: 32px; }
.site .footer-main > div > p { font-size: 12px; color: var(--muted); margin-top: 12px; }
.site .footer-brand p { color: var(--muted); font-size: 12px; margin-top: 12px; max-width: 360px; }
.site .footer-links { display: flex; gap: 22px; flex-wrap: wrap; align-items: center; max-width: 560px; font-size: 12px; color: var(--muted); }
.site .footer-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.site .footer-bottom { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 18px; display: flex; justify-content: space-between; gap: 24px; font-size: 11px; color: var(--muted); }
.site .page-hero { padding-block: 62px 54px; }
.site .page-hero .eyebrow { margin-bottom: 22px; }
.site .page-title { font-size: clamp(37px, 4vw, 56px); font-weight: 650; letter-spacing: -.045em; text-wrap: balance; }
.site .page-description { max-width: 680px; color: var(--muted); font-size: 16px; margin-top: 24px; }
.site .page-section { padding-block: 18px 68px; }
.site .guide-step { display: grid; grid-template-columns: 64px minmax(0, 1fr) minmax(0, .8fr); gap: 28px; align-items: center; padding-block: 46px; border-top: 1px solid var(--line); }
.site .guide-number { font-size: 13px; border-radius: 50%; background: #f1e6c1; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; align-self: start; font-weight: 700; }
.site .guide-copy h2 { font-size: 27px; font-weight: 650; margin-bottom: 18px; letter-spacing: -.03em; }
.site .guide-copy p { color: var(--muted); font-size: 14px; max-width: 510px; margin-bottom: 14px; }
.site .guide-visual { background: #f5f0df; border-radius: 24px; padding: 24px; display: flex; align-items: center; justify-content: center; min-height: 220px; }
.site .guide-visual img { max-width: 270px; max-height: 190px; object-fit: contain; }
.site .guide-visual .demo-card { position: static; box-shadow: none; }
.site .note-box, .site .notice-strip { padding: 24px 28px; background: #f2ede0; border-radius: 16px; color: #66654f; font-size: 13px; }
.site .note-box h2, .site .note-box h3 { font-size: 17px; margin-bottom: 10px; color: var(--ink); }
.site .note-box p + p { margin-top: 12px; }
.site .guide-copy .note-box { padding: 17px 20px; display: flex; align-items: start; gap: 12px; }
.site .guide-copy .note-box > svg { width: 17px; height: 17px; margin-top: 4px; color: #9b7d31; }
.site .guide-copy .note-box > p { margin: 0; font-size: 12px; }
.site .notice-strip > div { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.site .notice-strip h2 { font-size: 18px; font-weight: 650; }
.site .notice-strip .text-link { margin-top: 13px; }
.site .price-note-centered { margin-top: 20px; text-align: center; }
.site .customer-language-note { font-size: 12px; color: var(--muted); margin-top: 16px; }
.site .rules-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 50px; margin-block: 45px; }
.site .rule-item h2, .site .rule-item h3 { font-size: 19px; margin-bottom: 13px; font-weight: 650; }
.site .rule-item p { font-size: 14px; color: var(--muted); }
.site .faq-layout { display: grid; grid-template-columns: minmax(0, .5fr) minmax(0, 1fr); gap: 68px; align-items: start; }
.site .faq-intro { padding-top: 20px; }
.site .faq-intro h2 { font-size: 24px; margin-bottom: 18px; }
.site .faq-intro p { font-size: 14px; color: var(--muted); }
.site .faq-intro .section-link { margin-top: 22px; }
.site .client-language-note { font-size: 12px; color: var(--muted); margin-top: 14px; }
/* Content is visible without JavaScript. Only observed below-the-fold sections
   are armed, and each is unobserved immediately after its first entrance. */
.site .reveal-pending { opacity: 0; transform: translateY(18px); }
.site .reveal-visible { animation: site-reveal .6s cubic-bezier(.2,.65,.3,1) both; }
.site.motion-ready .hero-copy { animation: site-reveal .7s cubic-bezier(.2,.65,.3,1) both; }
.site.motion-ready .hero-cat { animation: site-cat-in .9s cubic-bezier(.2,.65,.3,1) both; }
.site.motion-ready .demo-one { animation: site-card-in .7s .15s both; }
.site.motion-ready .demo-two { animation: site-card-in .7s .3s both; }
.site.motion-ready .demo-three { animation: site-card-in .7s .45s both; }
.site.motion-ready .orbit path { stroke-dasharray: 1000; stroke-dashoffset: 1000; animation: site-draw 1.8s .1s ease-out forwards; }
@keyframes site-reveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes site-card-in { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes site-cat-in { from { opacity: 0; transform: translate(-50%, -40%) scale(.95); } to { opacity: 1; transform: translate(-50%, -45%) scale(1); } }
@keyframes site-draw { to { stroke-dashoffset: 0; } }
@media (min-width: 1700px) { .site .hero { padding-block: 86px 96px; } }
@media (max-width: 1100px) {
  .site .site-wrap { width: calc(100% - 64px); }
  .site .site-header > .site-wrap { gap: 20px; }
  .site .site-nav { gap: 20px; font-size: 13px; }
  .site .hero { gap: 15px; padding-block: 44px 55px; }
  .site .hero-title { font-size: 48px; }
  .site .hero-description { font-size: 15px; }
  .site .hero-art { height: 460px; }
  .site .hero-cat { width: 300px; height: 300px; }
  .site .demo-card { gap: 8px; padding: 13px 14px; max-width: 250px; }
  .site .demo-two { top: 160px; right: 0; }
  .site .section { padding-block: 65px; }
  .site .faq-layout { gap: 40px; }
}
@media (max-width: 850px) {
  .site .site-header > .site-wrap { min-height: 82px; gap: 16px; flex-wrap: wrap; }
  .site.nav-enhanced .site-header > .site-wrap { flex-wrap: nowrap; }
  .site .brand { font-size: 19px; }
  .site .brand-icon { width: 34px; height: 34px; }
  .site.nav-enhanced .menu-toggle { display: inline-flex; }
  .site .header-actions { gap: 6px; }
  .site .header-actions :is(.language-link, .login-link, .menu-toggle) { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; flex: 0 0 44px; gap: 0; border: 1px solid transparent; border-radius: 12px; background: transparent; color: #53574d; line-height: 1; transition: background .18s ease, border-color .18s ease; }
  .site .header-actions :is(.language-link, .login-link, .menu-toggle):hover { background: rgba(222, 211, 181, .14); border-color: rgba(185, 167, 121, .10); }
  .site .header-actions :is(.language-link, .login-link, .menu-toggle):active, .site .header-actions .menu-toggle[aria-expanded="true"] { background: rgba(222, 211, 181, .30); }
  .site .language-link svg, .site .language-full { display: none; }
  .site .language-compact { display: inline-block; font-size: 13px; font-weight: 650; line-height: 1; }
  .site .header-actions :is(.login-link, .menu-toggle) svg { width: 20px; height: 20px; flex: 0 0 20px; stroke-width: 1.8; }
  .site .login-link [data-customer-label] { display: none; }
  .site .site-nav { order: 3; flex-basis: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; padding-bottom: 12px; }
  .site.nav-enhanced .site-nav { display: none; position: absolute; left: 0; right: 0; top: 81px; padding: 14px 32px 22px; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 12px 15px #5b503309; flex-direction: column; align-items: stretch; gap: 0; }
  .site.nav-enhanced .site-nav.is-open { display: flex; }
  .site .site-nav a { padding: 12px 8px; min-height: 46px; }
  .site .site-nav a[aria-current="page"]::after { left: -3px; bottom: 22px; width: 4px; height: 4px; }
  .site .hero { grid-template-columns: 1fr; gap: 16px; padding-block: 34px 42px; }
  .site .hero-copy { max-width: 610px; }
  .site .hero-title { font-size: clamp(43px, 7vw, 58px); }
  .site .hero-description { max-width: 510px; font-size: 16px; }
  .site .hero-art { width: min(570px, 100%); height: 470px; margin-inline: auto; }
  .site .hero-cat { width: 355px; height: 355px; }
  .site .demo-one { top: 25px; left: 20px; }
  .site .demo-two { top: 155px; right: 14px; }
  .site .demo-three { bottom: 23px; left: 25px; }
  .site .section-heading { grid-template-columns: 1fr; align-items: start; gap: 17px; }
  .site .section-heading > p { flex: initial; }
  .site .section-heading p { max-width: 600px; }
  .site .feature { padding-inline: 22px; }
  .site .steps-grid { gap: 28px; }
  .site .price-card { padding: 28px; }
  .site .cta-band { padding: 36px; grid-template-columns: 1fr 180px; }
  .site .cta-art { width: 180px; height: 180px; }
  .site .footer-top, .site .footer-main { flex-direction: column; }
  .site .faq-home { grid-template-columns: 1fr; gap: 8px; }
  .site .section-after { align-items: start; flex-direction: column; gap: 14px; }
  .site .guide-step { grid-template-columns: 48px minmax(0, 1fr); gap: 22px; }
  .site .guide-visual { grid-column: 2; width: 100%; }
  .site .faq-layout { grid-template-columns: 1fr; gap: 30px; }
  .site .faq-intro { padding-top: 0; max-width: 550px; }
}
@media (max-width: 560px) {
  .site .site-wrap { width: calc(100% - 40px); }
  .site .site-header > .site-wrap { min-height: 76px; gap: 8px; }
  .site .brand { font-size: 16px; gap: 6px; }
  .site .brand-icon { width: 30px; height: 30px; }
  .site.nav-enhanced .site-nav { top: 75px; padding-inline: 20px; }
  .site .hero { padding-top: 31px; padding-bottom: 35px; gap: 10px; }
  .site .eyebrow { font-size: 10px; margin-bottom: 22px; }
  .site .hero-title { font-size: clamp(35px, 9.7vw, 46px); line-height: 1.27; letter-spacing: -.05em; }
  .site .hero-description { font-size: 14px; margin-top: 22px; line-height: 1.85; }
  .site .hero-actions { gap: 10px; margin-top: 26px; }
  .site .btn { padding: 13px 21px; min-height: 48px; font-size: 13px; }
  .site .hero-note { font-size: 11px; margin-top: 18px; }
  .site .hero-art { height: 360px; width: 100%; margin-top: 15px; }
  .site .hero-glow { inset: 15px 0 0; }
  .site .hero-cat { width: 260px; height: 260px; }
  .site .demo-card { padding: 10px 12px; gap: 8px; border-radius: 13px; max-width: 232px; }
  .site .demo-one { top: 9px; left: 0; }
  .site .demo-two { top: 129px; right: 0; }
  .site .demo-three { bottom: 17px; left: 3px; }
  .site .demo-icon { display: none; }
  .site .demo-copy strong { font-size: 11px; }
  .site .demo-copy small { font-size: 9px; max-width: 168px; }
  .site .step-number { flex-basis: 25px; height: 25px; font-size: 9px; }
  .site .art-label { right: 1px; bottom: -7px; font-size: 9px; }
  .site .section { padding-block: 48px; }
  .site .section-heading { margin-bottom: 27px; gap: 15px; }
  .site .section-heading h2 { font-size: 27px; }
  .site .section-heading p { font-size: 13px; }
  .site .kicker { font-size: 10px; margin-bottom: 12px; }
  .site .feature-row { grid-template-columns: 1fr; padding-block: 0; }
  .site .feature, .site .feature:first-child, .site .feature:last-child { padding: 24px 0; }
  .site .feature + .feature { border-left: 0; border-top: 1px solid var(--line); }
  .site .feature h3 { font-size: 18px; margin-block: 8px; }
  .site .feature-icon { margin-bottom: 12px; }
  .site .steps-grid { grid-template-columns: 1fr; gap: 26px; }
  .site .step-card { padding-left: 58px; position: relative; }
  .site .step-card .step-number { position: absolute; left: 0; top: 7px; }
  .site .step-card h3 { font-size: 18px; }
  .site .step-card p { font-size: 13px; }
  .site .pricing-grid { grid-template-columns: 1fr; gap: 16px; }
  .site .price-card { padding: 28px; border-radius: 21px; }
  .site .price { font-size: 54px; }
  .site .price-name { font-size: 16px; margin-bottom: 19px; }
  .site .pricing-note { font-size: 11px; text-align: left; margin-top: 18px; }
  .site .faq-item summary { font-size: 14px; padding-block: 20px; }
  .site .faq-item p { font-size: 13px; padding-right: 18px; }
  .site .cta-band { grid-template-columns: 1fr; gap: 5px; padding: 31px 26px 21px; border-radius: 23px; }
  .site .cta-band h2 { font-size: 28px; }
  .site .cta-band p { font-size: 13px; }
  .site .cta-art { width: 156px; height: 156px; justify-self: end; margin-top: -18px; }
  .site .site-footer { padding-block: 32px 22px; margin-top: 14px; }
  .site .footer-top, .site .footer-main { gap: 25px; }
  .site .footer-links { gap: 15px 20px; }
  .site .footer-bottom { flex-direction: column; gap: 6px; font-size: 10px; margin-top: 24px; padding-top: 16px; }
  .site .page-hero { padding-block: 38px 35px; }
  .site .page-title { font-size: 36px; }
  .site .page-description { font-size: 14px; margin-top: 21px; }
  .site .page-section { padding-bottom: 40px; }
  .site .guide-step { grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding-block: 30px; }
  .site .guide-number { width: 31px; height: 31px; font-size: 10px; }
  .site .guide-copy h2 { font-size: 22px; margin-bottom: 16px; }
  .site .guide-copy p { font-size: 13px; }
  .site .guide-visual { padding: 18px; min-height: 175px; border-radius: 17px; }
  .site .guide-visual img { max-height: 170px; }
  .site .note-box, .site .notice-strip { padding: 21px 23px; font-size: 12px; }
  .site .rules-grid { grid-template-columns: 1fr; gap: 28px; margin-block: 34px; }
  .site .rule-item h2, .site .rule-item h3 { font-size: 18px; }
  .site .rule-item p { font-size: 13px; }
  .site .faq-intro h2 { font-size: 22px; }
}
@media (max-width: 360px) {
  .site .site-wrap { width: calc(100% - 32px); }
  .site .brand { font-size: 14px; gap: 5px; }
  .site .brand-icon { width: 27px; height: 27px; }
  .site .header-actions { gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .site *, .site *::before, .site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .site .reveal-pending { opacity: 1; transform: none; }
  .site .orbit path { stroke-dashoffset: 0 !important; }
}

/* Startup and pending routes share the same neutral brand treatment. */
.customer-entry, .customer-route-transition { color:#302e27; font:14px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
.customer-entry { position:fixed; inset:0; z-index:2000; pointer-events:none; }
.customer-entry *, .customer-entry *::before, .customer-entry *::after { box-sizing:border-box; }
.customer-entry[hidden], .customer-entry [hidden] { display:none !important; }
.customer-entry a { color:inherit; text-decoration:none; }
.customer-entry button { font:inherit; cursor:pointer; }
.customer-entry a:focus-visible, .customer-entry button:focus-visible { outline:3px solid #876714; outline-offset:4px; }
.customer-entry-direct, .customer-route-transition { background:radial-gradient(ellipse at 50% 46%,#fffdf7 0%,#fcfaf4 65%); }
.customer-entry-direct { position:absolute; inset:0; overflow:auto; pointer-events:auto; }
.customer-route-transition { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:clamp(280px,50vh,460px); padding:40px 24px; border:1px solid #ece6d6; border-radius:24px; text-align:center; }
.customer-route-transition .button { margin-top:24px; }
.customer-entry-header { width:min(1200px,calc(100% - 96px)); margin:auto; min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.customer-entry-brand { display:flex; align-items:center; gap:10px; font-size:20px; font-weight:750; }
.customer-entry-brand img { width:44px; height:44px; object-fit:contain; }
.customer-entry-home { display:flex; align-items:center; min-height:44px; font-size:12px; color:#6c7065 !important; }
.customer-entry-feedback { position:absolute; right:24px; bottom:24px; width:min(320px,calc(100% - 40px)); padding:18px 22px; pointer-events:auto; background:#fffefa; border:1px solid #e5dfce; border-radius:18px; box-shadow:0 8px 28px #493c1612; }
.customer-entry-emblem, .customer-entry-purpose { display:none; }
.customer-entry-message { margin:0; font-size:14px; font-weight:600; }
.customer-entry-indicator { width:120px; height:3px; margin-top:16px; border-radius:4px; background:#eae3d1; overflow:hidden; }
.customer-entry-indicator span { display:block; width:45%; height:100%; background:#c99228; border-radius:4px; animation:entry-wait 1.8s ease-in-out infinite; }
body.motion-paused .customer-route-transition .customer-entry-indicator span { animation-play-state:paused; }
.customer-entry[data-direct="true"] .customer-entry-feedback { top:48%; left:50%; right:auto; bottom:auto; width:min(420px,calc(100% - 40px)); padding:0; transform:translate(-50%,-50%); border:0; box-shadow:none; background:transparent; text-align:center; }
.customer-entry[data-direct="true"] .customer-entry-emblem, .customer-route-transition .customer-entry-emblem { display:grid; place-items:center; width:120px; height:120px; margin:0 auto 28px; border:1px solid #eddfbc; border-radius:40px; background:linear-gradient(145deg,#fffdf7,#f7edce); box-shadow:0 14px 40px #9c752315,inset 0 1px 0 #fff; }
.customer-entry-emblem img { display:block; width:80px; height:80px; object-fit:contain; }
.customer-entry[data-direct="true"] .customer-entry-message, .customer-route-transition .customer-entry-message { font-size:20px; font-weight:650; letter-spacing:.02em; }
.customer-entry[data-direct="true"] .customer-entry-purpose, .customer-route-transition .customer-entry-purpose { display:block; margin:10px 0 0; color:#777369; font-size:13px; line-height:1.7; }
.customer-entry[data-direct="true"] .customer-entry-indicator, .customer-route-transition .customer-entry-indicator { margin:26px auto 0; }
.customer-entry-feedback[role="alert"] .customer-entry-indicator, .customer-entry-feedback[role="alert"] .customer-entry-purpose { display:none; }
.customer-entry-recovery { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; align-items:center; margin-top:22px; }
.customer-entry-recovery button, .customer-entry-recovery a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 20px; border-radius:100px; font-size:13px; font-weight:650; }
.customer-entry-recovery button { background:#f6cd55; color:#322b18; border:1px solid transparent; }
.customer-entry-recovery a { border:1px solid #dfdacb; background:#fffdf7; }
@keyframes entry-wait { 0%,100% { transform:translateX(-100%); } 50% { transform:translateX(225%); } }
@media(max-width:760px) {
  .customer-entry-header { width:calc(100% - 40px); min-height:78px; }
  .customer-entry-brand { font-size:18px; gap:8px; }
  .customer-entry-brand img { width:30px; height:30px; }
  .customer-entry-feedback { right:16px; bottom:max(16px,env(safe-area-inset-bottom)); }
  .customer-entry[data-direct="true"] .customer-entry-emblem, .customer-route-transition .customer-entry-emblem { width:104px; height:104px; border-radius:34px; margin-bottom:24px; }
  .customer-entry[data-direct="true"] .customer-entry-message, .customer-route-transition .customer-entry-message { font-size:18px; }
}
@media(max-height:440px) {
  .customer-entry[data-direct="true"] .customer-entry-feedback { top:58%; }
  .customer-entry[data-direct="true"] .customer-entry-emblem, .customer-route-transition .customer-entry-emblem { display:none; }
  .customer-route-transition { min-height:180px; padding-block:28px; }
}
@media(prefers-reduced-motion:reduce) {
  .customer-entry-indicator span { animation:none; transform:translateX(60%); }
}


/* Public decision guides: complete native text, usable without JavaScript. */
.site .reading-jump { display:flex; flex-wrap:wrap; gap:4px 20px; margin:20px 0 28px; padding:14px 18px; border-block:1px solid var(--line); }
.site .reading-jump a { display:inline-flex; align-items:center; min-height:44px; line-height:1.6; font-size:14px; }
.site .comparison-scroll { max-width:100%; min-width:0; overflow-x:auto; margin:20px 0; border:1px solid var(--line); border-radius:14px; }
.site .comparison-scroll:focus-visible { outline:3px solid #957021; outline-offset:4px; }
.site .comparison-table { width:100%; min-width:680px; border-collapse:collapse; text-align:left; font-size:14px; line-height:1.8; }
.site .comparison-table caption { padding:16px 18px; text-align:left; font-size:15px; font-weight:650; color:var(--ink); background:#f2ede0; }
.site .comparison-table th, .site .comparison-table td { padding:16px 18px; border-top:1px solid var(--line); vertical-align:top; }
.site .comparison-table thead th { background:#f8f4e8; font-weight:650; }
.site .comparison-table tbody th { min-width:112px; font-weight:600; color:var(--ink); }
.site .comparison-table td { min-width:165px; color:var(--muted); }
.site .process-example { margin:22px 0; padding:22px 24px; border:1px solid var(--line); border-radius:16px; background:#f8f4e8; }
.site .process-example > p:first-child { font-weight:650; color:var(--ink); }
.site .process-example ol { margin:12px 0 0; padding-left:22px; }
.site .process-example li { padding:5px 0 9px 4px; }
.site .process-example li strong { color:var(--ink); }
.site .supplier-questions { padding-left:24px; }
.site .supplier-questions li { padding-left:4px; margin-block:14px; }
@media(max-width:760px) {
  .site .reading-jump { gap:2px 16px; padding:10px 14px; }
  .site .comparison-table th, .site .comparison-table td { padding:13px 14px; }
  .site .process-example { padding:18px 20px; }
}

.site .price-offer { position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:6px; max-width:100%; padding:6px 10px; border:1px solid #e9cf8e; border-radius:10px; background:linear-gradient(115deg,#fff6db,#f5e4ae); color:#77500c; font-size:11px; font-weight:650; line-height:1.5; letter-spacing:0; }
.site .price-offer .site-icon { flex:none; width:15px; height:15px; }
.site .price-offer::after { content:""; pointer-events:none; position:absolute; inset:0; background:linear-gradient(105deg,transparent 30%,#ffffff80 50%,transparent 70%); transform:translateX(-150%); animation:site-offer-shine 4.8s ease-in-out 2; }
@keyframes site-offer-shine { 0%,65% { transform:translateX(-150%); } 100% { transform:translateX(150%); } }
@media(prefers-reduced-motion:reduce) { .site .price-offer::after { animation:none; } }
