/* Ipoteco 5.4.1 — editorial-only atmosphere. Elementor pages stay unchanged. */
.ipx-editorial-chrome{display:flex;justify-content:center;align-items:flex-start;width:100%;overflow:visible;background:#fff;position:relative;z-index:30}
.ipx-editorial-chrome>.ipo-app{flex-shrink:0;max-width:100%}
.ipx-editorial-chrome[data-ipx-editorial-chrome="footer"]{z-index:2;background:#eaf8f4}
.ipx-editorial-chrome .ipo-header,.ipx-editorial-chrome .ipo-footer{position:relative}
.ipx-editorial,.ipx-library{font-family:"Lora",Georgia,serif}
.ipx-editorial{--ed-navy:#102443;--ed-green:#008a59;--ed-line:#e0ebe8;--ed-muted:#5b7185;color:var(--ed-navy);background:#fff;overflow:clip}
.ipx-editorial *{box-sizing:border-box}
.ipx-editorial a{color:inherit;text-decoration:none}
.ipx-editorial button{font:inherit}
.ipx-editorial-container{width:min(1200px,calc(100% - 64px));margin:0 auto}
.ipx-article-page{position:relative;isolation:isolate}
.ipx-article-page .ipx-article-ambient{position:absolute;pointer-events:none;z-index:-1;inset:0 0 auto;height:800px;overflow:hidden}
.ipx-article-ambient span{position:absolute;width:550px;height:550px;border-radius:50%;filter:blur(2px);background:radial-gradient(circle,#a7e9cb62,transparent 70%);animation:ipx-ed-float 19s ease-in-out infinite alternate}
.ipx-article-ambient span:first-child{top:-180px;right:-200px}
.ipx-article-ambient span:last-child{top:240px;left:-340px;width:680px;height:680px;opacity:.52;animation-duration:25s;animation-direction:alternate-reverse}
@keyframes ipx-ed-float{0%{transform:translate3d(-12px,0,0)}100%{transform:translate3d(40px,45px,0)}}
.ipx-article-progress{position:fixed;top:0;left:0;width:100%;height:4px;z-index:99999;pointer-events:none;background:transparent}
.ipx-article-progress>span{display:block;width:0;height:100%;background:linear-gradient(90deg,#00794d,#0bdba0);transition:width .1s linear;box-shadow:0 1px 9px #009e6860}
.ipx-article-head-wrap{background:radial-gradient(circle at 85% -2%,#cbf0e144,transparent 39%),linear-gradient(140deg,#fff 8%,#fbfffd 63%,#f4fbf7 100%);border-bottom:1px solid #e3f0eb;padding:26px 0 86px}
.ipx-article-crumb{display:flex;gap:11px;align-items:center;flex-wrap:wrap;color:#74879a;font-size:13px;margin:7px 0 72px;line-height:1.6}
.ipx-article-crumb a{color:#52718a}.ipx-article-crumb a:hover{color:#008454}
.ipx-article-hero{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:clamp(26px,4vw,68px)}
.ipx-article-hero-copy{min-width:0}
.ipx-article-eyebrow,.ipx-article-kicker{color:#008154;letter-spacing:.16em;font-size:11px;font-weight:800;line-height:1.5;text-transform:uppercase}
.ipx-article-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.ipx-article-eyebrow span{width:25px;height:4px;background:linear-gradient(90deg,#007b4e,#2bdd9f);border-radius:3px}
.ipx-article-hero h1{font-size:clamp(39px,4.1vw,66px);letter-spacing:-.055em;line-height:1.14;font-weight:800;margin:0 0 22px;color:#102140;max-width:720px}
.ipx-article-deck{color:#527189;font-size:clamp(16px,1.45vw,19px);line-height:1.72;max-width:640px;margin:0 0 28px}
.ipx-article-byline{display:flex;align-items:center;gap:12px;color:#18334b}
.ipx-article-avatar{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;font-size:23px;color:#007e55;background:linear-gradient(130deg,#e4f8ed,#c8f3e0);font-weight:800;border:1px solid #c5e8d9}
.ipx-article-byline strong,.ipx-article-byline small{display:block}
.ipx-article-byline strong{font-size:13px}
.ipx-article-byline small{font-size:12px;color:#72889c;margin-top:4px}
.ipx-article-hero-art{position:relative;border-radius:24px;min-height:380px;aspect-ratio:1.22;overflow:visible;box-shadow:0 24px 50px rgba(12,48,59,.13);background:#edf8f1}
.ipx-article-hero-art>img,.ipx-article-hero-fallback{display:block;width:100%;height:100%;min-height:380px;object-fit:cover;border-radius:24px;overflow:hidden}
.ipx-article-hero-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#e1f6ec,#cae6df);color:#0f855d}
.ipx-article-hero-fallback svg{width:160px;height:160px;opacity:.35}
.ipx-article-hero-note{position:absolute;bottom:-22px;right:-10px;padding:15px 22px;border-radius:17px;background:#ffffffec;backdrop-filter:blur(14px);box-shadow:0 12px 25px rgba(0,63,50,.12);font-size:13px;line-height:1.35;font-style:italic;color:#2e5165;max-width:220px;transform:rotate(-3deg)}
.ipx-article-hero-note span{color:#04a66f;font-size:18px}
.ipx-article-scroll-hint{color:#75938d;font-size:13px;letter-spacing:.01em;margin:58px 0 -35px}
.ipx-article-scroll-hint span{color:#00865b;margin-right:8px;font-size:20px}
.ipx-article-content-layout{display:grid;grid-template-columns:244px minmax(0,1fr);gap:clamp(48px,5vw,90px);padding:80px 0 110px;max-width:1110px}
.ipx-article-aside{min-width:0;align-self:start;position:sticky;top:32px}
.ipx-article-toc-card{padding:24px 19px 18px;border:1px solid #deebe5;border-radius:19px;background:linear-gradient(155deg,#fff,#f6fbf8);box-shadow:0 10px 25px rgba(16,60,43,.045)}
.ipx-article-toc-card h2{font-size:20px;margin:8px 0 16px;line-height:1.25;letter-spacing:-.025em}
.ipx-article-toc-card ol{margin:0;padding:0;list-style:none;display:grid;gap:0}
.ipx-article-toc-card li{border-top:1px solid #e9f1ed;margin:0;padding:10px 0;font-size:12.8px;line-height:1.5;color:#587188}
.ipx-article-toc-card li a{display:block}.ipx-article-toc-card li a:hover,.ipx-article-toc-card li a.is-current{color:#007e50}
.ipx-article-toc-footer{margin-top:8px;color:#008656;font-size:11.5px;font-weight:700;display:flex;justify-content:space-between}
.ipx-article-aside-link{margin-top:13px;display:flex;justify-content:space-between;gap:10px;background:#e7f8ef;border-radius:13px;padding:14px;color:#00754e!important;font-size:12.5px;line-height:1.4;font-weight:800}
.ipx-article-aside-link:hover{background:#d5f3e4}
.ipx-article-content{min-width:0}
.ipx-article-prose{font-size:17px;line-height:1.88;color:#324c63;overflow-wrap:anywhere}
.ipx-article-prose .ipx-article-lede{font-size:21px;color:#213c55;font-weight:500;line-height:1.77;margin:0 0 40px}
.ipx-article-prose h2{font-size:clamp(25px,2.4vw,34px);line-height:1.27;color:#122b48;letter-spacing:-.035em;font-weight:800;margin:52px 0 18px;scroll-margin-top:35px}
.ipx-article-prose h3{font-size:21px;line-height:1.35;color:#173a52;margin:27px 0 11px;scroll-margin-top:35px}
.ipx-article-prose p{margin:0 0 22px}
.ipx-article-prose ul,.ipx-article-prose ol{margin:0 0 27px;padding-left:25px}
.ipx-article-prose li{padding-left:5px;margin:0 0 11px}
.ipx-article-prose li::marker{color:#009866}
.ipx-article-prose strong{color:#17354d}
.ipx-article-prose a{color:#007d52;text-decoration:underline;text-decoration-color:#a9dcc2;text-underline-offset:3px}
.ipx-article-prose a:hover{color:#006b42}
.ipx-article-prose .ipx-article-callout{border-left:4px solid #05af79;background:linear-gradient(105deg,#edf9f2,#f8fcfa);padding:25px 26px;border-radius:0 15px 15px 0;font-size:16px;line-height:1.75;margin:36px 0 40px;color:#36516a}
.ipx-article-compare{border-collapse:separate;border-spacing:0;border:1px solid #deebe6;width:100%;overflow:hidden;border-radius:12px;margin:24px 0 34px;font-size:14px;line-height:1.6}
.ipx-article-compare th,.ipx-article-compare td{text-align:left;vertical-align:top;padding:13px 16px;border-bottom:1px solid #e6eee9}
.ipx-article-compare th{background:#eaf7ef;color:#194635;font-weight:800}
.ipx-article-compare tr:last-child td{border-bottom:0}
.ipx-article-editorial-note{display:flex;gap:14px;align-items:flex-start;background:#f5f8f9;border:1px solid #e5eef0;border-radius:15px;padding:18px 21px;margin:42px 0 60px;color:#587387;font-size:12.8px;line-height:1.7}
.ipx-article-editorial-note p{margin:0}.ipx-article-editorial-note strong{color:#1d4358}
.ipx-article-note-icon{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;background:#def2e8;color:#00865d;font-size:16px;font-weight:800}
.ipx-article-share{position:relative;background:linear-gradient(135deg,#ebf9f1 5%,#f6fbf8 100%);padding:30px 31px;border:1px solid #d8eede;border-radius:22px;box-shadow:0 11px 28px rgba(14,85,56,.055)}
.ipx-article-share h2{font-size:clamp(23px,2.5vw,32px);letter-spacing:-.035em;line-height:1.2;margin:8px 0 10px}
.ipx-article-share p{color:#628077;font-size:14px;margin:0 0 23px;line-height:1.5}
.ipx-article-share-actions{display:flex;gap:9px;flex-wrap:wrap}
.ipx-article-share-actions a,.ipx-article-share-actions button{background:#fff;border:1px solid #cbe7d9;color:#1a5440;cursor:pointer;border-radius:12px;padding:11px 13px;font-size:13px;font-weight:800;display:inline-flex;gap:8px;align-items:center;justify-content:center;transition:transform .18s,box-shadow .18s}
.ipx-article-share-actions a:hover,.ipx-article-share-actions button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #006d481e}
.ipx-article-share-actions .ipx-article-share-wa{background:#008958;color:#fff;border-color:#008958}
.ipx-article-share .ipx-article-share-status{margin:10px 0 0;min-height:0;color:#147350;font-size:12px}
.ipx-article-more{background:linear-gradient(120deg,#fbfffd,#f0f9f5);border-top:1px solid #e2f0e9;padding:78px 0 90px}
.ipx-article-more-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.ipx-article-more-head h2{font-size:clamp(29px,3.4vw,40px);letter-spacing:-.043em;margin:6px 0 0}
.ipx-article-more-head>a{font-size:13px;font-weight:800;color:#007c51;white-space:nowrap}
.ipx-article-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ipx-article-related-card{border:1px solid #e0eee8;background:#fff;min-width:0;overflow:hidden;display:flex;flex-direction:column;border-radius:17px;padding:0 0 18px;box-shadow:0 10px 25px #194f3210;transition:transform .22s,box-shadow .22s}
.ipx-article-related-card:hover{transform:translateY(-4px);box-shadow:0 20px 38px #194f3220}
.ipx-article-related-image{display:block;width:100%;aspect-ratio:16/9;background:#e4f4e9;overflow:hidden;margin-bottom:15px}
.ipx-article-related-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ipx-article-related-card:hover img{transform:scale(1.045)}
.ipx-article-related-label{color:#007d52;font-size:11px;font-weight:800;margin:0 18px 9px;letter-spacing:.04em}
.ipx-article-related-card strong{font-size:18px;line-height:1.4;letter-spacing:-.02em;margin:0 18px 16px;color:#1a3650}
.ipx-article-related-read{margin:auto 18px 0;padding-top:12px;border-top:1px solid #e7efea;color:#008358;font-size:12px;font-weight:800}
.ipx-article-related-fallback{height:100%;display:grid;place-items:center;font-size:70px;color:#a6dbc5}
.ipx-article-related-empty{grid-column:1/-1;font-size:15px;color:#69827a}
.ipx-article-final{background:linear-gradient(110deg,#e2f5eb,#effaf6);padding:48px 0;border-top:1px solid #d7ede1}
.ipx-article-final-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.ipx-article-final h2{font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-.035em;max-width:680px;margin:8px 0 0}
.ipx-article-final a{display:inline-flex;align-items:center;gap:14px;padding:16px 23px;border-radius:13px;background:#008954;color:#fff;font-size:14px;font-weight:800;white-space:nowrap;box-shadow:0 12px 25px #00895434;transition:transform .2s}
.ipx-article-final a:hover{transform:translateY(-2px)}
.ipx-editorial a:focus-visible,.ipx-editorial button:focus-visible{outline:3px solid #04bc81;outline-offset:3px}
/* Blog-only ambient background and reveal effects; never hide SSR content by default. */
.ipx-library .ipx-lib-intro{overflow:hidden}
.ipx-library .ipx-lib-intro::before{content:"";position:absolute;right:17%;top:-190px;width:520px;height:520px;border:1px solid #0ac78a23;border-radius:50%;box-shadow:0 0 0 85px #90e5bb14,0 0 0 178px #7bd6a511;pointer-events:none;animation:ipx-ed-float 26s ease-in-out infinite alternate}
.ipx-library .ipx-lib-grid .ipx-lib-card{transform-origin:center;transition:transform .24s,box-shadow .24s,border-color .24s}
.ipx-library .ipx-lib-grid .ipx-lib-card:hover{border-color:#b3e5d1;transform:translateY(-5px);box-shadow:0 22px 38px #173f331a}
.ipx-library .ipx-lib-chip:focus-visible{outline:3px solid #06bc83;outline-offset:3px}
@media (min-width:1122px){.ipx-editorial-chrome>.ipo-app{max-width:none}}
@media (max-width:1024px){.ipx-editorial-container{width:min(900px,calc(100% - 42px))}.ipx-article-hero{gap:26px}.ipx-article-hero-art{min-height:300px}.ipx-article-hero-art>img,.ipx-article-hero-fallback{min-height:300px}.ipx-article-content-layout{grid-template-columns:200px minmax(0,1fr);gap:36px}.ipx-article-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ipx-article-hero h1{font-size:clamp(34px,4.8vw,52px)}}
@media (max-width:720px){.ipx-editorial-container{width:calc(100% - 32px)}.ipx-article-head-wrap{padding:14px 0 58px}.ipx-article-crumb{margin:10px 0 36px;font-size:12px}.ipx-article-hero{grid-template-columns:1fr;gap:34px}.ipx-article-hero h1{font-size:clamp(32px,8.6vw,48px)}.ipx-article-deck{font-size:16px}.ipx-article-hero-art{min-height:0;aspect-ratio:1.45}.ipx-article-hero-art>img,.ipx-article-hero-fallback{min-height:0;aspect-ratio:1.45}.ipx-article-hero-note{right:9px;bottom:-18px;font-size:11px;padding:11px 15px}.ipx-article-scroll-hint{margin:47px 0 -21px}.ipx-article-content-layout{grid-template-columns:1fr;gap:0;padding:53px 0 76px}.ipx-article-aside{position:static;margin:0 0 35px}.ipx-article-toc-card{padding:20px}.ipx-article-toc-card ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.ipx-article-aside-link{display:none}.ipx-article-prose{font-size:16px;line-height:1.79}.ipx-article-prose .ipx-article-lede{font-size:19px}.ipx-article-prose h2{margin-top:40px}.ipx-article-share{padding:24px 20px}.ipx-article-more{padding:56px 0}.ipx-article-more-grid{grid-template-columns:1fr}.ipx-article-related-card{max-width:none}.ipx-article-final-inner{align-items:flex-start;flex-direction:column}.ipx-article-final a{width:100%;justify-content:center}.ipx-article-more-head{align-items:flex-start;flex-direction:column;gap:10px}}
@media (max-width:370px){.ipx-article-toc-card ol{grid-template-columns:1fr}.ipx-article-share-actions a,.ipx-article-share-actions button{flex:1 1 42%;text-align:center}}
@media(prefers-reduced-motion:reduce){.ipx-article-ambient span,.ipx-library .ipx-lib-intro::before{animation:none!important}.ipx-library .ipx-lib-card,.ipx-article-related-card,.ipx-article-share-actions a,.ipx-article-share-actions button{transition:none!important}}
