/* Soin de Beauté blog. Uses the site's own palette: dark #2B221B, cream #F8F3EA, gold #DDB24E, terracotta #B8452E, turquoise #04E4D8. */
:root{--dark:#2B221B;--cream:#F8F3EA;--sand:#E9DDC9;--gold:#DDB24E;--terra:#B8452E;--turq:#04E4D8}
.bl{color:var(--dark);font-family:inherit}
.bl *{box-sizing:border-box}
.bl a{color:inherit}
.bl img{max-width:100%;display:block}

/* ---------- hero band (sits under the site's transparent header) ---------- */
.bl-hero{background:var(--turq);padding:132px 20px 56px;text-align:center}
.bl-hero-in{max-width:780px;margin:0 auto}
.bl-back,.bl-crumbs{display:inline-block;font-size:13px;letter-spacing:.04em;color:rgba(43,34,27,.85);text-decoration:none}
.bl-back:hover,.bl-crumbs a:hover{text-decoration:underline}
.bl-crumbs a{text-decoration:none}
.bl-eyebrow{margin:26px 0 0;font-size:12px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--dark)}
.bl-hero h1{margin:14px 0 0;font-weight:400;font-size:clamp(34px,5.2vw,58px);line-height:1.08;color:var(--dark)}
.bl-sub{margin:20px auto 0;max-width:640px;font-size:clamp(16px,1.6vw,19px);line-height:1.6;color:rgba(43,34,27,.9)}
.bl-byline{margin:22px 0 0;font-size:13px;letter-spacing:.06em;color:rgba(43,34,27,.85)}
.bl-wave{display:block;width:64px;margin:24px auto 0;color:var(--dark)}
.bl-search{position:relative;max-width:560px;margin:34px auto 0;background:#2B221B;border:1px solid #DDB24E;box-shadow:0 18px 36px -18px rgba(43,34,27,.7);transition:box-shadow .25s}
.bl-search::after{content:"";position:absolute;inset:4px;border:1px solid rgba(221,178,78,.32);pointer-events:none;transition:border-color .25s}
.bl-search:focus-within{box-shadow:0 18px 36px -18px rgba(43,34,27,.7),0 0 0 4px rgba(248,243,234,.6)}
.bl-search:focus-within::after{border-color:rgba(221,178,78,.8)}
.bl-search input{display:block;width:100%;height:62px;padding:0 20px 0 62px;border:0;background:transparent;font:inherit;font-size:15px;letter-spacing:.03em;color:#F8F3EA;outline:none;-webkit-appearance:none;appearance:none;position:relative;z-index:1}
.bl-search input::placeholder{color:rgba(248,243,234,.62);opacity:1}
.bl-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;height:16px;width:16px;margin-left:8px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DDB24E' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/16px no-repeat}
.bl-search svg{position:absolute;left:24px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:#DDB24E;pointer-events:none;z-index:1}
@media(max-width:600px){.bl-search{margin-top:28px}.bl-search input{height:56px;padding-left:54px;font-size:14.5px}.bl-search svg{left:20px}}
.bl-pill{display:inline-block;margin-top:26px;padding:6px 12px;background:var(--dark);color:var(--cream);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}

/* ---------- page body ---------- */
.bl-body{background:var(--cream);padding:0 20px 80px}
.bl-wrap{max-width:1152px;margin:0 auto}
.bl-banner{position:relative;margin:-1px 0 0;transform:translateY(-28px)}
.bl-banner-frame{position:relative;overflow:hidden;background:var(--dark);aspect-ratio:21/9;box-shadow:0 34px 60px -34px rgba(43,34,27,.6)}
.bl-banner-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bl-banner-frame::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(43,34,27,0) 60%,rgba(43,34,27,.3)),rgba(221,178,78,.06)}
.bl-banner-frame::after{content:"";position:absolute;inset:10px;z-index:2;pointer-events:none;border:1px solid rgba(221,178,78,.75)}
.bl-credit{display:block;margin-top:10px;text-align:right;font-size:12px;color:rgba(43,34,27,.7)}
.bl-layout{display:grid;gap:40px;grid-template-columns:minmax(0,1fr);margin-top:8px}
@media(min-width:960px){.bl-layout{grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}.bl-sticky{position:sticky;top:104px}}

/* ---------- cards ---------- */
.bl-cat{display:inline-block;padding:6px 11px;background:var(--sand);color:var(--dark);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.bl-meta{font-size:13px;color:rgba(43,34,27,.72)}
.bl-feature,.bl-card{display:grid;background:#fff;border:1px solid rgba(43,34,27,.12);text-decoration:none;color:inherit;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.bl-feature:hover,.bl-card:hover{transform:translateY(-3px);box-shadow:0 26px 44px -28px rgba(43,34,27,.5)}
.bl-feature{grid-template-columns:1fr}
.bl-feature-img,.bl-card-img{position:relative;overflow:hidden;background:var(--dark);aspect-ratio:3/2}
.bl-feature-img img,.bl-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.bl-feature:hover img,.bl-card:hover img{transform:scale(1.04)}
.bl-feature-img::after,.bl-card-img::after{content:"";position:absolute;inset:8px;z-index:2;pointer-events:none;border:1px solid rgba(221,178,78,.7)}
.bl-feature-body,.bl-card-body{padding:26px 26px 28px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.bl-feature-body h2{margin:0;font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:1.2}
.bl-card-body h3{margin:0;font-weight:500;font-size:21px;line-height:1.25}
.bl-excerpt{margin:0;font-size:15.5px;line-height:1.6;color:rgba(43,34,27,.88)}
.bl-more{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--terra)}
.bl-feat-label{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--terra)}
@media(min-width:760px){.bl-feature{grid-template-columns:5fr 6fr}.bl-feature-img{aspect-ratio:auto;min-height:100%}}
.bl-grid{display:grid;gap:24px;grid-template-columns:1fr;margin-top:24px}
@media(min-width:640px){.bl-grid{grid-template-columns:1fr 1fr}}
.bl-soon{grid-column:1/-1;padding:28px;border:1px dashed rgba(43,34,27,.3);display:flex;flex-direction:column;gap:10px;justify-content:center;background:rgba(255,255,255,.5)}
.bl-soon h3{margin:0;font-weight:500;font-size:20px}
.bl-empty{display:none;margin-top:24px;padding:28px;background:#fff;border:1px solid rgba(43,34,27,.12);font-size:15px}

/* ---------- sidebar ---------- */
.bl-box{background:#fff;border:1px solid rgba(43,34,27,.12);padding:24px;margin-bottom:24px}
.bl-box h4{margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.bl-cats{list-style:none;margin:0;padding:0}
.bl-cats li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(43,34,27,.12);font-size:15px}
.bl-cats li:first-child{border-top:0;padding-top:0}
.bl-cats .on{color:var(--terra);font-weight:600}
.bl-cats .n{color:rgba(43,34,27,.6)}
.bl-recent{display:grid;grid-template-columns:72px 1fr;gap:14px;text-decoration:none;color:inherit;padding:14px 0;border-top:1px solid rgba(43,34,27,.12)}
.bl-recent:first-of-type{border-top:0;padding-top:0}
.bl-recent img{width:72px;height:72px;object-fit:cover}
.bl-recent b{display:block;font-weight:600;font-size:14.5px;line-height:1.35}
.bl-recent span{display:block;margin-top:5px;font-size:12px;color:rgba(43,34,27,.7)}
.bl-offer{background:var(--dark);color:var(--cream);border:1px solid rgba(221,178,78,.5);padding:26px;margin-bottom:24px;position:relative}
.bl-offer::after{content:"";position:absolute;inset:7px;border:1px solid rgba(221,178,78,.3);pointer-events:none}
.bl-offer .k{margin:0;font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--turq)}
.bl-offer h4{margin:12px 0 0;font-size:21px;font-weight:500;line-height:1.25;text-transform:none;letter-spacing:0;color:var(--cream)}
.bl-offer p{margin:12px 0 0;font-size:14.5px;line-height:1.6;color:rgba(248,243,234,.88)}
.bl-btn{display:inline-block;margin-top:18px;padding:14px 22px;background:var(--terra);color:var(--cream)!important;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;transition:background .25s}
.bl-btn:hover{background:#9c3a26}
.bl-btn--ghost{background:transparent;border:1px solid rgba(43,34,27,.4);color:var(--dark)!important}
.bl-btn--ghost:hover{background:var(--dark);color:var(--cream)!important}
.bl-share{display:flex;gap:10px;flex-wrap:wrap}
.bl-share a,.bl-share button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:0;background:var(--dark);color:var(--cream);cursor:pointer;transition:background .25s}
.bl-share a:hover,.bl-share button:hover{background:var(--terra)}
.bl-share svg{width:17px;height:17px}
.bl-share .tip{font-size:12px;color:var(--terra);align-self:center;display:none}

/* ---------- article ---------- */
.bl-article{max-width:740px;font-size:17.5px;line-height:1.75;color:rgba(43,34,27,.94)}
.bl-article p{margin:0 0 20px}
.bl-article h2{margin:48px 0 16px;font-weight:500;font-size:clamp(25px,3vw,32px);line-height:1.2;color:var(--dark)}
.bl-article h2::after{content:"";display:block;width:44px;height:2px;margin-top:14px;background:var(--gold)}
.bl-article h3{margin:30px 0 10px;font-weight:600;font-size:20px}
.bl-article ul,.bl-article ol{margin:0 0 22px;padding-left:22px}
.bl-article li{margin:0 0 10px}
.bl-article a{color:var(--terra);text-underline-offset:3px}
.bl-article a:hover{color:var(--dark)}
.bl-lead{font-size:20px;line-height:1.65;color:var(--dark)}
.bl-fig{margin:34px 0}
.bl-fig-frame{position:relative;overflow:hidden;background:var(--dark);box-shadow:0 30px 50px -32px rgba(43,34,27,.6)}
.bl-fig-frame img{width:100%;height:auto}
.bl-fig-frame::after{content:"";position:absolute;inset:9px;pointer-events:none;border:1px solid rgba(221,178,78,.75)}
.bl-fig--narrow{max-width:420px;margin-left:auto;margin-right:auto}
.bl-fig figcaption{margin-top:12px;font-size:13.5px;line-height:1.5;color:rgba(43,34,27,.72)}
.bl-table-wrap{overflow-x:auto;margin:26px 0;border:1px solid rgba(43,34,27,.14);background:#fff}
.bl-table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5;min-width:520px}
.bl-table th{text-align:left;padding:14px 18px;background:var(--dark);color:var(--cream);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.bl-table td{padding:15px 18px;border-top:1px solid rgba(43,34,27,.12);vertical-align:top}
.bl-table td:first-child{font-weight:600}
.bl-callout{margin:28px 0;padding:20px 22px;background:var(--sand);border-left:3px solid var(--gold);font-size:16.5px;line-height:1.65}
.bl-callout b{display:block;margin-bottom:4px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra)}
.bl-prices{display:inline-block;padding:3px 10px;background:var(--sand);font-size:14.5px;font-weight:600;white-space:nowrap}
.bl-faq details{border-top:1px solid rgba(43,34,27,.18);padding:4px 0}
.bl-faq details:last-of-type{border-bottom:1px solid rgba(43,34,27,.18)}
.bl-faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;font-weight:600;font-size:17px;line-height:1.4;position:relative}
.bl-faq summary::-webkit-details-marker{display:none}
.bl-faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:300;color:var(--terra)}
.bl-faq details[open] summary::after{content:"\2212"}
.bl-faq details p{margin:0 0 18px;font-size:16.5px;line-height:1.7}
.bl-end{margin:52px 0 0;padding:34px;background:var(--dark);color:var(--cream);border:1px solid rgba(221,178,78,.5);position:relative}
.bl-end::after{content:"";position:absolute;inset:8px;border:1px solid rgba(221,178,78,.3);pointer-events:none}
.bl-end h2{margin:0;color:var(--cream)}
.bl-end h2::after{display:none}
.bl-end p{color:rgba(248,243,234,.9);margin:14px 0 0}
.bl-end .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.bl-end .bl-btn{margin-top:0}
.bl-end .bl-btn--ghost{border-color:rgba(248,243,234,.5);color:var(--cream)!important}
.bl-end .bl-btn--ghost:hover{background:var(--cream);color:var(--dark)!important}
.bl-endnote{margin:26px 0 0;font-size:15.5px;line-height:1.65;color:rgba(43,34,27,.85)}
.bl-endnote a{font-weight:600}
@media(max-width:600px){.bl-hero{padding-top:112px}.bl-banner-frame{aspect-ratio:16/10}.bl-article{font-size:17px}.bl-end{padding:26px 22px}}

.bl-article ol.bl-strokes{padding-left:0;list-style:none;counter-reset:st;margin:0 0 24px}
.bl-article ol.bl-strokes li{counter-increment:st;position:relative;padding:0 0 0 46px;margin:0 0 14px}
.bl-article ol.bl-strokes li::before{content:counter(st);position:absolute;left:0;top:1px;width:30px;height:30px;border-radius:50%;background:var(--sand);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--dark)}
.bl-soft{margin:32px 0;padding:22px 24px;background:#fff;border:1px solid rgba(221,178,78,.7);font-size:16.5px;line-height:1.65;position:relative}
.bl-soft::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold)}
.bl-soft b{display:block;margin-bottom:6px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--terra)}
.bl-sources{font-size:15px;line-height:1.6;padding-left:20px}
.bl-sources li{margin-bottom:8px}
.bl-table{min-width:640px}
.bl-table td:first-child{width:150px}

/* the site's base styles strip list markers; restore them inside articles */
.bl-article ul{list-style:disc}
.bl-article ol:not(.bl-strokes){list-style:decimal}
.bl-article ul li::marker,.bl-article ol:not(.bl-strokes) li::marker{color:var(--terra);font-weight:600}
.bl-article ul.bl-sources{list-style:disc}
