/* Editorial module. Grid and spacing utilities are supplied by Bootstrap 5. */
.reading-progress{position:fixed;inset:0 0 auto;width:100%;height:4px;z-index:1100;border:0;appearance:none;background:transparent;color:#dfff46}.reading-progress::-webkit-progress-bar{background:transparent}.reading-progress::-webkit-progress-value{background:#dfff46}.reading-progress::-moz-progress-bar{background:#dfff46}
.article-hero{padding:32px 0 0;background:#111211;color:#f6f6f0}.article-hero .breadcrumb{font-size:12px;margin-bottom:44px;--bs-breadcrumb-divider-color:#85877f}.article-hero .breadcrumb a{color:#c9ccc1}.article-hero .breadcrumb .active{color:#c9ccc1}.article-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;margin-bottom:20px}.page-portfolio .article-hero h1{font-size:clamp(38px,5.6vw,78px);font-weight:650;letter-spacing:-.055em;line-height:1.08;color:#fff;margin-bottom:25px}.article-hero h1 em{font-style:normal;color:#dfff46}.article-deck{max-width:740px;font-size:clamp(17px,1.5vw,20px);line-height:1.75;color:#bfc2b8}.article-start{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;text-decoration:none;border-bottom:1px solid #626558;padding:16px 0;font-size:14px}.article-start span{font-size:36px;color:#dfff46}.article-start:hover{color:#dfff46}.article-meta{display:flex;gap:12px 28px;flex-wrap:wrap;margin:35px 0 28px;font-size:12px;color:#bfc2b8}.article-meta a{color:white;text-underline-offset:4px}.article-cover{margin:0;position:relative}.article-cover img{width:100%;height:clamp(240px,35vw,460px);object-fit:cover;object-position:center;border-radius:18px 18px 0 0;display:block}.article-cover figcaption{background:#25271f;padding:13px 18px;color:#c9ccc1;font-size:12px}
.article-paper{background:#f6f5ef;color:#26291f;padding:50px 0 64px}.article-sidebar summary{font-size:16px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #ced1c3}.article-sidebar nav{display:flex;flex-direction:column;padding:12px 0}.article-sidebar nav a{color:#52584a;text-decoration:none;font-size:13px;padding:8px 0}.article-sidebar nav a:hover{color:#111;text-decoration:underline;text-underline-offset:4px}.sidebar-note{margin-top:25px;border-radius:12px;background:#e6e9d9;padding:20px}.sidebar-note>span{font-size:10px;letter-spacing:.12em}.sidebar-note p{font-size:16px;line-height:1.6;margin:12px 0 0}.article-prose{max-width:760px;font-size:18px;line-height:1.85}.article-prose section{scroll-margin-top:30px;margin-bottom:56px}.page-portfolio .article-prose h2{font-size:clamp(27px,3vw,39px);font-weight:650;letter-spacing:-.04em;line-height:1.2;margin-bottom:23px;color:#171b12}.article-prose p{margin-bottom:22px}.article-prose a{color:#425600;text-decoration:underline;text-underline-offset:4px}.article-prose a:focus-visible{outline-color:#425600}.section-number{display:block;color:#626950;font-size:11px;letter-spacing:.13em;font-weight:700;margin-bottom:14px}.article-answer{background:#eaf0cf;border-left:4px solid #7e950a;border-radius:0 16px 16px 0;padding:26px;margin-bottom:28px}.article-answer p:last-child,.article-example p:last-child{margin-bottom:0}.article-answer .article-kicker{color:#485723}.article-example{background:white;border:1px solid #d5d8ca;border-radius:14px;padding:24px;margin:26px 0}.article-example>strong{display:block;font-size:14px;margin-bottom:10px}.article-prose ul{padding-left:24px;margin-bottom:25px}.article-prose li{padding:6px 0}.article-table{border:1px solid #d5d8ca;border-radius:14px;background:white;margin:28px 0}.article-table table{font-size:14px;line-height:1.65;min-width:560px;--bs-table-color:#26291f;--bs-table-bg:white}.article-table th,.article-table td{padding:18px}.article-table thead th{background:#e6e9d9;white-space:nowrap}.article-table small{font-weight:400;color:#606653}.article-table caption{padding:12px 18px;font-size:12px;color:#656a5d}.article-prose .article-download{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:21px 24px;border-radius:12px;background:#20251a;color:#f6f5ef;text-decoration:none;font-weight:600;font-size:16px}.article-download span{font-weight:400;color:#dfff46;font-size:12px;align-self:center}.article-prose blockquote{padding:25px 0 25px 25px;border-left:4px solid #b8cf43;font-size:clamp(24px,3vw,34px);font-weight:600;line-height:1.4;letter-spacing:-.03em;margin:35px 0}.article-checklist{background:white;border:1px solid #d5d8ca;border-radius:14px;padding:10px 24px}.article-checklist label{display:flex;align-items:flex-start;gap:15px;padding:17px 0;border-bottom:1px solid #e7e9df;font-size:16px;cursor:pointer}.article-checklist label:last-child{border-bottom:0}.article-checklist input{flex-shrink:0;margin-top:6px}.article-checklist input:checked{background-color:#586a08;border-color:#586a08}.article-checklist input:checked+span{color:#647049}.article-faq details{border-bottom:1px solid #cbd0be;padding:19px 0}.article-faq summary{font-size:18px;font-weight:600;cursor:pointer;line-height:1.6}.article-faq p{font-size:16px;margin:18px 0 0}.article-author{display:flex;align-items:flex-start;gap:20px;padding:25px;background:#e8ebdd;border-radius:14px;margin-bottom:25px}.author-monogram{display:grid;place-items:center;flex-shrink:0;width:55px;height:55px;background:#20251a;color:#dfff46;border-radius:50%;font-weight:700;font-size:24px}.article-author strong{font-size:16px}.article-author p{font-size:14px;margin:6px 0}.article-author a,.article-back{font-size:13px}.article-prose a:hover{text-decoration-thickness:2px}
@media(min-width:992px){.page-portfolio main:has(.editorial){overflow:visible}.article-sidebar{position:sticky;top:32px}.article-paper{padding:80px 0 90px}.article-start{margin-bottom:20px}}
/* Compact chapter rows: a clear surface and aligned index instead of plain links. */
.article-sidebar nav{gap:5px;padding:16px 0 0}
.article-sidebar nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;background:#fff;border:1px solid #dce0d2;border-radius:9px;color:#343b2a;font-size:13px;line-height:1.4;font-weight:500}
.article-sidebar .toc-index{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:6px;background:#eff1e8;color:#687153;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}
.article-sidebar .toc-label{min-width:0}
.article-sidebar nav a:hover,.article-sidebar nav a:focus-visible{background:#eaf0cf;border-color:#9eaf66;color:#20251a;text-decoration:none}
.article-sidebar nav a:hover .toc-index,.article-sidebar nav a:focus-visible .toc-index{background:#20251a;color:#dfff46}
.article-sidebar nav a:focus-visible{outline:2px solid #677c20;outline-offset:2px}
/* Refined article layout and chapter navigation. */
.article-hero{padding-top:22px}.article-hero .breadcrumb{margin-bottom:28px}
.page-portfolio .article-hero h1{font-size:clamp(34px,4.3vw,60px);line-height:1.12;margin-bottom:18px}
.article-deck{font-size:17px;line-height:1.65;max-width:670px;margin-bottom:16px}
.article-start{display:inline-flex;gap:24px;padding:8px 0;font-size:12px;margin:0}
.article-start span{font-size:24px}.article-meta{margin:25px 0 0;padding:20px 0;border-top:1px solid #393d31}
.article-cover img{height:200px;border-radius:14px;object-fit:cover}.article-cover figcaption{background:none;padding:10px 0 0;font-size:11px;line-height:1.5}
.article-sidebar>details{background:#fff;border:1px solid #d8dccf;border-radius:16px;padding:20px 16px;box-shadow:0 10px 30px #252c0f06}
.article-sidebar summary{font-size:17px;border:0;padding:0 0 12px}.article-sidebar summary span{color:#768442}
.article-sidebar nav{gap:0;padding:0;position:relative}
.article-sidebar nav a{border:0;border-radius:0;background:none;padding:12px 4px;gap:12px;position:relative;border-bottom:1px solid #eef0e7;min-height:48px;font-size:12px}
.article-sidebar nav a:last-child{border-bottom:0}
.article-sidebar .toc-index{background:none;border-radius:50%;border:1px solid #d8dfc9;flex-basis:25px;height:25px;font-size:9px;color:#7a836b}
.article-sidebar nav a:hover,.article-sidebar nav a:focus-visible{background:#f2f5e8;border-color:#eef0e7}
.article-sidebar nav a.is-current{background:#22291a;color:white;border-radius:8px;padding-left:9px;padding-right:9px;border-bottom-color:transparent}
.article-sidebar nav a.is-current .toc-index{background:#dfff46;border-color:#dfff46;color:#22291a}
.article-prose ul{list-style:none;padding:0;display:grid;gap:10px;margin:26px 0}
.article-prose li{position:relative;border:1px solid #d9decf;border-radius:10px;background:#fff;padding:16px 18px 16px 38px;font-size:16px;line-height:1.7}
.article-prose li::before{content:'';position:absolute;left:18px;top:26px;width:6px;height:6px;border-radius:50%;background:#849931}
.article-prose li strong{color:#34421c}
.article-related{background:#e9ecdf;color:#22291a;padding:58px 0}
.page-portfolio .article-related h2{color:#22291a;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.045em;line-height:1.15}
.article-related>.container>.row p{font-size:14px;color:#5a6250;margin:14px 0 0}.related-all{color:#22291a;font-size:13px;text-underline-offset:5px}
.related-card{height:100%;display:flex;flex-direction:column;background:#fff;color:#22291a;text-decoration:none;border-radius:14px;overflow:hidden;border:1px solid #d3d9c7}
.related-card img{width:100%;height:185px;object-fit:cover}.related-card>div{padding:24px;display:flex;flex-direction:column;flex:1}
.related-card span{font-size:9px;letter-spacing:.07em;color:#64704e;font-weight:700}.page-portfolio .related-card h3{font-size:22px;line-height:1.25;letter-spacing:-.025em;color:#22291a;margin:14px 0 10px}
.related-card p{font-size:14px;color:#66705a;line-height:1.6}.related-card b{margin-top:auto;padding-top:18px;font-size:12px;color:#34421c}
.related-card:hover{color:#22291a;border-color:#829b42}.related-card:hover b{text-decoration:underline;text-underline-offset:4px}
@media(min-width:992px){.article-cover img{height:260px}.article-hero .row{align-items:center!important}.article-paper{padding-top:58px}.article-sidebar{top:20px}}
/* Full-bleed hero image, fading into the text surface towards the left. */
.article-hero{position:relative;isolation:isolate;background:#111211;overflow:hidden}
.article-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#111211 0%,rgba(17,18,17,.94) 35%,rgba(17,18,17,.72) 65%,rgba(17,18,17,.25) 100%),var(--article-hero-image);background-size:cover;background-position:center,right center;opacity:.9}
.article-hero-copy{padding-top:10px;padding-bottom:15px}.article-hero .article-deck{color:#e0e2da}.article-hero .article-meta{position:relative;border-color:#ffffff26}.article-hero .breadcrumb{position:relative}
.article-rightbar{border-top:3px solid #22291a;padding-top:20px}.page-portfolio .article-rightbar h2{font-size:25px;line-height:1.15;letter-spacing:-.035em;color:#22291a}.article-rightbar .section-number{font-size:9px;margin-bottom:12px}.rightbar-intro{font-size:13px;line-height:1.7;color:#656c5a}.rightbar-home{display:flex;justify-content:space-between;background:#22291a;color:#fff;border-radius:8px;padding:14px 16px;text-decoration:none;font-size:12px}.rightbar-home:hover{background:#3c472c;color:#dfff46}.rightbar-next{margin-top:28px}.rightbar-next>a{display:flex;gap:12px;padding:17px 0;border-bottom:1px solid #d7dccd;text-decoration:none;color:#22291a}.rightbar-next img{width:64px;height:76px;object-fit:cover;border-radius:6px;flex-shrink:0}.rightbar-next small{display:block;font-size:8px;letter-spacing:.06em;color:#747e62;margin-bottom:7px}.rightbar-next strong{font-size:13px;line-height:1.5;display:block;font-weight:600}.rightbar-next b{display:block;font-size:10px;margin-top:9px;font-weight:500;color:#596b2a}.rightbar-next>a:hover strong{text-decoration:underline;text-underline-offset:3px}.rightbar-service{display:block;background:#e4edc4;color:#22291a;text-decoration:none;padding:22px;border-radius:12px;margin-top:26px}.rightbar-service>span{font-size:9px;letter-spacing:.1em}.rightbar-service strong{display:block;font-size:24px;letter-spacing:-.04em;line-height:1.2;margin:16px 0}.rightbar-service b{font-size:11px}.rightbar-service:hover{background:#dfff46;color:#22291a}
@media(min-width:1200px){.article-rightbar{position:sticky;top:24px}.article-paper>.container{max-width:1440px;padding-left:28px;padding-right:28px}.article-sidebar>details{padding:18px 10px}.article-sidebar nav a{font-size:11px;gap:8px}}
@media(max-width:767.98px){.article-hero::before{background-image:linear-gradient(90deg,rgba(17,18,17,.96),rgba(17,18,17,.82)),var(--article-hero-image)}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* Active chapter must win over Bootstrap/Mars link color tokens. */
.article-sidebar nav a.is-current,
.article-sidebar nav a.is-current:visited,
.article-sidebar nav a.is-current:hover,
.article-sidebar nav a.is-current:focus-visible{
  background:#22291a !important;
  color:#fff !important;
  border-radius:8px !important;
  padding-left:9px !important;
  padding-right:9px !important;
  border-bottom-color:transparent !important;
  text-decoration:none !important;
}
.article-sidebar nav a.is-current .toc-index,
.article-sidebar nav a.is-current:hover .toc-index{
  background:#dfff46 !important;
  border-color:#dfff46 !important;
  color:#22291a !important;
}
.article-sidebar nav a.is-current .toc-label{color:#fff !important}

/* Laravel layout locks: match new-tema widths and keep header out of the hero. */
body.page-portfolio:has(.editorial){
  font-family:Inter,system-ui,sans-serif;
}
body.page-portfolio:has(.editorial) .site-header{
  position:relative !important;
  inset:auto !important;
  background:#111211 !important;
  border-bottom:1px solid #303236;
}
body.page-portfolio:has(.editorial) .site-header .navbar{
  min-height:76px;
}
body.page-portfolio:has(.editorial) h1,
body.page-portfolio:has(.editorial) h2,
body.page-portfolio:has(.editorial) h3{
  font-family:Manrope,sans-serif;
}
body.page-portfolio:has(.editorial) main{
  overflow:visible;
}
body.page-portfolio:has(.editorial) .article-hero,
body.page-portfolio:has(.editorial) .article-paper,
body.page-portfolio:has(.editorial) .article-related,
body.page-portfolio:has(.editorial) .portfolio-cta{
  width:100%;
}
body.page-portfolio:has(.editorial) .article-paper{
  color:#26291f !important;
}
body.page-portfolio:has(.editorial) .article-prose h2{
  color:#171b12 !important;
}
body.page-portfolio:has(.editorial) .article-related,
body.page-portfolio:has(.editorial) .article-related h2,
body.page-portfolio:has(.editorial) .article-rightbar,
body.page-portfolio:has(.editorial) .article-rightbar h2{
  color:#22291a !important;
}
@media(min-width:992px){
  body.page-portfolio:has(.editorial) .site-header .navbar{min-height:88px}
  body.page-portfolio:has(.editorial) .site-header .offcanvas{background:transparent !important}
  body.page-portfolio:has(.editorial) .site-header .nav-offer{margin-top:0}
}
@media(min-width:1200px){
  body.page-portfolio:has(.editorial) .article-hero > .container,
  body.page-portfolio:has(.editorial) .article-related > .container,
  body.page-portfolio:has(.editorial) .portfolio-cta > .container{
    max-width:1220px !important;
  }
  body.page-portfolio:has(.editorial) .article-paper > .container{
    max-width:1440px !important;
    padding-left:28px !important;
    padding-right:28px !important;
  }
}

/* Mobile editorial layout */
@media(max-width:991.98px){
  .article-hero{padding-top:18px}
  .article-hero .breadcrumb{margin-bottom:18px;font-size:11px}
  .page-portfolio .article-hero h1{
    font-size:clamp(30px,8.4vw,42px) !important;
    line-height:1.14 !important;
    margin-bottom:14px !important;
  }
  .article-deck{font-size:15px;line-height:1.65;margin-bottom:12px;max-width:none}
  .article-start{width:100%;justify-content:space-between;font-size:13px;padding:12px 0}
  .article-start span{font-size:22px}
  .article-meta{gap:10px 16px;margin-top:18px;padding-top:16px;font-size:11px}
  .article-paper{padding:28px 0 42px}
  .article-sidebar{margin-bottom:8px}
  .article-sidebar>details{
    padding:16px 14px;
    border-radius:14px;
  }
  .article-sidebar summary{font-size:15px;padding-bottom:10px}
  .article-sidebar nav a{
    min-height:44px;
    padding:11px 6px;
    font-size:13px;
    gap:10px;
  }
  .article-sidebar nav a.is-current,
  .article-sidebar nav a.is-current:hover{
    padding-left:10px !important;
    padding-right:10px !important;
  }
  .sidebar-note{margin-top:14px;padding:16px}
  .sidebar-note p{font-size:15px}
  .article-prose{font-size:16px;line-height:1.75;max-width:none}
  .article-prose section{margin-bottom:40px;scroll-margin-top:18px}
  .page-portfolio .article-prose h2{
    font-size:clamp(24px,6.5vw,30px) !important;
    margin-bottom:16px !important;
  }
  .section-number{font-size:10px;margin-bottom:10px}
  .article-answer{padding:18px;margin-bottom:20px}
  .article-example{padding:18px;margin:18px 0}
  .article-prose li{padding:14px 14px 14px 34px;font-size:15px}
  .article-prose blockquote{font-size:clamp(20px,5.5vw,26px);padding:18px 0 18px 16px;margin:24px 0}
  .article-prose .article-download{padding:16px 18px;font-size:15px;flex-direction:column;align-items:flex-start}
  .article-checklist{padding:8px 16px}
  .article-checklist label{font-size:15px;padding:14px 0;gap:12px}
  .article-faq summary{font-size:16px}
  .article-author{padding:18px;gap:14px;flex-wrap:wrap}
  .article-rightbar{margin-top:10px;padding-top:18px}
  .page-portfolio .article-rightbar h2{font-size:22px !important}
  .rightbar-next>a{padding:14px 0}
  .rightbar-service{padding:18px;margin-top:18px}
  .rightbar-service strong{font-size:20px;margin:12px 0}
  .article-related{padding:40px 0}
  .page-portfolio .article-related h2{font-size:clamp(24px,6vw,34px) !important}
  .related-card img{height:160px}
  .related-card>div{padding:18px}
  .page-portfolio .related-card h3{font-size:19px !important;margin:10px 0 8px !important}
  .portfolio-cta{padding:42px 0}
  .portfolio-cta h2{font-size:clamp(28px,8vw,42px) !important}
  .portfolio-button{width:100%;text-align:center;margin-top:8px}
}
@media(max-width:575.98px){
  .article-hero .container,
  .article-paper .container,
  .article-related .container,
  .portfolio-cta .container{
    padding-left:16px;
    padding-right:16px;
  }
  .article-table{margin:20px -4px;border-radius:12px}
  .article-table table{font-size:13px}
  .article-table th,
  .article-table td{padding:14px 12px}
  .reading-progress{height:3px}
}

