/* One outer frame; forms, dialogs and article text keep their own reading widths. */
:root {
  --site-gutter: clamp(32px, 4vw, 80px);
  --site-page-width: calc(100% - var(--site-gutter) * 2);
  --site-wrap: calc(100% - var(--site-gutter) * 2);
  --bp-wrap: calc(100% - var(--site-gutter) * 2);
  --gutter: var(--site-gutter);
}
html:root body[data-site-layout="public"] :is(.site-wrap,.content,.results,.hero-grid,.hero,.footer,.home-section,.home-hero-inner,.home-footer-inner,.results-card,.geo-faq,.reg-main,.tld-main,.service-main,.svc-main,.agent-wrap,.studio,.mail-page,.login-shell,main.wrap,main:has(>.article-card),.page:where(:has(>main#detail-root))) {
  width: var(--site-page-width) !important;
  max-width: var(--site-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Nested sections fill the outer frame instead of applying the gutter twice. */
html:root body[data-site-layout="public"] :is(.content,.results,.hero-grid,.hero,.results-card,.reg-main,.tld-main,.service-main,.svc-main,.agent-wrap,.studio,.mail-page,main.wrap,.page:where(:has(>main#detail-root))) :is(.content,.results,.hero-grid,.hero,.footer,.results-card,.geo-faq,.agent-wrap,main[id="detail-root"]) {
  width: 100% !important;
  max-width: 100% !important;
}
html:root body.home-market > main > .hero { width: 100% !important; max-width: 100% !important; padding-inline: 0 !important; }
html:root body[data-site-layout="dashboard"] > .shell {
  width: calc(100% - var(--site-gutter) * 2);
  margin-inline: auto;
  min-height: calc(100dvh - 118px);
}
html:root body .site-unified-notice {
  display: flex; align-items: center; justify-content: center;
  min-height: 36px; padding: 8px var(--site-gutter); box-sizing: border-box;
  background: #1768fa; color: #fff; font: 12px/1.5 "Microsoft YaHei", "PingFang SC", sans-serif;
}
.site-unified-notice a { display: flex; align-items: center; gap: 16px; color: inherit; text-decoration: none; }
.site-unified-notice strong { border-right: 1px solid #ffffff55; padding-right: 16px; font-weight: 600; }
html:root body .site-header.site-unified-header {
  position: relative !important; top: auto !important; z-index: 1000 !important;
  padding: 0 !important; margin: 0 !important; background: #fff !important;
  color: #172235 !important; border: 0 !important; border-bottom: 1px solid #edf0f5 !important;
  box-shadow: none !important; backdrop-filter: none !important;
  font: 14px/1.5 "Microsoft YaHei", "PingFang SC", sans-serif !important;
}
html:root body .site-header.site-unified-header .site-unified-inner {
  box-sizing: border-box; width: calc(100% - var(--site-gutter) * 2) !important;
  max-width: none !important; margin: 0 auto !important; padding: 0 !important;
  min-height: 82px !important; height: auto !important; gap: 48px !important;
  display: flex !important; align-items: center !important; justify-content: flex-start !important; flex-wrap: nowrap !important;
}
html:root body .site-unified-header .site-brand { display: inline-flex !important; align-items: center; flex: 0 0 auto; min-width: 0 !important; margin: 0 !important; padding: 0 !important; }
html:root body .site-unified-header .site-brand img { display: block; width: 190px !important; height: auto !important; max-width: 100%; }
html:root body .site-unified-header .site-nav {
  position: static !important; display: flex !important; align-items: center; gap: 28px !important;
  margin: 0 !important; padding: 0; width: auto !important; border: 0; box-shadow: none;
}
html:root body .site-unified-header .site-nav :is(a,button) {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: flex-start;
  width: auto !important; height: auto !important; min-height: 44px; gap: 5px;
  margin: 0; padding: 12px 0 !important; border: 0 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important;
  font: inherit !important; font-size: 14px !important; font-weight: 500 !important;
  color: #29374c !important; white-space: nowrap; text-decoration: none; cursor: pointer;
}
html:root body .site-unified-header .site-nav :is(a,button):is(:hover,.active) { color: #1768fa !important; }
html:root body .site-unified-header .site-nav-item { position: relative; width: auto !important; }
html:root body .site-unified-header .site-dropdown {
  display: none !important; position: absolute !important; left: -18px !important; right: auto !important; top: 100% !important; z-index: 1200;
  width: auto; min-width: 210px !important; margin: 0 !important; padding: 9px; background: #fff;
  border: 1px solid #e3e8f0; border-radius: 10px !important; box-shadow: 0 14px 35px #18284314 !important;
  opacity: 1; visibility: visible; transform: none;
}
html:root body .site-unified-header .site-dropdown a { display: flex; width: 100% !important; justify-content: space-between; padding: 11px 12px !important; border-radius: 5px !important; font-size: 13px !important; }
html:root body .site-unified-header .site-dropdown a:is(:hover,:focus-visible,.active) { background: #f0f5ff !important; }
html:root body .site-unified-header .site-nav-item:is(:hover,:focus-within,.open) .site-dropdown { display: block !important; }
html:root body .site-unified-header .site-nav-item.dropdown-closed .site-dropdown { display: none !important; }
html:root body .site-unified-header .header-actions { display: flex; align-items: center; gap: 25px; margin-left: auto; flex: 0 0 auto; }
html:root body .site-unified-header .site-member {
  box-sizing: border-box; display: inline-flex; justify-content: center; align-items: center;
  min-width: 112px; min-height: 46px; height: auto; padding: 13px 23px !important;
  background: #1768fa !important; color: #fff !important; border: 0 !important; border-radius: 5px !important;
  box-shadow: none !important; font: 600 14px/1.4 "Microsoft YaHei", "PingFang SC", sans-serif !important;
  text-decoration: none; white-space: nowrap;
}
html:root body .site-unified-header .site-member:hover { background: #0b50d7 !important; }
html:root body .site-unified-header .site-menu-btn {
  display: none !important; box-sizing: border-box; width: 38px; height: 44px; min-height: 44px; margin: 0 !important;
  padding: 10px 7px !important; border: 0 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important; cursor: pointer;
}
.site-unified-header .site-menu-btn span { display: block; width: 100%; height: 2px; margin: 6px 0; background: #172235; }
.site-unified-header :is(a,button):focus-visible { outline: 2px solid #1768fa; outline-offset: 4px; }
@media(min-width:1800px) { html:root body .site-unified-header .site-nav { gap: 38px !important; } }
@media(max-width:1359px) { html:root body .site-unified-header .site-nav { gap: 22px !important; } }
@media(max-width:1100px) {
  html:root body .site-header.site-unified-header .site-unified-inner { gap: 22px !important; }
  html:root body .site-unified-header .site-brand img { width: 170px !important; }
  html:root body .site-unified-header .site-nav { gap: 18px !important; }
  html:root body .site-unified-header .site-nav :is(a,button) { font-size: 12px !important; }
}
@media(max-width:1000px) {
  html:root body .site-unified-header .site-menu-btn { display: block !important; }
  html:root body .site-header.site-unified-header .site-unified-inner { min-height: 72px !important; }
  html:root body .site-unified-header .site-nav {
    display: none !important; position: absolute !important; top: 100%; left: var(--site-gutter); right: var(--site-gutter);
    padding: 14px 20px; width: auto; background: #fff; border: 1px solid #e3e8f0;
    box-shadow: 0 15px 40px #2e4a7e15; border-radius: 0 0 12px 12px;
    max-height: calc(100dvh - 120px); overflow-y: auto;
  }
  html:root body .site-header.site-unified-header.open .site-nav { display: flex !important; flex-direction: column; align-items: stretch; gap: 2px !important; }
  html:root body .site-unified-header .site-nav :is(a,button) { width: 100% !important; justify-content: space-between; text-align: left; font-size: 14px !important; padding: 13px 0 !important; }
  html:root body .site-unified-header .site-nav-item { width: 100% !important; }
  html:root body .site-unified-header .site-dropdown { position: static !important; min-width: 0 !important; padding: 9px; border: 0; background: #f7f9fd; box-shadow: none !important; }
  html:root body .site-unified-header .site-nav-item:is(:hover,:focus-within):not(.open) .site-dropdown { display: none !important; }
  html:root body .site-unified-header .site-nav-item.open .site-dropdown { display: block !important; }
  html:root body .site-unified-header .site-dropdown a { padding: 11px 12px !important; }
}
@media(max-width:900px) { :root { --site-gutter: 20px; } }
@media(max-width:600px) {
  :root { --site-gutter: 16px; }
  html:root body .site-unified-notice { min-height: 32px; font-size: 10px; }
  .site-unified-notice a { gap: 9px; } .site-unified-notice strong { padding-right: 9px; }
  html:root body .site-header.site-unified-header .site-unified-inner { min-height: 68px !important; gap: 10px !important; }
  html:root body .site-unified-header .site-brand img { width: 146px !important; }
  html:root body .site-unified-header .header-actions { gap: 10px; }
  html:root body .site-unified-header .site-member { min-width: 88px; min-height: 40px; padding: 10px 12px !important; font-size: 11px !important; }
  html:root body[data-site-layout="dashboard"] > .shell { grid-template-columns: 1fr; }
}
