/* Public storefront only — premium MokiHair presentation layer. */
body:not(.portal-area){background:var(--cream);letter-spacing:.005em} body:not(.portal-area) .storefront-nav{box-shadow:0 2px 20px rgba(42,26,32,.035)} body:not(.portal-area) .storefront-nav .nav-link{position:relative;padding:.8rem .75rem} body:not(.portal-area) .storefront-nav .nav-link:after{content:"";position:absolute;right:.75rem;bottom:.45rem;left:.75rem;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .25s ease} body:not(.portal-area) .storefront-nav .nav-link:hover:after,body:not(.portal-area) .storefront-nav .nav-link.active:after{transform:scaleX(1)}
.announcement-bar{background:var(--ink);color:#fff;font-size:.77rem;letter-spacing:.08em;text-align:center;padding:.62rem 1rem;text-transform:uppercase}.announcement-bar .bi{color:#e4b5c0;margin-right:.35rem}.btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{box-shadow:0 8px 18px rgba(158,77,101,.18)}.btn-outline-dark:hover{box-shadow:0 8px 18px rgba(32,27,30,.12)}
.hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#fcf5f5 0%,#fcf5f5 49%,#f3e1e3 49%,#f8eeee 100%)}.hero:after{content:"";position:absolute;width:34rem;height:34rem;border:1px solid rgba(158,77,101,.16);border-radius:50%;right:-15rem;bottom:-18rem}.hero .container{position:relative;z-index:1}.hero-image{transition:transform .55s ease,box-shadow .55s ease}.hero-image:hover{transform:scale(1.015);box-shadow:24px 24px 0 #e1b7bf}.trust-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-item{display:flex;align-items:center;gap:.75rem;padding:1.1rem 0;font-size:.84rem;font-weight:700}.trust-item i{font-size:1.2rem;color:var(--rose)}.section-kicker{font-size:.75rem;letter-spacing:.17em;text-transform:uppercase;color:var(--rose);font-weight:700}
.feature-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.feature-card:hover{border-color:#d9aab5;transform:translateY(-4px);box-shadow:0 16px 34px rgba(61,39,46,.09)}.product-card .product-image-wrap{position:relative;display:block;overflow:hidden}.product-card img{transition:transform .55s ease}.product-card:hover img{transform:scale(1.045)}.product-card .quick-view{position:absolute;bottom:1rem;left:1rem;right:1rem;opacity:0;transform:translateY(10px);transition:.25s ease}.product-card:hover .quick-view{opacity:1;transform:none}.luxury-panel{background:linear-gradient(135deg,#251c20,#49303a);color:#fff;border-radius:1.25rem;overflow:hidden}.luxury-panel .section-title{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.26)}.luxury-panel .text-secondary{color:#dacfd1!important}.standard-intro .section-title{font-size:clamp(1.85rem,2.6vw,2.55rem);line-height:1.13;max-width:100%;overflow-wrap:normal}.luxury-panel .feature-card{display:flex;flex:1 1 auto;flex-direction:column;min-height:15.5rem;padding:1.8rem;background:rgba(255,255,255,.96);color:var(--ink)}.luxury-panel .feature-card .text-secondary{color:#665d60!important}
.editorial-care-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:1.25rem;box-shadow:0 14px 38px rgba(61,39,46,.07)}.editorial-care-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4.5rem)}.editorial-care-copy .section-title{max-width:30rem}.editorial-care-image{display:block;width:100%;height:100%;min-height:22rem;object-fit:cover;object-position:center}.editorial-care-card .btn{align-self:flex-start}
.partner-programme-image{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:1.25rem;box-shadow:0 14px 38px rgba(61,39,46,.1)}
.education-editorial-card,.contact-editorial-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:1.1rem;box-shadow:0 12px 34px rgba(61,39,46,.08)}.education-editorial-card img{display:block;width:100%;height:clamp(14rem,31vw,25rem);object-fit:cover;object-position:center}.education-editorial-card figcaption{display:flex;align-items:center;gap:.55rem;padding:1rem 1.25rem;color:var(--muted);font-size:.88rem}.education-editorial-card figcaption i{color:var(--rose)}.contact-editorial-card img{display:block;width:100%;height:clamp(15rem,34vw,29rem);object-fit:cover;object-position:center}.contact-editorial-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;color:var(--muted);font-size:.9rem}.contact-editorial-card figcaption i{color:var(--rose);margin-right:.35rem}.contact-editorial-card figcaption a{color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap}.contact-editorial-card figcaption a:hover{color:var(--rose)}@media(max-width:575px){.contact-editorial-card figcaption{align-items:flex-start;flex-direction:column}}
.career-application-card{padding:clamp(1.4rem,3vw,2.5rem)}.career-application-card textarea{resize:vertical;min-height:7rem}.career-application-card .form-check{padding:1rem 1rem 1rem 2.2rem;background:#f9f2f3;border:1px solid var(--line);border-radius:.7rem}.career-application-card .form-check-input{margin-left:-1.25rem}
.career-hero .lead{max-width:43rem}.career-hero-note{display:flex;flex-direction:column;gap:.55rem;padding:1.5rem;background:rgba(255,255,255,.66);border:1px solid rgba(158,77,101,.22);border-radius:1rem;box-shadow:0 12px 32px rgba(61,39,46,.06)}.career-hero-note i{color:var(--rose);font-size:1.25rem}.career-hero-note span{color:var(--muted);font-size:.92rem}.career-section-intro{max-width:42rem}.career-path-card{height:100%;padding:1.55rem;background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 8px 28px rgba(61,39,46,.06)}.career-path-card i{display:grid;place-items:center;width:2.8rem;height:2.8rem;margin-bottom:1rem;border-radius:.75rem;background:var(--blush);color:var(--rose);font-size:1.2rem}.career-path-card h3{font-family:'Playfair Display',serif;font-size:1.25rem}.career-path-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.65}.career-process{display:grid;grid-template-columns:minmax(14rem,.8fr) minmax(0,1.6fr);gap:clamp(2rem,5vw,5rem);padding:clamp(1.6rem,4vw,3rem);background:#2d2529;border-radius:1.2rem;color:#fff}.career-process .eyebrow{color:#efbdc9}.career-process .section-title{color:#fff}.career-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin:0;padding:0;list-style:none}.career-process li{display:flex;gap:.8rem}.career-process li>span{flex:0 0 auto;color:#e9aabb;font-size:.75rem;font-weight:800;letter-spacing:.08em}.career-process strong{display:block;margin-bottom:.35rem}.career-process p{margin:0;color:#dacfd1;font-size:.87rem;line-height:1.55}.career-privacy-note{display:flex;align-items:flex-start;gap:.65rem;color:var(--muted);font-size:.86rem;line-height:1.55}.career-privacy-note i{margin-top:.15rem;color:var(--rose);font-size:1.05rem}@media(max-width:991px){.career-process{grid-template-columns:1fr}.career-process ol{grid-template-columns:repeat(3,1fr)}}@media(max-width:575px){.career-process ol{grid-template-columns:1fr}.career-hero-note{max-width:22rem}}
.texture-showcase-card{display:block;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:1.1rem;color:var(--ink);text-decoration:none;box-shadow:0 10px 28px rgba(61,39,46,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.texture-showcase-card:hover{color:var(--ink);border-color:#d9aab5;transform:translateY(-5px);box-shadow:0 18px 38px rgba(61,39,46,.12)}.texture-showcase-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s ease}.texture-showcase-card:hover img{transform:scale(1.035)}.texture-showcase-card span{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.15rem}.texture-showcase-card strong{font-size:1.08rem}.texture-showcase-card small{color:var(--muted)}
.newsletter-card{background:linear-gradient(115deg,#9e4d65,#713347);color:#fff;border-radius:1.2rem;padding:clamp(1.8rem,4vw,3.5rem);box-shadow:0 18px 44px rgba(91,43,58,.18)}.newsletter-card .eyebrow{color:#f5c9d2}.newsletter-card .form-control{border:0;min-height:3.2rem}.newsletter-card .btn{min-height:3.2rem}.newsletter-note{font-size:.78rem;color:#f5dce1}.page-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#fcf2f3,#f7e5e7)}.page-hero:after{content:"";position:absolute;width:17rem;height:17rem;border:1px solid #dfb6be;border-radius:50%;right:6%;top:-8rem}.page-hero .container{position:relative;z-index:1}
.surface-card,.education-card,.policy-card{background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 8px 28px rgba(61,39,46,.06)}.surface-card{padding:1.4rem}.education-card{padding:1.6rem;height:100%;transition:transform .22s ease,box-shadow .22s ease}.education-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(61,39,46,.11)}.education-icon,.policy-icon{width:3rem;height:3rem;display:grid;place-items:center;border-radius:.75rem;background:var(--blush);color:var(--rose);font-size:1.25rem}.comparison-table{overflow:hidden;border-radius:.9rem;border:1px solid var(--line)}.comparison-table table{margin-bottom:0}.comparison-table th{background:#f9f2f3;color:var(--ink);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}.comparison-table td,.comparison-table th{padding:1rem}.comparison-table tr:last-child td{border-bottom:0}.guide-nav{position:sticky;top:5.4rem;background:#fff;border:1px solid var(--line);padding:1rem;border-radius:1rem}.guide-nav a{display:block;color:var(--muted);padding:.4rem .2rem;font-size:.88rem}.guide-nav a:hover{color:var(--rose)}
.checkout-card{border:1px solid var(--line);box-shadow:0 10px 34px rgba(61,39,46,.07)}.checkout-card .card-body{padding:clamp(1.35rem,3vw,2.15rem)}.checkout-step{display:flex;gap:.75rem;align-items:center;margin-bottom:1.25rem}.checkout-step span{width:1.8rem;height:1.8rem;border-radius:50%;display:grid;place-items:center;background:var(--blush);color:var(--rose);font-size:.78rem;font-weight:700}.summary-row{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0}.summary-row.total{border-top:1px solid var(--line);margin-top:.55rem;padding-top:1rem;font-size:1.18rem;font-weight:700}.delivery-banner{background:#edf7f1;border:1px solid #d5ecdd;color:#256441;border-radius:.7rem;padding:.85rem 1rem;font-size:.86rem}.payment-methods{display:flex;flex-wrap:wrap;gap:.5rem}.payment-pill{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:.35rem .65rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;color:#4b4547;font-size:.7rem;font-weight:800;letter-spacing:.04em}.payment-pill .bi{font-size:1rem;margin-right:.28rem;color:var(--rose)}.payment-return-card{max-width:44rem;padding:clamp(2rem,6vw,4.5rem);background:#fff;border:1px solid var(--line);border-radius:1.2rem;box-shadow:0 12px 36px rgba(61,39,46,.08)}
.quantity-control{display:inline-flex;align-items:center;border:1px solid #ded5d4;border-radius:.65rem;overflow:hidden;background:#fff}.quantity-control input{width:3.2rem;border:0!important;text-align:center;padding:.65rem .25rem}.quantity-control button{border:0;background:#f9f2f3;color:var(--rose);width:2.25rem;height:2.65rem;font-size:1.05rem;font-weight:700}.quantity-control button:hover{background:#f2dde1}.cart-item{transition:background .2s ease}.cart-item:hover{background:#fffafb}.policy-card{padding:1.55rem;height:100%}.policy-card h2{font-family:'Playfair Display',serif}.terms-document-card{background:#fff;border:1px solid var(--line);border-radius:.9rem;padding:1.5rem 1.6rem;margin-bottom:1rem}.terms-document-card h2{font-family:'Playfair Display',serif}.faq-item{border:1px solid var(--line);border-radius:.75rem;padding:1rem 1.1rem;background:#fff}.faq-item+.faq-item{margin-top:.7rem}.faq-item summary{cursor:pointer;font-weight:700}.faq-item summary::marker{color:var(--rose)}.storefront-footer .footer-grid{row-gap:2.25rem}.storefront-footer .footer-intro{max-width:35rem}.storefront-footer .footer-links{display:flex;flex-direction:column;gap:.16rem}.storefront-footer .footer-links h6{margin-bottom:.5rem;letter-spacing:.035em}.storefront-footer .footer-links a{margin:0;line-height:1.8}.storefront-footer .footer-newsletter{background:#2d2529;border:1px solid #4b3a41;border-radius:1rem;padding:1.2rem}.storefront-footer .footer-newsletter form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:stretch}.storefront-footer .footer-newsletter .btn{min-width:4.7rem}.storefront-footer .footer-newsletter input{min-height:2.7rem}.storefront-footer .footer-care .payment-methods{gap:.45rem}.storefront-footer .payment-pill{min-height:2.2rem;min-width:4.2rem;background:#30282c;border-color:#514249;color:#eee}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;font-size:.8rem;color:#ddd0d4}
@media(max-width:991px){.guide-nav{position:static}.hero:after{display:none}.trust-item{padding:.75rem 0}.checkout-aside{position:static!important}}@media(max-width:576px){.newsletter-card{border-radius:0;margin-inline:-.75rem}.payment-pill{font-size:.64rem}.comparison-table{font-size:.85rem}.luxury-panel .feature-card{min-height:0}.storefront-footer .footer-newsletter form{grid-template-columns:1fr}.storefront-footer .footer-newsletter .btn{width:100%}.terms-document-card{padding:1.25rem}}

/* Dark-mode contrast: retain the MokiHair palette while keeping every public text layer legible. */
body[data-theme="dark"]:not(.portal-area){--ink:#fff8fa;--muted:#d5c8ce;--cream:#171216;--blush:#261b20;--line:#4f3d44;--bs-body-color:#fff8fa;--bs-body-bg:#171216;--bs-secondary-color:#d5c8ce;background:var(--cream);color:var(--ink)}
body[data-theme="dark"]:not(.portal-area) .storefront-nav{background:rgba(23,18,22,.97);border-color:var(--line)}
body[data-theme="dark"]:not(.portal-area) .navbar-brand,body[data-theme="dark"]:not(.portal-area) .storefront-nav .nav-link,body[data-theme="dark"]:not(.portal-area) .nav-account,body[data-theme="dark"]:not(.portal-area) .text-dark{color:var(--ink)!important}
body[data-theme="dark"]:not(.portal-area) .text-secondary,body[data-theme="dark"]:not(.portal-area) .product-meta,body[data-theme="dark"]:not(.portal-area) .page-hero p{color:var(--muted)!important}
body[data-theme="dark"]:not(.portal-area) .card,body[data-theme="dark"]:not(.portal-area) .product-card,body[data-theme="dark"]:not(.portal-area) .feature-card,body[data-theme="dark"]:not(.portal-area) .surface-card,body[data-theme="dark"]:not(.portal-area) .education-card,body[data-theme="dark"]:not(.portal-area) .policy-card,body[data-theme="dark"]:not(.portal-area) .terms-document-card,body[data-theme="dark"]:not(.portal-area) .faq-item,body[data-theme="dark"]:not(.portal-area) .payment-return-card,body[data-theme="dark"]:not(.portal-area) .guide-nav,body[data-theme="dark"]:not(.portal-area) .payment-pill,body[data-theme="dark"]:not(.portal-area) .quantity-control{background:#231a1f;color:var(--ink);border-color:var(--line)}
body[data-theme="dark"]:not(.portal-area) .editorial-care-card{background:#231a1f;border-color:var(--line)}
body[data-theme="dark"]:not(.portal-area) .education-editorial-card,body[data-theme="dark"]:not(.portal-area) .contact-editorial-card,body[data-theme="dark"]:not(.portal-area) .career-hero-note{background:#231a1f;border-color:var(--line)}
body[data-theme="dark"]:not(.portal-area) .luxury-panel .feature-card .text-secondary{color:var(--muted)!important}
body[data-theme="dark"]:not(.portal-area) .texture-showcase-card{background:#231a1f;border-color:var(--line);color:var(--ink)}
body[data-theme="dark"]:not(.portal-area) .career-application-card .form-check{background:#302229;border-color:var(--line)}
body[data-theme="dark"]:not(.portal-area) .page-hero,body[data-theme="dark"]:not(.portal-area) .hero,body[data-theme="dark"]:not(.portal-area) .auth-page{background:#21171c}
body[data-theme="dark"]:not(.portal-area) .comparison-table,body[data-theme="dark"]:not(.portal-area) .comparison-table th,body[data-theme="dark"]:not(.portal-area) .comparison-table td{border-color:var(--line);color:var(--ink)}
body[data-theme="dark"]:not(.portal-area) .comparison-table th,body[data-theme="dark"]:not(.portal-area) .quantity-control button{background:#302229;color:var(--ink)}
body[data-theme="dark"]:not(.portal-area) .form-control,body[data-theme="dark"]:not(.portal-area) .form-select{background:#161216;border-color:#665059;color:var(--ink)}
body[data-theme="dark"]:not(.portal-area) .form-control::placeholder{color:#cbbcc3;opacity:1}
body[data-theme="dark"]:not(.portal-area) .form-control:focus,body[data-theme="dark"]:not(.portal-area) .form-select:focus{background:#161216;color:var(--ink);border-color:#d1849c}
body[data-theme="dark"]:not(.portal-area) .btn-outline-dark{color:var(--ink);border-color:#bdaab1}
body[data-theme="dark"]:not(.portal-area) .btn-outline-dark:hover{background:#fff8fa;color:#201b1e}
body[data-theme="dark"]:not(.portal-area) .cart-item:hover{background:#2a1e24}
body[data-theme="dark"]:not(.portal-area) .delivery-banner{background:#173326;border-color:#2f6d4b;color:#d9f6e4}
body[data-theme="dark"]:not(.portal-area) .auth-tabs{background:#2c2026}
body[data-theme="dark"]:not(.portal-area) .auth-tabs .nav-link.active{background:#3a2930;color:#f1aabb}

/* Shared storefront surfaces: never use the foreground ink token as a background. */
body:not(.portal-area){
  --storefront-announcement-bg:#201b1e;
  --storefront-announcement-text:#fff8fa;
  --storefront-announcement-icon:#e4b5c0;
  --storefront-trust-bg:#fffdf9;
  --storefront-trust-text:var(--ink);
  --storefront-trust-border:var(--line);
  --storefront-trust-icon:var(--rose);
  --storefront-footer-bg:#201b1e;
  --storefront-footer-decoration:rgba(234,186,196,.14);
  --storefront-footer-line:rgba(234,186,196,.16);
}

body[data-theme="dark"]:not(.portal-area),body.dark-mode:not(.portal-area){
  --ink:#fff8fa;
  --muted:#d5c8ce;
  --cream:#171216;
  --blush:#261b20;
  --line:#4f3d44;
  --bs-body-color:#fff8fa;
  --bs-body-bg:#171216;
  --bs-secondary-color:#d5c8ce;
  --storefront-announcement-bg:#171216;
  --storefront-announcement-text:#fff8fa;
  --storefront-announcement-icon:#efb9c7;
  --storefront-trust-bg:#1e171b;
  --storefront-trust-text:#fff8fa;
  --storefront-trust-border:#4f3d44;
  --storefront-trust-icon:#df8da5;
  --storefront-footer-bg:#171216;
  --storefront-footer-decoration:rgba(223,141,165,.13);
  --storefront-footer-line:rgba(223,141,165,.15);
}

body:not(.portal-area) .announcement-bar{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:2.7rem;
  margin:0;
  padding:.55rem 1rem;
  background:var(--storefront-announcement-bg);
  color:var(--storefront-announcement-text);
  line-height:1.35;
}
body:not(.portal-area) .announcement-bar .bi{color:var(--storefront-announcement-icon)}
body:not(.portal-area) .storefront-nav{margin-top:0}

body:not(.portal-area) .trust-strip{
  overflow:hidden;
  background:var(--storefront-trust-bg);
  color:var(--storefront-trust-text);
  border-color:var(--storefront-trust-border);
}
body:not(.portal-area) .trust-strip .row{--bs-gutter-x:0}
body:not(.portal-area) .trust-strip .row > [class*="col"]{display:flex}
body:not(.portal-area) .trust-item{
  width:100%;
  min-height:4.6rem;
  justify-content:center;
  padding:1rem 1.25rem;
  color:var(--storefront-trust-text);
  text-align:center;
}
body:not(.portal-area) .trust-item i{color:var(--storefront-trust-icon)}
@media (min-width:768px){
  body:not(.portal-area) .trust-strip .row > [class*="col"] + [class*="col"]{border-left:1px solid var(--storefront-trust-border)}
}
@media (max-width:767.98px){
  body:not(.portal-area) .trust-strip .row > [class*="col"] + [class*="col"]{border-top:1px solid var(--storefront-trust-border)}
}

/* Quiet, hair-inspired footer detail that stays behind the working content. */
body:not(.portal-area) .storefront-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--storefront-footer-bg);
}
body:not(.portal-area) .storefront-footer::before,body:not(.portal-area) .storefront-footer::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  border:1px solid var(--storefront-footer-line);
  border-radius:50%;
}
body:not(.portal-area) .storefront-footer::before{
  width:39rem;
  height:39rem;
  top:-29rem;
  right:-15rem;
  box-shadow:0 0 0 4.75rem var(--storefront-footer-decoration),0 0 0 9.5rem transparent;
}
body:not(.portal-area) .storefront-footer::after{
  width:32rem;
  height:18rem;
  bottom:-14rem;
  left:-9rem;
  transform:rotate(-13deg);
}
body:not(.portal-area) .storefront-footer .container{position:relative;z-index:1}
body:not(.portal-area) .storefront-footer hr{border-color:var(--storefront-footer-line)}
@media (max-width:575.98px){
  body:not(.portal-area) .storefront-footer::before,body:not(.portal-area) .storefront-footer::after{display:none}
}
