/* Editorial system, shared by all seven case studies.
   Twelve-column outer grid; optical image windows live in media-layout.json.
   No source asset is resampled, stretched or overwritten. */
.editorial-page{--ed-canvas:#fff;--ed-edge:clamp(20px,5vw,96px);--ed-gutter:clamp(20px,2.5vw,40px);--ed-space:clamp(32px,3.5vw,56px);--ed-caption-gap:14px;--ed-ink:#242424;--ed-muted:#737373;background:var(--ed-canvas);color:var(--ed-ink)}
.carm-editorial{--ed-canvas:#f2f2f2}
.bondent-editorial{--ed-canvas:#f1f2f5}
.editorial-page .inner-header{width:calc(100% - 2 * var(--ed-edge));max-width:1440px}
.editorial-page .project-bar{width:calc(100% - 2 * var(--ed-edge));max-width:1440px}
.editorial-page .project-bar h1{font-size:clamp(16px,1.45vw,23px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:18px}
.editorial-page .home-button{flex-shrink:0}
.ed-hero{width:calc(100% - 2 * var(--ed-edge));max-width:1440px;margin:0 auto;padding:110px 0 40px;display:flex;justify-content:center;align-items:center}
.ed-hero .ed-viewport{width:min(100%,calc(var(--media-ratio) * min(72svh,780px)))}
.ed-content{width:calc(100% - 2 * var(--ed-edge));max-width:1440px;margin:auto;padding:24px 0 1px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--ed-gutter)}
.ed-content>*{grid-column:1/-1;min-width:0}
.ed-row,.ed-wide,.ed-gallery-wrap{width:100%;margin:0 0 var(--ed-space)}
.ed-row{display:grid;gap:var(--ed-gutter);min-width:0}
.ed-figure{margin:0;min-width:0;width:100%;display:flex;flex-direction:column}
.ed-image{display:block;width:100%;min-width:0;cursor:zoom-in;color:inherit}
.ed-viewport{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:var(--media-ratio);isolation:isolate;background:var(--ed-canvas)}
.ed-viewport img{display:block;position:absolute;width:var(--source-width);max-width:none;height:auto;left:var(--source-x);top:var(--source-y);margin:0;object-fit:contain}
/* Feather only the original empty margins. No blend/filter is applied to the
   product: white highlights, material colour and fine structure stay intact. */
.ed-soft-margin img{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-left),#000 var(--fade-right),transparent),linear-gradient(to bottom,transparent,#000 var(--fade-top),#000 var(--fade-bottom),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--fade-left),#000 var(--fade-right),transparent),linear-gradient(to bottom,transparent,#000 var(--fade-top),#000 var(--fade-bottom),transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.ed-soft-margin{-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.ed-figure figcaption,.ed-gallery-wrap .gallery-caption{font-size:12px;line-height:1.55;font-weight:400;letter-spacing:.015em;color:var(--ed-muted);margin:var(--ed-caption-gap) 0 0;padding:0;text-align:left;overflow-wrap:anywhere}
/* Ratios set the track widths, subgrid guarantees a common bottom/caption line.
   Smaller images keep their proportions, including when captions wrap. */
.ed-pair{grid-template-columns:var(--columns,1fr 1fr);row-gap:var(--ed-caption-gap);align-items:start}
.ed-pair>.ed-figure{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:var(--ed-caption-gap)}
.ed-pair>.ed-figure>.ed-image{align-self:end}
.ed-pair>.ed-figure>figcaption{margin:0}
.ed-wide{display:flex;justify-content:center}
.ed-wide>.ed-figure{max-width:calc(var(--media-ratio,1.78) * 700px)}
.jusha-editorial .ed-wide:has([data-stage="render"])>.ed-figure{max-width:calc(var(--media-ratio) * 600px)}
/* Related views read as one spread. Geometry is based on the product's body
   length/diameter, with one common ground line in each calibrated group. */
.ed-product-study{grid-column:1/-1}
.ed-care-system{grid-column:2/12;column-gap:clamp(24px,4vw,64px)}
.ed-care-system .ed-figure,.ed-product-study .ed-figure{max-width:none}
/* The 7 / 1 / 4 split is intentionally asymmetrical: an image field, a breathing
   column, and a readable text measure. Reverse modules mirror these anchors. */
.ed-story{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.ed-story>.ed-figure{grid-column:1/8;max-width:calc(var(--media-ratio) * 600px);justify-self:center}
.ed-story>.ed-copy{grid-column:9/13;grid-row:1}
.ed-story.ed-reverse>.ed-figure{grid-column:6/13;grid-row:1}
.ed-story.ed-reverse>.ed-copy{grid-column:1/5}
.ed-copy{min-width:0;padding-top:clamp(16px,3vw,44px)}
.ed-copy>div{max-width:36ch}
.ed-kicker{font-size:10px!important;font-weight:500!important;line-height:1.65!important;letter-spacing:.14em;color:#858585!important;margin:0 0 14px!important}
.ed-copy h2,.ed-chapter h2,.ed-closing h2,.ed-hearing-intro h2{font-size:clamp(23px,2.1vw,32px);line-height:1.45;font-weight:400;letter-spacing:-.025em;margin:0 0 18px;text-wrap:balance}
.ed-copy p,.ed-chapter>p:not(.ed-kicker),.ed-closing>p:not(.ed-kicker),.ed-hearing-intro p:not(.ed-kicker){font-size:16px;line-height:1.85;font-weight:400;color:#636363;margin:0 0 14px;text-wrap:pretty}
.ed-copy p:last-child,.ed-hearing-intro p:last-child{margin-bottom:0}
.ed-chapter,.ed-closing{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--ed-gutter);margin:clamp(20px,3vw,44px) 0 28px}
.ed-chapter .ed-kicker,.ed-closing .ed-kicker{grid-column:1/-1}
.ed-chapter h2,.ed-closing h2{grid-column:1/6;margin-bottom:0}
.ed-chapter>p:not(.ed-kicker),.ed-closing>p:not(.ed-kicker){grid-column:7/12;grid-row:2;max-width:40ch;margin:0}
.ed-hearing-intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--ed-gutter);margin:0 0 var(--ed-space)}
.ed-hearing-intro>div:first-child{grid-column:1/6}
.ed-hearing-intro>div:last-child{grid-column:7/12;max-width:40ch}
/* Supporting records occupy fewer columns, never compete with final renders. */
.ed-wide:has([data-tier="support"]),.ed-gallery-wrap[data-tier="support"],.ed-pair:has(>[data-tier="support"]){grid-column:3/11}
.ed-wide:has([data-tier="support"])>.ed-figure{max-width:calc(var(--media-ratio,1.78) * 460px)}
.ed-gallery-wrap[data-tier="detail"]{grid-column:3/11}
.ed-content>.ed-jusha-physical,.ed-content>.ed-jusha-prototypes{grid-column:4/10}
.tri_go-editorial .ed-pair:has(>[data-stage="prototype"]){grid-column:4/10;max-width:520px;justify-self:center}
.ed-carm-records{grid-column:3/11}
.ed-carm-exhibition{grid-column:3/11}
.ed-story:has([data-tier="support"]){grid-column:2/12}
.ed-story:has([data-tier="support"])>.ed-figure{max-width:calc(var(--media-ratio) * 390px)}
.ed-story:has([data-tier="support"])>.ed-copy{padding-top:20px}
.ed-story:has([data-tier="support"]) h2{font-size:25px}
.ed-story:has([data-tier="support"]) p:not(.ed-kicker){font-size:15px}
.ed-jusha-portrait>.ed-figure{max-width:calc(var(--media-ratio) * 460px)}
.ed-story.ed-competitor-fitting:has([data-tier="support"])>.ed-figure{max-width:calc(var(--media-ratio) * 280px)}
.ed-story.ed-small-source:has([data-tier="support"])>.ed-figure{max-width:calc(var(--media-ratio) * 300px)}
.ed-competitor-fitting,.ed-small-source{align-items:center}
.ed-competitor-fitting>.ed-copy,.ed-small-source>.ed-copy{padding-top:0!important}
.ed-sketch{grid-column:4/10;justify-self:start;max-width:440px}
.ed-sketch .ed-image svg{display:block;width:100%;height:auto;aspect-ratio:395/490}
.ed-hearing-research{grid-column:2/12;margin:0 0 var(--ed-space)}
.ed-hearing-research header{display:grid;grid-template-columns:1fr 1fr;gap:var(--ed-gutter);align-items:baseline;margin-bottom:20px}
.ed-hearing-research h3{font-size:19px;line-height:1.5;font-weight:400;margin:0}
.ed-hearing-research header p{font-size:13px;line-height:1.7;color:var(--ed-muted);margin:0}
.ed-hearing-research-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:20px;row-gap:var(--ed-caption-gap)}
.ed-hearing-research-grid>.ed-figure{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:var(--ed-caption-gap)}
.ed-hearing-research-grid figcaption{margin:0}
.hearing_care-editorial [data-stage="initial_structure"] img,.hearing_care-editorial [data-stage="competitor_research"] img,.hearing_care-editorial [data-stage="competitor_fitting"] img{filter:grayscale(1)}
/* Galleries retain all original slides and native keyboard/swipe controls. */
.ed-gallery{margin:0;width:100%;background:transparent}
.ed-gallery .gallery-track{align-items:flex-start;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.ed-gallery .gallery-slide{display:block;flex:0 0 100%;width:100%;height:auto;max-height:none;aspect-ratio:var(--gallery-ratio);object-fit:contain;object-position:center bottom;background:transparent;padding:0}
.ed-gallery .gallery-arrow{width:36px;height:36px;background:#ffffffdc;color:#4d4d4d;font-size:24px;box-shadow:none}
.ed-gallery .gallery-arrow.prev{left:12px}
.ed-gallery .gallery-arrow.next{right:12px}
.ed-gallery .gallery-controls{bottom:8px;padding:8px 10px;background:#ffffffdb;gap:9px;border:0}
.ed-gallery-wrap .gallery-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.ed-gallery-wrap .gallery-caption-tools{display:flex;gap:20px;flex-shrink:0;width:auto}
.ed-gallery-wrap .gallery-caption-tools a{text-decoration:underline;text-underline-offset:3px}
.ed-award{display:flex;align-items:center;gap:28px;margin:0 0 var(--ed-space)}
.ed-award img{width:148px;height:auto}
.ed-award p{font-size:13px;color:var(--ed-muted);letter-spacing:.05em}
.ed-closing{margin-bottom:40px}
.ed-details{margin:16px 0 48px;border-top:1px solid #dedede;border-bottom:1px solid #dedede}
.ed-details summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;padding:22px 0;font-size:14px;color:#626262}
.ed-details summary::-webkit-details-marker{display:none}
.ed-details summary>span{font-size:20px;transition:transform .25s ease}
.ed-details[open] summary>span{transform:rotate(45deg)}
.ed-details dl{margin:14px 0 36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px var(--ed-gutter)}
.ed-details dl>div{max-width:54ch}
.ed-details dt{font-size:12px;color:var(--ed-muted);margin-bottom:10px}
.ed-details dd{margin:0;font-size:14px;line-height:1.85;color:#636363}
.ed-documents{display:grid;gap:28px;margin:28px 0}
.ed-source-link{margin:0 0 28px;font-size:13px;color:#636363}
.ed-source-link a{text-decoration:underline;text-underline-offset:4px}
.editorial-page .next-project{width:100%;max-width:none;margin:0;padding:24px 0;border-top:1px solid #dedede}
.editorial-page .next-project strong{font-size:clamp(19px,2vw,26px)}
.editorial-page .site-footer{padding-top:80px;background:var(--ed-canvas)}
.ed-image:focus-visible,.ed-gallery:focus-visible{outline:2px solid #656565;outline-offset:5px}
@media(max-width:1024px){
 .editorial-page{--ed-edge:32px;--ed-gutter:24px;--ed-space:36px}
 .ed-story>.ed-figure{grid-column:1/8}
 .ed-story>.ed-copy{grid-column:8/13}
 .ed-story.ed-reverse>.ed-figure{grid-column:6/13}
 .ed-story.ed-reverse>.ed-copy{grid-column:1/6}
 .ed-copy{padding-top:16px}
 .ed-copy p{font-size:15px}
 .ed-copy h2{font-size:24px}
 .ed-chapter>p:not(.ed-kicker),.ed-closing>p:not(.ed-kicker),.ed-hearing-intro>div:last-child{grid-column:7/13}
 .ed-story:has([data-tier="support"]),.ed-hearing-research{grid-column:1/-1}
 .ed-wide:has([data-tier="support"]),.ed-gallery-wrap[data-tier="support"],.ed-gallery-wrap[data-tier="detail"],.ed-pair:has(>[data-tier="support"]),.ed-carm-exhibition{grid-column:2/12}
 .ed-content>.ed-jusha-physical,.ed-content>.ed-jusha-prototypes{grid-column:3/11}
 .ed-hearing-research-grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:16px}
 .ed-hearing-research header{grid-template-columns:1fr;gap:8px}
 .ed-hero{padding-top:100px}
}
@media(max-width:700px){
 .editorial-page{--ed-edge:20px;--ed-gutter:16px;--ed-space:32px;--ed-caption-gap:12px}
 .ed-content{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:16px}
 .ed-content>*{grid-column:1/-1!important}
 .ed-hero{padding:80px 0 28px}
 .ed-hero .ed-viewport{width:min(100%,calc(var(--media-ratio) * 66svh))}
 .ed-story{display:flex;flex-direction:column;gap:22px}
 .ed-story>.ed-figure,.ed-story.ed-reverse>.ed-figure{order:0;align-self:center;max-width:calc(var(--media-ratio) * 500px)}
 .ed-story>.ed-copy,.ed-story.ed-reverse>.ed-copy{order:1;padding:0;width:100%}
 .ed-copy>div{max-width:40ch}
 .ed-story:has([data-tier="support"])>.ed-figure{max-width:calc(var(--media-ratio) * 310px)}
 .ed-competitor-fitting>.ed-figure{max-width:calc(var(--media-ratio) * 240px)!important}
 .ed-small-source>.ed-figure{max-width:calc(var(--media-ratio) * 240px)!important}
 .ed-jusha-portrait>.ed-figure{max-width:calc(var(--media-ratio) * 350px)}
 .ed-copy h2,.ed-chapter h2,.ed-closing h2,.ed-hearing-intro h2,.ed-story:has([data-tier="support"]) h2{font-size:24px;margin-bottom:14px}
 .ed-copy p,.ed-chapter>p:not(.ed-kicker),.ed-closing>p:not(.ed-kicker),.ed-hearing-intro p:not(.ed-kicker){font-size:15px;line-height:1.85}
 .ed-kicker{font-size:9px!important;margin-bottom:12px!important}
 .ed-chapter,.ed-closing,.ed-hearing-intro{display:block;margin-top:18px;margin-bottom:24px}
 .ed-chapter>p:not(.ed-kicker),.ed-closing>p:not(.ed-kicker){max-width:40ch}
 .ed-hearing-intro{margin-top:0}
 .ed-hearing-intro>div:last-child{margin-top:20px}
 .ed-wide>.ed-figure{max-width:calc(var(--media-ratio,1.78) * 500px)}
 .ed-pair{grid-template-columns:minmax(0,1fr);row-gap:24px}
 .ed-pair>.ed-figure{display:flex;grid-row:auto;gap:0}
 .ed-pair>.ed-figure>figcaption{margin-top:var(--ed-caption-gap)}
 .ed-pair:has(>[data-stage="prototype"]),.ed-jusha-physical,.ed-jusha-prototypes,.ed-carm-records,.ed-carm-exhibition{grid-template-columns:var(--columns);row-gap:var(--ed-caption-gap)}
 .ed-pair:has(>[data-stage="prototype"])>.ed-figure,.ed-jusha-physical>.ed-figure,.ed-jusha-prototypes>.ed-figure,.ed-carm-records>.ed-figure,.ed-carm-exhibition>.ed-figure{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:var(--ed-caption-gap)}
 .ed-pair:has(>[data-stage="prototype"])>.ed-figure>figcaption,.ed-jusha-physical>.ed-figure>figcaption,.ed-jusha-prototypes>.ed-figure>figcaption,.ed-carm-records>.ed-figure>figcaption,.ed-carm-exhibition>.ed-figure>figcaption{margin-top:0}
 .tri_go-editorial .ed-pair:has(>[data-stage="prototype"]){max-width:360px}
 .ed-hearing-research-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
 .ed-hearing-research-grid .ed-figure{margin-bottom:12px}
 .ed-hearing-research h3{font-size:18px}
 .ed-figure figcaption,.ed-gallery-wrap .gallery-caption{font-size:11px}
 .ed-sketch{max-width:280px;justify-self:center}
 .ed-gallery .gallery-arrow{width:30px;height:30px;font-size:21px}
 .ed-gallery .gallery-arrow.prev{left:6px}
 .ed-gallery .gallery-arrow.next{right:6px}
 .ed-gallery .gallery-controls{bottom:4px;padding:6px 8px;gap:8px}
 .ed-gallery-wrap .gallery-caption{flex-direction:column;gap:10px}
 .ed-gallery-wrap .gallery-caption-tools{width:100%;justify-content:space-between}
 .ed-award{gap:20px}
 .ed-award img{width:124px}
 .ed-award p{font-size:12px}
 .ed-details{margin:8px 0 32px}
 .ed-details dl{grid-template-columns:1fr;gap:24px}
 .ed-details dd{font-size:13px}
 .editorial-page .next-project strong{font-size:19px}
 .editorial-page .site-footer{padding-top:56px}
}
@media(prefers-reduced-motion:reduce){.ed-gallery .gallery-track,.ed-details summary>span{transition:none}}
