.page-fuyang {
  --fy-paper: #f1ede4;
  --fy-paper-2: #faf8f2;
  --fy-ink: #171717;
  --fy-charcoal: #282828;
  --fy-gray: #6d6a64;
  --fy-line: rgba(23,23,23,.16);
  --fy-blue: #1268f3;
  --fy-cyan: #55c7ff;
  --accent: var(--fy-blue);
  background: var(--fy-paper);
  color: var(--fy-ink);
}
.page-fuyang .city-main { background: var(--fy-paper); }
.page-fuyang .city-section h2,
.page-fuyang .fy-tile h2,
.page-fuyang .fy-final h2 { font-size: 46px; line-height: 1.06; letter-spacing: -.052em; }
.page-fuyang .city-eyebrow { color: var(--fy-blue); }

.page-fuyang .fy-hero { position: relative; min-height: 730px; overflow: hidden; background: var(--fy-paper-2); }
.page-fuyang .fy-hero-media,
.page-fuyang .fy-hero-media picture,
.page-fuyang .fy-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.page-fuyang .fy-hero-media img { object-fit: cover; }
.page-fuyang .fy-hero-paper { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(250,248,242,.38), rgba(250,248,242,.1) 50%, transparent 66%), linear-gradient(0deg, rgba(241,237,228,.72), transparent 25%); }
.page-fuyang .fy-hero-shell { position: relative; z-index: 2; min-height: 730px; }
.page-fuyang .fy-crumb { color: #76716a; }
.page-fuyang .fy-crumb strong { color: var(--fy-ink); }
.page-fuyang .fy-hero-copy { width: min(650px, 57%); padding-top: 112px; }
.page-fuyang .fy-hero-copy .city-eyebrow { color: #0f5fdc; }
.page-fuyang .fy-hero h1 { max-width: 650px; margin: 0; font-size: 58px; line-height: 1.03; letter-spacing: -.059em; text-wrap: balance; }
.page-fuyang .fy-hero h1 span { display: block; font-weight: 590; }
.page-fuyang .fy-hero-copy > p:not(.city-eyebrow) { max-width: 590px; margin: 26px 0 0; color: #625e58; font-size: 17px; line-height: 1.85; }
.page-fuyang .fy-actions { display: flex; align-items: center; gap: 12px; margin-top: 34px; }
.page-fuyang .fy-actions a { display: inline-flex; align-items: center; gap: 24px; min-height: 52px; padding: 0 22px; border: 1px solid rgba(23,23,23,.34); color: var(--fy-ink); font-size: 13px; font-weight: 850; text-decoration: none; transition: .22s ease; }
.page-fuyang .fy-actions a:first-child { border-color: var(--fy-ink); background: var(--fy-ink); color: #fff; }
.page-fuyang .fy-actions a:hover { transform: translateY(-2px); box-shadow: 5px 5px 0 var(--fy-blue); }
.page-fuyang .fy-hero-index { position: absolute; right: 0; bottom: 34px; width: 440px; padding: 22px 24px; border: 1px solid rgba(255,255,255,.18); background: rgba(12,13,15,.88); color: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.25); backdrop-filter: blur(12px); }
.page-fuyang .fy-hero-index::before { position: absolute; top: 0; left: 0; width: 36%; height: 2px; background: var(--fy-blue); box-shadow: 0 0 18px var(--fy-cyan); content: ""; }
.page-fuyang .fy-hero-index > small { color: var(--fy-cyan); font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.page-fuyang .fy-hero-index ol { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; margin: 18px 0 0; padding: 0; list-style: none; }
.page-fuyang .fy-hero-index li { display: grid; gap: 6px; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.14); }
.page-fuyang .fy-hero-index li i { color: var(--fy-cyan); font-size: 10px; font-style: normal; font-weight: 900; }
.page-fuyang .fy-hero-index li span { font-size: 11px; writing-mode: vertical-rl; letter-spacing: .12em; }

.page-fuyang .fy-first-ad { background: #e6e1d7; }
.page-fuyang .fy-index { background: var(--fy-paper-2); }
.page-fuyang .fy-index-head,
.page-fuyang .fy-notes-head { display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 70px; }
.page-fuyang .fy-index-head > p,
.page-fuyang .fy-notes-head > p { margin: 0 0 5px; color: var(--fy-gray); font-size: 16px; line-height: 1.9; }
.page-fuyang .fy-index-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 52px; border-top: 1px solid var(--fy-line); border-left: 1px solid var(--fy-line); }
.page-fuyang .fy-index-grid article { position: relative; min-height: 285px; padding: 28px; border-right: 1px solid var(--fy-line); border-bottom: 1px solid var(--fy-line); background: rgba(255,255,255,.34); }
.page-fuyang .fy-index-grid article:nth-child(3) { background: var(--fy-ink); color: #fff; }
.page-fuyang .fy-index-grid article::after { position: absolute; right: 22px; bottom: 22px; width: 7px; height: 7px; border-radius: 50%; background: var(--fy-blue); box-shadow: 0 0 16px var(--fy-cyan); content: ""; }
.page-fuyang .fy-index-grid i { color: var(--fy-blue); font-size: 12px; font-style: normal; font-weight: 900; }
.page-fuyang .fy-index-grid small { position: absolute; top: 28px; right: 28px; color: #858078; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.page-fuyang .fy-index-grid h3 { margin: 92px 0 13px; font-size: 24px; line-height: 1.2; letter-spacing: -.03em; }
.page-fuyang .fy-index-grid p { margin: 0; color: var(--fy-gray); font-size: 13px; line-height: 1.75; }
.page-fuyang .fy-index-grid article:nth-child(3) p { color: rgba(255,255,255,.62); }

.page-fuyang .fy-bento { padding: 118px 0; background: #121212; }
.page-fuyang .fy-bento-grid { display: grid; grid-template-columns: repeat(12,1fr); align-items: stretch; gap: 14px; }
.page-fuyang .fy-tile { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.12); background: var(--fy-paper-2); color: var(--fy-ink); }
.page-fuyang .fy-tile.is-indexed { border-color: rgba(85,199,255,.5); }
.page-fuyang .fy-tile::after { position: absolute; top: 0; right: 0; width: 56px; height: 2px; background: var(--fy-blue); box-shadow: 0 0 16px var(--fy-cyan); content: ""; }
.page-fuyang .fy-tile h2 { margin: 0; }
.page-fuyang .fy-tile-copy { padding: 48px; }
.page-fuyang .fy-label { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 24px !important; padding-bottom: 12px; border-bottom: 1px solid currentColor; color: var(--fy-blue) !important; }
.page-fuyang .fy-label span,
.page-fuyang .fy-label i { font-size: 10px; font-style: normal; font-weight: 900; letter-spacing: .15em; }
.page-fuyang .fy-register { grid-column: 1 / 8; display: grid; grid-template-rows: auto 390px; }
.page-fuyang .fy-register .fy-tile-copy > p:not(.fy-label) { color: var(--fy-gray); line-height: 1.85; }
.page-fuyang .fy-register figure,
.page-fuyang .fy-accounting figure { position: relative; margin: 0; overflow: hidden; }
.page-fuyang .fy-register figure img,
.page-fuyang .fy-accounting figure img { width: 100%; height: 100%; object-fit: cover; }
.page-fuyang .fy-register figure figcaption,
.page-fuyang .fy-accounting figure figcaption,
.page-fuyang .fy-growth figure figcaption { position: absolute; right: 16px; bottom: 16px; padding: 10px 14px; background: rgba(15,15,15,.84); color: #fff; font-size: 10px; letter-spacing: .08em; }
.page-fuyang .fy-checks { display: grid; grid-template-columns: repeat(4,1fr); margin: 28px 0 18px; border-top: 1px solid var(--fy-line); border-left: 1px solid var(--fy-line); }
.page-fuyang .fy-checks span { display: grid; gap: 6px; padding: 15px 12px; border-right: 1px solid var(--fy-line); border-bottom: 1px solid var(--fy-line); }
.page-fuyang .fy-checks b { font-size: 13px; }
.page-fuyang .fy-checks small { color: var(--fy-gray); font-size: 10px; line-height: 1.5; }
.page-fuyang .fy-boundary { padding-left: 13px; border-left: 2px solid var(--fy-blue); font-size: 12px; }

.page-fuyang .fy-accounting { grid-column: 8 / -1; display: grid; grid-template-rows: 330px auto; background: #222; color: #fff; }
.page-fuyang .fy-accounting .fy-tile-copy > p:not(.fy-label) { color: rgba(255,255,255,.64); line-height: 1.85; }
.page-fuyang .fy-accounting .fy-label { color: var(--fy-cyan) !important; }
.page-fuyang .fy-accounting ol { display: grid; gap: 0; margin: 28px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.14); list-style: none; }
.page-fuyang .fy-accounting li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.page-fuyang .fy-accounting li > i { color: var(--fy-cyan); font-size: 11px; font-style: normal; }
.page-fuyang .fy-accounting li span { display: grid; gap: 3px; }
.page-fuyang .fy-accounting li b { font-size: 13px; }
.page-fuyang .fy-accounting li small { color: rgba(255,255,255,.52); font-size: 11px; }

.page-fuyang .fy-change { grid-column: 1 / 8; padding: 48px; background: #dfe4e8; }
.page-fuyang .fy-change > p:not(.fy-label) { max-width: 730px; color: #5c6267; line-height: 1.85; }
.page-fuyang .fy-change > div { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-top: 28px; }
.page-fuyang .fy-change a { display: flex; align-items: end; justify-content: space-between; gap: 18px; min-height: 128px; padding: 20px; border: 1px solid rgba(23,23,23,.16); background: rgba(255,255,255,.5); text-decoration: none; transition: .2s ease; }
.page-fuyang .fy-change a:hover { background: #fff; box-shadow: 5px 5px 0 var(--fy-blue); }
.page-fuyang .fy-change a b { font-size: 16px; }
.page-fuyang .fy-change a small { color: var(--fy-blue); font-size: 10px; }

.page-fuyang .fy-directory { grid-column: 8 / -1; padding: 40px; background: var(--fy-blue); color: #fff; }
.page-fuyang .fy-directory .fy-label { color: #fff !important; }
.page-fuyang .fy-directory h3 { margin: 0 0 28px; font-size: 34px; letter-spacing: -.04em; }
.page-fuyang .fy-directory nav { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(255,255,255,.26); border-left: 1px solid rgba(255,255,255,.26); }
.page-fuyang .fy-directory a { display: grid; gap: 30px; min-height: 135px; padding: 18px; border-right: 1px solid rgba(255,255,255,.26); border-bottom: 1px solid rgba(255,255,255,.26); color: #fff; text-decoration: none; }
.page-fuyang .fy-directory a i { color: rgba(255,255,255,.66); font-size: 10px; font-style: normal; }
.page-fuyang .fy-directory a span { align-self: end; font-size: 13px; font-weight: 850; }

.page-fuyang .fy-platform { grid-column: 1 / -1; padding: 54px; }
.page-fuyang .fy-platform-head { display: grid; grid-template-columns: 185px 1fr; gap: 30px; }
.page-fuyang .fy-platform-head .fy-label { align-self: start; }
.page-fuyang .fy-platform-head p:not(.fy-label) { margin: 18px 0 0; color: var(--fy-gray); line-height: 1.85; }
.page-fuyang .fy-platform-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 14px; margin-top: 42px; }
.page-fuyang .fy-platform-grid > figure { position: relative; min-height: 470px; margin: 0; overflow: hidden; background: #111; }
.page-fuyang .fy-platform-grid > figure img { width: 100%; height: 100%; object-fit: contain; }
.page-fuyang .fy-platform-grid > figure figcaption { position: absolute; right: 14px; bottom: 14px; display: grid; padding: 10px 13px; background: rgba(12,12,12,.86); color: #fff; }
.page-fuyang .fy-platform-grid > figure small { color: #8fcfff; font-size: 9px; letter-spacing: .1em; }
.page-fuyang .fy-platform-grid > figure b { font-size: 13px; }
.page-fuyang .fy-workspaces { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--fy-line); border-left: 1px solid var(--fy-line); }
.page-fuyang .fy-workspaces article { min-height: 235px; padding: 24px; border-right: 1px solid var(--fy-line); border-bottom: 1px solid var(--fy-line); background: #f3f0e9; }
.page-fuyang .fy-workspaces article:nth-child(4) { background: var(--fy-ink); color: #fff; }
.page-fuyang .fy-workspaces i { color: var(--fy-blue); font-size: 11px; font-style: normal; font-weight: 900; }
.page-fuyang .fy-workspaces h3 { margin: 55px 0 9px; font-size: 21px; }
.page-fuyang .fy-workspaces p { margin: 0; color: var(--fy-gray); font-size: 12px; line-height: 1.72; }
.page-fuyang .fy-workspaces article:nth-child(4) p { color: rgba(255,255,255,.58); }

.page-fuyang .fy-notes { background: var(--fy-paper-2); }
.page-fuyang .fy-notes-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 12px; margin-top: 52px; }
.page-fuyang .fy-notes-grid a { position: relative; display: flex; flex-direction: column; grid-column: span 4; min-height: 310px; padding: 28px; border: 1px solid var(--fy-line); background: var(--fy-paper); color: var(--fy-ink); text-decoration: none; transition: .2s ease; }
.page-fuyang .fy-notes-grid a:nth-child(3),
.page-fuyang .fy-notes-grid a:nth-child(6) { background: #dfe4e8; }
.page-fuyang .fy-notes-grid a:hover { transform: translateY(-5px); box-shadow: 6px 6px 0 var(--fy-blue); }
.page-fuyang .fy-notes-grid .fy-note-lead { grid-column: span 7; min-height: 380px; background: var(--fy-ink); color: #fff; }
.page-fuyang .fy-notes-grid .fy-note-wide { grid-column: span 8; }
.page-fuyang .fy-notes-grid small { color: var(--fy-blue); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.page-fuyang .fy-notes-grid h3 { margin: 58px 0 16px; font-size: 23px; line-height: 1.36; letter-spacing: -.025em; }
.page-fuyang .fy-notes-grid .fy-note-lead h3 { max-width: 650px; font-size: 30px; }
.page-fuyang .fy-notes-grid p { margin: 0 0 20px; color: var(--fy-gray); font-size: 13px; line-height: 1.75; }
.page-fuyang .fy-notes-grid .fy-note-lead p { color: rgba(255,255,255,.58); }
.page-fuyang .fy-notes-grid b { margin-top: auto; color: var(--fy-blue); font-size: 11px; }
.page-fuyang .fy-notes-grid a::after { position: absolute; top: 25px; right: 25px; width: 7px; height: 7px; border-radius: 50%; background: var(--fy-blue); box-shadow: 0 0 14px var(--fy-cyan); content: ""; }

.page-fuyang .fy-growth { background: #191919; color: #fff; }
.page-fuyang .fy-growth-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 64px; }
.page-fuyang .fy-growth .fy-label { color: var(--fy-cyan) !important; }
.page-fuyang .fy-growth-copy > p:not(.fy-label) { color: rgba(255,255,255,.62); line-height: 1.85; }
.page-fuyang .fy-growth-copy > div { display: grid; gap: 0; margin-top: 30px; border-top: 1px solid rgba(255,255,255,.16); }
.page-fuyang .fy-growth-copy a { display: flex; justify-content: space-between; gap: 18px; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.16); color: #fff; text-decoration: none; }
.page-fuyang .fy-growth-copy a small { color: rgba(255,255,255,.62); }
.page-fuyang .fy-growth-copy a b { color: var(--fy-cyan); font-size: 11px; }
.page-fuyang .fy-growth figure { position: relative; min-height: 520px; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.13); }
.page-fuyang .fy-growth figure img { width: 100%; height: 100%; object-fit: cover; }

.page-fuyang .fy-faq { background: var(--fy-paper); }
.page-fuyang .fy-faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 84px; }
.page-fuyang .fy-faq header { position: sticky; top: 125px; align-self: start; }
.page-fuyang .fy-faq header > p:last-child { color: var(--fy-gray); line-height: 1.85; }
.page-fuyang .fy-faq-list { border-top: 2px solid var(--fy-ink); }
.page-fuyang .fy-faq-list details { border-bottom: 1px solid var(--fy-line); }
.page-fuyang .fy-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 24px 0; cursor: pointer; list-style: none; font-size: 17px; font-weight: 850; line-height: 1.5; }
.page-fuyang .fy-faq-list summary::-webkit-details-marker { display: none; }
.page-fuyang .fy-faq-list summary span { display: flex; gap: 17px; }
.page-fuyang .fy-faq-list summary i { color: var(--fy-blue); font-size: 10px; font-style: normal; }
.page-fuyang .fy-faq-list summary b { color: var(--fy-blue); font-size: 22px; transition: transform .2s ease; }
.page-fuyang .fy-faq-list details[open] summary b { transform: rotate(45deg); }
.page-fuyang .fy-faq-list details p { margin: 0; padding: 0 38px 24px; color: var(--fy-gray); line-height: 1.9; }

.page-fuyang .fy-final-ad { background: #111; }
.page-fuyang .fy-final { background: #111; }
.page-fuyang .fy-final-grid { display: grid; grid-template-columns: 1.12fr .88fr; align-items: end; gap: 70px; }
.page-fuyang .fy-final small { color: var(--fy-cyan); font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.page-fuyang .fy-final h2 { max-width: 650px; margin: 16px 0 0; }
.page-fuyang .fy-final p { margin: 0; color: rgba(255,255,255,.62); line-height: 1.9; }

@media (max-width: 1040px) {
  .page-fuyang .fy-hero-index { width: 390px; }
  .page-fuyang .fy-register { grid-column: 1 / 9; }
  .page-fuyang .fy-accounting { grid-column: 9 / -1; }
  .page-fuyang .fy-change { grid-column: 1 / 8; }
  .page-fuyang .fy-directory { grid-column: 8 / -1; }
  .page-fuyang .fy-platform-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .page-fuyang .fy-index-head,
  .page-fuyang .fy-notes-head,
  .page-fuyang .fy-growth-grid,
  .page-fuyang .fy-faq-grid,
  .page-fuyang .fy-final-grid { grid-template-columns: 1fr; gap: 28px; }
  .page-fuyang .fy-index-grid { grid-template-columns: repeat(2,1fr); }
  .page-fuyang .fy-bento-grid { display: block; }
  .page-fuyang .fy-tile { margin-bottom: 14px; }
  .page-fuyang .fy-faq header { position: static; }
}

@media (max-width: 700px) {
  .page-fuyang .city-section h2,
  .page-fuyang .fy-tile h2,
  .page-fuyang .fy-final h2 { font-size: 32px; line-height: 1.11; letter-spacing: -.043em; }
  .page-fuyang .fy-hero { min-height: 720px; }
  .page-fuyang .fy-hero-shell { min-height: 720px; }
  .page-fuyang .fy-hero-media img { object-position: center; }
  .page-fuyang .fy-hero-paper { background: linear-gradient(180deg, rgba(250,248,242,.18), rgba(250,248,242,.06) 62%, rgba(17,17,17,.35)); }
  .page-fuyang .fy-crumb { padding-top: 13px; }
  .page-fuyang .fy-hero-copy { width: 100%; padding-top: 92px; }
  .page-fuyang .fy-hero h1 { max-width: 362px; font-size: 39px; line-height: 1.07; }
  .page-fuyang .fy-hero-copy > p:not(.city-eyebrow) { max-width: 350px; margin-top: 18px; font-size: 14px; line-height: 1.72; }
  .page-fuyang .fy-actions { gap: 8px; margin-top: 22px; }
  .page-fuyang .fy-actions a { min-height: 45px; padding: 0 13px; gap: 8px; font-size: 11px; }
  .page-fuyang .fy-actions a:nth-child(2) { border-color: rgba(255,255,255,.68); background: rgba(250,248,242,.9); color: var(--fy-ink); backdrop-filter: blur(8px); }
  .page-fuyang .fy-hero-index { right: 14px; bottom: 16px; left: 14px; width: auto; padding: 14px 14px 12px; }
  .page-fuyang .fy-hero-index > small { display: none; }
  .page-fuyang .fy-hero-index ol { margin-top: 0; }
  .page-fuyang .fy-hero-index li { padding-left: 7px; }
  .page-fuyang .fy-hero-index li span { font-size: 9px; writing-mode: horizontal-tb; letter-spacing: 0; }
  .page-fuyang .fy-index-grid { grid-template-columns: 1fr; }
  .page-fuyang .fy-index-grid article { min-height: 210px; padding: 24px; }
  .page-fuyang .fy-index-grid h3 { margin-top: 66px; }
  .page-fuyang .fy-bento { padding: 76px 0; }
  .page-fuyang .fy-tile-copy,
  .page-fuyang .fy-change,
  .page-fuyang .fy-directory,
  .page-fuyang .fy-platform { padding: 27px; }
  .page-fuyang .fy-register { grid-template-rows: auto 270px; }
  .page-fuyang .fy-checks { grid-template-columns: repeat(2,1fr); }
  .page-fuyang .fy-accounting { grid-template-rows: 250px auto; }
  .page-fuyang .fy-change > div { grid-template-columns: 1fr; }
  .page-fuyang .fy-directory nav { grid-template-columns: 1fr; }
  .page-fuyang .fy-directory a { min-height: 95px; gap: 15px; }
  .page-fuyang .fy-platform-head { grid-template-columns: 1fr; gap: 0; }
  .page-fuyang .fy-platform-grid { margin-top: 28px; }
  .page-fuyang .fy-platform-grid > figure { min-height: 255px; }
  .page-fuyang .fy-workspaces { grid-template-columns: 1fr; }
  .page-fuyang .fy-workspaces article { min-height: 175px; }
  .page-fuyang .fy-workspaces h3 { margin-top: 38px; }
  .page-fuyang .fy-notes-grid { grid-template-columns: 1fr; margin-top: 32px; }
  .page-fuyang .fy-notes-grid a,
  .page-fuyang .fy-notes-grid .fy-note-lead,
  .page-fuyang .fy-notes-grid .fy-note-wide { grid-column: auto; min-height: 270px; }
  .page-fuyang .fy-notes-grid .fy-note-lead h3 { font-size: 24px; }
  .page-fuyang .fy-growth figure { min-height: 350px; }
  .page-fuyang .fy-faq-list summary { font-size: 15px; }
  .page-fuyang .fy-faq-list details p { padding-left: 27px; padding-right: 6px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .page-fuyang .fy-actions a,
  .page-fuyang .fy-change a,
  .page-fuyang .fy-notes-grid a,
  .page-fuyang .fy-faq-list summary b { transition: none; }
}
