/* Indian Palace Journal — v1.8.0 */
body.ipo-journal-page{background:#f4eee6;color:#2b1a12}
.ipo-journal{--paper:#f4eee6;--ink:#2b1a12;--wine:#5b211d;--gold:#bd9560;--cream:#fffaf3;--muted:#78675d;font-family:var(--ipo-sans,Arial,sans-serif);overflow:hidden}
.ipo-journal *{box-sizing:border-box}.ipo-journal a{text-decoration:none}
.ipo-journal__hero{position:relative;min-height:58vh;display:grid;place-items:end start;padding:clamp(100px,14vw,170px) max(22px,calc((100vw - 1220px)/2)) 64px;color:#fff;background:linear-gradient(90deg,rgba(25,12,8,.76),rgba(25,12,8,.18)),url('blog/pool-courtyard.webp') center 55%/cover no-repeat}
.ipo-journal__hero:after{content:"";position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(transparent,var(--paper))}
.ipo-journal__hero-inner{position:relative;z-index:2;max-width:840px}.ipo-journal__kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;color:#f0d59f}.ipo-journal__hero h1{margin:14px 0 14px;font:500 clamp(3rem,7vw,7rem)/.92 var(--ipo-serif,Georgia,serif);letter-spacing:-.035em;color:#fffaf2}.ipo-journal__hero p{max-width:700px;margin:0;font-size:clamp(15px,1.55vw,19px);line-height:1.7;color:rgba(255,250,242,.9)}
.ipo-journal__langs{display:flex;gap:8px;margin-top:22px}.ipo-journal__langs a{display:grid;place-items:center;width:42px;height:36px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:rgba(20,10,7,.24);font-size:19px;backdrop-filter:blur(8px);transition:.3s}.ipo-journal__langs a:hover,.ipo-journal__langs a[aria-current="page"]{transform:translateY(-2px);background:#fff;color:#21130d;border-color:#fff}
.ipo-journal__wrap{max-width:1220px;margin:auto;padding:44px 22px 90px}.ipo-journal__intro{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;margin-bottom:36px}.ipo-journal__intro h2{font:500 clamp(2.2rem,4vw,4.5rem)/.98 var(--ipo-serif,Georgia,serif);letter-spacing:-.025em;margin:0}.ipo-journal__intro p{margin:0;color:var(--muted);line-height:1.75}
.ipo-journal__filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px}.ipo-journal__filter{border:1px solid rgba(91,33,29,.18);background:rgba(255,255,255,.35);padding:10px 15px;border-radius:999px;font:700 11px/1 var(--ipo-sans,Arial);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:.3s}.ipo-journal__filter:hover,.ipo-journal__filter.is-active{background:var(--wine);color:#fff;border-color:var(--wine)}
.ipo-journal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ipo-journal-card{position:relative;background:rgba(255,250,243,.82);border:1px solid rgba(91,33,29,.09);border-radius:22px;overflow:hidden;box-shadow:0 14px 42px rgba(64,36,24,.07);transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s ease}.ipo-journal-card:hover{transform:translateY(-7px);box-shadow:0 24px 65px rgba(64,36,24,.14)}.ipo-journal-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:#dacbbd}.ipo-journal-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .8s}.ipo-journal-card:hover img{transform:scale(1.055);filter:saturate(1.05)}.ipo-journal-card__body{padding:20px 20px 23px}.ipo-journal-card__meta{display:flex;justify-content:space-between;gap:12px;color:#9a7755;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.ipo-journal-card h2{margin:10px 0 10px;font:500 clamp(1.45rem,2vw,2.05rem)/1.08 var(--ipo-serif,Georgia,serif);color:var(--ink)}.ipo-journal-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.65}.ipo-journal-card__read{display:inline-flex;gap:10px;align-items:center;margin-top:17px;color:var(--wine);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.ipo-journal-card__read:after{content:"→";transition:transform .3s}.ipo-journal-card:hover .ipo-journal-card__read:after{transform:translateX(5px)}
.ipo-journal__empty{display:none;padding:30px;color:var(--muted)}
.ipo-article{max-width:1180px;margin:auto;padding:120px 22px 90px}.ipo-article__crumbs{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#8a715f;margin-bottom:26px}.ipo-article__crumbs a{color:var(--wine)}.ipo-article__head{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}.ipo-article__head h1{font:500 clamp(3rem,6vw,6.4rem)/.94 var(--ipo-serif,Georgia,serif);letter-spacing:-.04em;margin:10px 0 18px}.ipo-article__lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:720px}.ipo-article__image{border-radius:28px;overflow:hidden;box-shadow:0 25px 70px rgba(48,27,18,.18)}.ipo-article__image img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.ipo-article__body{max-width:820px;margin:70px auto 0;font-family:Georgia,serif;font-size:18px;line-height:1.85;color:#413028}.ipo-article__body h2{font:500 clamp(2rem,3.6vw,3.5rem)/1.05 var(--ipo-serif,Georgia,serif);margin:58px 0 18px;color:var(--ink)}.ipo-article__body p{margin:0 0 24px}.ipo-article__tip{margin:40px 0;padding:28px 30px;border-left:3px solid var(--gold);background:#fff8ef;border-radius:0 18px 18px 0;font-family:var(--ipo-sans,Arial);font-size:15px;line-height:1.75}.ipo-article__faq{margin-top:65px;padding-top:45px;border-top:1px solid rgba(91,33,29,.14)}.ipo-article__faq h2{margin-top:0}.ipo-article__faq details{border-bottom:1px solid rgba(91,33,29,.13);padding:17px 0}.ipo-article__faq summary{cursor:pointer;font-family:var(--ipo-sans,Arial);font-weight:800;color:var(--ink)}.ipo-article__faq details p{margin:12px 0 4px;font-family:var(--ipo-sans,Arial);font-size:14px;color:var(--muted)}.ipo-article__cta{margin-top:62px;padding:34px;border-radius:24px;background:linear-gradient(135deg,#3b1c17,#6a2b23);color:#fff}.ipo-article__cta h2{color:#fff;margin:0 0 12px}.ipo-article__cta p{color:rgba(255,255,255,.82);font-family:var(--ipo-sans,Arial);font-size:14px}.ipo-article__cta a{display:inline-flex;margin-top:10px;padding:13px 18px;border:1px solid rgba(255,255,255,.36);border-radius:999px;color:#fff;font:800 11px var(--ipo-sans,Arial);text-transform:uppercase;letter-spacing:.09em}.ipo-article__cta a:hover{background:#fff;color:#421f18}
.ipo-journal-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.ipo-journal-reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.ipo-journal-reveal{opacity:1!important;transform:none!important;transition:none!important}.ipo-journal-card,.ipo-journal-card img{transition:none!important}}
@media(max-width:900px){.ipo-journal__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ipo-journal__intro,.ipo-article__head{grid-template-columns:1fr}.ipo-article__image{max-width:640px}.ipo-article__image img{aspect-ratio:16/10}}
@media(max-width:620px){.ipo-journal__hero{min-height:520px;padding-bottom:52px}.ipo-journal__grid{grid-template-columns:1fr}.ipo-journal__wrap{padding:34px 18px 70px}.ipo-journal__intro{gap:15px}.ipo-article{padding:95px 18px 70px}.ipo-article__body{font-size:17px;line-height:1.78}.ipo-article__head{gap:24px}.ipo-article__head h1{font-size:clamp(2.7rem,13vw,4.5rem)}}

/* 1.9.0 — editorial growth + conversion */
.ipo-article__meta{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0 2px;color:#8c735f;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ipo-featured{margin:34px 0 44px;padding:34px;border-radius:28px;background:linear-gradient(135deg,#2f1a15,#5c2821);color:#fff;box-shadow:0 25px 70px rgba(55,30,20,.13)}.ipo-featured__head{max-width:780px;margin-bottom:25px}.ipo-featured__head h2{font:500 clamp(2rem,3.4vw,3.5rem)/1 var(--ipo-serif,Georgia,serif);margin:9px 0 10px;color:#fff}.ipo-featured__head p{margin:0;color:rgba(255,255,255,.75);line-height:1.7}.ipo-featured__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ipo-featured__grid>a{position:relative;min-height:270px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:18px;color:#fff;background:#291711}.ipo-featured__grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.56;transition:transform .8s ease,opacity .5s}.ipo-featured__grid>a:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(20,10,7,.88))}.ipo-featured__grid span,.ipo-featured__grid strong,.ipo-featured__grid em{position:relative;z-index:2}.ipo-featured__grid span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#f0d59f;font-weight:800}.ipo-featured__grid strong{font:500 1.55rem/1.08 var(--ipo-serif,Georgia,serif);margin-top:8px}.ipo-featured__grid em{font-style:normal;margin-top:15px}.ipo-featured__grid>a:hover img{transform:scale(1.055);opacity:.68}
.ipo-journal-convert{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center;margin:0 0 38px;padding:28px 32px;border:1px solid rgba(91,33,29,.12);border-radius:24px;background:#fffaf3}.ipo-journal-convert h2{font:500 clamp(1.8rem,3vw,3rem)/1 var(--ipo-serif,Georgia,serif);margin:7px 0 9px}.ipo-journal-convert p{margin:0;color:var(--muted);line-height:1.65}.ipo-journal-convert__actions,.ipo-growth-inline__actions,.ipo-article__cta-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.ipo-journal-convert__actions a,.ipo-growth-inline__actions a,.ipo-article__cta-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 17px;border:1px solid rgba(91,33,29,.23);border-radius:999px;color:var(--wine);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transition:.3s}.ipo-journal-convert__actions a.is-primary,.ipo-growth-inline__actions a.is-primary{background:var(--wine);color:#fff;border-color:var(--wine)}.ipo-journal-convert__actions a:hover,.ipo-growth-inline__actions a:hover{transform:translateY(-2px);box-shadow:0 9px 25px rgba(91,33,29,.11)}
.ipo-growth-inline{margin:38px 0;padding:25px 27px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;border-radius:22px;background:linear-gradient(110deg,#fff8ef,#f1e6d8);font-family:var(--ipo-sans,Arial)}.ipo-growth-inline span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#9a7755;font-weight:900;margin-bottom:6px}.ipo-growth-inline strong{display:block;font:500 1.65rem/1.1 var(--ipo-serif,Georgia,serif)}.ipo-growth-inline p{font-family:var(--ipo-sans,Arial);font-size:13px;line-height:1.65;margin:8px 0 0;color:var(--muted);max-width:620px}
.ipo-related{margin-top:64px;padding-top:38px;border-top:1px solid rgba(91,33,29,.14)}.ipo-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.ipo-related__grid>a{min-height:155px;padding:20px;border-radius:18px;background:#fffaf3;border:1px solid rgba(91,33,29,.1);display:flex;flex-direction:column;color:var(--ink);transition:.35s}.ipo-related__grid span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#9a7755;font-weight:900}.ipo-related__grid strong{font:500 1.35rem/1.08 var(--ipo-serif,Georgia,serif);margin-top:9px}.ipo-related__grid em{font-style:normal;margin-top:auto;color:var(--wine)}.ipo-related__grid>a:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(64,36,24,.09)}
.ipo-article__cta-actions{justify-content:flex-start}.ipo-article__cta-actions a{color:#fff;border-color:rgba(255,255,255,.36);margin-top:10px}.ipo-article__cta-actions a:first-child{background:#fff;color:#421f18;border-color:#fff}
@media(max-width:900px){.ipo-featured__grid,.ipo-related__grid{grid-template-columns:1fr 1fr}.ipo-journal-convert,.ipo-growth-inline{grid-template-columns:1fr}.ipo-journal-convert__actions,.ipo-growth-inline__actions{justify-content:flex-start}}
@media(max-width:620px){.ipo-featured{padding:24px 18px;border-radius:22px}.ipo-featured__grid,.ipo-related__grid{grid-template-columns:1fr}.ipo-featured__grid>a{min-height:230px}.ipo-journal-convert{padding:23px 20px}.ipo-journal-convert__actions a,.ipo-growth-inline__actions a,.ipo-article__cta-actions a{width:100%}}
\n\n/* 2.0.0 — Marrakech editorial atlas */\n.ipo-atlas{margin:8px 0 38px;padding:30px;border-radius:28px;background:linear-gradient(125deg,#fffaf3,#eee0d0);border:1px solid rgba(91,33,29,.1);position:relative;overflow:hidden}.ipo-atlas:before{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(189,149,96,.25);border-radius:50%;right:-110px;top:-130px}.ipo-atlas__head{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:end;margin-bottom:22px}.ipo-atlas__head h2{font:500 clamp(2rem,3.5vw,3.7rem)/1 var(--ipo-serif,Georgia,serif);margin:6px 0 0}.ipo-atlas__head p{margin:0;color:var(--muted);line-height:1.7}.ipo-atlas__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ipo-atlas__grid>a{min-height:126px;padding:16px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(91,33,29,.08);display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:12px;color:var(--ink);transition:transform .35s ease,background .35s ease,box-shadow .35s ease}.ipo-atlas__grid b{font:500 1.55rem/1 var(--ipo-serif,Georgia,serif);color:var(--gold)}.ipo-atlas__grid span{font:800 11px/1.2 var(--ipo-sans,Arial);text-transform:uppercase;letter-spacing:.07em}.ipo-atlas__grid em{font-style:normal;color:var(--wine)}.ipo-atlas__grid>a:hover{transform:translateY(-4px);background:#fff;box-shadow:0 18px 40px rgba(64,36,24,.09)}\n.ipo-journal-card:nth-child(7n+1){grid-column:span 2}.ipo-journal-card:nth-child(7n+1) .ipo-journal-card__media{aspect-ratio:16/8.4}.ipo-journal-card:nth-child(7n+1) .ipo-journal-card__body{padding:25px}.ipo-journal-card:nth-child(7n+1) h2{font-size:clamp(1.8rem,2.7vw,2.65rem)}\n@media(max-width:900px){.ipo-atlas__head{grid-template-columns:1fr}.ipo-atlas__grid{grid-template-columns:repeat(2,1fr)}.ipo-journal-card:nth-child(7n+1){grid-column:span 2}}\n@media(max-width:620px){.ipo-atlas{padding:22px 16px}.ipo-atlas__grid{grid-template-columns:1fr 1fr}.ipo-atlas__grid>a{min-height:104px;padding:13px;grid-template-columns:1fr auto}.ipo-atlas__grid b{grid-column:1/-1}.ipo-journal-card:nth-child(7n+1){grid-column:span 1}.ipo-journal-card:nth-child(7n+1) .ipo-journal-card__media{aspect-ratio:4/3}}\n