/* Editorial layouts: content-selected compositions, native vertical scrolling. */
.article-video{width:min(960px,calc(100% - 48px));margin:64px auto;background:#e9e5d7;border-top:2px solid #a89764;padding:clamp(20px,4vw,42px)}
.article-video-heading .eyebrow{color:#52624f;font-size:10px;letter-spacing:.14em}
.editorial-body .article-video h2{font-family:var(--serif);font-size:clamp(30px,3vw,40px);margin:12px 0 24px;line-height:1.12}
.article-video-stage{position:relative;width:100%;min-width:0;aspect-ratio:16/9;min-height:200px;background:#102c24;overflow:hidden}
.article-video-launch{display:block;position:absolute;inset:0;color:#f5f1e5}
.article-video-stage img{width:100%;height:100%;object-fit:cover;display:block;opacity:.82;filter:none}
.article-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;padding:13px 21px;background:#173b31;color:#f5f1e5;white-space:nowrap;border:1px solid #c3b681;font-size:12px;letter-spacing:.04em}
.article-video-play svg{width:23px;height:23px;fill:currentColor}
.article-video-launch:hover .article-video-play{background:#284e3f}
.article-video-launch:focus-visible{outline:3px solid #c3b681;outline-offset:-5px}
.article-video-stage iframe{display:block;width:100%;height:100%;position:absolute;inset:0;border:0}
.article-video figcaption{margin:20px 0 0;color:#52624f;font-size:11px;line-height:1.7}
.editorial-body .article-video figcaption p{font-size:14px;line-height:1.7;margin:0 0 10px}
.article-video figcaption>a{float:right;color:inherit;text-decoration:underline;text-underline-offset:3px;margin-left:12px}
@media(max-width:600px){.article-video{width:calc(100% - 32px);padding:20px 16px;margin-block:44px}.article-video figcaption>a{float:none;display:block;margin:6px 0 0}.article-video-heading .eyebrow{letter-spacing:.08em}}
.editorial-article{--reading:680px;--spread:1120px;--ink:#263e33;--dark:#173b31;--ivory:#f5f1e5}
.editorial-article .article-header{max-width:var(--spread);padding-top:38px;padding-bottom:46px}
.editorial-article .article-header h1{font-size:clamp(52px,7.2vw,98px);font-weight:500;line-height:1.02;letter-spacing:-.025em;max-width:1000px;margin:28px 0 23px}
.editorial-article .article-subtitle{max-width:850px;font-size:clamp(25px,2.6vw,34px);line-height:1.35}
.article-context-box{max-width:850px;margin:24px 0 0;border:1px solid #c8c7b6;background:#e9e5d7;color:var(--ink)}
.article-context-box summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 21px;min-height:56px;cursor:pointer;list-style:none;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:.015em}
.article-context-box summary::-webkit-details-marker{display:none}
.article-context-box summary::marker{content:''}
.article-context-box summary:hover{background:#dfdfce}
.article-context-box summary:focus-visible{outline:2px solid var(--forest);outline-offset:4px}
.article-context-box summary svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5}
.article-context-box[open] summary svg{transform:rotate(180deg)}
.article-context-copy{padding:0 21px 20px;max-width:740px}
.article-context-copy p{font-family:var(--sans);font-size:16px;line-height:1.8;margin:0 0 14px;letter-spacing:normal}
.article-context-copy p:last-child{margin-bottom:0}
.editorial-body{padding-bottom:75px}
.editorial-body>p,.editorial-body>h2,.editorial-body>.further-reading,.editorial-body>.article-commercial,.editorial-body>.article-end,.editorial-body>.demo-note{width:min(var(--reading),calc(100% - 48px));margin-inline:auto}
.editorial-body p{font-size:17px;line-height:1.86;color:var(--ink);margin-bottom:26px}
.editorial-body>p:first-child:not(.demo-note),.editorial-body>.narrative-image:first-child+p,.editorial-body>.layout-image-pair:first-child+p{font-family:var(--serif);font-size:30px;line-height:1.5;color:var(--forest)}
.editorial-body h2{font-size:clamp(34px,3.5vw,46px);line-height:1.13;font-weight:500;letter-spacing:-.015em;margin-top:64px;margin-bottom:25px}
.editorial-body .narrative-image{width:min(var(--spread),calc(100% - 48px));margin:35px auto 46px}
.editorial-body>.narrative-image:first-child,.editorial-body>.layout-image-pair:first-child{margin-top:0}
.editorial-body .narrative-image.portrait{max-width:620px}
.editorial-body .narrative-image img{width:100%;height:auto;display:block;object-fit:contain;filter:none}
.editorial-body .narrative-image figcaption{max-width:none;font-size:12px;line-height:1.65;margin:14px 0 0;color:#57665a}
.editorial-body .narrative-image figcaption span{font-size:11px;margin-top:4px;display:block}
.editorial-block{width:min(var(--spread),calc(100% - 48px));margin:52px auto;min-width:0}
.editorial-block .narrative-image{width:100%;margin:0;max-width:none}
.layout-split{display:grid;grid-template-columns:1.13fr 1fr;gap:clamp(30px,5vw,72px);align-items:center}
.layout-split .editorial-copy{min-width:0}
.layout-split .editorial-copy>p:first-child,.opening-image-copy>p:first-child{font-family:var(--serif);font-size:clamp(26px,2.6vw,35px);line-height:1.4;color:var(--forest)}
.layout-split .editorial-copy p:last-child{margin-bottom:0}
.layout-split.image-left>.narrative-image{grid-column:1;grid-row:1}
.layout-split.image-left>.editorial-copy{grid-column:2;grid-row:1}
.layout-split.image-right>.narrative-image{grid-column:2;grid-row:1}
.layout-split.image-right>.editorial-copy{grid-column:1;grid-row:1}
.layout-image-pair{display:grid;grid-template-columns:.8fr 1.4fr;gap:28px;align-items:center}
.layout-image-pair>.narrative-image{grid-column:auto;grid-row:auto}
.layout-image-pair .narrative-image img{max-height:620px}
.tone-paper{background:#e9e5d7;padding:clamp(26px,5vw,64px)}
.tone-forest{background:var(--dark);padding:clamp(28px,5vw,68px);color:var(--ivory)}
.tone-forest p,.tone-forest h2,.tone-forest .editorial-copy>p:first-child,.tone-forest.opening-image-copy>p:first-child{color:var(--ivory)}
.tone-forest .narrative-image figcaption{color:#e0dfcd}
.tone-forest .narrative-image figcaption span{color:#c7cfbf}
.tone-forest a{color:inherit}
.layout-statement{position:relative;padding-block:56px;margin-block:70px}
.layout-statement p{max-width:800px;font-family:var(--serif);font-size:clamp(30px,3.8vw,49px);font-weight:400;line-height:1.24;margin:0 auto;color:inherit}
.layout-statement:before{content:'';display:block;width:48px;height:1px;background:#b69b68;margin:0 auto 25px}
.layout-panel>*{max-width:var(--reading);margin-inline:auto}
.layout-panel h2:first-child{margin-top:0}
.layout-panel p:last-child{margin-bottom:0}
.editorial-body .further-reading{margin-top:70px;padding-top:18px}
.editorial-body .further-reading h2{font-size:33px;margin-top:22px}
.editorial-body .further-reading ul{padding:0;list-style:none}
.editorial-body .further-reading li{font-size:14px;line-height:1.75;margin-bottom:12px}
.editorial-body .article-end{margin-top:48px}
.editorial-body .demo-note{font-size:11px;color:var(--muted);margin-bottom:30px}
.editorial-body .article-commercial p{font-size:15px}
.article-detail{width:min(var(--spread),calc(100% - 48px));margin:58px auto;padding:30px;border-block:1px solid var(--line)}
.article-detail dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:24px 0 0}
.article-detail dt{font-size:10px;color:var(--muted);margin-bottom:8px}
.article-detail dd{margin:0;font-size:14px;line-height:1.6;color:var(--ink)}
@media(max-width:780px){
 .editorial-article .article-header{width:calc(100% - 40px);padding-block:22px 35px}
 .editorial-body p{font-size:16px;line-height:1.82}
 .editorial-body>p,.editorial-body>h2,.editorial-body>.further-reading,.editorial-body>.article-commercial,.editorial-body>.article-end,.editorial-body>.demo-note{width:calc(100% - 40px)}
 .editorial-block{width:calc(100% - 40px);margin-block:35px}
 .layout-split,.layout-image-pair{display:flex;flex-direction:column;gap:27px;align-items:stretch}
 .layout-split .editorial-copy>p:first-child,.opening-image-copy>p:first-child{font-size:28px;line-height:1.4}
 .editorial-body .narrative-image{width:calc(100% - 40px);margin-block:28px 34px}
 .editorial-block .narrative-image{width:100%;margin:0}
 .layout-image-pair .narrative-image img{max-height:none}
 .layout-image-pair .portrait{max-width:440px;margin-inline:auto}
 .tone-paper,.tone-forest{padding:26px 22px}
 .layout-statement{padding-block:38px}
 .layout-statement p{font-size:31px;line-height:1.3}
 .editorial-body h2{margin-top:44px;font-size:35px}
 .editorial-body .narrative-image figcaption{font-size:11px}
 .editorial-body .further-reading{margin-top:44px}
 .article-detail{width:calc(100% - 40px);padding:22px 0}
 .article-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
}
.article-image-open{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;color:inherit}
.article-image-open:focus-visible{outline:3px solid #b69b68;outline-offset:6px}
.image-enlarge{position:absolute;bottom:12px;right:12px;width:34px;height:34px;border-radius:50%;background:#173b31e6;color:#f7f2e8;display:grid;place-items:center;box-shadow:0 2px 10px #0003}
body.image-viewer-open{overflow:hidden}
.image-viewer{border:0;padding:0;width:min(1440px,calc(100vw - 40px));max-width:none;height:calc(100dvh - 40px);max-height:none;background:#10271f;color:#f6f0e3;overflow:hidden;-webkit-user-select:none;user-select:none}
.image-viewer::backdrop{background:#10271f}
.viewer-shell{height:100%;display:flex;flex-direction:column;padding:18px 24px}
.viewer-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;flex-shrink:0;font-size:14px;letter-spacing:.08em}
.viewer-toolbar>.viewer-close{justify-self:end;grid-column:3}
.viewer-media-toggle{display:flex;border:1px solid #e8e1cc55;border-radius:30px;padding:3px;gap:3px}
.viewer-media-toggle button{border:0;border-radius:24px;min-height:40px;padding:8px 18px;background:transparent;color:#d0d7c8;font-size:13px;white-space:nowrap}
.viewer-media-toggle button[aria-pressed="true"]{background:#e9e5d7;color:#173b31}
.viewer-video{min-width:0;min-height:0;height:100%;width:calc(100% - 136px);max-width:1080px;display:grid;place-items:center}
.viewer-video .article-video-stage{min-height:0;max-height:100%;width:100%}
.viewer-video .article-video-stage img{object-fit:contain}
.viewer-video-link{display:inline-block;font-size:12px;margin-top:8px;text-decoration:underline;text-underline-offset:3px}
.viewer-image[hidden],.viewer-video[hidden],.viewer-media-toggle[hidden],.viewer-video-link[hidden]{display:none}
.viewer-close,.viewer-prev,.viewer-next{width:48px;height:48px;padding:0;display:grid;place-items:center;flex-shrink:0;border:1px solid #e8e1cc55;border-radius:50%;color:#f6f0e3;background:transparent;cursor:pointer;line-height:1}
.image-viewer .ui-icon{width:24px;height:24px;stroke-width:2}.image-enlarge .ui-icon{width:18px;height:18px;stroke-width:2}
.image-viewer button:focus-visible{outline:2px solid #d9be83;outline-offset:4px}
.image-viewer button:disabled{opacity:.25;cursor:default}
.viewer-stage{flex:1;min-height:0;display:flex;gap:20px;align-items:center;justify-content:space-between;padding-block:16px}
.viewer-image{min-width:0;width:calc(100% - 136px);height:100%;object-fit:contain;filter:none;-webkit-user-drag:none}
.viewer-footer{flex-shrink:0;text-align:center;max-height:32%;overflow:auto;font-size:18px;line-height:1.5;-webkit-user-select:text;user-select:text}
.viewer-caption{margin:0 auto 6px;max-width:850px}
.viewer-credit{font-size:14px;color:#d0d7c8;margin:0}
@media(max-width:600px){.image-viewer{width:100vw;height:100dvh}.viewer-shell{padding:12px}.viewer-stage{position:relative;padding:12px 0 58px}.viewer-image,.viewer-video{width:100%}.viewer-prev,.viewer-next{position:absolute;bottom:4px}.viewer-prev{left:calc(50% - 58px)}.viewer-next{right:calc(50% - 58px)}.viewer-footer{font-size:16px;padding-block:12px}.viewer-credit{font-size:13px}.viewer-toolbar{font-size:14px;grid-template-columns:1fr auto;gap:6px 10px}.viewer-toolbar>.viewer-close{grid-column:2;grid-row:1/3;align-self:start}.viewer-media-toggle{grid-column:1;grid-row:1;justify-self:start}.viewer-media-toggle button{padding:7px 14px}.viewer-count{grid-column:1;grid-row:2;font-size:12px}.viewer-media-toggle[hidden]+.viewer-close{grid-row:1}.viewer-toolbar:has(.viewer-media-toggle[hidden]) .viewer-count{grid-row:1}}
