/* Shared, packaging-led colour system. Loaded after the existing native styles.
 * Motion lives on decorative surfaces; forms and shopping hit targets stay still. */
:root {
  --forest:#365d4b; --ink:#20282b; --paper:#e8ebe6; --stone:#d8ddda;
  --muted:#53605c; --gold:#806b3f; --gold-light:#d8c498; --line:#bdc5c0;
  --graphite:#171b1d; --graphite-mid:#353c40; --cream:#f5f0e5;
  --serif:DrHahnzSans,Arial,sans-serif;
}
body.dhd { background:linear-gradient(125deg,#e8ebe6,#d8ddda 58%,#e4e7e2); color:var(--ink); }
body.dhd :is(h1,h2,h3) { font-family:var(--sans); font-weight:500; letter-spacing:-.052em; }
body.dhd .site-head { background:rgba(23,27,29,.94); border-color:#d8c49830; color:var(--cream); }
body.dhd .site-footer { background:linear-gradient(135deg,#171b1d,#353c40); color:var(--cream); }
body.dhd .site-footer :is(p,a) { color:inherit; }
body.dhd :is(.navigation-dialog,.search-dialog,.pack-dialog) { background:linear-gradient(135deg,#e8ebe6,#d8ddda); color:var(--ink); border:1px solid #d8c49880; }
body.dhd dialog::backdrop { background:#171b1de8; backdrop-filter:blur(8px); }
body.dhd .chapter-nav { background:#e8ebe6f2; border-color:var(--line); }
body.dhd .chapter-nav a { position:relative; }
body.dhd .chapter-nav a::after { content:''; position:absolute; height:1px; bottom:0; left:0; right:0; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.16,1,.3,1); }
body.dhd .chapter-nav a:is(:hover,:focus-visible,[aria-current])::after { transform:scaleX(1); }
body.dhd :is(.button,.text-link):focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
body.dhd .button { background:#365d4b; color:var(--cream); border-color:#365d4b; }
body.dhd .button:hover { background:#294a3b; color:#fff; }
body.dhd .button.outline { background:transparent; color:var(--ink); border-color:#7a8881; }
body.dhd .button.outline:hover { background:#d8ddda; color:var(--ink); }
body.dhd :is(.film-panel,.film-copy,.film-copy .eyebrow) { color:var(--cream); }
body.dhd .film-panel { background:#171b1d; }
body.dhd .film-shade { background:linear-gradient(90deg,#171b1ddc,#171b1d38 58%,#171b1d0a),linear-gradient(0deg,#171b1df2,transparent 70%); }
body.dhd .film-copy :is(h1,h2,h3) { color:var(--cream); }
body.dhd .film-copy .button { background:var(--gold-light); color:#20282b; border-color:var(--gold-light); }
body.dhd .film-copy .button.outline { background:#171b1d70; color:var(--cream); border-color:#d8c49890; }
body.dhd .film-copy .button:hover { background:#eadab9; color:#20282b; }
body.dhd :is(.sound-dock,.fx-motion-control,[data-studio-switch]) { display:none!important; }
/* Approved foil light: opacity only; never tint the printed pack itself. */
.luxury-sheen { position:relative; isolation:isolate; overflow:hidden; }
.luxury-sheen::after { content:''; pointer-events:none; position:absolute; inset:-40%; z-index:0; background:linear-gradient(112deg,transparent 30%,#d8c4980c 47%,#ffffff12 51%,transparent 67%); transform:translate3d(-30%,0,0); opacity:0; }
.luxury-sheen[data-luxury-visible=true]::after { animation:luxury-surface-light 13s ease-in-out infinite; }
@keyframes luxury-surface-light { 0%,100%{transform:translate3d(-30%,0,0);opacity:0} 35%{opacity:.7} 65%{transform:translate3d(30%,0,0);opacity:0} }
html[data-luxury-paused=true] .luxury-sheen::after { animation-play-state:paused; }
/* One gentle glint follows a deliberate interaction. No continuous strobe. */
body.dhd .luxury-glint { outline:1px solid transparent; outline-offset:0; animation:luxury-control-glint 520ms ease-out; }
@keyframes luxury-control-glint { 0%,100%{outline-color:#d8c49800} 30%{outline-color:#d8c498a0} }
.fx-particles,#cursor-field { display:none!important; }
.luxury-edge-host { position:relative; overflow:hidden; }
.luxury-edge-light { position:absolute; left:0; right:0; bottom:0; height:1px; z-index:8; pointer-events:none; opacity:0; background:linear-gradient(90deg,transparent 15%,#d8c49850 35%,#f5f0e5 50%,#d8c49865 60%,transparent 85%); }
.fx-laser-line { background:linear-gradient(90deg,transparent,#a99774 15%,#f5f0e5 50%,#a99774 85%,transparent); box-shadow:0 0 7px #d8c49835; }
.fx-glitch .fx-glitch-plate { animation:luxury-foil-catch 420ms ease-out both; }
@keyframes luxury-foil-catch { 0%,100%{opacity:0;transform:translate3d(0,0,0)} 24%{opacity:.13;transform:translate3d(2px,0,0)} 52%{opacity:.06;transform:translate3d(-1px,0,0)} }
@keyframes fx-icon-bob { 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(0,-1.5px,0)} }
@keyframes fx-icon-snap { 0%{transform:rotate(0) scale(1)} 65%{transform:rotate(363deg) scale(1.06)} 85%{transform:rotate(358deg) scale(.99)} 100%{transform:rotate(360deg) scale(1)} }
@media(max-width:740px) { body.dhd .site-head { backdrop-filter:none;-webkit-backdrop-filter:none; } body.dhd .film-shade { background:linear-gradient(0deg,#171b1df5,#171b1d80 45%,#171b1d1a 80%); } }
@media(prefers-reduced-motion:reduce) { .luxury-sheen::after { animation:none!important;opacity:0!important; } .luxury-edge-light { display:none; } body.dhd .luxury-glint { animation:none; } }

/* A compact phone header keeps the opening subject visible; navigation remains in the native menu. */
@media(max-width:650px){
 :root{--header:94px}
 body.dhd .site-head{height:94px;grid-template-rows:64px 30px}
 body.dhd .site-head .desktop-nav{display:none!important}
 body.dhd:has(.dhd-editorial){padding-top:var(--header)}
}
body.dhd .site-head .delivery-announcement,body.dhd .site-head .desktop-nav .order-again-link{color:var(--gold-light)}

/* Place the opening below the fixed header so the portrait is not cropped by navigation. */
body.dhd:has(.dhd-editorial){padding-top:var(--header)}
@media(min-width:761px){body.dhd .dhd-editorial .ed-opening{min-height:min(940px,calc(100svh - var(--header)));}.dhd-editorial .ed-opening-copy{max-width:min(48%,650px)}}
