/* Expanded brand, editorial, archive and service experience. Decorative textures never carry essential content. */
:root {
  --zf-imperial: #d4af37;
  --zf-imperial-soft: #f4c430;
  --zf-royal-purple: #6a0572;
  --zf-royal-rouge: #ab2346;
  --zf-grad-imperial: linear-gradient(135deg, #d4af37 0%, #f4c430 50%, #ffd700 100%);
  --zf-grad-royal: linear-gradient(180deg, #6a0572 0%, #ab2346 100%);
}
.zf-inline-button { padding: 0; border: 0; background: transparent; cursor: pointer; }
.zf-inline-button:hover { color: var(--zf-cinnabar-deep); }
.zf-editorial-heading { max-width: 720px; margin-bottom: 29px; }
.zf-editorial-heading h2 { margin: 0; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: clamp(31px, 3.2vw, 43px); letter-spacing: .09em; line-height: 1.25; }
.zf-editorial-heading > p:last-child { margin: 12px 0 0; color: var(--zf-muted); font-size: 15px; }

/* Home: service state */
.zf-home-status-strip { border-top: 1px solid rgba(232,213,183,.85); border-bottom: 1px solid rgba(232,213,183,.85); background: #fffdf8; }
.zf-home-status-grid { display: grid; grid-template-columns: repeat(3, 1fr) auto; align-items: stretch; }
.zf-home-status-grid > div, .zf-home-status-grid > a { display: flex; align-items: center; min-height: 78px; padding: 16px 22px; border-right: 1px solid var(--zf-line); }
.zf-home-status-grid > div:first-child { border-left: 1px solid var(--zf-line); }
.zf-home-status-grid > div > span { display: grid; flex: 0 0 30px; width: 30px; height: 30px; margin-right: 10px; place-items: center; border: 1px solid var(--zf-gold); border-radius: 50%; color: var(--zf-gold); font-size: 13px; }
.zf-home-status-grid p { display: grid; gap: 1px; margin: 0; }
.zf-home-status-grid strong { color: #47382b; font-family: var(--zf-serif); font-size: 14px; letter-spacing: .04em; }
.zf-home-status-grid small { color: var(--zf-muted); font-size: 11px; line-height: 1.4; }
.zf-home-status-grid > a { gap: 8px; border-right: 0; color: var(--zf-cinnabar); font-size: 13px; font-weight: 700; white-space: nowrap; }
.zf-home-status-grid > a span { transition: transform .18s var(--ease-out, ease-out); }
.zf-home-status-grid > a:hover span { transform: translateX(3px); }

/* Home: three portals and complete collection index */
.zf-home-portal-section { padding: 75px 0 62px; }
.zf-home-portal-section .zf-portals { margin-top: 32px; }
.zf-collection-index-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.zf-collection-index-card { position: relative; display: grid; grid-template-columns: 25px 44px 1fr 19px; gap: 11px; align-items: center; min-height: 138px; overflow: hidden; padding: 21px 20px; border: 1px solid var(--zf-sand); background: rgba(255,255,255,.46); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.zf-collection-index-card::before { position: absolute; z-index: 0; inset: 0; content: ""; opacity: .18; background-image: radial-gradient(circle at 92% 13%, rgba(49,95,127,.42) 0 2px, transparent 3px), linear-gradient(145deg, transparent 40%, rgba(49,95,127,.3) 40.5% 41%, transparent 41.5%); background-size: 36px 36px, 78px 78px; pointer-events: none; }
.zf-collection-index-card > * { position: relative; z-index: 1; }
.zf-collection-index-card:hover { transform: translateY(-4px); border-color: var(--zf-gold); box-shadow: 0 11px 25px rgba(48,36,23,.1); }
.zf-collection-index-no { align-self: start; color: var(--zf-gold); font-size: 11px; letter-spacing: .08em; }
.zf-collection-index-symbol { display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid currentColor; border-radius: 50%; color: var(--zf-porcelain); font-family: var(--zf-serif); font-size: 21px; }
.zf-collection-index-copy { display: grid; gap: 4px; }
.zf-collection-index-copy strong { color: #3e3126; font-family: var(--zf-serif); font-size: 19px; letter-spacing: .08em; }
.zf-collection-index-copy small { color: var(--zf-muted); font-size: 11px; line-height: 1.52; }
.zf-collection-index-arrow { align-self: end; color: var(--zf-cinnabar); font-size: 18px; }
.zf-collection-guardian-placement { background: linear-gradient(135deg, rgba(3,89,81,.12), rgba(255,255,255,.55)); }
.zf-collection-guardian-placement .zf-collection-index-symbol { color: var(--zf-peacock); }
.zf-collection-palace-objects { background: linear-gradient(135deg, rgba(244,196,48,.16), rgba(255,255,255,.54)); }
.zf-collection-palace-objects .zf-collection-index-symbol { color: #99711e; }
.zf-collection-wearable-objects { background: linear-gradient(135deg, rgba(154,40,32,.09), rgba(255,255,255,.54)); }
.zf-collection-wearable-objects .zf-collection-index-symbol { color: var(--zf-cinnabar); }

/* Home: five-element editorial index */
.zf-home-elements { position: relative; overflow: hidden; padding: 90px 0; background: #f7f3eb; }
.zf-elements-layout { position: relative; display: grid; grid-template-columns: minmax(0, .75fr) minmax(260px, .55fr) minmax(0, 1.04fr); gap: 30px; align-items: center; }
.zf-elements-art { min-height: 375px; background: url('assets/editorial/five-elements-atmosphere.webp') center/cover no-repeat; border: 1px solid rgba(232,213,183,.75); }
.zf-elements-copy h2 { max-width: 290px; margin: 0 0 13px; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: clamp(29px, 3vw, 42px); letter-spacing: .1em; line-height: 1.35; }
.zf-elements-copy > p:not(.zf-eyebrow) { margin: 0 0 19px; color: var(--zf-muted); font-size: 14px; }
.zf-element-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; }
.zf-element-card { display: flex; min-height: 224px; flex-direction: column; align-items: center; justify-content: center; padding: 14px 9px; border-radius: 999px 999px 14px 14px; color: #fff; text-align: center; transition: transform .2s ease, box-shadow .2s ease; }
.zf-element-card:hover { transform: translateY(-5px); box-shadow: 0 12px 22px rgba(44,39,35,.18); }
.zf-element-symbol { margin-bottom: 9px; font-family: var(--zf-serif); font-size: 43px; line-height: 1; }
.zf-element-card strong { font-family: var(--zf-serif); font-size: 13px; letter-spacing: .07em; line-height: 1.45; }
.zf-element-card small { margin-top: 9px; font-size: 10px; line-height: 1.45; opacity: .82; }
.zf-element-metal { background: linear-gradient(165deg, #d4af37, #a17c32); }
.zf-element-wood { background: linear-gradient(165deg, #598966, #2f5233); }
.zf-element-water { background: linear-gradient(165deg, #5799cf, #2e5c8a); }
.zf-element-fire { background: linear-gradient(165deg, #db6558, #9a2820); }
.zf-element-earth { background: linear-gradient(165deg, #c89f70, #8b7355); }

/* Home: craft archive */
.zf-home-craft { padding: 88px 0; background: #fffdf8; }
.zf-craft-layout { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 410px; overflow: hidden; border: 1px solid var(--zf-sand); background: #f7f1e7; }
.zf-craft-visual { min-height: 410px; background: url('assets/editorial/craft-archive-atmosphere.webp') center/cover no-repeat; }
.zf-craft-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(35px, 5vw, 70px); }
.zf-craft-copy h2 { margin: 0 0 13px; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: clamp(30px, 3.4vw, 45px); letter-spacing: .1em; }
.zf-craft-copy > p:not(.zf-eyebrow) { margin: 0; color: var(--zf-muted); font-size: 14px; }
.zf-craft-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 25px; }
.zf-craft-tags span { padding: 6px 9px; border: 1px solid rgba(184,149,77,.45); color: #735b32; background: rgba(255,253,248,.58); font-size: 11px; }

/* Home: market and service paths */
.zf-home-inquiry { padding: 76px 0; background: linear-gradient(120deg, #214c67, #2b5c76 50%, #0a6159); }
.zf-home-inquiry-inner { display: grid; grid-template-columns: minmax(0, .91fr) minmax(330px, 1.09fr); gap: 45px; align-items: center; }
.zf-home-inquiry-copy { color: #f9f0de; }
.zf-home-inquiry-copy .zf-eyebrow { color: #f6d67b; }
.zf-home-inquiry-copy h2 { margin: 0 0 12px; font-family: var(--zf-serif); font-size: clamp(31px, 3.5vw, 47px); letter-spacing: .1em; line-height: 1.3; }
.zf-home-inquiry-copy > p:not(.zf-eyebrow) { max-width: 590px; margin: 0; color: rgba(249,240,222,.84); font-size: 14px; }
.zf-home-inquiry-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 19px; margin-top: 28px; }
.zf-btn-imperial { color: #534016; background: var(--zf-grad-imperial); box-shadow: 0 10px 25px rgba(0,0,0,.2); }
.zf-btn-imperial:hover { color: #3d2f0f; transform: translateY(-2px); box-shadow: 0 15px 29px rgba(0,0,0,.28); }
.zf-home-inquiry .zf-text-link { color: #f9e1a4; }
.zf-home-inquiry-visual { min-height: 300px; border: 1px solid rgba(247,214,123,.46); background: url('assets/editorial/global-inquiry-atmosphere.webp') center/cover no-repeat; box-shadow: 0 16px 34px rgba(8,37,42,.24); }
.zf-home-service-links { padding: 0 0 82px; background: #fffdf8; }
.zf-home-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.zf-home-service-grid a { position: relative; display: grid; min-height: 165px; grid-template-columns: 1fr auto; grid-template-rows: auto auto 1fr; padding: 22px; border: 1px solid var(--zf-sand); background: #fbf7ef; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.zf-home-service-grid a:hover { transform: translateY(-3px); border-color: var(--zf-gold); box-shadow: 0 9px 20px rgba(48,36,23,.09); }
.zf-home-service-grid span { color: var(--zf-gold); font-size: 11px; letter-spacing: .1em; }
.zf-home-service-grid strong { grid-column: 1; margin-top: 7px; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: 21px; letter-spacing: .09em; }
.zf-home-service-grid small { grid-column: 1; align-self: end; margin-top: 7px; color: var(--zf-muted); font-size: 12px; line-height: 1.55; }
.zf-home-service-grid b { grid-column: 2; grid-row: 1 / 4; align-self: end; color: var(--zf-cinnabar); font-size: 19px; font-weight: 400; }

/* Detail: quality archive presentation */
.zf-detail-breadcrumb { border-bottom: 1px solid var(--zf-line); background: rgba(255,253,248,.66); }
.zf-detail-breadcrumb .zf-container { display: flex; min-height: 58px; align-items: center; gap: 7px; overflow: hidden; color: var(--zf-muted); font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.zf-detail-breadcrumb a:hover { color: var(--zf-cinnabar); }
.zf-detail-breadcrumb strong { overflow: hidden; color: #514538; font-weight: 500; text-overflow: ellipsis; }
.zf-detail-media { position: relative; }
.zf-detail-media-note { position: absolute; right: 18px; bottom: 15px; color: var(--zf-muted); font-size: 11px; letter-spacing: .08em; }
.zf-detail-tier-premium .zf-detail-media { border: 1.5px solid var(--zf-glaze); box-shadow: 0 14px 38px rgba(212,175,55,.16); }
.zf-detail-tier-limited .zf-detail-media { border: 2px solid var(--zf-imperial); background: linear-gradient(135deg, #f8edca, #fffdf7); box-shadow: 0 16px 42px rgba(244,196,48,.22); }
.zf-badge-archive-status { color: #715b39; background: #f8efdc; }
.zf-detail-intro { margin-top: 17px; }
.zf-detail-intro p { margin-bottom: 12px; }
.zf-detail-data-status { display: grid; grid-template-columns: 29px 1fr; gap: 10px; margin: 20px 0; padding: 15px; border-top: 1px solid rgba(184,149,77,.37); border-bottom: 1px solid rgba(184,149,77,.37); }
.zf-detail-data-status > span { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid var(--zf-gold); border-radius: 50%; color: var(--zf-gold); }
.zf-detail-data-status strong { color: #57442c; font-family: var(--zf-serif); font-size: 15px; letter-spacing: .06em; }
.zf-detail-data-status p { margin: 2px 0 0; color: var(--zf-muted); font-size: 12px; line-height: 1.6; }
.zf-inquiry > div { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.zf-detail-related { padding: 68px 0 85px; border-top: 1px solid var(--zf-line); background: #fffdf8; }
.zf-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Editorial pages */
.zf-editorial-hero { position: relative; overflow: hidden; background: linear-gradient(110deg, rgba(49,95,127,.10), rgba(255,253,248,.86)); }
.zf-heritage-hero::after, .zf-service-hero::after, .zf-contact-hero::after { position: absolute; z-index: 0; top: 0; right: 0; bottom: 0; width: min(45%, 560px); content: ""; opacity: .28; background: url('assets/editorial/heritage-pattern-atmosphere.webp') center/cover no-repeat; }
.zf-editorial-hero .zf-container { position: relative; z-index: 1; }
.zf-editorial-page { padding-bottom: 88px; }
.zf-editorial-index { margin: 0 0 10px; color: var(--zf-gold); font-size: 10px; letter-spacing: .16em; }
.zf-editorial-intro-grid, .zf-service-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(36px, 7vw, 120px); padding: 78px 0; }
.zf-editorial-intro-grid h2, .zf-service-intro h2, .zf-faq-intro h2, .zf-about-manifesto h2 { margin: 0; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: clamp(32px, 4vw, 51px); letter-spacing: .1em; line-height: 1.27; }
.zf-editorial-intro-grid > div:last-child > p, .zf-service-intro > p { margin: 0 0 18px; color: var(--zf-muted); font-size: 16px; line-height: 1.85; }
.zf-heritage-feature-panel { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 410px; overflow: hidden; border: 1px solid var(--zf-sand); background: #f9f4eb; }
.zf-heritage-feature-visual { min-height: 410px; background: url('assets/editorial/heritage-pattern-atmosphere.webp') center/cover no-repeat; }
.zf-heritage-feature-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(35px, 6vw, 78px); }
.zf-heritage-feature-copy h2 { margin: 0 0 13px; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: clamp(29px, 3.3vw, 43px); letter-spacing: .1em; }
.zf-heritage-feature-copy > p:not(.zf-eyebrow) { margin: 0; color: var(--zf-muted); font-size: 14px; }
.zf-heritage-checks { display: grid; gap: 8px; margin-top: 23px; }
.zf-heritage-checks span { display: flex; align-items: center; color: #4a4135; font-size: 13px; }
.zf-heritage-checks span::before { width: 9px; height: 9px; margin-right: 9px; border: 1px solid var(--zf-gold); content: ""; transform: rotate(45deg); }
.zf-archive-steps { padding: 83px 0; }
.zf-archive-steps ol { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 35px 0 0; padding: 0; list-style: none; counter-reset: none; }
.zf-archive-steps li { position: relative; min-height: 202px; padding: 21px 22px; border-top: 1px solid var(--zf-sand); border-bottom: 1px solid var(--zf-sand); border-left: 1px solid var(--zf-sand); background: rgba(255,255,255,.42); }
.zf-archive-steps li:last-child { border-right: 1px solid var(--zf-sand); }
.zf-archive-steps li > span { color: var(--zf-gold); font-size: 11px; letter-spacing: .1em; }
.zf-archive-steps h3 { margin: 15px 0 8px; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: 22px; letter-spacing: .08em; }
.zf-archive-steps p { margin: 0; color: var(--zf-muted); font-size: 12px; line-height: 1.65; }
.zf-heritage-materials { padding: 78px 0; background: #f6f1e8; }
.zf-heritage-material-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.zf-heritage-material-grid article { min-height: 210px; padding: 24px 21px; border: 1px solid rgba(232,213,183,.8); background: rgba(255,255,255,.52); }
.zf-heritage-material-grid span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--zf-gold); border-radius: 50%; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: 21px; }
.zf-heritage-material-grid h3 { margin: 15px 0 6px; color: #48372b; font-family: var(--zf-serif); font-size: 21px; letter-spacing: .08em; }
.zf-heritage-material-grid p { margin: 0; color: var(--zf-muted); font-size: 12px; line-height: 1.62; }

/* Services, FAQ and About */
.zf-service-intro { padding-bottom: 46px; }
.zf-service-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding-bottom: 80px; }
.zf-service-paths article { min-height: 257px; padding: 25px; border: 1px solid var(--zf-sand); background: rgba(255,255,255,.45); }
.zf-service-paths span { color: var(--zf-gold); font-size: 11px; letter-spacing: .1em; }
.zf-service-paths h3 { margin: 18px 0 8px; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: 23px; letter-spacing: .08em; }
.zf-service-paths p { min-height: 72px; margin: 0 0 16px; color: var(--zf-muted); font-size: 13px; line-height: 1.65; }
.zf-service-status { padding: 72px 0; background: #edf2ef; }
.zf-service-status-inner { display: grid; grid-template-columns: .78fr 1.22fr; gap: 50px; align-items: center; }
.zf-service-status-visual { min-height: 310px; border: 1px solid rgba(0,109,97,.26); background: url('assets/editorial/global-inquiry-atmosphere.webp') center/cover no-repeat; }
.zf-service-status h2 { margin: 0 0 13px; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: clamp(29px, 3vw, 42px); letter-spacing: .1em; }
.zf-service-status p:not(.zf-eyebrow) { max-width: 580px; margin: 0 0 23px; color: var(--zf-muted); font-size: 14px; }
.zf-service-links-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding-top: 75px; }
.zf-service-links-list a { display: flex; align-items: center; justify-content: space-between; min-height: 72px; padding: 0 20px; border-top: 1px solid var(--zf-sand); border-bottom: 1px solid var(--zf-sand); border-left: 1px solid var(--zf-sand); color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: 17px; letter-spacing: .07em; }
.zf-service-links-list a:last-child { border-right: 1px solid var(--zf-sand); }
.zf-service-links-list b { font-weight: 400; }
.zf-faq-page { max-width: 900px; padding: 77px 0 88px; }
.zf-faq-intro { max-width: 580px; margin-bottom: 31px; }
.zf-faq-list { border-top: 1px solid var(--zf-sand); }
.zf-faq-list details { border-bottom: 1px solid var(--zf-sand); }
.zf-faq-list summary { position: relative; padding: 20px 42px 20px 0; cursor: pointer; color: #4a392b; font-family: var(--zf-serif); font-size: 19px; font-weight: 700; letter-spacing: .05em; list-style: none; }
.zf-faq-list summary::after { position: absolute; top: 18px; right: 3px; color: var(--zf-cinnabar); content: "+"; font-family: var(--zf-sans); font-size: 23px; font-weight: 400; }
.zf-faq-list details[open] summary::after { content: "−"; }
.zf-faq-list details > div { padding: 0 25px 20px 0; }
.zf-faq-list p { margin: 0; color: var(--zf-muted); font-size: 14px; line-height: 1.75; }
.zf-faq-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 37px; padding: 25px; background: #f6efe2; }
.zf-faq-cta p { margin: 0; color: #604f3a; font-family: var(--zf-serif); font-size: 19px; letter-spacing: .07em; }
.zf-about-manifesto { max-width: 890px; padding: 86px 0; text-align: center; }
.zf-about-manifesto h2 { max-width: 640px; margin: 0 auto 20px; }
.zf-about-manifesto > p:not(.zf-editorial-index) { max-width: 740px; margin: 0 auto 29px; color: var(--zf-muted); font-size: 16px; line-height: 1.9; }
.zf-about-values { padding: 70px 0; background: #f7f1e8; }
.zf-about-values .zf-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.zf-about-values article { min-height: 223px; padding: 25px; border: 1px solid var(--zf-sand); background: rgba(255,255,255,.55); }
.zf-about-values span { color: var(--zf-gold); font-size: 11px; letter-spacing: .1em; }
.zf-about-values h3 { margin: 17px 0 8px; color: var(--zf-cinnabar); font-family: var(--zf-serif); font-size: 23px; letter-spacing: .08em; }
.zf-about-values p { margin: 0; color: var(--zf-muted); font-size: 13px; line-height: 1.7; }

@media (max-width: 1080px) {
  .zf-home-status-grid { grid-template-columns: repeat(2, 1fr); }
  .zf-home-status-grid > a { border-top: 1px solid var(--zf-line); }
  .zf-elements-layout { grid-template-columns: .8fr 1.2fr; }
  .zf-elements-copy { grid-column: 1 / -1; grid-row: 1; max-width: 690px; }
  .zf-elements-art { min-height: 330px; }
  .zf-element-grid { grid-template-columns: repeat(5, minmax(80px, 1fr)); }
  .zf-archive-steps ol, .zf-heritage-material-grid { grid-template-columns: repeat(2, 1fr); }
  .zf-archive-steps li:nth-child(3) { border-left: 1px solid var(--zf-sand); }
  .zf-archive-steps li:nth-child(2) { border-right: 1px solid var(--zf-sand); }
  .zf-service-paths, .zf-home-service-grid { grid-template-columns: 1fr 1fr; }
  .zf-service-links-list { grid-template-columns: 1fr; }
  .zf-service-links-list a { border-right: 1px solid var(--zf-sand); border-bottom: 0; }
  .zf-service-links-list a:last-child { border-bottom: 1px solid var(--zf-sand); }
}

@media (max-width: 760px) {
  .zf-header-inner { width: min(100% - 16px, 650px); min-height: 66px; gap: 3px; }
  .zf-menu-toggle { flex: 0 0 44px; width: 44px; height: 44px; font-size: 24px; }
  .zf-brand { flex: 0 1 auto; gap: 5px; overflow: hidden; color: #244f70; }
  .zf-brand-mark { width: 28px; height: 28px; flex: 0 0 28px; border-color: #244f70; color: #244f70; background: #f8fbfa; font-size: 15px; }
  .zf-brand-name { font-size: clamp(18px, 5vw, 22px); letter-spacing: .09em; white-space: nowrap; }
  .zf-header-tools { flex: 1 0 auto; justify-content: flex-end; gap: 0; }
  .zf-header-tools .zf-control { display: inline-flex; min-height: 33px; padding: 0 4px; font-size: 10px; }
  .zf-header-tools .zf-control:nth-child(1) { width: 43px; }
  .zf-header-tools .zf-control:nth-child(2) { display: inline-flex; width: 72px; overflow: hidden; border: 1px solid rgba(49,95,127,.42); border-radius: 3px; color: #244f70; }
  .zf-icon-link { min-width: 27px; padding: 0 3px; font-size: 20px; }
  .zf-icon-link small { display: none; }
  .zf-header-tools .zf-icon-link:last-child { display: none; }
  .zf-nav { top: 66px; }
  .zf-editorial-heading > p:last-child { font-size: 13px; }
  .zf-home-status-grid { grid-template-columns: 1fr 1fr; width: 100%; }
  .zf-home-status-grid > div, .zf-home-status-grid > a { min-height: 75px; padding: 13px 12px; }
  .zf-home-status-grid > div:first-child { border-left: 0; }
  .zf-home-status-grid > div:nth-child(2) { border-right: 0; }
  .zf-home-status-grid > div:nth-child(3) { border-top: 1px solid var(--zf-line); border-left: 0; }
  .zf-home-status-grid > a { border-top: 1px solid var(--zf-line); border-right: 0; font-size: 12px; }
  .zf-home-status-grid > div > span { display: none; }
  .zf-home-status-grid strong { font-size: 12px; }
  .zf-home-status-grid small { font-size: 9px; }
  .zf-home-portal-section { padding: 48px 0 42px; }
  .zf-home-portal-section .zf-portals { margin-top: 23px; }
  .zf-collection-index-grid { grid-template-columns: 1fr; gap: 9px; }
  .zf-collection-index-card { min-height: 112px; grid-template-columns: 20px 37px 1fr 17px; padding: 16px; }
  .zf-collection-index-symbol { width: 37px; height: 37px; font-size: 18px; }
  .zf-collection-index-copy strong { font-size: 17px; }
  .zf-collection-index-copy small { font-size: 10px; }
  .zf-home-elements { padding: 53px 0; }
  .zf-elements-layout { display: flex; flex-direction: column; gap: 23px; }
  .zf-elements-art { order: 2; width: 100%; min-height: 196px; }
  .zf-elements-copy { order: 1; }
  .zf-elements-copy h2 { max-width: 100%; font-size: 30px; }
  .zf-elements-copy > p:not(.zf-eyebrow) { font-size: 13px; }
  .zf-element-grid { order: 3; width: 100%; grid-template-columns: repeat(5, 1fr); gap: 5px; }
  .zf-element-card { min-height: 145px; padding: 9px 3px; border-radius: 99px 99px 10px 10px; }
  .zf-element-symbol { margin-bottom: 5px; font-size: 30px; }
  .zf-element-card strong { font-size: 10px; letter-spacing: .03em; }
  .zf-element-card small { display: none; }
  .zf-home-craft { padding: 53px 0; }
  .zf-craft-layout, .zf-heritage-feature-panel { grid-template-columns: 1fr; }
  .zf-craft-visual, .zf-heritage-feature-visual { min-height: 236px; }
  .zf-craft-copy, .zf-heritage-feature-copy { padding: 31px 22px; }
  .zf-craft-copy h2 { font-size: 31px; }
  .zf-home-inquiry { padding: 52px 0; }
  .zf-home-inquiry-inner { grid-template-columns: 1fr; gap: 25px; }
  .zf-home-inquiry-copy h2 { font-size: 31px; }
  .zf-home-inquiry-copy > p:not(.zf-eyebrow) { font-size: 13px; }
  .zf-home-inquiry-visual { min-height: 209px; }
  .zf-home-service-links { padding-bottom: 54px; }
  .zf-home-service-grid { grid-template-columns: 1fr; gap: 9px; }
  .zf-home-service-grid a { min-height: 125px; }
  .zf-detail-breadcrumb .zf-container { min-height: 48px; font-size: 11px; }
  .zf-detail-data-status { margin: 17px 0; }
  .zf-detail-related { padding: 50px 0; }
  .zf-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zf-editorial-hero::after { width: 54%; opacity: .16; }
  .zf-editorial-page { padding-bottom: 53px; }
  .zf-editorial-intro-grid, .zf-service-intro { grid-template-columns: 1fr; gap: 21px; padding: 52px 0; }
  .zf-editorial-intro-grid h2, .zf-service-intro h2, .zf-faq-intro h2, .zf-about-manifesto h2 { font-size: 31px; }
  .zf-editorial-intro-grid > div:last-child > p, .zf-service-intro > p { font-size: 14px; }
  .zf-archive-steps { padding: 53px 0; }
  .zf-archive-steps ol, .zf-heritage-material-grid { grid-template-columns: 1fr; gap: 9px; }
  .zf-archive-steps li, .zf-archive-steps li:nth-child(2), .zf-archive-steps li:nth-child(3), .zf-archive-steps li:last-child { min-height: 155px; border: 1px solid var(--zf-sand); }
  .zf-archive-steps h3 { margin-top: 8px; }
  .zf-heritage-materials { padding: 53px 0; }
  .zf-heritage-material-grid article { min-height: 0; padding: 19px; }
  .zf-service-intro { padding-bottom: 25px; }
  .zf-service-paths { grid-template-columns: 1fr; gap: 9px; padding-bottom: 53px; }
  .zf-service-paths article { min-height: 0; padding: 21px; }
  .zf-service-paths p { min-height: 0; }
  .zf-service-status { padding: 52px 0; }
  .zf-service-status-inner { grid-template-columns: 1fr; gap: 27px; }
  .zf-service-status-visual { min-height: 212px; }
  .zf-service-status h2 { font-size: 30px; }
  .zf-service-links-list { padding-top: 53px; }
  .zf-faq-page { padding: 54px 0; }
  .zf-faq-list summary { font-size: 17px; }
  .zf-faq-cta { align-items: flex-start; flex-direction: column; }
  .zf-about-manifesto { padding: 55px 0; text-align: left; }
  .zf-about-manifesto h2, .zf-about-manifesto > p:not(.zf-editorial-index) { margin-left: 0; }
  .zf-about-values { padding: 53px 0; }
  .zf-about-values .zf-container { grid-template-columns: 1fr; gap: 9px; }
  .zf-about-values article { min-height: 0; }
}

@media (max-width: 360px) {
  .zf-header-tools .zf-control:nth-child(2) { display: none; }
  .zf-header-tools .zf-control:nth-child(1) { width: 42px; }
  .zf-brand-name { font-size: 18px; }
}

@media (prefers-reduced-motion: no-preference) {
  .zf-collection-index-card, .zf-element-card, .zf-home-service-grid a { will-change: transform; }
}
