/* Editorial hierarchy shared by brand, material and briefing pages. */
.ed figure{margin:0}.ed figure img{display:block;width:100%;height:100%;object-fit:cover}.ed figcaption{font-size:11px;line-height:1.6;color:#666;margin-top:12px}.ed h1{font-size:clamp(42px,5.3vw,78px);line-height:1.12;letter-spacing:-.04em}.ed h2{font-size:clamp(30px,3.3vw,48px);line-height:1.22;letter-spacing:-.025em}.ed h3{font-size:22px;line-height:1.4}.ed p{line-height:1.8}.ed .kicker{font-size:10px;letter-spacing:.16em}.ed-lead{font-size:17px;line-height:1.85;max-width:40em}.ed-fine{font-size:12px;color:#666;line-height:1.7}.ed-index{font-size:11px;letter-spacing:.12em;color:#666}.ed-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;padding-top:72px;padding-bottom:70px;align-items:center}.ed-hero-copy h1{margin:22px 0}.ed-hero-copy .vi-hero-strap{margin-bottom:24px}.ed-hero-copy .btn-row{margin-top:30px;gap:24px}.ed-hero-study{position:relative;padding-bottom:75px}.ed-hero-study figure picture{display:block;height:440px}.ed-hero-study figcaption{display:flex;justify-content:space-between}.ed-intent-note{position:relative;margin:-90px 25px 0 -28px;padding:26px 30px;background:#fafafa;border:1px solid #d6d6d6;max-width:330px}.ed-intent-note p{font-size:24px;line-height:1.5;margin:12px 0}.ed-intent-note small{display:block;color:#666;font-size:12px;line-height:1.6}.ed-intent-note a{display:inline-block;margin-top:18px;font-size:12px;text-underline-offset:5px}.ed-route{border-top:1px solid #d6d6d6;border-bottom:1px solid #d6d6d6;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:22px;padding-bottom:22px;font-size:11px;letter-spacing:.12em}.ed-route i{font-style:normal;color:#888}.ed-route p{font-size:11px;letter-spacing:0;margin:0;color:#666}.ed-case{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.ed-case-photo picture{display:block;aspect-ratio:1/1}.ed-case-copy h2{margin:16px 0 24px}.ed-case-caption{display:flex;justify-content:space-between;border-top:1px solid #d6d6d6;padding-top:18px;margin-top:22px;font-size:10px;letter-spacing:.1em}.ed-mini-record{margin:26px 0}.ed-mini-record>div{display:grid;grid-template-columns:75px 1fr;gap:16px;border-top:1px solid #d6d6d6;padding:13px 0;font-size:13px;line-height:1.7}.ed-mini-record dt{color:#666}.ed-mini-record dd{margin:0}.ed-services,.ed-quality{background:#f0f0f0}.ed-section-head{display:flex;justify-content:space-between;gap:10%;align-items:end;margin-bottom:40px}.ed-section-head>p{max-width:420px;font-size:14px;color:#555}.ed .hx-paths>a{background:transparent;border:0;border-top:1px solid #bbb;padding:28px 20px 28px 0}.ed .hx-paths h3{margin:28px 0 12px}.ed .hx-paths p{font-size:14px}.ed .hx-action{margin-top:22px;font-size:12px}.ed-material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.ed-material-grid>a{text-decoration:none;color:inherit}.ed-material-grid picture{display:block;aspect-ratio:4/5;overflow:hidden}.ed-material-grid img{transition:transform .35s}.ed-material-grid a:hover img{transform:scale(1.035)}.ed-material-grid h3{margin:22px 0 12px}.ed-material-grid p{font-size:14px;color:#555}.ed-materials>.ed-fine{margin-top:30px}.ed-quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:45px 0 30px}.ed-quality-grid article{border-top:1px solid #bbb;padding-top:20px}.ed-quality-grid h3{margin:25px 0 16px;font-size:21px}.ed-quality-grid p{font-size:14px;color:#555}.ed-quality-grid small{display:block;font-size:11px;border-top:1px solid #d6d6d6;padding-top:18px;margin-top:26px}.ed-founder{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.ed-founder h2{margin:18px 0}.ed-founder p{margin-top:0}.ed-close{display:flex;justify-content:space-between;align-items:center;gap:50px}.ed .hx-close h2{font-size:clamp(34px,4vw,58px)}.ed-close>div:last-child{max-width:310px}.ed-close .ed-fine{color:#bbb}.ed-case-overview{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.ed-case-overview picture{display:block;aspect-ratio:1.25}.ed-case-abstract>p{font-size:clamp(25px,3vw,38px);line-height:1.6}.ed-story article{display:grid;grid-template-columns:1fr 2fr;gap:7%;border-top:1px solid #ccc;padding:40px 0}.ed-story article h2{font-size:30px;margin-top:0}.ed-story article p{max-width:760px}.ed-case-scope{border-top:1px solid #ccc;padding-top:28px;padding-bottom:70px}.ed-case-scope>p{font-size:13px;max-width:780px;margin-bottom:25px;color:#666}.ed-service-stages article{display:grid;grid-template-columns:45px 1fr 1fr 1.5fr;gap:28px;padding:35px 0;border-top:1px solid #ccc}.ed-service-stages h2{font-size:26px;margin:0}.ed-service-stages h3{font-size:12px;color:#666;margin:0 0 14px}.ed-service-stages p{font-size:14px;margin:0}.ed-handfeel{font-size:12px!important;color:#666;margin:10px 0!important}.hx-form-details{margin:18px 0;border-top:1px solid #d6d6d6;padding-top:18px}.hx-form-details>summary{font-size:13px;cursor:pointer;margin-bottom:15px}.form-status{font-size:13px;line-height:1.6}.vz-builder-sec>.wrap>.section-head{display:none}.vz-progress{display:flex;flex-wrap:wrap;gap:6px}.vz-progress button{flex:1;min-width:100px;font-family:var(--sans);font-size:12px;letter-spacing:0}.vz-progress [hidden]{display:none!important}.vz-step h3{font-family:var(--sans);font-size:24px;font-weight:500;letter-spacing:0}.vz-chip{font-family:var(--sans);border-radius:0;font-size:15px}.vz-rec{border-radius:0!important;box-shadow:none!important}.vz-rec h4{font-family:var(--sans);font-size:25px;line-height:1.3;letter-spacing:0}.vz-rec h5{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0;color:#666}.vz-rec-main p,.vz-rec-tech-body p{font-size:14px;line-height:1.7}.vz-rec-tech{margin:20px 0}.vz-rec-tech summary{font-size:13px;cursor:pointer}.vz-builder .note{font-size:12px}.vz-builder-sec{padding-top:20px}.vz-subnav{font-size:12px}.ed a:focus-visible,.vz-builder button:focus-visible{outline:2px solid #111;outline-offset:5px}
@media(min-width:1100px){.ed .hx-section{padding-top:100px;padding-bottom:100px}.ed .hx-tight{padding-top:25px}}
@media(max-width:900px){.ed-hero{gap:5%;padding-top:45px}.ed-hero-study figure picture{height:350px}.ed-intent-note{margin-left:0;max-width:280px;padding:20px}.ed-route{flex-wrap:wrap}.ed-route p{width:100%}.ed-section-head{gap:35px}.ed-close{align-items:start}.ed-service-stages article{grid-template-columns:35px 1fr 1fr}.ed-service-stages article>div:last-child{grid-column:2/4}.ed-quality-grid{gap:22px}}
@media(max-width:650px){.ed-hero,.ed-case,.ed-founder,.ed-case-overview{grid-template-columns:1fr;gap:32px}.ed-hero{padding-top:35px;padding-bottom:32px}.ed-hero h1{font-size:44px}.ed-hero-study{padding-bottom:0}.ed-hero-study figure picture{height:330px}.ed-intent-note{margin-top:-65px;margin-left:16px;max-width:285px}.ed-section-head,.ed-close{display:block}.ed-section-head>p{margin-top:25px}.ed-section-head>a{display:inline-block;margin-top:18px}.ed-material-grid{grid-template-columns:1fr;gap:36px}.ed-material-grid picture{aspect-ratio:1.2}.ed-quality-grid{grid-template-columns:1fr;gap:26px}.ed-quality-grid h3{margin-top:15px}.ed-quality-grid small{margin-top:18px}.ed-close>div:last-child{margin-top:32px}.ed-story article{grid-template-columns:1fr;gap:12px;padding:26px 0}.ed-story article h2{font-size:26px}.ed-service-stages article{grid-template-columns:25px 1fr;gap:18px}.ed-service-stages article>div{grid-column:2!important}.ed-service-stages article h2{font-size:24px}.ed-mini-record>div{grid-template-columns:58px 1fr}.vz-progress button{min-width:70px;font-size:11px;padding:10px 5px}.vz-progress button .n{display:block}.ed .hx-heading{padding-top:36px}.ed .hx-heading h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){.ed-material-grid img{transition:none}}
@media(max-width:650px){.vz-progress .vz-prog-btn span:not(.n){display:block;line-height:1.4;margin-top:5px}.vz-sub-links{gap:14px}.vz-byline{display:none}}

/* Heritage as a quiet signature, subordinate to the wordmark and promise. */
.ed .ed-provenance{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:0 0 26px;line-height:1.6}
.ed-provenance>span:first-child{font-size:14px;letter-spacing:.04em;white-space:nowrap}
.ed-provenance>span:last-child{font-size:10px;letter-spacing:.09em;color:#666;border-left:1px solid #ccc;padding-left:18px}
.brand .brand-since{text-transform:none}
@media(max-width:650px){.ed .ed-provenance{gap:8px 12px}.ed-provenance>span:last-child{font-size:9px;padding-left:12px;letter-spacing:.025em}}
/* Canton Fair invitation: a compact editorial notice within the monochrome VI. */
.fair-announcement{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid #d6d6d6}
.fair-announcement>div:first-child{display:flex;align-items:center;gap:24px}.fair-eyebrow{font-size:10px!important;letter-spacing:.14em;color:#666;line-height:1.6}
.fair-announcement p{font-size:14px;margin:0;line-height:1.5}.fair-announcement small{display:block;font-size:11px;color:#666;margin-top:4px}.fair-announcement-place{display:flex;align-items:center;gap:22px;font-size:12px}.fair-announcement-place strong{font-size:15px;font-weight:500;white-space:nowrap}.fair-announcement a{font-size:11px;white-space:nowrap;text-underline-offset:5px}
.fair-visit{display:grid;grid-template-columns:1fr auto;gap:48px;border-top:1px solid #d6d6d6;border-bottom:1px solid #d6d6d6;padding-top:34px;padding-bottom:34px;margin-bottom:48px;scroll-margin-top:100px}
.fair-visit h2{font-size:clamp(23px,2.2vw,32px);line-height:1.4;letter-spacing:-.02em;margin:12px 0 18px;font-family:var(--sans)}.fair-visit p{font-size:14px;line-height:1.7;margin:8px 0}.fair-visit .fair-venue{font-size:12px;color:#666}.fair-visit .hx-link{font-size:11px;margin-top:12px}.fair-booth{align-self:center;border-left:1px solid #d6d6d6;padding-left:42px;min-width:220px}.fair-booth>span{font-size:11px;color:#666;letter-spacing:.12em}.fair-booth strong{display:block;font-size:clamp(36px,4vw,56px);font-weight:500;letter-spacing:-.04em;line-height:1.3;margin:10px 0}.fair-booth p{font-size:12px}
@media(max-width:800px){.fair-announcement{align-items:start;flex-direction:column;gap:14px}.fair-announcement>div:first-child{gap:18px}.fair-announcement-place{flex-wrap:wrap;gap:12px 20px}.fair-visit{grid-template-columns:1fr;gap:24px}.fair-booth{border-left:0;border-top:1px solid #d6d6d6;padding:22px 0 0;min-width:0}.fair-booth strong{font-size:42px}}
