:root{
  --sefla-paper:#fff;
  --sefla-ink:#22201e;
  --sefla-muted:#69645f;
  --sefla-line:#d8d4ce;
  --sefla-soft:#f5f3ef;
  --sefla-sidebar:#f7f5f1;
  --sefla-gold:#b58a35;
  --sefla-red:#a51f23;
  --sefla-charcoal:#272623;

  /* Warm editorial background palette */
  --sefla-canvas:#f2eee7;
  --sefla-wash-gold:#fbf3dc;
  --sefla-wash-stone:#f6f3ed;
  --sefla-wash-blush:#f9eceb;
  --sefla-wash-ivory:#f9f6ef;

  --sefla-serif:Georgia,"Times New Roman",serif;
  --sefla-sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sefla-canvas);color:var(--sefla-ink);font-family:var(--sefla-sans);font-size:16px}
a{color:inherit}
img{display:block;max-width:100%}
.seflaWrap{width:min(1180px,calc(100% - 44px));margin-inline:auto}

.seflaSiteHeader{background:#fff;border-bottom:1px solid var(--sefla-line)}
.seflaMasthead{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 0 15px}
.seflaBrand{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:0}
.seflaBrand>img{width:43px;height:62px;object-fit:contain;flex:none}
.seflaBrand>span{display:block;min-width:0}
.seflaBrand strong{font:600 31px/.95 var(--sefla-serif);letter-spacing:-.035em;white-space:nowrap}
.seflaBrand strong em{font-size:.62em;font-style:normal;letter-spacing:-.02em}
.seflaBrand small{display:block;margin-top:8px;font:700 8px/1 var(--sefla-sans);letter-spacing:.16em;color:#5a5651}
.seflaHeaderRight{display:flex;align-items:center;gap:24px}
.seflaCompliance{font:400 10px/1.35 var(--sefla-sans);color:#57534e;white-space:nowrap}
.seflaCompliance a{text-decoration:none}
.seflaHomeLink{display:inline-block;text-decoration:none;text-transform:uppercase;font:900 9px/1 var(--sefla-sans);letter-spacing:.08em;color:#fff;background:var(--sefla-red);padding:11px 15px}
.seflaHomeLink:hover{background:#86191d}
.seflaHeaderRule{height:5px;background:var(--sefla-charcoal);border-top:1px solid #141412}
.seflaHeaderRule .seflaWrap{height:100%;border-left:84px solid var(--sefla-gold)}

.seflaInteriorPage{padding:34px 0 48px;background:var(--sefla-canvas)}
.seflaPageGrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:42px;align-items:start}
.seflaPrimary{min-width:0}
.seflaBreadcrumbs{margin:0 0 22px;padding:0 0 12px;border-bottom:1px solid #ddd7ce;color:#77716a;font:800 10px/1.25 var(--sefla-sans);letter-spacing:.075em;text-transform:uppercase}
.seflaBreadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none}
.seflaBreadcrumbs li{display:flex;align-items:center;min-width:0}
.seflaBreadcrumbs li+li::before{content:"/";margin:0 9px;color:#aaa39a;font-weight:400}
.seflaBreadcrumbs a{color:#504b46;text-decoration:none}
.seflaBreadcrumbs a:hover{color:var(--sefla-red);text-decoration:underline;text-underline-offset:3px}
.seflaBreadcrumbs [aria-current="page"] span{color:#8b857e;font-weight:700}
.seflaSidebar{position:sticky;top:24px;align-self:start;min-height:min(720px,calc(100vh - 48px));max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain;background:var(--sefla-sidebar);border-top:4px solid var(--sefla-gold);border-left:1px solid #ddd8cf;border-right:1px solid #ddd8cf;border-bottom:1px solid #ddd8cf}

/*
 * Editorial color rhythm
 *
 * The opening stays white. Longer interior pages then receive selective,
 * extremely pale washes rather than a mechanical every-other-section stripe.
 * Existing white cards inside these panels remain white, which creates a
 * subtle magazine-like layer instead of turning the site into pastel blocks.
 *
 * This affects standard .panel sections only. Special page treatments such
 * as Just For Fun keep their own page-specific colors.
 */
.seflaInteriorPage .seflaPrimary > .panel,
.seflaInteriorPage .seflaPrimary > article > .panel,
.seflaInteriorPage .seflaPrimary article > .panel{
  background:#fff;
}

.seflaInteriorPage .seflaPrimary > .panel > .panelHead,
.seflaInteriorPage .seflaPrimary > .panel > .panelBody,
.seflaInteriorPage .seflaPrimary article > .panel > .panelHead,
.seflaInteriorPage .seflaPrimary article > .panel > .panelBody{
  background:transparent;
}

/* Selective six-section rhythm: white, gold, white, stone, white, blush. */
.seflaInteriorPage .seflaPrimary > .panel:nth-of-type(6n+2),
.seflaInteriorPage .seflaPrimary article > .panel:nth-of-type(6n+2){
  background:var(--sefla-wash-gold);
}

.seflaInteriorPage .seflaPrimary > .panel:nth-of-type(6n+4),
.seflaInteriorPage .seflaPrimary article > .panel:nth-of-type(6n+4){
  background:var(--sefla-wash-stone);
}

.seflaInteriorPage .seflaPrimary > .panel:nth-of-type(6n+6),
.seflaInteriorPage .seflaPrimary article > .panel:nth-of-type(6n+6){
  background:var(--sefla-wash-blush);
}

/* Editor/Wiley perspective can keep a warm editorial identity anywhere it occurs. */
.seflaInteriorPage .seflaPrimary .panel.wileyPanel{
  background:var(--sefla-wash-ivory);
}

/*
 * Optional explicit tone classes for future articles and area pages.
 * These let us choose a background intentionally when the automatic
 * rhythm is not the best editorial choice.
 */
.seflaToneWhite{background:#fff!important}
.seflaToneIvory{background:var(--sefla-wash-ivory)!important}
.seflaToneGold{background:var(--sefla-wash-gold)!important}
.seflaToneStone{background:var(--sefla-wash-stone)!important}
.seflaToneBlush{background:var(--sefla-wash-blush)!important}

.seflaSiteFooter{background:var(--sefla-charcoal);color:#f1efeb;border-top:3px solid var(--sefla-gold);padding:31px 0 34px}
.seflaFooterGrid{display:grid;grid-template-columns:1.2fr 1.35fr auto;gap:34px;align-items:start}
.seflaFooterBrand{display:flex;gap:10px;align-items:flex-start;text-decoration:none}
.seflaFooterBrand img{width:28px;height:42px;object-fit:contain}
.seflaFooterBrand strong{display:block;font:600 18px/1 var(--sefla-serif)}
.seflaFooterBrand small{display:block;margin-top:6px;font:700 7px/1.3 var(--sefla-sans);letter-spacing:.08em;color:#bebbb5}
.seflaFooterCompliance{display:flex;flex-direction:column;gap:4px;font:400 8px/1.35 var(--sefla-sans);color:#cbc7c0}
.seflaFooterCompliance strong{color:#fff}
.seflaDesigned{color:#d8b65f!important;margin-top:4px}
.seflaFooterHome{text-decoration:none;text-transform:uppercase;font:900 8px/1.2 var(--sefla-sans);letter-spacing:.07em;color:#fff;border:1px solid #6b665f;padding:10px 12px;white-space:nowrap}
.seflaFooterHome:hover{border-color:var(--sefla-gold);color:#e2c36f}

@media(max-width:960px){
  .seflaPageGrid{grid-template-columns:minmax(0,1fr) 240px;gap:28px}
  .seflaHeaderRight{display:none}
  .seflaFooterGrid{grid-template-columns:1fr 1fr}.seflaFooterHome{grid-column:1/-1;justify-self:start}
}
@media(max-width:760px){
  .seflaWrap{width:min(100% - 24px,1180px)}
  .seflaMasthead{min-height:78px;padding:12px 0}
  .seflaBrand>img{width:34px;height:49px}.seflaBrand strong{font-size:22px}.seflaBrand small{font-size:6px;margin-top:5px}
  .seflaInteriorPage{padding-top:22px}
  .seflaPageGrid{grid-template-columns:1fr;gap:26px}
  .seflaSidebar{position:static;min-height:180px;max-height:none;overflow:visible}
  .seflaFooterGrid{grid-template-columns:1fr;gap:22px}.seflaFooterHome{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
