/* Nubilo article template 1.2 — scoped styles */
.nubilo-article { --na-ink:#1e293b; --na-muted:#64748b; --na-brand:#aa287f; --na-accent:#f43f64; --na-border:#e7eaf0; color:var(--na-ink); background:#fff; font-family: 'Lato', 'Open Sans', Arial, sans-serif; }
.nubilo-article *, .nubilo-article *::before, .nubilo-article *::after {box-sizing:border-box;}
.nubilo-article .na-hero {position:relative; min-height:370px; display:flex; align-items:end; overflow:hidden; isolation:isolate; background:#25253e;}
.nubilo-article .na-hero-image {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2;}
.nubilo-article .na-hero-shade {position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(14,19,36,.86),rgba(14,19,36,.4)),linear-gradient(0deg,rgba(14,19,36,.45),transparent 75%);}
.nubilo-article .na-hero-inner {width:min(100% - 48px,1080px); margin:0 auto; padding:88px 0 58px;}
.nubilo-article .na-eyebrow {display:inline-block; margin-bottom:18px; padding:7px 13px; border:1px solid #ffffff75; border-radius:99px; color:#fff; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.14em;}
.nubilo-article .na-hero h1 {max-width:850px; margin:0; color:#fff; font-size:clamp(32px,4.6vw,60px); font-weight:800; line-height:1.12; letter-spacing:-.035em; text-wrap:balance;}
.nubilo-article .na-social {position:absolute; right:24px; top:24px; z-index:2;}
.nubilo-article .na-shell {width:min(100% - 40px,1080px); margin:0 auto;}
.nubilo-article .na-body {max-width:900px; margin:0 auto; padding:34px 0 90px;}
.nubilo-article .na-meta {display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; color:var(--na-muted); font-size:14px; margin-bottom:22px;}
.nubilo-article .na-meta a {color:var(--na-ink); font-weight:700; text-decoration:none;}
.nubilo-article .na-meta a:hover {color:var(--na-brand);}
.nubilo-article .na-business {display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 28px; padding:13px 17px; border:1px solid var(--na-border); border-radius:12px; background:#f8fafc;}
.nubilo-article .na-business-label {font-size:12px; color:var(--na-muted); text-transform:uppercase; letter-spacing:.08em; font-weight:800;}
.nubilo-article .na-business a {display:inline-flex; align-items:center; gap:9px; font-weight:700; color:var(--na-brand); text-decoration:none;}
.nubilo-article .na-business-logo img {width:36px; height:36px; object-fit:contain; border-radius:7px;}
.nubilo-article .na-synopsis {margin:12px 0 48px; padding:28px 32px; border-left:5px solid var(--na-accent); border-radius:0 16px 16px 0; background:#fff5f9; color:#3b3340; font-size:clamp(18px,2vw,21px); line-height:1.7; font-weight:500;}
.nubilo-article .na-synopsis p:last-child {margin-bottom:0;}
.nubilo-article .na-section {display:flow-root; padding:35px 0 38px; border-bottom:1px solid var(--na-border);}
.nubilo-article .na-section h2 {margin:0 0 22px; color:#1b2440; font-size:clamp(25px,3vw,34px); line-height:1.24; font-weight:800; letter-spacing:-.025em;}
.nubilo-article .na-content-image {width:min(47%,420px); margin:3px 0 20px; padding:0;}
.nubilo-article .na-image-right {float:right; margin-left:28px;}
.nubilo-article .na-image-left {float:left; margin-right:28px;}
.nubilo-article .na-content-image img {display:block; width:100%; height:auto; border-radius:14px; box-shadow:0 10px 28px rgba(22,32,52,.1);}
.nubilo-article .na-copy {font-size:17px; line-height:1.85; color:#364152; overflow-wrap:anywhere;}
.nubilo-article .na-copy p {margin:0 0 1.2em;}
.nubilo-article .na-copy h3 {font-size:23px; line-height:1.35; margin:1.5em 0 .6em; color:#1b2440;}
.nubilo-article .na-copy ul, .nubilo-article .na-copy ol {padding-left:1.6em; margin:0 0 1.3em;}
.nubilo-article .na-copy li {margin-bottom:.45em;}
.nubilo-article .na-copy a {color:#a3237b; text-decoration:underline; text-underline-offset:3px;}
.nubilo-article .na-copy img, .nubilo-article .na-copy iframe {max-width:100%; height:auto;}
.nubilo-article .na-affiliate {display:flex; align-items:center; gap:22px; max-width:700px; margin:12px 0 28px; padding:18px; border:1px solid #e9e3eb; border-radius:16px; background:#fff; box-shadow:0 8px 28px rgba(24,27,46,.07);}
.nubilo-article .na-affiliate > img {width:155px; max-height:170px; object-fit:contain; flex-shrink:0;}
.nubilo-article .na-affiliate-details {flex:1; min-width:0;}
.nubilo-article .na-affiliate-kicker {font-size:11px; font-weight:800; letter-spacing:.1em; color:var(--na-brand); text-transform:uppercase;}
.nubilo-article .na-affiliate h3 {font-size:21px; line-height:1.3; margin:7px 0 17px; font-weight:800; color:#25253c;}
.nubilo-article .na-affiliate-button {display:inline-flex; justify-content:center; align-items:center; gap:12px; padding:12px 19px; border-radius:9px; background:linear-gradient(120deg,#ed355f,#a3278c); color:white!important; text-decoration:none!important; font-size:14px; font-weight:800; transition:transform .2s,box-shadow .2s;}
.nubilo-article .na-affiliate-button:hover {transform:translateY(-2px); box-shadow:0 7px 20px #a3278c35;}
.nubilo-article .na-ad {display:flex; justify-content:center; padding:28px 0;}
.nubilo-article .na-ad img {display:block; max-width:100%; height:auto;}
.nubilo-article a:focus-visible {outline:3px solid #f43f64; outline-offset:4px;}
@media(max-width:700px) {
 .nubilo-article .na-hero {min-height:300px;}
 .nubilo-article .na-hero-inner {width:calc(100% - 36px); padding:92px 0 35px;}
 .nubilo-article .na-shell {width:calc(100% - 34px);}
 .nubilo-article .na-body {padding:24px 0 55px;}
 .nubilo-article .na-synopsis {padding:20px; margin-bottom:24px;}
 .nubilo-article .na-section {padding:26px 0 30px;}
 .nubilo-article .na-content-image, .nubilo-article .na-image-right, .nubilo-article .na-image-left {float:none; width:100%; max-width:100%; margin:0 0 22px;}
 .nubilo-article .na-copy {font-size:16px; line-height:1.75;}
 .nubilo-article .na-affiliate {gap:14px; padding:14px;}
 .nubilo-article .na-affiliate > img {width:100px;}
 .nubilo-article .na-affiliate h3 {font-size:17px;}
}
@media(max-width:420px) {.nubilo-article .na-affiliate {flex-direction:column; align-items:stretch;} .nubilo-article .na-affiliate > img {width:100%; max-height:180px;} }
@media(prefers-reduced-motion:reduce) {.nubilo-article * {transition:none!important; animation:none!important;}}


/* ============================================================
   ALTERNATIVE ARTICLE LAYOUT — Editorial / Magazine (1.3)
   Only applies when the root has .nubilo-article--editorial.
   Keep these rules AFTER the base 1.2 styles in this shared CSS.
   ============================================================ */
.nubilo-article.nubilo-article--editorial {--na-ink:#263043;--na-muted:#68778a;--na-brand:#8d267c;--na-accent:#dc477d;--na-border:#e5e6ec;background:#f8f7f6;}
.nubilo-article--editorial .na-hero {min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;overflow:visible;background:#f0e9ef;isolation:isolate;}
.nubilo-article--editorial .na-hero-image {position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;min-height:460px;object-fit:cover;z-index:0;}
.nubilo-article--editorial .na-hero-shade {display:none;}
.nubilo-article--editorial .na-hero-inner {grid-column:1;grid-row:1;width:auto;max-width:660px;margin:0 0 0 auto;padding:95px clamp(28px,5vw,90px) 90px clamp(28px,5vw,90px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.nubilo-article--editorial .na-eyebrow {color:#8d267c;border:0;border-radius:0;padding:0 0 10px;border-bottom:2px solid #dc477d;letter-spacing:.17em;}
.nubilo-article--editorial .na-hero h1 {color:#25273b;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(34px,3.7vw,57px);line-height:1.14;letter-spacing:-.025em;}
.nubilo-article--editorial .na-social {right:22px;top:22px;background:#ffffffdf;border-radius:12px;padding:7px;}
.nubilo-article--editorial .na-shell {width:min(100% - 40px,1140px);}
.nubilo-article--editorial .na-body {max-width:1020px;padding:44px clamp(18px,4vw,62px) 90px;background:#fff;box-shadow:0 16px 55px rgba(28,35,55,.055);}
.nubilo-article--editorial .na-meta {justify-content:center;border-bottom:1px solid var(--na-border);padding-bottom:22px;margin-bottom:28px;}
.nubilo-article--editorial .na-business {max-width:680px;margin:0 auto 32px;border-radius:8px;background:#faf8fa;}
.nubilo-article--editorial .na-synopsis {max-width:760px;margin:18px auto 45px;background:transparent;border:0;border-top:1px solid #e5d5e0;border-bottom:1px solid #e5d5e0;border-radius:0;padding:28px 12px;text-align:center;color:#4c4050;font-family:Georgia,'Times New Roman',serif;font-size:clamp(19px,2.2vw,25px);line-height:1.6;font-weight:400;}
.nubilo-article--editorial .na-section {padding:45px 0 48px;border-bottom:1px solid var(--na-border);}
.nubilo-article--editorial .na-section h2 {font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(27px,3vw,38px);letter-spacing:-.02em;line-height:1.2;color:#282c3e;max-width:780px;}
.nubilo-article--editorial .na-content-image {width:min(44%,390px);}
.nubilo-article--editorial .na-content-image img {border-radius:4px;box-shadow:none;}
.nubilo-article--editorial .na-copy {font-family:Georgia,'Times New Roman',serif;color:#34394a;font-size:18px;line-height:1.9;}
.nubilo-article--editorial .na-copy h3 {font-family:'Lato','Open Sans',Arial,sans-serif;}
.nubilo-article--editorial .na-affiliate {max-width:760px;border:1px solid #e5dce6;border-radius:6px;box-shadow:none;background:#faf8fa;padding:22px;}
.nubilo-article--editorial .na-affiliate h3 {font-family:'Lato','Open Sans',Arial,sans-serif;}
.nubilo-article--editorial .na-affiliate-button {border-radius:5px;background:#8d267c;}
.nubilo-article--editorial .na-ad {border-top:1px dashed #e5e6ec;margin-top:15px;}
@media(max-width:800px) {
 .nubilo-article--editorial .na-hero {grid-template-columns:1fr;}
 .nubilo-article--editorial .na-hero-image {grid-column:1;grid-row:1;min-height:250px;max-height:380px;}
 .nubilo-article--editorial .na-hero-inner {grid-column:1;grid-row:2;max-width:none;margin:0;padding:38px 26px 45px;}
 .nubilo-article--editorial .na-hero h1 {font-size:clamp(32px,6vw,47px);}
 .nubilo-article--editorial .na-body {padding:30px 25px 65px;}
}
@media(max-width:700px) {
 .nubilo-article--editorial .na-shell {width:100%;}
 .nubilo-article--editorial .na-body {padding:25px 19px 55px;box-shadow:none;}
 .nubilo-article--editorial .na-meta {justify-content:flex-start;}
 .nubilo-article--editorial .na-synopsis {padding:22px 4px;margin-bottom:18px;text-align:left;}
 .nubilo-article--editorial .na-section {padding:30px 0;}
 .nubilo-article--editorial .na-content-image {width:100%;}
 .nubilo-article--editorial .na-copy {font-size:17px;line-height:1.8;}
}


/* ================================================================
   TEMPLATE 1.4 — THE GUIDE: intentionally distinct, high contrast,
   full-width image masthead, left sticky table of contents, numbered
   sections, full-width photography and graphic product features.
   All selectors scoped to the 1.4 modifier. Shared CSS for 1.2/1.3.
   ================================================================ */
.nubilo-article.nubilo-article--guide {--na-ink:#13283b;--na-muted:#637487;--na-brand:#075e63;--na-accent:#f0b34e;--na-border:#dbe4e8;background:#edf3f4;font-family:Arial,'Open Sans',sans-serif;}
.nubilo-article--guide .na-hero {min-height:600px;align-items:center;background:#082c34;}
.nubilo-article--guide .na-hero-image {filter:saturate(.7);}
.nubilo-article--guide .na-hero-shade {display:block;background:linear-gradient(90deg,rgba(4,31,39,.94) 0%,rgba(4,31,39,.83) 38%,rgba(4,31,39,.18) 100%);}
.nubilo-article--guide .na-hero-inner {width:min(100% - 64px,1240px);padding:125px 0 110px;}
.nubilo-article--guide .na-eyebrow {border:0;border-radius:0;border-left:4px solid #f0b34e;padding:7px 0 7px 16px;color:#f8cb7d;letter-spacing:.19em;font-size:12px;}
.nubilo-article--guide .na-hero h1 {max-width:790px;font-size:clamp(43px,6.3vw,88px);line-height:1.04;letter-spacing:-.055em;font-weight:900;text-transform:none;}
.nubilo-article--guide .na-social {right:30px;top:30px;}
.nubilo-article--guide .na-guide-bar {background:#f0b34e;color:#172e34;}
.nubilo-article--guide .na-guide-bar-inner {max-width:1240px;margin:auto;padding:17px 32px;display:flex;justify-content:space-between;gap:20px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.nubilo-article--guide .na-guide-layout {max-width:1240px;margin:auto;display:grid;grid-template-columns:245px minmax(0,1fr);gap:50px;padding:65px 32px 100px;align-items:start;}
.nubilo-article--guide .na-guide-sidebar {position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;}
.nubilo-article--guide .na-guide-sidebar-inner {border-top:5px solid #075e63;padding-top:20px;}
.nubilo-article--guide .na-guide-sidebar-label {font-size:12px;font-weight:900;letter-spacing:.12em;color:#075e63;}
.nubilo-article--guide .na-guide-sidebar ol {padding:0;margin:19px 0 0;list-style:none;counter-reset:toc;}
.nubilo-article--guide .na-guide-sidebar li {counter-increment:toc;border-bottom:1px solid #d5e1e4;}
.nubilo-article--guide .na-guide-sidebar a {display:flex;gap:10px;padding:13px 0;color:#344c57;font-size:13px;line-height:1.45;text-decoration:none;font-weight:700;}
.nubilo-article--guide .na-guide-sidebar a:before {content:counter(toc,decimal-leading-zero);color:#0a797e;font-weight:900;}
.nubilo-article--guide .na-guide-sidebar a:hover {color:#075e63;}
.nubilo-article--guide .na-shell {width:100%;min-width:0;margin:0;}
.nubilo-article--guide .na-body {max-width:none;margin:0;padding:0;}
.nubilo-article--guide .na-meta {background:#fff;padding:20px 30px;margin:0;border-bottom:1px solid #e3e9eb;font-size:13px;}
.nubilo-article--guide .na-business {background:#fff;margin:0;border-radius:0;border:0;border-bottom:1px solid #e3e9eb;padding:18px 30px;}
.nubilo-article--guide .na-synopsis {margin:0 0 22px;padding:36px 42px;background:#dbece9;border:0;border-radius:0;color:#173b43;font-size:clamp(20px,2.3vw,27px);font-weight:700;line-height:1.55;}
.nubilo-article--guide .na-section {background:#fff;margin:0 0 22px;padding:45px 48px 50px;border:0;border-top:6px solid #075e63;box-shadow:0 10px 24px rgba(13,48,57,.035);scroll-margin-top:24px;}
.nubilo-article--guide .na-guide-section-label {display:inline-block;margin:0 0 12px;color:#08777b;font-size:12px;font-weight:900;letter-spacing:.2em;}
.nubilo-article--guide .na-section h2 {font-size:clamp(28px,3.6vw,45px);font-weight:900;line-height:1.14;letter-spacing:-.045em;color:#123b43;margin-bottom:28px;}
.nubilo-article--guide .na-content-image,.nubilo-article--guide .na-image-right,.nubilo-article--guide .na-image-left {float:none;width:100%;max-width:none;margin:0 0 28px;}
.nubilo-article--guide .na-content-image img {width:100%;max-height:500px;object-fit:cover;border-radius:0;box-shadow:none;}
.nubilo-article--guide .na-copy {font-size:17px;line-height:1.95;color:#324b55;}
.nubilo-article--guide .na-copy a {color:#08777b;}
.nubilo-article--guide .na-copy h3 {color:#123b43;font-weight:900;}
.nubilo-article--guide .na-affiliate {max-width:none;background:#102f39;border:0;border-radius:0;padding:26px;gap:26px;box-shadow:none;margin:0 0 30px;color:#fff;}
.nubilo-article--guide .na-affiliate > img {width:180px;max-height:180px;object-fit:contain;background:#fff;padding:12px;}
.nubilo-article--guide .na-affiliate-kicker {color:#f4c775;}
.nubilo-article--guide .na-affiliate h3 {color:#fff;font-size:24px;}
.nubilo-article--guide .na-affiliate-button {background:#f0b34e;color:#152e34!important;border-radius:0;font-weight:900;}
.nubilo-article--guide .na-ad {padding:24px;background:#fff;margin-bottom:22px;}
@media(max-width:1050px){.nubilo-article--guide .na-guide-layout{grid-template-columns:190px minmax(0,1fr);gap:25px;padding:40px 20px 70px;}.nubilo-article--guide .na-section{padding:35px 30px;}}
@media(max-width:780px){.nubilo-article--guide .na-hero{min-height:420px;}.nubilo-article--guide .na-hero-inner{width:calc(100% - 40px);padding:110px 0 60px;}.nubilo-article--guide .na-guide-layout{display:block;padding:20px 16px 60px;}.nubilo-article--guide .na-guide-sidebar{position:static;max-height:none;margin-bottom:20px;background:#fff;padding:18px;}.nubilo-article--guide .na-guide-sidebar ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;}.nubilo-article--guide .na-section{padding:28px 22px;}.nubilo-article--guide .na-synopsis{padding:26px 22px;}.nubilo-article--guide .na-guide-bar-inner{padding:15px 20px;}}
@media(max-width:480px){.nubilo-article--guide .na-hero h1{font-size:40px;}.nubilo-article--guide .na-guide-sidebar ol{grid-template-columns:1fr;}.nubilo-article--guide .na-guide-bar-inner span:last-child{display:none;}.nubilo-article--guide .na-affiliate{flex-direction:column;align-items:stretch;}.nubilo-article--guide .na-affiliate > img{width:100%;}.nubilo-article--guide .na-meta{padding:18px 20px;}}
