/* Scoped Footer V2; no frozen page-body layout rules. */
body .footer-v2 { background:#08251f; color:#fffdf7; padding:4.5rem 0 1.6rem; }
.footer-v2-shell { max-width:1440px; }
.footer-v2-grid { display:grid; grid-template-columns:1.1fr 1.35fr .85fr .7fr; gap:clamp(1.5rem,3vw,3rem); padding-top:2.2rem; border-top:1px solid rgba(197,168,108,.55); }
.footer-v2-grid > * { min-width:0; }
.footer-v2-wordmark { display:inline-block; font-family:var(--font-display, 'Newsreader', Georgia, serif); font-size:2.4rem; line-height:1; letter-spacing:.04em; color:#fffdf7; text-decoration:none; }
.footer-v2-entity { margin:1.2rem 0 .7rem; max-width:28ch; font-size:1rem; line-height:1.55; }
.footer-v2-purpose { margin:0 0 1.8rem; color:rgba(255,253,247,.65); font-size:.82rem; }
.footer-v2 h2 { margin:0 0 1.1rem; font-family:var(--font-body, 'Manrope', sans-serif); color:#c5a86c; font-size:.72rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.footer-v2 a { color:inherit; text-decoration:none; }
.footer-v2 a:hover { color:#e4c78e; }
.footer-v2 a:focus-visible { outline:2px solid #e4c78e; outline-offset:5px; }
.footer-v2-contact, .footer-v2-nav, .footer-v2-connect { font-size:.87rem; line-height:1.65; }
.footer-v2-nav a, .footer-v2-social a, .footer-v2-legal a { display:block; width:fit-content; padding:.2rem 0; }
.footer-v2-contact > a, .footer-v2-phone { display:block; margin-bottom:.6rem; overflow-wrap:anywhere; }
.footer-v2 address { font-style:normal; margin:.9rem 0 1rem; color:rgba(255,253,247,.77); line-height:1.75; }
.footer-v2 .footer-v2-trust { display:inline-block; color:#d7bb85; font-size:.78rem; line-height:1.65; }
.footer-v2-legal { margin-top:1.5rem; color:rgba(255,253,247,.75); }
.footer-v2-bottom { display:flex; justify-content:space-between; gap:1rem; margin-top:3rem; padding-top:1.25rem; border-top:1px solid rgba(255,253,247,.15); color:rgba(255,253,247,.6); font-size:.73rem; line-height:1.6; }
/* New contact/legal candidates reuse the Yuanze palette, fonts and width system. */
.public-page { background:#f4f0e6; color:#123d33; }
.public-page .public-hero { padding:clamp(3rem,6vw,6rem) 0 3rem; }
.public-page .public-hero h1 { margin:.8rem 0 1.4rem; font-family:var(--font-display, 'Newsreader', Georgia, serif); font-weight:400; font-size:clamp(3.5rem,6.5vw,6rem); line-height:.98; letter-spacing:-.025em; }
.public-page .public-hero .lede { max-width:48ch; font-size:1.1rem; line-height:1.7; }
.public-page .public-eyebrow { font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:#80632d; }
.public-contact-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:5rem; padding:0 0 6rem; }
.public-contact-list { margin:0; }
.public-contact-list > div { padding:1.5rem 0; border-top:1px solid rgba(18,61,51,.2); }
.public-contact-list dt { font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.7rem; }
.public-contact-list dd { margin:0; font-size:1.45rem; line-height:1.55; overflow-wrap:anywhere; }
.public-contact-list dd a { color:inherit; text-decoration-thickness:1px; text-underline-offset:.25em; }
.public-contact-list small { display:block; font-size:.83rem; color:#53665f; margin-top:.5rem; line-height:1.6; }
.public-contact-address { border-top:1px solid #b2945a; padding-top:1.5rem; }
.public-contact-address h2 { margin:.7rem 0 1.4rem; font-size:2rem; line-height:1.2; font-weight:400; }
.public-contact-address address { font-size:1.15rem; line-height:1.8; font-style:normal; }
.public-contact-social { display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:2rem; font-size:.9rem; }
.public-contact-social a { color:inherit; }
.public-contact-address .button { margin-top:2rem; }
.public-legal-shell { max-width:1120px; }
.public-legal-candidate { border-left:2px solid #b2945a; padding:1rem 1.3rem; margin-bottom:2rem; background:#eae5d8; font-size:.9rem; line-height:1.7; }
.public-legal-candidate strong { display:block; margin-bottom:.3rem; }
.public-legal-grid { display:grid; grid-template-columns:15rem minmax(0,1fr); gap:4rem; padding-bottom:6rem; }
.public-legal-toc { border-top:1px solid rgba(18,61,51,.2); padding-top:1rem; }
.public-legal-toc a { display:block; color:inherit; padding:.5rem 0; font-size:.82rem; line-height:1.5; }
.public-legal-content section { padding:1.5rem 0; border-top:1px solid rgba(18,61,51,.2); scroll-margin-top:2rem; }
.public-legal-content h2 { font-size:1.85rem; font-weight:400; line-height:1.25; margin:0 0 1rem; }
.public-legal-content p, .public-legal-content li { font-size:1rem; line-height:1.8; }
.public-legal-content p { margin:.75rem 0; }
.public-legal-content a { color:inherit; overflow-wrap:anywhere; }
.public-legal-content ul { padding-left:1.25rem; }
.public-pending { font-size:.82rem; letter-spacing:.04em; color:#735725; overflow-wrap:anywhere; }
.public-page a:focus-visible { outline:2px solid #9b7536; outline-offset:5px; }
@media(max-width:1024px) {
  .footer-v2-grid { grid-template-columns:1fr 1fr; gap:2.5rem; }
  .public-contact-grid { gap:3rem; }
}
@media(max-width:768px) {
  .public-contact-grid, .public-legal-grid { grid-template-columns:1fr; gap:2rem; padding-bottom:3.5rem; }
  .public-legal-toc { display:flex; flex-wrap:wrap; gap:.25rem 1rem; }
  .public-contact-list dd { font-size:1.2rem; }
  .public-page .public-hero { padding:3rem 0 2rem; }
  .public-page .public-hero h1 { font-size:3.5rem; }
}
@media(max-width:480px) {
  body .footer-v2 { padding:3rem 0 1.5rem; }
  .footer-v2-grid { grid-template-columns:1fr 1fr; gap:2rem 1rem; padding-top:1.8rem; }
  .footer-v2-identity, .footer-v2-contact { grid-column:1 / -1; }
  .footer-v2-entity { max-width:32ch; }
  .footer-v2-purpose { margin-bottom:1rem; }
  .footer-v2-bottom { flex-direction:column; margin-top:2rem; }
  .public-contact-address h2 { font-size:1.8rem; }
  .public-legal-content h2 { font-size:1.65rem; }
}

/* Unified footer icon system across public routes. */
html body .footer-v2{background:#082e26!important;padding:80px 0 26px!important}
html body .footer-v2-shell{width:calc(100% - 96px)!important;max-width:1440px!important;margin:auto!important}
html body .footer-v2-grid{display:grid!important;grid-template-columns:1.05fr 1.5fr 1fr .65fr!important;gap:48px!important;padding:38px 0 52px!important;border-top:1px solid #b99a6080!important}
html body .footer-v2-wordmark{font:400 48px/1 Newsreader,serif!important;letter-spacing:.04em!important;color:#fffaf0!important}
html body .footer-v2 h2{font:500 12px/1.5 Manrope,sans-serif!important;letter-spacing:.14em!important;color:#d0b37a!important;margin:0 0 24px!important}
html body .footer-v2 a,html body .footer-v2 address,html body .footer-v2-entity{font-size:16px!important;line-height:1.75!important;color:#e5ebe1!important}
html body .footer-v2 .footer-v2-wordmark{font-size:48px!important;line-height:1!important}
html body .footer-v2 .footer-logo-wordmark{display:block;font:400 48px/1 Newsreader,Georgia,serif!important;letter-spacing:.085em!important;color:#fffaf0!important;white-space:nowrap}
html body .footer-v2 .footer-logo-tagline{display:block;margin-top:14px;font:400 9px/1.6 Manrope,Arial,sans-serif!important;letter-spacing:.095em!important;color:#c1ccbf!important;white-space:nowrap}
html body .footer-v2-purpose{font-size:15px!important;color:#c1ccbf!important}
html body .footer-v2-social{display:flex!important;gap:10px!important;margin:0 0 30px!important}
html body .footer-v2-social a{display:flex!important;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #b99a6066!important;color:#f8f4eb!important;transition:color 180ms,border-color 180ms}
html body .footer-v2-social a:hover{color:#d0b37a!important;border-color:#d0b37a!important}
html body .footer-v2-legal{gap:12px!important}
html body .footer-v2-bottom{font-size:14px!important;line-height:1.7!important;color:#bdcbbd!important;padding-top:22px!important}

.footer-v2-social svg{display:block;width:20px;height:20px}.footer-v2-social a:focus-visible{outline:2px solid #b99a60;outline-offset:4px}
@media(max-width:1100px){html body .footer-v2-grid{grid-template-columns:1fr 1.4fr!important;gap:40px!important}}
@media(max-width:600px){html body .footer-v2-shell{width:calc(100% - 40px)!important}html body .footer-v2-grid{grid-template-columns:1fr 1fr!important;gap:32px 24px!important}html body .footer-v2-identity,html body .footer-v2-contact{grid-column:1/-1!important}html body .footer-v2-bottom{flex-direction:column!important;gap:12px!important}}
/* Shared Yuanze header panel visual language. */
html body .site-header .brand{flex:0 0 250px!important;width:250px!important;min-width:0!important;margin-right:24px!important}
html body .site-header .brand-lockup{min-width:0!important}
html body .site-header .brand-tagline{font-size:7px!important;letter-spacing:.17em!important;white-space:nowrap!important;max-width:220px!important}
html body .site-header .nav-family-panel{width:min(820px,calc(100vw - 64px))!important;padding:32px!important;gap:32px!important;background:#f8f4eb!important;border:1px solid #b99a6070!important;border-top:2px solid #b99a60!important;box-shadow:0 14px 30px #082e2610!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;max-height:calc(100vh - 120px);overflow:auto}
html body .site-header .nav-family-panel[hidden]{display:none!important}
html body .site-header .nav-family-panel .nav-series-group>a:first-child{font:400 23px/1.25 Newsreader,serif!important;color:#12382e!important;padding:0 0 18px!important;margin-bottom:10px!important;border-bottom:1px solid #b99a6060!important}
html body .site-header .nav-family-panel .nav-series-group>a:not(:first-child){font:400 14px/1.5 Manrope,sans-serif!important;color:#315348!important;padding:10px 0!important;min-height:40px!important}
html body .site-header .nav-family-panel a:hover{color:#98723b!important}
html body .site-header .nav-family-toggle[aria-expanded="true"]{color:#98723b!important}
html body[data-page="home"] .header-contact-panel{width:290px!important;padding:24px!important;gap:14px!important;background:#f8f4eb!important;border:1px solid #b99a6070!important;border-top:2px solid #b99a60!important;box-shadow:0 14px 30px #082e2610!important}
html body[data-page="home"] .header-contact-panel strong{font:400 30px/1.2 Newsreader,serif!important}
html body[data-page="home"] .header-contact-panel>a,html body[data-page="home"] .header-contact-panel>button{border-top:1px solid #b99a6040!important;font:500 14px/1.5 Manrope,sans-serif!important}
html body[data-page="home"] .header-contact-panel>a:after,html body[data-page="home"] .header-contact-panel>button:after,html body[data-page="home"] .header-contact-icons>a:after{display:none!important}
html body[data-page="home"] .header-contact-panel>a .yz-editorial-rule,html body[data-page="home"] .header-contact-panel>button .yz-editorial-rule{display:none!important}
@media(max-width:1600px) and (min-width:1101px){html body .site-header .brand{flex-basis:230px!important;width:230px!important;margin-right:16px!important}html body[data-page="home"] .site-header .desktop-nav{gap:12px!important}html body[data-page="home"] .site-header .desktop-nav>a{font-size:14px!important}}
@media(max-width:1100px){html body .site-header .brand{flex:0 1 auto!important;width:auto!important;margin-right:auto!important}html body .site-header .brand-tagline{display:none!important}}
@media(max-width:600px){html body .site-header .brand{margin-right:0!important;flex-basis:128px!important;width:128px!important}html body[data-page="home"] .header-contact-panel{width:270px!important;padding:22px!important}}

@media(max-width:600px){html body[data-page="home"] .header-contact-panel{position:fixed!important;left:20px!important;right:20px!important;top:72px!important;width:auto!important;max-width:none!important}}
/* Deep Green brand menus with hover-safe pointer bridge. */
html body .site-header .nav-family-panel{background:#0b352c!important;border-color:#b99a6070!important;color:#f8f4eb!important;gap:24px 30px!important}
html body .site-header .nav-family-panel .nav-series-group>a:first-child{color:#d0b37a!important;border-bottom-color:#d0b37a55!important}
html body .site-header .nav-family-panel .nav-series-group>a:not(:first-child){color:#f4efe4!important}
html body .site-header .nav-family-panel a:hover{color:#e5c990!important}
.nav-menu-brand{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;padding-bottom:22px;border-bottom:1px solid #d0b37a55}
.nav-menu-brand strong{font:400 32px/1 Newsreader,serif;letter-spacing:.08em;color:#f8f4eb}.nav-menu-brand>span{font:400 12px/1.6 Manrope,sans-serif;color:#d0b37a;grid-column:1}.nav-menu-brand p{grid-column:2;grid-row:1/3;font:400 13px/1.7 Manrope,sans-serif;color:#dbe4d9;margin:0;align-self:center;max-width:280px;justify-self:end}
html body[data-page="home"] .header-contact-panel{background:#0b352c!important;color:#f8f4eb!important;border-color:#b99a6070!important}
html body[data-page="home"] .header-contact-panel>strong{color:#d0b37a!important}
html body[data-page="home"] .header-contact-panel>a,html body[data-page="home"] .header-contact-panel>button{color:#f8f4eb!important;border-top-color:#d0b37a55!important}
.contact-menu-brand{font:400 27px/1 Newsreader,serif;letter-spacing:.08em;padding-bottom:18px;border-bottom:1px solid #d0b37a55;color:#f8f4eb}.contact-menu-brand span{display:block;font:400 10px/1.6 Manrope,sans-serif;letter-spacing:.035em;color:#d0b37a;margin-top:10px}
html body .site-header .nav-product-group:before{content:"";position:absolute;top:100%;left:0;width:100%;height:22px}
html body[data-page="home"] .header-contact-detail:before{content:"";position:absolute;top:100%;left:0;width:100%;height:16px}
@media(prefers-reduced-motion:reduce){.nav-family-panel,.header-contact-panel{transition:none!important}}

/* Product photography fused into the Yuanze editorial mega menu. */
html body .site-header .nav-family-panel{
 background-color:#0b352c!important;
 background-image:linear-gradient(90deg,#0b352c 0%,#0b352c 52%,rgba(11,53,44,.96) 60%,rgba(11,53,44,.66) 85%,rgba(11,53,44,.60) 100%),url('/assets/media/visual-placeholders/yuanzecosmetics/product/product_yuanze_pump_01.webp')!important;
 background-position:center,right bottom!important;
 background-size:100% 100%,auto 100%!important;
 background-repeat:no-repeat!important;
 isolation:isolate;
}
html body .site-header .nav-family-panel a:focus-visible{outline:2px solid #d0b37a;outline-offset:4px}
html body .site-header .nav-family-panel .nav-series-group>a:not(:first-child){text-shadow:0 1px 3px #082e2680}
@media(max-width:600px){html body .site-header .nav-family-panel{background-image:linear-gradient(90deg,rgba(11,53,44,.98),rgba(11,53,44,.87)),url('/assets/media/visual-placeholders/yuanzecosmetics/product/product_yuanze_pump_01.webp')!important}}
