/* SHEFRONT ARTICLE V9 — ISOLATED SMART STORY DESIGN */
.sf9-article{background:#fffaf7;color:#2d222a;overflow:hidden}
.sf9-article *{box-sizing:border-box}
.sf9-article a{color:inherit}
.sf9-head{padding:26px 0 22px;background:linear-gradient(180deg,#fffaf7,#fbf4f1)}
.sf9-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:13px;border-bottom:1px solid #e6dce2;font:700 9px/1.2 "DM Sans",sans-serif;color:#857981}
.sf9-breadcrumb>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sf9-breadcrumb a:hover{color:#d84c61}.sf9-breadcrumb i{width:3px;height:3px;border-radius:50%;background:#b5a8b0}
.sf9-title-grid{display:grid;grid-template-columns:125px minmax(0,1fr);gap:27px;padding:27px 0 22px;align-items:start}
.sf9-section-stamp{padding-top:9px}
.sf9-section-stamp span{display:block;font:900 9px/1.3 "DM Sans";text-transform:uppercase;letter-spacing:.12em;color:#d84c61}
.sf9-section-stamp small{display:block;font:700 8px/1 "DM Sans";text-transform:uppercase;letter-spacing:.1em;color:#9a8d95;margin-top:6px}
.sf9-title h1{font-family:var(--serif);font-size:clamp(52px,6.2vw,88px);line-height:.89;letter-spacing:-.052em;color:#38263c;margin:0;max-width:1120px}
.sf9-title>p{font:500 17px/1.5 "DM Sans";color:#675c64;max-width:850px;margin:18px 0 0}
.sf9-author-actions{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:16px;border-top:1px solid #e6dce2}
.sf9-author-mini{display:flex;align-items:center;gap:10px;min-width:0}
.sf9-author-mini>img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.sf9-author-mini>span{display:grid;gap:1px;min-width:0}
.sf9-author-mini small{font:700 7px/1 "DM Sans";text-transform:uppercase;letter-spacing:.09em;color:#968a92}
.sf9-author-mini strong{font:800 11px/1.3 "DM Sans";color:#40343c}
.sf9-author-mini em{font:500 8.5px/1.3 "DM Sans";font-style:normal;color:#857a81;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.sf9-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.sf9-date{font:700 8.5px/1 "DM Sans";color:#8a7e86;margin-right:6px}
.sf9-actions form{display:inline-flex;margin:0}
.sf9-action-btn{border:1px solid #ded3da;background:#fff;color:#544952;border-radius:999px;padding:8px 11px;display:inline-flex;align-items:center;gap:5px;font:800 9px/1 "DM Sans";cursor:pointer;text-decoration:none}
.sf9-action-btn:hover,.sf9-action-btn.active{background:#eee3ef;border-color:#d8c8d4;color:#49314f}
.sf9-action-btn>span{font-size:12px}.sf9-share{position:relative}

.sf9-visual{padding:0 0 22px}
.sf9-visual figure{margin:0}
.sf9-cover{aspect-ratio:16/8.6;max-height:680px;border-radius:17px;overflow:hidden;background:#eee}
.sf9-cover img{width:100%;height:100%;object-fit:cover}
.sf9-visual figcaption{padding:8px 2px 0;font:500 8.5px/1.45 "DM Sans";color:#8a7f86}

.sf9-read{padding:35px 0 50px}
.sf9-read-grid{display:grid;grid-template-columns:160px minmax(0,720px) 220px;gap:36px;justify-content:center;align-items:start}
.sf9-left-rail,.sf9-right-rail{position:sticky;top:78px}
.sf9-rail-card{border-top:2px solid #49314f;padding-top:10px;display:grid}
.sf9-rail-card>span{font:900 8px/1 "DM Sans";text-transform:uppercase;letter-spacing:.1em;color:#49314f;margin-bottom:5px}
.sf9-rail-card a{padding:7px 0;border-bottom:1px solid #e5dbe1;font:700 9px/1.3 "DM Sans";color:#756a71}
.sf9-rail-card a:hover{color:#d84c61}
.sf9-standard{margin-top:17px;padding:13px;background:#f1e7ed;border-radius:10px}
.sf9-standard small,.sf9-context small{font:900 7px/1 "DM Sans";text-transform:uppercase;letter-spacing:.09em;color:#d84c61}
.sf9-standard p{font:500 9px/1.45 "DM Sans";color:#6c6168;margin:6px 0 0}

.sf9-body{min-width:0;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.82;color:#332b30}
.sf9-body>p{margin:0 0 24px}
.sf9-body .story-intro{font-size:22px;line-height:1.68;color:#44363f}
.sf9-body .story-intro:first-letter{float:left;font-family:var(--serif);font-size:74px;line-height:.7;padding:9px 8px 0 0;color:#49314f}
.sf9-body h2{font-family:var(--serif);font-size:39px;line-height:1;letter-spacing:-.035em;color:#3a263d;margin:45px 0 16px}
.sf9-body h3{font-family:var(--serif);font-size:27px;line-height:1.05;color:#3a263d;margin:34px 0 13px}
.sf9-body blockquote{position:relative;margin:35px -25px;padding:25px 29px 24px 58px;background:#f2e6ed;border-radius:13px;border-left:4px solid #d84c61}
.sf9-body blockquote>span{position:absolute;left:22px;top:19px;font-family:Georgia,serif;font-size:52px;line-height:1;color:#d84c61}
.sf9-body blockquote p{font-family:var(--serif);font-size:27px;line-height:1.22;color:#49314f;margin:0}
.sf9-body a{text-decoration:underline;text-decoration-color:#d7c8d2;text-underline-offset:3px}
.sf9-body a:hover{color:#d84c61}

.sf9-context{padding:17px;background:#49314f;color:#fff;border-radius:12px}
.sf9-context h3{font-family:var(--serif);font-size:23px;line-height:1.04;margin:7px 0 9px;color:#fff}
.sf9-context p{font:500 9.5px/1.45 "DM Sans";color:#d9cbd8;margin:0}
.sf9-rail-related{margin-top:18px;border-top:2px solid #d84c61;padding-top:10px}
.sf9-rail-related>span{font:900 8px/1 "DM Sans";text-transform:uppercase;letter-spacing:.09em;color:#49314f}
.sf9-rail-related>a{display:grid;grid-template-columns:72px 1fr;gap:9px;padding:11px 0;border-bottom:1px solid #e5dbe1}
.sf9-rail-related img{width:72px;height:63px;object-fit:cover;border-radius:7px}
.sf9-rail-related small{display:block;font:800 7px/1 "DM Sans";text-transform:uppercase;color:#d84c61;margin-bottom:4px}
.sf9-rail-related strong{display:block;font-family:var(--serif);font-size:15px;line-height:1.04;color:#49314f}

.sf9-sources{margin-top:45px;padding-top:15px;border-top:2px solid #49314f;font-family:"DM Sans",sans-serif}
.sf9-block-label{font:900 9px/1 "DM Sans";text-transform:uppercase;letter-spacing:.1em;color:#49314f;margin-bottom:7px}
.sf9-source-row{display:grid;grid-template-columns:27px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid #e5dbe1;font-size:10px;line-height:1.45}
.sf9-source-row>span{font-size:8px;font-weight:900;color:#d84c61}
.sf9-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:26px;font-family:"DM Sans",sans-serif}
.sf9-tags>span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:#8c8088;margin-right:3px}
.sf9-tags a{padding:6px 9px;border-radius:999px;background:#f0e6ec;text-decoration:none;font:800 8px/1 "DM Sans";color:#49314f}

.sf9-ad{padding:0 0 40px}
.sf9-ad .cms-ad{margin-top:0;margin-bottom:0}

.sf9-author{padding:44px 0;background:#f3e9ee}
.sf9-author-card{display:grid;grid-template-columns:150px 1fr;gap:25px;align-items:center;max-width:890px;margin:auto}
.sf9-author-card>img{width:150px;height:150px;border-radius:50%;object-fit:cover}
.sf9-author-copy>small{font:900 8px/1 "DM Sans";text-transform:uppercase;letter-spacing:.1em;color:#d84c61}
.sf9-author-copy h2{font-family:var(--serif);font-size:43px;line-height:.95;letter-spacing:-.035em;color:#3a263d;margin:6px 0 10px}
.sf9-author-copy p{font:500 11px/1.55 "DM Sans";color:#6f626a;margin:0 0 14px;max-width:650px}
.sf9-author-copy>div{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sf9-author-copy form{display:inline-flex;margin:0}

.sf9-related{padding:50px 0;background:#fffaf7}
.sf9-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:20px}
.sf9-section-head>div>span{font:900 8px/1 "DM Sans";text-transform:uppercase;letter-spacing:.1em;color:#d84c61}
.sf9-section-head h2{font-family:var(--serif);font-size:44px;line-height:.94;letter-spacing:-.038em;color:#3a263d;margin:6px 0 0}
.sf9-section-head>a{font:900 9px/1 "DM Sans";color:#49314f;border-bottom:1px solid #b8aab4;padding-bottom:3px}
.sf9-section-head>small{font:700 8px/1 "DM Sans";color:#8a7d85}
.sf9-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sf9-related-card img{aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin-bottom:10px}
.sf9-related-cat{font:900 8px/1 "DM Sans";text-transform:uppercase;letter-spacing:.09em;color:#d84c61}
.sf9-related-card h3{font-family:var(--serif);font-size:24px;line-height:1;letter-spacing:-.025em;color:#3a263d;margin:5px 0 7px}
.sf9-related-card>span{font:700 8px/1 "DM Sans";color:#867981}

.sf9-comments{padding:48px 0 60px;background:#fbf5f2}
.sf9-comments-inner{max-width:850px;margin:auto}
.sf9-comment-box{padding:16px;background:#fff;border:1px solid #e1d6dd;border-radius:13px}
.sf9-comment-box textarea{width:100%;min-height:110px;border:0;resize:vertical;font:500 11px/1.5 "DM Sans";outline:none}
.sf9-comment-box>div{display:flex;justify-content:flex-end;padding-top:10px;border-top:1px solid #eee5ea}
.sf9-signin{font:500 11px/1.5 "DM Sans";color:#776b73}.sf9-signin a{font-weight:800;color:#49314f}
.sf9-comment-list{margin-top:18px}
.sf9-comment{display:grid;grid-template-columns:42px 1fr;gap:11px;padding:15px 0;border-bottom:1px solid #e4d9df}
.sf9-comment>img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.sf9-comment strong{font:800 10px/1 "DM Sans";color:#49314f}
.sf9-comment p{font:500 10.5px/1.5 "DM Sans";color:#62575e;margin:5px 0}
.sf9-comment span{font:700 7px/1 "DM Sans";color:#9a8e95}

@media(max-width:1050px){
  .sf9-read-grid{grid-template-columns:135px minmax(0,690px);gap:28px}
  .sf9-right-rail{display:none}
}
@media(max-width:800px){
  .sf9-title-grid{grid-template-columns:1fr;gap:8px}
  .sf9-section-stamp{display:flex;gap:7px;align-items:center;padding-top:0}
  .sf9-section-stamp small{margin:0}
  .sf9-author-actions{align-items:flex-start;flex-direction:column}
  .sf9-actions{justify-content:flex-start}
  .sf9-read-grid{grid-template-columns:1fr}
  .sf9-left-rail{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .sf9-rail-card{display:none}
  .sf9-standard{margin:0}
  .sf9-cover{aspect-ratio:16/10}
  .sf9-author-card{grid-template-columns:120px 1fr}
  .sf9-author-card>img{width:120px;height:120px}
}
@media(max-width:620px){
  .sf9-head{padding-top:17px}
  .sf9-breadcrumb{font-size:8px;align-items:flex-start}
  .sf9-breadcrumb>div:last-child{display:none}
  .sf9-title-grid{padding:20px 0 17px}
  .sf9-title h1{font-size:39px;line-height:.92}
  .sf9-title>p{font-size:13px;line-height:1.45;margin-top:12px}
  .sf9-author-actions{padding-top:13px;gap:13px}
  .sf9-author-mini>img{width:43px;height:43px}
  .sf9-author-mini em{max-width:210px}
  .sf9-actions{gap:6px}
  .sf9-date{width:100%;margin:0 0 2px}
  .sf9-action-btn{padding:8px 9px}
  .sf9-cover{aspect-ratio:4/3;border-radius:11px}
  .sf9-read{padding:25px 0 37px}
  .sf9-left-rail{display:none}
  .sf9-body{font-size:17px;line-height:1.75}
  .sf9-body .story-intro{font-size:19px}
  .sf9-body .story-intro:first-letter{font-size:60px}
  .sf9-body h2{font-size:31px;margin-top:36px}
  .sf9-body h3{font-size:24px}
  .sf9-body blockquote{margin:28px 0;padding:21px 20px 20px 46px}
  .sf9-body blockquote>span{left:15px;top:16px;font-size:43px}
  .sf9-body blockquote p{font-size:23px}
  .sf9-author{padding:34px 0}
  .sf9-author-card{grid-template-columns:82px 1fr;gap:14px;align-items:start}
  .sf9-author-card>img{width:82px;height:82px}
  .sf9-author-copy h2{font-size:31px}
  .sf9-author-copy p{font-size:10px}
  .sf9-related,.sf9-comments{padding:39px 0}
  .sf9-section-head{display:block;margin-bottom:16px}
  .sf9-section-head h2{font-size:34px}
  .sf9-section-head>a,.sf9-section-head>small{display:inline-block;margin-top:8px}
  .sf9-related-grid{display:block}
  .sf9-related-card{display:grid;grid-template-columns:105px 1fr;grid-template-areas:"img cat" "img title" "img author";gap:0 10px;padding:11px 0;border-top:1px solid #e4d9df}
  .sf9-related-card img{grid-area:img;width:105px;height:88px;aspect-ratio:auto;margin:0;border-radius:8px}
  .sf9-related-cat{grid-area:cat;align-self:end}
  .sf9-related-card h3{grid-area:title;font-size:19px;margin:3px 0 5px}
  .sf9-related-card>span{grid-area:author}
}


/* V36.3 — Related Story overlap / long-title containment */
.sf9-read-grid,.sf9-body,.sf9-left-rail,.sf9-right-rail,.sf9-related-grid,.sf9-related-card{min-width:0}
.sf9-rail-related>a{grid-template-columns:72px minmax(0,1fr);min-width:0}
.sf9-rail-related>a>div{min-width:0}
.sf9-rail-related strong{max-width:100%;overflow-wrap:anywhere;word-break:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.sf9-related{overflow:hidden}
.sf9-related-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.sf9-related-card{display:grid;grid-template-rows:auto auto auto auto;align-content:start;text-decoration:none;overflow:hidden}
.sf9-related-card img{display:block;width:100%!important;height:auto!important;max-width:100%;aspect-ratio:16/10;object-fit:cover}
.sf9-related-card h3{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal;line-height:1.08;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
@media(max-width:1050px){.sf9-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.sf9-related-grid{display:grid;grid-template-columns:1fr}.sf9-related-card{grid-template-columns:105px minmax(0,1fr);grid-template-areas:"img cat" "img title" "img author"}.sf9-related-card img{width:105px!important;height:88px!important}}

.sf9-related-grid.sf9-related-count-1{grid-template-columns:minmax(0,520px);max-width:520px}
.sf9-related-grid.sf9-related-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.sf9-related-grid.sf9-related-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.sf9-related-grid.sf9-related-count-1,.sf9-related-grid.sf9-related-count-2,.sf9-related-grid.sf9-related-count-3{grid-template-columns:1fr;max-width:none}}


/* ==========================================================================
   SHEFRONT V36.20 — 9 DISTINCT PUBLIC STORY PRESENTATIONS
   Existing Article V9 structure is retained; format classes only change the
   editorial presentation layer. No content/schema assumptions are introduced.
   ========================================================================== */
.sf20-story .sf20-format-ribbon{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin:18px 0 0;font-family:"DM Sans",sans-serif
}
.sf20-format-ribbon span{
  display:inline-flex;align-items:center;min-height:28px;padding:0 10px;
  border-radius:999px;background:#49314f;color:#fff;
  font-size:9px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.10em
}
.sf20-format-ribbon strong{
  font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.10em;color:#49314f
}
.sf20-format-ribbon em{
  font-style:normal;font-size:9px;font-weight:700;color:#8a7d85
}
.sf20-story .sf9-title-grid{position:relative}
.sf20-story .sf9-body{transition:max-width .2s ease}
.sf20-story .sf9-cover{position:relative}
.sf20-story .sf9-context{transition:background .2s ease,border-color .2s ease}

/* 01 — NEWS: compact, source-forward newsroom treatment */
.sf20-format-news{background:#fff}
.sf20-format-news .sf9-head{background:#fff;border-top:5px solid #e95064}
.sf20-format-news .sf20-format-ribbon span{background:#e95064}
.sf20-format-news .sf9-title h1{
  font-family:"DM Sans",sans-serif;font-weight:800;
  font-size:clamp(46px,5vw,72px);line-height:.96;letter-spacing:-.048em;color:#251d22
}
.sf20-format-news .sf9-title-grid{grid-template-columns:110px minmax(0,1fr)}
.sf20-format-news .sf9-title>p{max-width:900px;font-size:16px}
.sf20-format-news .sf9-cover{border-radius:8px;aspect-ratio:16/8.7}
.sf20-format-news .sf9-read{padding-top:28px}
.sf20-format-news .sf9-body h2{font-family:"DM Sans",sans-serif;font-size:34px;line-height:1.06}
.sf20-format-news .sf9-sources{border-top:4px solid #e95064;background:#fff8f9;padding:16px 16px 4px;border-radius:4px}
.sf20-format-news .sf9-context{background:#fff;border:1px solid #eadde4;color:#342a30;border-top:4px solid #e95064}
.sf20-format-news .sf9-context h3{color:#342a30}
.sf20-format-news .sf9-context p{color:#72676e}

/* 02 — ARTICLE: classic SheFront editorial read */
.sf20-format-article .sf20-format-ribbon span{background:#49314f}
.sf20-format-article .sf9-title h1{max-width:1100px}
.sf20-format-article .sf9-context{box-shadow:0 12px 30px rgba(73,49,79,.10)}

/* 03 — FEATURE: immersive, narrative, visual-first longform */
.sf20-format-feature{background:#fff8f1}
.sf20-format-feature .sf9-head{background:linear-gradient(180deg,#fff3e8,#fff8f1)}
.sf20-format-feature .sf20-format-ribbon{justify-content:center}
.sf20-format-feature .sf20-format-ribbon span{background:#a75e24}
.sf20-format-feature .sf20-format-ribbon strong{color:#8b4f21}
.sf20-format-feature .sf9-title-grid{display:block;text-align:center;padding:22px 0 26px}
.sf20-format-feature .sf9-section-stamp{display:flex;justify-content:center;gap:8px;padding:0 0 12px}
.sf20-format-feature .sf9-section-stamp small{margin:0}
.sf20-format-feature .sf9-title h1{
  max-width:1120px;margin:auto;font-size:clamp(58px,7.2vw,100px);line-height:.90;letter-spacing:-.055em
}
.sf20-format-feature .sf9-title>p{max-width:820px;margin:22px auto 0;font-size:18px;line-height:1.6}
.sf20-format-feature .sf9-cover{border-radius:28px;aspect-ratio:16/9;box-shadow:0 24px 70px rgba(80,47,24,.12)}
.sf20-format-feature .sf9-read-grid{grid-template-columns:155px minmax(0,800px);gap:42px}
.sf20-format-feature .sf9-right-rail{display:none}
.sf20-format-feature .sf9-body{font-size:19px;line-height:1.9}
.sf20-format-feature .sf9-body blockquote{margin-left:-45px;margin-right:-45px;background:#fff0df}
.sf20-format-feature .sf9-author{background:#f7e9dc}

/* 04 — OPINION: author-forward commentary with a distinct editorial voice */
.sf20-format-opinion{background:#fbf6fc}
.sf20-format-opinion .sf9-head{background:linear-gradient(180deg,#f2e8f6,#fbf6fc)}
.sf20-format-opinion .sf20-format-ribbon span{background:#7442a0}
.sf20-format-opinion .sf20-format-ribbon strong{color:#7442a0}
.sf20-format-opinion .sf9-title h1{
  font-family:"Playfair Display",Georgia,serif;font-style:italic;
  font-size:clamp(52px,6.2vw,88px);line-height:.94;color:#4c2f5d
}
.sf20-format-opinion .sf9-title-grid:after{
  content:"“";position:absolute;right:0;top:-32px;
  font:700 160px/.8 Georgia,serif;color:rgba(116,66,160,.08);pointer-events:none
}
.sf20-format-opinion .sf9-author-mini{padding:10px 14px;border-radius:14px;background:#fff;border:1px solid #e7d9ec}
.sf20-format-opinion .sf9-cover{aspect-ratio:16/7.8;border-radius:18px}
.sf20-format-opinion .sf9-body{font-size:19px}
.sf20-format-opinion .sf9-body .story-intro{font-style:italic;color:#553d5c}
.sf20-format-opinion .sf9-context{background:#6c3f7c}
.sf20-format-opinion .sf9-author{background:#f1e6f4}

/* 05 — INTERVIEW: conversational, person-first, cool editorial treatment */
.sf20-format-interview{background:#f8fbfd}
.sf20-format-interview .sf9-head{background:linear-gradient(180deg,#eaf5fc,#f8fbfd)}
.sf20-format-interview .sf20-format-ribbon span{background:#27638f}
.sf20-format-interview .sf20-format-ribbon strong{color:#27638f}
.sf20-format-interview .sf9-title h1{font-size:clamp(52px,6vw,84px);color:#203b50}
.sf20-format-interview .sf9-cover{aspect-ratio:16/10;border-radius:24px;box-shadow:0 18px 50px rgba(39,99,143,.12)}
.sf20-format-interview .sf9-body h2,.sf20-format-interview .sf9-body h3{color:#235979}
.sf20-format-interview .sf9-body blockquote{background:#eaf5fc;border-left-color:#3b7da8}
.sf20-format-interview .sf9-body p>strong:first-child,
.sf20-format-interview .sf9-body p>b:first-child{color:#27638f;font-family:"DM Sans",sans-serif}
.sf20-format-interview .sf9-context{background:#245a80}
.sf20-format-interview .sf9-author{background:#eaf4fa}

/* 06 — EXPLAINER: modular, numbered, clarity-first presentation */
.sf20-format-explainer{background:#f9fcfa}
.sf20-format-explainer .sf9-head{background:linear-gradient(180deg,#eaf8ef,#f9fcfa)}
.sf20-format-explainer .sf20-format-ribbon span{background:#28734b}
.sf20-format-explainer .sf20-format-ribbon strong{color:#28734b}
.sf20-format-explainer .sf9-title h1{font-size:clamp(50px,5.8vw,82px);color:#234a35}
.sf20-format-explainer .sf9-body{counter-reset:sf20-explainer}
.sf20-format-explainer .sf9-body h2{
  position:relative;padding-left:58px;color:#25583a;min-height:44px
}
.sf20-format-explainer .sf9-body h2:before{
  counter-increment:sf20-explainer;content:counter(sf20-explainer);
  position:absolute;left:0;top:-3px;width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;background:#28734b;color:#fff;
  font:900 13px/1 "DM Sans",sans-serif
}
.sf20-format-explainer .sf9-context{background:#245f3f}
.sf20-format-explainer .sf9-standard{background:#e6f4ea}
.sf20-format-explainer .sf9-cover{border-radius:14px}

/* 07 — VIDEO: dark watch-first hero with play affordance */
.sf20-format-video{background:#fff}
.sf20-format-video .sf9-head{background:#211922;color:#fff}
.sf20-format-video .sf9-breadcrumb{border-color:#493947;color:#cdbfca}
.sf20-format-video .sf9-breadcrumb a{color:#f5edf3}
.sf20-format-video .sf20-format-ribbon span{background:#e95064}
.sf20-format-video .sf20-format-ribbon strong{color:#fff}
.sf20-format-video .sf20-format-ribbon em{color:#cfbeca}
.sf20-format-video .sf9-section-stamp span{color:#ff8fa0}
.sf20-format-video .sf9-section-stamp small{color:#cdbeca}
.sf20-format-video .sf9-title h1{color:#fff;font-size:clamp(52px,6.1vw,86px)}
.sf20-format-video .sf9-title>p{color:#ded0da}
.sf20-format-video .sf9-author-actions{border-color:#493947}
.sf20-format-video .sf9-author-mini strong{color:#fff}
.sf20-format-video .sf9-author-mini small,.sf20-format-video .sf9-author-mini em,.sf20-format-video .sf9-date{color:#cbbbc6}
.sf20-format-video .sf9-date a{color:#fff}
.sf20-format-video .sf9-visual{background:#211922;padding-top:4px;padding-bottom:34px}
.sf20-format-video .sf9-cover{aspect-ratio:16/9;border-radius:18px;box-shadow:0 25px 70px rgba(0,0,0,.30)}
.sf20-format-video .sf9-cover:after{
  content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:86px;height:86px;border-radius:50%;display:grid;place-items:center;
  padding-left:6px;background:rgba(233,80,100,.94);color:#fff;
  font:800 30px/1 Arial,sans-serif;box-shadow:0 14px 38px rgba(0,0,0,.25)
}
.sf20-format-video .sf9-context{background:#211922}

/* 08 — PHOTO STORY: gallery-width visual narrative */
.sf20-format-photo_story{background:#fff}
.sf20-format-photo_story .sf9-head{background:#fff}
.sf20-format-photo_story .sf20-format-ribbon{justify-content:center}
.sf20-format-photo_story .sf20-format-ribbon span{background:#8a6b08}
.sf20-format-photo_story .sf20-format-ribbon strong{color:#755b08}
.sf20-format-photo_story .sf9-title-grid{display:block;text-align:center}
.sf20-format-photo_story .sf9-section-stamp{display:flex;justify-content:center;gap:8px;padding:0 0 10px}
.sf20-format-photo_story .sf9-section-stamp small{margin:0}
.sf20-format-photo_story .sf9-title h1{max-width:1080px;margin:auto;font-size:clamp(54px,6.7vw,92px)}
.sf20-format-photo_story .sf9-title>p{max-width:760px;margin:18px auto 0}
.sf20-format-photo_story .sf9-visual>.container{max-width:1480px}
.sf20-format-photo_story .sf9-cover{aspect-ratio:3/2;border-radius:6px;max-height:820px}
.sf20-format-photo_story .sf9-read-grid{display:block;max-width:1020px}
.sf20-format-photo_story .sf9-left-rail,.sf20-format-photo_story .sf9-right-rail{display:none}
.sf20-format-photo_story .sf9-body{max-width:860px;margin:auto;font-size:17px;line-height:1.75}
.sf20-format-photo_story .sf9-body .sf26-body-image{margin:46px -120px}
.sf20-format-photo_story .sf9-body .sf26-body-image img{max-height:none}
.sf20-format-photo_story .sf9-body .sf26-body-image figcaption{font-size:11px;background:#fff}
.sf20-format-photo_story .sf9-author{background:#f8f4e8}

/* 09 — PERSONAL STORY: intimate, author-led first-person presentation */
.sf20-format-personal{background:#fff9fb}
.sf20-format-personal .sf9-head{background:linear-gradient(180deg,#ffeef5,#fff9fb)}
.sf20-format-personal .sf20-format-ribbon span{background:#9c3e6f}
.sf20-format-personal .sf20-format-ribbon strong{color:#9c3e6f}
.sf20-format-personal .sf9-title h1{
  font-family:"Playfair Display",Georgia,serif;font-style:italic;
  font-size:clamp(50px,6.1vw,84px);line-height:.96;color:#61344d
}
.sf20-format-personal .sf9-title>p{font-size:18px;color:#76586a}
.sf20-format-personal .sf9-author-mini{padding:10px 14px;background:#fff;border-radius:999px;border:1px solid #f0dbe5}
.sf20-format-personal .sf9-cover{aspect-ratio:4/3;border-radius:30px;max-height:760px}
.sf20-format-personal .sf9-read-grid{grid-template-columns:135px minmax(0,670px);gap:38px}
.sf20-format-personal .sf9-right-rail{display:none}
.sf20-format-personal .sf9-body{font-size:19px;line-height:1.92;color:#44323d}
.sf20-format-personal .sf9-body .story-intro{font-size:24px;font-style:italic;color:#6e4259}
.sf20-format-personal .sf9-body blockquote{background:#ffeaf3;border-left-color:#b74f7f}
.sf20-format-personal .sf9-author{background:#fbe8f1}

/* Shared responsive rules for all V36.20 formats */
@media(max-width:1050px){
  .sf20-format-feature .sf9-read-grid,.sf20-format-personal .sf9-read-grid{grid-template-columns:135px minmax(0,690px);gap:28px}
  .sf20-format-photo_story .sf9-body .sf26-body-image{margin:34px 0}
}
@media(max-width:800px){
  .sf20-format-feature .sf20-format-ribbon,.sf20-format-photo_story .sf20-format-ribbon{justify-content:flex-start}
  .sf20-format-feature .sf9-title-grid,.sf20-format-photo_story .sf9-title-grid{text-align:left}
  .sf20-format-feature .sf9-section-stamp,.sf20-format-photo_story .sf9-section-stamp{justify-content:flex-start}
  .sf20-format-feature .sf9-title>p,.sf20-format-photo_story .sf9-title>p{margin-left:0;margin-right:0}
  .sf20-format-feature .sf9-read-grid,.sf20-format-personal .sf9-read-grid{grid-template-columns:1fr}
  .sf20-format-video .sf9-cover:after{width:68px;height:68px;font-size:24px}
}
@media(max-width:620px){
  .sf20-story .sf20-format-ribbon{margin-top:13px;gap:6px}
  .sf20-format-ribbon span{min-height:25px;padding:0 8px;font-size:8px}
  .sf20-format-ribbon strong,.sf20-format-ribbon em{font-size:8px}
  .sf20-format-feature .sf9-title h1,
  .sf20-format-photo_story .sf9-title h1{font-size:43px}
  .sf20-format-opinion .sf9-title-grid:after{font-size:105px;top:-18px}
  .sf20-format-video .sf9-cover:after{width:58px;height:58px;font-size:20px}
  .sf20-format-explainer .sf9-body h2{padding-left:48px}
  .sf20-format-explainer .sf9-body h2:before{width:36px;height:36px}
  .sf20-format-photo_story .sf9-body{font-size:17px}
  .sf20-format-photo_story .sf9-body .sf26-body-image{margin:28px 0}
  .sf20-format-personal .sf9-cover{border-radius:18px}
}
