/* Picasso Hair Gallery: separate, immersive storefront */
body.phg-immersive-site {
  --phg-night: #100d0a;
  --phg-ink: #f4ede2;
  --phg-muted: #c8b8a4;
  --phg-gold: #caa76a;
  --phg-glass: rgba(27, 22, 17, .9);
  background: var(--phg-night) !important;
  color: var(--phg-ink) !important;
  scroll-behavior: smooth;
}
body.phg-immersive-site * { box-sizing: border-box; }
body.phg-immersive-site .announcement,
body.phg-immersive-site .ordering-status,
body.phg-immersive-site > main > .site-header,
body.phg-immersive-site .phg-virtual-launch { display: none !important; }
body.phg-immersive-site > main { padding-top: 0 !important; }
body.phg-immersive-before-entry { overflow: hidden !important; height: 100svh; }

.phg-world-nav {
  position: fixed; z-index: 900; inset: 14px 18px auto; height: 66px;
  display: flex; align-items: center; gap: clamp(12px, 2vw, 34px); padding: 8px 14px 8px 20px;
  color: #f7eee1; border: 1px solid rgba(215, 183, 129, .42); border-radius: 16px;
  background: rgba(18, 14, 10, .82); box-shadow: 0 14px 45px #0007; backdrop-filter: blur(18px);
  transition: opacity .5s ease, transform .5s ease;
}
.phg-world-brand { color: #f4d69d; text-decoration: none; display: grid; line-height: .9; flex: 0 0 auto; }
.phg-world-brand span { font: italic 30px/1 Georgia, serif; letter-spacing: -.06em; }
.phg-world-brand small { font: 8px/1.5 Arial, sans-serif; letter-spacing: .3em; color: #f7eee1; }
.phg-world-links { display: flex; align-items: center; justify-content: center; gap: clamp(10px, 2vw, 32px); flex: 1; }
.phg-world-links a { color: #f5eee4; text-decoration: none; font: 600 12px/1.2 Arial,sans-serif; letter-spacing: .04em; }
.phg-world-links a:hover, .phg-world-links a:focus-visible { color: #e8c58b; }
.phg-world-label { color: #dfc293; border: 1px solid #9b7948; border-radius: 99px; padding: 8px 11px; font: 9px/1 Arial,sans-serif; letter-spacing: .16em; white-space: nowrap; }
.phg-world-bag { display: inline-flex; flex: 0 0 auto; color: #160f08 !important; background: #d5b478 !important; border: 0 !important; border-radius: 100px !important; padding: 12px 18px !important; font-weight: 700 !important; cursor: pointer; }
.phg-world-bag span { color: #160f08 !important; }

.phg-virtual-entry { position: fixed; z-index: 2000; inset: 0; overflow: hidden; background: #100b07; color: #fff8ee; isolation: isolate; }
.phg-entry-scene { position: absolute; inset: 0; overflow: hidden; transform: scale(1); transform-origin: 70.8% 57.7%; transition: transform 1.2s cubic-bezier(.2,.65,.15,1), opacity 1s ease; }
.phg-entry-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; transform: scale(1); transition: filter 1s ease; }
.phg-entry-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,9,6,.79) 0%, rgba(12,9,6,.5) 31%, rgba(12,9,6,.04) 68%), linear-gradient(0deg, rgba(12,9,6,.77), transparent 24%, transparent 75%, rgba(12,9,6,.15)); pointer-events: none; }
.phg-entry-message { position: absolute; z-index: 3; left: clamp(28px, 7vw, 110px); top: 50%; width: min(420px, 38vw); transform: translateY(-48%); text-shadow: 0 2px 22px #0009; }
.phg-entry-eyebrow { color: #e5c78e; font: 600 10px/1.4 Arial,sans-serif; letter-spacing: .25em; }
.phg-entry-message h1 { margin: 18px 0; color: #fff7ec; font: 400 clamp(48px, 6.3vw, 92px)/.95 Georgia,serif; letter-spacing: -.055em; }
.phg-entry-message h1 em { color: #e7c98d; }
.phg-entry-message > p:not(.phg-entry-eyebrow) { max-width: 340px; color: #f0e4d4; font: 16px/1.7 Arial,sans-serif; }
.phg-entry-no-goggles { display: inline-block; margin-top: 18px; color: #eddbbd; font: 11px/1 Arial,sans-serif; letter-spacing: .08em; }
.phg-entry-doorframe { position: absolute; z-index: 2; left: 62.1%; top: 30.9%; width: 17.5%; height: 53.5%; border: 1px solid rgba(237,201,142,.32); box-shadow: 0 0 0 1px #100b0733, 0 0 28px #0005; pointer-events: none; }
.phg-entry-aperture { position: absolute; z-index: 3; left: 62.1%; top: 30.9%; width: 17.5%; height: 53.5%; opacity: 0; pointer-events: none; background: radial-gradient(ellipse at 48% 45%,rgba(237,187,113,.54),rgba(68,43,25,.93) 61%,#100b07 100%); box-shadow: inset 0 0 30px #000b; transition: opacity .45s ease; }
.phg-entry-door { position: absolute; z-index: 4; left: 62.1%; top: 30.9%; width: 17.5%; height: 53.5%; padding: 0; overflow: hidden; border: 0; background: transparent; cursor: pointer; touch-action: manipulation; transform-origin: right center; transform-style: preserve-3d; transition: transform .82s cubic-bezier(.2,.65,.15,1), filter .6s ease; }
.phg-entry-door-slab { position: absolute; max-width: none !important; width: 100vw !important; height: 100svh !important; left: -62.1vw; top: -30.9svh; object-fit: cover; object-position: center 55%; pointer-events: none; }
.phg-entry-door:hover { filter: brightness(1.13); }
.phg-entry-door:active { filter: brightness(1.2); }
.phg-entry-door:focus-visible { outline: 3px solid #f4d18f; outline-offset: 5px; }
.phg-entry-handle { position: absolute; right: 10%; top: 48%; width: 4px; height: 15%; border-radius: 8px; background: linear-gradient(90deg,#745226,#e3c080,#805c2c); box-shadow: 0 0 12px #d5b47855; }
.phg-entry-door-copy { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); padding: 9px 11px; border: 1px solid #e1c185aa; border-radius: 100px; color: #fff6e9; background: #110d09b8; font: 600 9px/1 Arial,sans-serif; letter-spacing: .14em; opacity: 0; transition: opacity .25s; white-space: nowrap; }
.phg-entry-door:hover .phg-entry-door-copy, .phg-entry-door:focus-visible .phg-entry-door-copy { opacity: 1; }
.phg-entry-enter { position: absolute; z-index: 4; left: 50%; bottom: 12%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 18px; border: 1px solid #e1c185; border-radius: 999px; color: #17100a; background: linear-gradient(135deg,#f0d9a6,#bd9556); padding: 16px 24px; font: 700 12px/1 Arial,sans-serif; letter-spacing: .06em; box-shadow: 0 10px 35px #0008; cursor: pointer; touch-action: manipulation; }
.phg-entry-enter:hover { background: #fff0d0; }
.phg-entry-foot { position: absolute; z-index: 3; left: 28px; right: 28px; bottom: 23px; display: flex; justify-content: space-between; color: #f0dfc7; font: 9px/1 Arial,sans-serif; letter-spacing: .15em; text-shadow: 0 2px 12px #000; }
.phg-virtual-entry.is-approaching .phg-entry-scene { transform: scale(1.55); }
.phg-virtual-entry.is-approaching .phg-entry-message, .phg-virtual-entry.is-approaching .phg-entry-enter, .phg-virtual-entry.is-approaching .phg-entry-foot { opacity: 0; transition: opacity .45s ease; }
.phg-virtual-entry.is-opening .phg-entry-door { transform: perspective(1100px) rotateY(82deg); }
.phg-virtual-entry.is-opening .phg-entry-aperture { opacity: 1; }
.phg-virtual-entry.is-walking .phg-entry-scene { transform: scale(2.45); opacity: 0; }
.phg-virtual-entry.is-walking .phg-entry-photo { filter: brightness(.66); }

body.phg-immersive-site .hero { min-height: min(770px, 90svh); position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: 1fr !important; align-items: end; padding: clamp(118px,16vh,180px) clamp(26px,8vw,130px) clamp(62px,9vh,100px); color: #f7efe4; background: #1a130d url('/images/virtual-gallery-entry.jpg') center 72%/auto 145% no-repeat; }
body.phg-immersive-site .hero::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(13,10,7,.84),rgba(13,10,7,.45) 43%,rgba(13,10,7,.04) 100%),linear-gradient(0deg,rgba(13,10,7,.66),transparent 62%); }
body.phg-immersive-site .hero-copy { position: relative; z-index: 1; width: min(860px,100%); max-width: 860px; }
body.phg-immersive-site .hero-image { display: none !important; }
body.phg-immersive-site .hero .eyebrow { color: #e6c68f; font-size: 11px; letter-spacing: .14em; }
body.phg-immersive-site .hero h1 { max-width: 840px; color: #fff6e9; font: 400 clamp(48px,7.7vw,104px)/.93 Georgia,serif; letter-spacing: -.055em; }
body.phg-immersive-site .hero h1 em { color: #edcd93; }
body.phg-immersive-site .hero p, body.phg-immersive-site .hero .text-link { color: #f4e9d9; }
body.phg-immersive-site .hero .button { color: #1a130b !important; background: #e2bf7e !important; border: 1px solid #f0d8a7 !important; border-radius: 99px; }
body.phg-immersive-site > main > section:not(.hero), body.phg-immersive-site > main > .phg-virtual-classic-return { position: relative; padding: clamp(54px,7vw,104px) clamp(20px,7vw,112px); color: #efe6d9; background: #15110d; border-top: 1px solid #c8a46b36; }
body.phg-immersive-site > main > section:nth-of-type(odd):not(.hero) { background: radial-gradient(ellipse at 50% 0%, #38291b 0%,#18130e 58%,#110e0b 100%); }
body.phg-immersive-site > main > section h2, body.phg-immersive-site > main > section h3 { color: #f1d7aa; font-family: Georgia,serif; }
body.phg-immersive-site > main > section p, body.phg-immersive-site > main > section label { color: #d9cabb; }
body.phg-immersive-site > main > section a { color: #e9c888; }
body.phg-immersive-site > main > section .button, body.phg-immersive-site > main > section button { color: #20170e; }
body.phg-immersive-site .product-card, body.phg-immersive-site .new-wig-card, body.phg-immersive-site .medical-style-card, body.phg-immersive-site .mens-style-card, body.phg-immersive-site .experience-card, body.phg-immersive-site .shop-card { overflow: hidden; color: #f2e9dc; background: linear-gradient(150deg,#30261c,#17130f 72%); border: 1px solid #c6a66c54; border-radius: 16px; box-shadow: 0 18px 42px #0005; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
body.phg-immersive-site .product-card:hover, body.phg-immersive-site .new-wig-card:hover, body.phg-immersive-site .medical-style-card:hover, body.phg-immersive-site .mens-style-card:hover { transform: translateY(-5px); border-color: #e3c487; box-shadow: 0 24px 52px #0008,0 0 30px #d0a96222; }
body.phg-immersive-site img { color: #d9cabb; }
body.phg-immersive-site input, body.phg-immersive-site select, body.phg-immersive-site textarea { color: #f9f3ea; background: #211a13; border-color: #9f8053; }
body.phg-immersive-site option { color: #fff; background: #211a13; }
body.phg-immersive-site .cart-drawer { color: #21180f; }
body.phg-immersive-site .cart-drawer h2, body.phg-immersive-site .cart-drawer h3, body.phg-immersive-site .cart-drawer p { color: inherit; }
body.phg-immersive-site .community-footer { background: #0a0806; color: #d8c9b7; border-top: 1px solid #c8a46b55; }

.phg-virtual-classic-return { display: grid; place-items: center; text-align: center; min-height: 360px; background: radial-gradient(ellipse at center,#3c2b1b,#100d0a 68%) !important; }
.phg-virtual-classic-return > div { max-width: 760px; }
.phg-virtual-eyebrow { color: #ddbf86 !important; font: 600 10px/1.3 Arial,sans-serif; letter-spacing: .23em; }
.phg-virtual-classic-return h2 { font: 400 clamp(34px,5.1vw,62px)/1.05 Georgia,serif; }
.phg-virtual-classic-return .button { display: inline-flex; margin-top: 18px; padding: 15px 25px; border: 1px solid #d5b478; border-radius: 99px; color: #1a130b; background: #d5b478; text-decoration: none; }
.phg-classic-virtual-link { display: inline-block; margin: 0 0 14px; padding: 10px 14px; border: 1px solid #b88e52; border-radius: 99px; color: #332517 !important; background: #ead6b2; text-decoration: none; font-weight: 700; }

@media (max-width: 760px) {
  .phg-world-nav { inset: max(8px,env(safe-area-inset-top)) 8px auto; height: 92px; display: grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:39px 30px; gap: 5px 8px; padding: 7px 10px; border-radius: 13px; }
  .phg-world-brand { grid-column:1; grid-row:1; justify-self:start; }
  .phg-world-brand span { font-size: 24px; }
  .phg-world-brand small { font-size: 7px; }
  .phg-world-links { grid-column:1/-1; grid-row:2; justify-content:flex-start; gap:18px; overflow-x:auto; min-width:0; padding:0 2px 3px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .phg-world-links::-webkit-scrollbar { display:none; }
  .phg-world-links a { flex:0 0 auto; font-size:11px; min-height:28px; display:flex; align-items:center; white-space:nowrap; }
  .phg-world-label { display: none; }
  .phg-world-bag { grid-column:2; grid-row:1; justify-self:end; min-height:40px; padding: 9px 14px !important; font-size: 12px !important; }
  .phg-entry-scene { transform-origin:70.8% 53%; }
  .phg-entry-photo { object-fit:contain; object-position:center center; }
  .phg-entry-shade { background:linear-gradient(0deg,rgba(12,9,6,.44),rgba(12,9,6,.08) 45%,rgba(12,9,6,.13)); }
  .phg-entry-message { top:5%; left:20px; width:calc(100% - 40px); transform:none; }
  .phg-entry-eyebrow { font-size:9px; letter-spacing:.2em; }
  .phg-entry-message h1 { font-size:clamp(38px,10vw,54px); margin:6px 0; }
  .phg-entry-message > p:not(.phg-entry-eyebrow) { max-width:320px; margin:6px 0; font-size:13px; line-height:1.45; }
  .phg-entry-no-goggles { margin-top:3px; font-size:10px; }
  .phg-entry-doorframe, .phg-entry-aperture, .phg-entry-door { left:62.1vw; top:calc(50svh - 12.735vw); width:17.5vw; height:35.67vw; }
  .phg-entry-door-slab { object-fit:contain; object-position:center center; left:-62.1vw; top:calc(12.735vw - 50svh); }
  .phg-entry-door-copy { opacity:1; bottom:12px; padding:8px 9px; font-size:8px; background:#110d09de; }
  .phg-entry-enter { bottom:11%; min-height:50px; padding:15px 22px; font-size:12px; }
  .phg-entry-foot { left:12px; right:12px; bottom:11px; justify-content:center; font-size:7px; letter-spacing:.08em; text-align:center; }
  body.phg-immersive-site .hero { min-height: 82svh; padding: 116px 24px 56px; background-position: center 72%; background-size: auto 145%; }
  body.phg-immersive-site > main > section:not(.hero), body.phg-immersive-site > main > .phg-virtual-classic-return { padding: 50px 20px; }
}
@media (max-width: 410px) {
  .phg-entry-enter { bottom:10%; }
}
@media (prefers-reduced-motion: reduce) {
  body.phg-immersive-site, body.phg-immersive-site *, .phg-virtual-entry, .phg-virtual-entry * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* The entrance uses one responsive image artboard so the door stays in place on every screen. */
.phg-world-nav { height:64px; inset:14px 18px auto; padding:8px 14px 8px 20px; gap:clamp(16px,3vw,42px); }
.phg-world-brand span { font-size:28px; }
.phg-world-explore { position:relative; margin-left:auto; }
.phg-world-explore > summary { min-height:42px; display:flex; align-items:center; gap:9px; padding:0 15px; border:1px solid #caa76a88; border-radius:999px; color:#fff5e6; background:#241b13; cursor:pointer; list-style:none; font:600 12px/1 Arial,sans-serif; }
.phg-world-explore > summary::-webkit-details-marker { display:none; }
.phg-world-explore > summary span { color:#e1c28b; transition:transform .2s ease; }
.phg-world-explore[open] > summary span { transform:rotate(180deg); }
.phg-explore-panel { position:absolute; z-index:5; top:calc(100% + 12px); left:50%; width:min(700px, calc(100vw - 36px)); display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:24px; transform:translateX(-50%); border:1px solid #caa76a66; border-radius:16px; background:rgba(20,15,11,.97); box-shadow:0 24px 65px #000a; backdrop-filter:blur(18px); }
.phg-explore-panel > div { display:grid; align-content:start; gap:12px; }
.phg-explore-panel small { margin-bottom:3px; color:#c9a66b; font:700 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.phg-explore-panel a { min-height:32px; display:flex; align-items:center; color:#f8eee0; text-decoration:none; font:500 13px/1.3 Arial,sans-serif; }
.phg-explore-panel a:hover,.phg-explore-panel a:focus-visible { color:#e8c58b; }
.phg-world-label { margin-left:auto; }
.phg-world-bag { min-height:42px; padding:0 18px!important; }
body.phg-immersive-site .hero { background:#1a130d url('/images/gallery-room-entry.jpg') center 56%/cover no-repeat; }

.phg-virtual-entry { background:#100b07; }
.phg-virtual-entry::before { content:""; position:absolute; z-index:0; inset:0; opacity:0; background:url('/images/gallery-room-entry.jpg') center 54%/cover no-repeat; transform:scale(1.04); transition:opacity 1s ease, transform 3s cubic-bezier(.2,.65,.15,1); }
.phg-virtual-entry.is-walking::before { opacity:1; transform:scale(1); }
.phg-entry-scene { position:absolute; z-index:1; inset:0; display:grid; place-items:center; overflow:hidden; perspective:1600px; transform:none; transition:none; }
.phg-entry-artboard { position:relative; flex:none; width:min(100vw,155.47vh); max-width:100vw; max-height:100vh; aspect-ratio:1536 / 988; overflow:visible; transform-origin:70.8% 57.7%; transform:scale(1); transition:transform 1.45s cubic-bezier(.2,.65,.15,1),opacity 1.1s ease; }
.phg-entry-photo { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:fill; object-position:center; }
.phg-entry-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,6,4,.42),transparent 26%,transparent 78%,rgba(8,6,4,.08)); pointer-events:none; }
.phg-entry-doorframe { left:62.1%; top:30.9%; width:17.5%; height:53.5%; border:1px solid rgba(244,207,147,.42); box-shadow:0 0 0 1px #100b0733,0 0 24px #e5b76d26,inset 0 0 16px #fff2; animation:phg-door-glow 3s ease-in-out infinite; }
.phg-entry-aperture { left:62.1%; top:30.9%; width:17.5%; height:53.5%; overflow:hidden; opacity:0; background:#1b120c; box-shadow:inset 0 0 35px #000b; transition:opacity .85s ease,transform 1.4s cubic-bezier(.2,.65,.15,1); }
.phg-entry-aperture img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:42% center; filter:brightness(.78) saturate(.92); transform:scale(1.08); transition:transform 1.8s ease,filter 1s ease; }
.phg-entry-aperture::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(241,189,117,.2),transparent 60%),linear-gradient(0deg,#1c100844,transparent 65%); box-shadow:inset 0 0 28px #110a06aa; }
.phg-entry-door { left:62.1%; top:30.9%; width:17.5%; height:53.5%; overflow:hidden; border:0; background:#1a120c; transform:rotateY(0deg); transform-origin:right center; transform-style:preserve-3d; backface-visibility:visible; transition:transform 1.05s cubic-bezier(.2,.7,.18,1),filter .3s ease; }
.phg-entry-door-slab { position:absolute; left:-354.86%; top:-57.76%; max-width:none!important; width:571.43%!important; height:186.92%!important; object-fit:fill; object-position:center; pointer-events:none; }
.phg-entry-door:hover { filter:brightness(1.12); }
.phg-entry-door-copy { bottom:14px; opacity:1; padding:10px 13px; border-color:#e1c185aa; background:#110d09db; font-size:9px; }
.phg-entry-handle { z-index:2; right:10%; top:48%; width:4px; height:15%; border-radius:10px; background:linear-gradient(90deg,#654722,#f1d293,#79562b); box-shadow:0 0 14px #eed08c77; }
.phg-entry-message { z-index:3; top:auto; bottom:30px; left:clamp(22px,4vw,64px); width:min(390px,38vw); transform:none; text-shadow:0 2px 18px #000c; transition:opacity .45s ease,transform .45s ease; }
.phg-entry-eyebrow { margin:0 0 8px; color:#e8c98f; font:700 9px/1.4 Arial,sans-serif; letter-spacing:.23em; }
.phg-entry-instruction { display:block; margin:0 0 6px; color:#fff8ef; font:400 clamp(20px,2.2vw,30px)/1.08 Georgia,serif; }
.phg-entry-message > span { color:#f1e1cb; font:12px/1.5 Arial,sans-serif; }
.phg-entry-enter { z-index:3; left:auto; right:clamp(22px,4vw,64px); bottom:36px; transform:none; min-height:54px; padding:0 24px; gap:20px; border:1px solid #f3deb7; background:linear-gradient(135deg,#f4dfb1,#c99f5c); font-size:12px; box-shadow:0 10px 35px #0008,0 0 30px #eac78b33; transition:opacity .4s ease,transform .25s ease,background .25s ease; }
.phg-entry-enter:hover { transform:translateY(-2px); }
.phg-entry-enter span { font-size:16px; }
.phg-entry-original { position:absolute; z-index:3; left:clamp(22px,4vw,64px); bottom:12px; color:#f6ebdc; text-decoration:underline; text-decoration-color:#e1c18599; text-underline-offset:3px; font:10px/1.4 Arial,sans-serif; text-shadow:0 2px 14px #000; }
.phg-virtual-entry.is-approaching .phg-entry-artboard { transform:scale(1.22); }
.phg-virtual-entry.is-approaching .phg-entry-message,.phg-virtual-entry.is-approaching .phg-entry-enter,.phg-virtual-entry.is-approaching .phg-entry-original { opacity:0; }
.phg-virtual-entry.is-opening .phg-entry-door { transform:rotateY(82deg); filter:brightness(.88); }
.phg-virtual-entry.is-approaching .phg-entry-door-copy { opacity:0; }
.phg-virtual-entry.is-opening .phg-entry-aperture { opacity:1; }
.phg-virtual-entry.is-revealing .phg-entry-aperture img { transform:scale(1.18); filter:brightness(1) saturate(1); }
.phg-virtual-entry.is-walking .phg-entry-artboard { transform:scale(3.15); opacity:0; transition-duration:1.55s,1.35s; }
.phg-virtual-entry.is-walking .phg-entry-aperture { transform:scale(4.8); opacity:1; transition-duration:1.2s,1.4s; }
.phg-virtual-entry.is-walking .phg-entry-door { opacity:0; transition:opacity .5s ease; }
@keyframes phg-door-glow { 0%,100%{box-shadow:0 0 0 1px #100b0733,0 0 14px #e5b76d20,inset 0 0 10px #fff1} 50%{box-shadow:0 0 0 1px #100b0733,0 0 28px #e5b76d66,inset 0 0 18px #fff3} }

@media (max-width:760px) {
  .phg-world-nav { inset:max(8px,env(safe-area-inset-top)) 8px auto; height:60px; display:flex; gap:8px; padding:6px 9px 6px 12px; border-radius:13px; }
  .phg-world-brand { margin-right:auto; }
  .phg-world-brand span { font-size:23px; }
  .phg-world-brand small { font-size:6px; }
  .phg-world-explore { margin:0; }
  .phg-world-explore > summary { min-height:40px; padding:0 11px; font-size:11px; }
  .phg-explore-panel { position:fixed; top:calc(max(8px,env(safe-area-inset-top)) + 68px); left:8px; right:8px; width:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; padding:18px; transform:none; }
  .phg-explore-panel a { min-height:38px; font-size:12px; }
  .phg-world-label { display:none; }
  .phg-world-bag { min-height:40px; padding:0 13px!important; font-size:12px!important; }
  .phg-entry-artboard { width:min(100vw,155.47vh); }
  .phg-entry-message { top:max(16px,env(safe-area-inset-top)); bottom:auto; left:18px; width:min(340px,calc(100vw - 36px)); }
  .phg-entry-eyebrow { margin-bottom:4px; font-size:8px; }
  .phg-entry-instruction { margin-bottom:3px; font-size:20px; }
  .phg-entry-message > span { font-size:10px; }
  .phg-entry-door-copy { bottom:6px; padding:7px 8px; font-size:7px; }
  .phg-entry-enter { right:50%; bottom:max(48px,calc(env(safe-area-inset-bottom) + 42px)); min-height:50px; padding:0 20px; transform:translateX(50%); white-space:nowrap; }
  .phg-entry-enter:hover { transform:translate(50%,-2px); }
  .phg-entry-original { left:50%; bottom:max(16px,env(safe-area-inset-bottom)); transform:translateX(-50%); white-space:nowrap; font-size:9px; }
  body.phg-immersive-site .hero { background-image:linear-gradient(90deg,rgba(13,10,7,.77),rgba(13,10,7,.22)),url('/images/gallery-room-entry.jpg'); background-position:center,center; background-size:cover,cover; }
}
@media (prefers-reduced-motion:reduce) {
  .phg-entry-doorframe { animation:none; }
}
/* The virtual fit studio turns each selection into a room-scale gallery moment. */
body.phg-immersive-site .medical-style-studio,
body.phg-immersive-site .mens-style-studio {
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr); gap:clamp(22px,4vw,58px);
  align-items:center; padding:clamp(16px,2.8vw,34px); margin:24px 0 34px; overflow:hidden;
  border:1px solid #d8b67355; border-radius:28px;
  background:radial-gradient(ellipse at 34% 40%,#4c351f 0%,#23190f 48%,#12100d 100%);
  box-shadow:0 28px 80px #0008,inset 0 1px #fff2;
}
body.phg-immersive-site .medical-wig-preview,
body.phg-immersive-site .mens-style-preview {
  position:relative; display:grid; place-items:center; min-height:340px; overflow:hidden;
  border:1px solid #e3c17c66; border-radius:22px;
  background:radial-gradient(ellipse at 50% 84%,#e6c88434 0%,#5b43204a 30%,#120f0b 74%);
  box-shadow:inset 0 0 70px #f0d2950d,0 16px 35px #0006;
}
body.phg-immersive-site .medical-wig-preview::after,
body.phg-immersive-site .mens-style-preview::after {
  content:""; position:absolute; left:12%; right:12%; bottom:5%; height:18px; border-radius:50%;
  background:#d7b06466; filter:blur(16px); pointer-events:none;
}
body.phg-immersive-site .medical-standalone-wig,
body.phg-immersive-site .mens-style-image { position:relative; z-index:1; filter:drop-shadow(0 26px 28px #0009); transition:transform .65s cubic-bezier(.2,.75,.2,1),filter .65s; }
body.phg-immersive-site .phg-preview-shift img { animation:phg-preview-turn .72s cubic-bezier(.2,.7,.2,1); }
@keyframes phg-preview-turn { 0%{opacity:.58;transform:translateY(12px) scale(.96) rotateY(-8deg);filter:blur(3px)} 100%{opacity:1;transform:translateY(0) scale(1) rotateY(0);filter:blur(0)} }
body.phg-immersive-site .medical-look-controls { display:grid; gap:18px; align-content:center; }
body.phg-immersive-site .medical-selection-summary { padding:18px 20px; border:1px solid #d9b66b52; border-radius:16px; background:#120f0b9c; box-shadow:inset 0 1px #fff2; }
body.phg-immersive-site .medical-selection-summary span { color:#c6a76e; letter-spacing:.14em; text-transform:uppercase; font-size:.68rem; }
body.phg-immersive-site .medical-selection-summary strong { display:block; color:#fff2dd; font:clamp(24px,3vw,38px)/1.08 Georgia,serif; margin-top:7px; }
body.phg-immersive-site .phg-selection-field { border:1px solid #d6b16b4f; border-radius:16px; padding:12px 14px; background:#120f0b99; }
body.phg-immersive-site .phg-selection-field legend { padding:0 7px; color:#edd29b; font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.72rem; }
body.phg-immersive-site .phg-selection-rail { scrollbar-color:#c9a563 #211a12; scroll-snap-type:x mandatory; }
body.phg-immersive-site .phg-selection-rail button { scroll-snap-align:start; transition:transform .22s,border-color .22s,box-shadow .22s,background .22s; }
body.phg-immersive-site .phg-selection-rail button:hover,
body.phg-immersive-site .phg-selection-rail button:focus-visible { transform:translateY(-2px); border-color:#efd18d; box-shadow:0 8px 22px #d9ae5d28; }
body.phg-immersive-site .wig-preview-color-options button { display:flex; align-items:center; gap:9px; min-height:48px; padding:7px 12px; border:1px solid #d7c7a444; border-radius:999px; background:#21190f; color:#f6ead8; }
body.phg-immersive-site .wig-preview-color-options button i { width:22px; height:22px; border-radius:50%; box-shadow:0 0 0 1px #fff8,0 0 12px #fff3; }
body.phg-immersive-site .wig-preview-color-options button.active { border-color:#f1cf83; background:#60451f; box-shadow:0 0 0 2px #e5c47b26,0 8px 24px #d2a65035; }
body.phg-immersive-site .wig-basket-actions { display:grid; gap:12px; margin-top:18px; }
body.phg-immersive-site .phg-virtual-fit { padding:18px; border:1px solid #d8b67350; border-radius:18px; background:linear-gradient(145deg,#241b12,#15110d); box-shadow:inset 0 1px #fff2; }
body.phg-immersive-site .phg-fit-heading h3 { margin:.25rem 0 .65rem; color:#f1d7aa; font:clamp(23px,2.5vw,32px)/1.1 Georgia,serif; }
body.phg-immersive-site .phg-fit-heading p { margin:.5rem 0; }
body.phg-immersive-site .phg-fit-measure-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin:15px 0; }
body.phg-immersive-site .phg-fit-measure-grid label { display:grid; gap:4px; padding:10px; border:1px solid #b99a6540; border-radius:12px; background:#0f0d0b; }
body.phg-immersive-site .phg-fit-measure-grid label span { color:#f2e5cf; font-size:.86rem; font-weight:700; }
body.phg-immersive-site .phg-fit-measure-grid label small { color:#b9a994; font-size:.72rem; line-height:1.35; }
body.phg-immersive-site .phg-fit-measure-grid input,
body.phg-immersive-site .phg-fit-unit select { width:100%; min-height:42px; padding:9px 11px; border:1px solid #b99a6566; border-radius:9px; background:#201910; color:#fff4e1; }
body.phg-immersive-site .phg-fit-unit { display:grid; grid-template-columns:1fr minmax(135px,.45fr); gap:14px; align-items:center; margin:12px 0; color:#eddbbc; }
body.phg-immersive-site .phg-fit-ack { display:flex; gap:10px; align-items:flex-start; padding:13px; border-radius:12px; background:#0f0d0b; color:#e3d4c0; font-size:.84rem; line-height:1.5; }
body.phg-immersive-site .phg-fit-ack input { flex:0 0 auto; width:18px; height:18px; margin-top:2px; accent-color:#d8b673; }
body.phg-immersive-site .phg-fit-note { margin:11px 0 0; color:#cbb99f; font-size:.82rem; line-height:1.5; }
body.phg-immersive-site .phg-fit-status { color:#e5c680; }
body.phg-immersive-site .phg-virtual-fit-intro { padding:clamp(22px,4vw,42px); border:1px solid #d8b67355; border-radius:22px; background:radial-gradient(ellipse at 15% 20%,#62462455,#1b150f 58%,#120f0b); box-shadow:0 20px 60px #0006; }
body.phg-immersive-site .phg-virtual-fit-intro h3 { font:clamp(25px,3.3vw,42px)/1.08 Georgia,serif; color:#f2d7a6; }
body.phg-immersive-site .phg-virtual-fit-intro p { max-width:850px; line-height:1.7; }
body.phg-immersive-site #custom-measurements,
body.phg-immersive-site #men-custom-measurements,
body.phg-immersive-site #custom-fit-process { scroll-margin-top:100px; }
body.phg-immersive-site .product-card { transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s; }
body.phg-immersive-site .product-card:hover { transform:translateY(-7px); border-color:#d9b66b99; box-shadow:0 24px 46px #0007,0 0 0 1px #d9b66b35; }
body.phg-immersive-site .product-image img { transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s; }
body.phg-immersive-site .product-card:hover .product-image img { transform:scale(1.055); filter:saturate(1.08) contrast(1.03); }
body.phg-immersive-site .phg-world-nav { backdrop-filter:blur(18px); }
body.phg-immersive-site .phg-world-explore[open] .phg-explore-panel { animation:phg-menu-reveal .32s cubic-bezier(.2,.7,.2,1); }
@keyframes phg-menu-reveal { from{opacity:0;transform:translateY(-9px) scale(.985)} to{opacity:1;transform:translateY(0) scale(1)} }
@media(max-width:820px) {
  body.phg-immersive-site .medical-style-studio,body.phg-immersive-site .mens-style-studio { grid-template-columns:1fr; padding:13px; gap:16px; border-radius:19px; }
  body.phg-immersive-site .medical-wig-preview,body.phg-immersive-site .mens-style-preview { min-height:260px; }
  body.phg-immersive-site .phg-fit-measure-grid { gap:8px; }
  body.phg-immersive-site .phg-fit-measure-grid label { padding:8px; }
}
@media(max-width:460px) {
  body.phg-immersive-site .phg-fit-measure-grid { grid-template-columns:1fr; }
  body.phg-immersive-site .phg-fit-unit { grid-template-columns:1fr; gap:6px; }
  body.phg-immersive-site .medical-selection-summary { padding:14px; }
}
@media(prefers-reduced-motion:reduce) {
  body.phg-immersive-site .phg-preview-shift img,body.phg-immersive-site .phg-world-explore[open] .phg-explore-panel { animation:none; }
  body.phg-immersive-site .product-card,body.phg-immersive-site .product-image img,body.phg-immersive-site .phg-selection-rail button { transition:none; }
}

/* Final readability and phone-layout pass for the virtual showroom. */
body.phg-immersive-site > main > aside.hair-longevity-statement {
  display:block;
  margin:0;
  padding:clamp(34px,6vw,68px) clamp(22px,7vw,92px);
  color:#f8f0e5 !important;
  background:radial-gradient(ellipse at 50% 0%,#38291b 0%,#18130e 58%,#110e0b 100%) !important;
  border-block:1px solid #c8a46b55;
  text-align:center;
}
body.phg-immersive-site > main > aside.hair-longevity-statement h2 { color:#f2d7a6 !important; }
body.phg-immersive-site > main > aside.hair-longevity-statement p,
body.phg-immersive-site > main > aside.hair-longevity-statement a { color:#f0e5d7 !important; }

body.phg-immersive-site #color-possibilities .color-values {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  width:100%;
  max-width:1100px;
  margin-inline:auto;
}
body.phg-immersive-site #color-possibilities .color-values > div {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-content:start;
  align-items:center;
  gap:8px 10px;
  min-width:0;
  min-height:96px;
  padding:14px;
  grid-column:auto !important;
  border:1px solid #c7a26466;
  border-radius:12px;
  color:#f5ecdf;
  background:linear-gradient(145deg,#30251a,#17120e) !important;
  box-shadow:0 8px 22px #0004;
}
body.phg-immersive-site #color-possibilities .color-values > div > span {
  width:32px;
  height:32px;
  border-radius:50%;
  border:1px solid #fff7;
  grid-row:1;
}
body.phg-immersive-site #color-possibilities .color-values strong {
  min-width:0;
  color:#fff3df !important;
  font-size:14px;
  line-height:1.3;
  overflow-wrap:anywhere;
}
body.phg-immersive-site #color-possibilities .color-values .color-price {
  grid-column:1 / -1;
  margin:2px 0 0;
  color:#e7c98d !important;
  font-size:14px;
  font-weight:700;
  text-align:left;
}

body.phg-immersive-site #delivery .delivery-speed-panel { color:#f3eadf; }
body.phg-immersive-site #delivery .delivery-speed-panel > div,
body.phg-immersive-site #delivery .delivery-speed-panel > article {
  min-width:0;
  border:1px solid #b8945d66;
  border-radius:14px;
  color:#f3eadf;
  background:linear-gradient(145deg,#2b2117,#17120e) !important;
}
body.phg-immersive-site #delivery .delivery-speed-panel h3,
body.phg-immersive-site #delivery .delivery-speed-panel strong,
body.phg-immersive-site #delivery .delivery-speed-panel article > span { color:#edcd93 !important; }
body.phg-immersive-site #delivery .delivery-speed-panel p { color:#efe5d8 !important; }

body.phg-immersive-site .bonnet-text-instructions {
  padding:0 16px;
  border:1px solid #b8945d66;
  border-radius:12px;
  color:#f5ecdf;
  background:#21190f;
}
body.phg-immersive-site .bonnet-text-instructions > summary,
body.phg-immersive-site .bonnet-text-instructions li { color:#f5ecdf !important; }
body.phg-immersive-site .bonnet-text-instructions > summary::marker { color:#e7c98d; }
body.phg-immersive-site .medical-visualizer,
body.phg-immersive-site .mens-wig-gallery,
body.phg-immersive-site .medical-style-studio,
body.phg-immersive-site .mens-style-studio,
body.phg-immersive-site .medical-look-controls {
  min-width:0;
  color:#f3eadf;
  background-color:#17120e;
}
body.phg-immersive-site .phg-virtual-fit,
body.phg-immersive-site .phg-virtual-fit-intro { min-width:0; width:100%; }

.phg-world-nav .phg-world-bag {
  gap:8px;
  min-width:82px;
  justify-content:center;
  color:#160f08 !important;
}
.phg-world-nav .phg-world-bag span {
  display:inline-grid !important;
  place-items:center;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  padding:0;
  border-radius:50% !important;
  color:#fff8ec !important;
  background:#24180e !important;
  font-size:11px !important;
}
.phg-world-nav .phg-world-bag span::before,
.phg-world-nav .phg-world-bag span::after { content:none !important; }

@media(max-width:760px) {
  body.phg-immersive-site #color-possibilities .color-values {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  body.phg-immersive-site #color-possibilities .color-values > div {
    grid-template-columns:28px minmax(0,1fr);
    min-height:86px;
    padding:10px;
    gap:7px;
  }
  body.phg-immersive-site #color-possibilities .color-values > div > span { width:26px;height:26px; }
  body.phg-immersive-site #color-possibilities .color-values strong { font-size:12px; }
  body.phg-immersive-site #color-possibilities .color-values .color-price { font-size:13px; }
  body.phg-immersive-site #delivery .delivery-speed-panel { display:grid;grid-template-columns:minmax(0,1fr);gap:12px; }
  body.phg-immersive-site #delivery .delivery-speed-panel > article { display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;padding:16px; }
  body.phg-immersive-site .medical-visualizer,
  body.phg-immersive-site .mens-wig-gallery { padding:12px; }
  body.phg-immersive-site .phg-virtual-fit-intro { padding:20px 16px; }
  .phg-world-nav .phg-world-bag { min-width:76px; gap:7px; padding-inline:10px !important; }
}
@media(max-width:380px) {
  body.phg-immersive-site #color-possibilities .color-values { grid-template-columns:1fr; }
}

/* Photo-real room walk: use the gallery image itself as the environment. */
body.phg-immersive-site .hero.phg-gallery-room {
  min-height:min(940px,100svh);
  min-height:max(760px,100svh);
  padding:0;
  isolation:isolate;
  align-items:stretch;
  background-image:url('/images/gallery-room-entry.jpg');
  background-position:var(--phg-room-pan,50%) center;
  background-size:auto 122%;
  transition:background-position .9s cubic-bezier(.2,.65,.15,1),filter .8s ease;
}
body.phg-immersive-site .hero.phg-gallery-room::before {
  z-index:0;
  background:
    linear-gradient(90deg,rgba(12,9,6,.46),rgba(12,9,6,.12) 42%,rgba(12,9,6,.04) 75%),
    linear-gradient(0deg,rgba(8,6,4,.88),transparent 32%,transparent 78%,rgba(8,6,4,.48));
}
body.phg-immersive-site .hero.phg-gallery-room .hero-copy {
  position:absolute;
  z-index:2;
  inset:0;
  width:auto;
  max-width:none;
  pointer-events:none;
}
.phg-room-walkthrough {
  position:absolute;
  top:clamp(112px,15vh,150px);
  left:clamp(22px,4vw,62px);
  width:min(370px,32vw);
  padding:20px 22px 17px;
  border:1px solid #e0c18677;
  border-radius:19px;
  color:#fff8ed;
  background:linear-gradient(145deg,rgba(20,15,10,.88),rgba(20,15,10,.63));
  box-shadow:0 20px 60px #0007,inset 0 1px #fff2;
  backdrop-filter:blur(11px);
  pointer-events:auto;
}
.phg-room-eyebrow { margin:0 0 12px;color:#e7c98d;font:700 9px/1.45 Arial,sans-serif;letter-spacing:.21em; }
body.phg-immersive-site .hero.phg-gallery-room .phg-room-walkthrough h1 { max-width:340px;margin:0;color:#fff7eb!important;font:400 clamp(34px,3.6vw,48px)/.98 Georgia,serif!important;letter-spacing:-.045em; }
.phg-room-walkthrough h1 em { color:#e9ca8c;font-style:normal; }
.phg-room-description { max-width:360px;margin:14px 0 17px;color:#f1e4d2!important;font:14px/1.58 Arial,sans-serif; }
.phg-room-camera { display:flex;flex-wrap:wrap;align-items:center;gap:6px; }
.phg-room-camera>span { flex:0 0 100%;margin-bottom:2px;color:#d6b77d;font:700 9px/1 Arial,sans-serif;letter-spacing:.17em; }
.phg-room-camera button { min-height:38px;padding:0 11px;border:1px solid #c8a66d70;border-radius:999px;color:#fff1dc!important;background:#100d09b8!important;font:600 11px/1 Arial,sans-serif;cursor:pointer; }
.phg-room-camera button[aria-pressed="true"] { border-color:#f0d69f;background:#c7a366!important;color:#1c140b!important;box-shadow:0 0 20px #e5bf7133; }
.phg-room-status { min-height:1.35em;margin:12px 0 0;color:#f0dfc6!important;font:11px/1.4 Arial,sans-serif; }
.phg-room-hotspots { position:absolute;z-index:2;inset:0;pointer-events:none; }
.phg-room-hotspot {
  position:absolute;left:var(--spot-x);top:var(--spot-y);display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:3px 9px;
  width:min(220px,20vw);min-height:58px;padding:9px 12px;border:1px solid #e4c582aa;border-radius:12px;
  color:#fff8eb!important;text-decoration:none;background:rgba(17,12,8,.83);box-shadow:0 9px 24px #0007;backdrop-filter:blur(10px);
  transform:translate(-50%,-50%);pointer-events:auto;transition:transform .24s ease,background .24s ease,box-shadow .24s ease;
}
.phg-room-hotspot::before { content:"";position:absolute;left:17px;top:-20px;width:1px;height:19px;background:#e3c181; }
.phg-room-hotspot>span { grid-row:1 / span 2;display:grid;place-items:center;width:25px;height:25px;border:1px solid #e0bd7c;border-radius:50%;color:#f0d39a;font:700 9px/1 Arial,sans-serif; }
.phg-room-hotspot strong { min-width:0;color:#fff1dc;font:700 11px/1.2 Arial,sans-serif; }
.phg-room-hotspot small { min-width:0;color:#e3d4c0;font:10px/1.25 Arial,sans-serif; }
.phg-room-hotspot:hover,.phg-room-hotspot:focus-visible { z-index:3;background:#3b2a18;box-shadow:0 0 0 2px #ebcd8a55,0 14px 34px #0009;transform:translate(-50%,-54%) scale(1.04); }
.phg-room-floor-nav {
  position:absolute;z-index:3;left:50%;bottom:clamp(20px,4vh,42px);display:grid;grid-template-columns:repeat(4,minmax(155px,1fr));gap:9px;
  width:min(780px,calc(100% - 48px));padding:10px;border:1px solid #d9b87566;border-radius:16px;
  background:rgba(17,13,9,.76);box-shadow:0 14px 40px #0007;backdrop-filter:blur(14px);transform:translateX(-50%);
}
.phg-room-floor-nav a { min-width:0;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:2px 8px;padding:9px 8px;border-radius:10px;color:#fff3e1!important;text-decoration:none;transition:background .2s ease,transform .2s ease; }
.phg-room-floor-nav a:hover,.phg-room-floor-nav a:focus-visible { background:#49351f;transform:translateY(-2px); }
.phg-room-floor-nav a>span { grid-row:1 / span 2;color:#dfbd7e;font:700 9px/1 Arial,sans-serif; }
.phg-room-floor-nav a strong { color:#fff4e2;font:700 11px/1.2 Arial,sans-serif; }
.phg-room-floor-nav a small { color:#d7c4a9;font:10px/1.25 Arial,sans-serif; }
body.phg-immersive-site .hero.phg-room-camera-shift { filter:saturate(1.06); }
body.phg-immersive-site #shop,
body.phg-immersive-site #wigs,
body.phg-immersive-site #color-possibilities,
body.phg-immersive-site #custom-wigs { scroll-margin-top:100px; }
@media(max-width:760px) {
  body.phg-immersive-site .hero.phg-gallery-room {
    min-height:100svh;
    background-size:auto 100%;
    background-position:var(--phg-room-pan,50%) center;
  }
  body.phg-immersive-site .hero.phg-gallery-room::before {
    background:linear-gradient(0deg,rgba(8,6,4,.95),rgba(8,6,4,.55) 31%,rgba(8,6,4,.1) 68%,rgba(8,6,4,.4));
  }
  .phg-room-walkthrough { top:max(92px,calc(env(safe-area-inset-top) + 83px));left:14px;width:min(360px,calc(100% - 28px));padding:16px 15px 13px;border-radius:14px; }
  .phg-room-eyebrow { margin-bottom:7px;font-size:8px;letter-spacing:.16em; }
  body.phg-immersive-site .hero.phg-gallery-room .phg-room-walkthrough h1 { max-width:100%;font-size:clamp(31px,9vw,42px)!important; }
  .phg-room-description { margin:9px 0 10px;font-size:12px;line-height:1.42; }
  .phg-room-camera { gap:5px; }
  .phg-room-camera>span { font-size:8px; }
  .phg-room-camera button { min-height:34px;padding:0 9px;font-size:10px; }
  .phg-room-status { margin-top:8px;font-size:10px; }
  .phg-room-hotspots { display:none; }
  .phg-room-floor-nav {
    left:0;right:0;bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:8px;width:100%;
    padding:8px 14px 12px;border:0;border-radius:0;background:linear-gradient(0deg,rgba(10,8,6,.94),rgba(10,8,6,.76));
    overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;transform:none;-webkit-overflow-scrolling:touch;
  }
  .phg-room-floor-nav::-webkit-scrollbar { display:none; }
  .phg-room-floor-nav a { flex:0 0 158px;min-height:55px;padding:9px 8px;border:1px solid #d2ad6a55;background:#21180fbd; }
}
@media(prefers-reduced-motion:reduce) {
  body.phg-immersive-site .hero.phg-gallery-room,.phg-room-floor-nav a,.phg-room-hotspot,.phg-room-camera button { transition:none!important; }
}

/* Virtual floor reset: the storefront stays a complete entrance image; the room is built from the real catalog. */
.phg-entry-artboard { width:min(100vw,150vh); aspect-ratio:3/2; }
.phg-entry-photo { object-fit:contain!important; }
.phg-entry-door-slab { object-fit:contain!important; }
body.phg-immersive-site img { object-fit:contain!important;object-position:center!important; }
.phg-virtual-entry::before { background:radial-gradient(ellipse at 50% 46%,#614322 0,#2a1c11 40%,#0e0b08 78%); }
.phg-entry-aperture { background:radial-gradient(ellipse at 50% 42%,#7e5831 0,#24170e 56%,#0e0b08 100%); }
.phg-entry-portal-aisle { position:absolute;inset:0;overflow:hidden;display:grid;grid-template-rows:auto 1fr;align-items:start;padding:8% 7%;background:linear-gradient(180deg,#21170e,#422d1b 46%,#100c08);transform:scale(.88) translateY(22px); }
.phg-entry-portal-aisle::before { content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 24%,#d4ad6c0d 24.2% 24.7%,transparent 25% 49%); }
.phg-entry-portal-aisle>span { position:relative;z-index:1;justify-self:center;color:#f2d39a;font:700 clamp(7px,1.4vw,13px)/1 Arial,sans-serif;letter-spacing:.22em;white-space:nowrap; }
.phg-entry-portal-products { position:relative;z-index:1;align-self:center;display:flex;align-items:center;justify-content:center;gap:4%;height:78%;padding:4%;border-top:1px solid #d7b87975;border-bottom:1px solid #d7b87966;background:linear-gradient(180deg,#5a40274d,#170f0a22);box-shadow:0 0 22px #e7bd7433; }
.phg-entry-portal-products img { width:29%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 9px #0008);animation:phg-hair-sway 5s ease-in-out infinite alternate; }
.phg-entry-portal-products img:nth-child(2) { animation-delay:-1.7s; }
.phg-entry-portal-products img:nth-child(3) { animation-delay:-3.2s; }
.phg-entry-aperture img { display:none; }

body.phg-immersive-site .hero.phg-gallery-room { height:100svh;min-height:720px;padding:0;background:#100d0a!important;overflow:hidden; }
body.phg-immersive-site .hero.phg-gallery-room::before { z-index:0;background:radial-gradient(ellipse at 50% 44%,#6d4a2724,#100d0a 72%),linear-gradient(180deg,#15100b,#0c0a08); }
body.phg-immersive-site .hero.phg-gallery-room .hero-copy { z-index:1; }
.phg-aisle-world { position:absolute;inset:0;overflow:hidden;isolation:isolate;pointer-events:auto;background:radial-gradient(ellipse at 50% 45%,#70502b66 0,#332417 27%,#15100b 72%,#0b0907 100%); }
.phg-aisle-world::before { content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(ellipse at 50% 18%,#edcf9133,transparent 42%),linear-gradient(90deg,#080705 0,transparent 15%,transparent 85%,#080705 100%);pointer-events:none; }
.phg-aisle-world::after { content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,#0c0907 0,transparent 20%,transparent 76%,#0b0907ad);pointer-events:none; }
.phg-aisle-ceiling { position:absolute;z-index:1;top:72px;left:15%;right:15%;height:17%;display:flex;justify-content:space-around;align-items:flex-start;perspective:900px; }
.phg-aisle-ceiling span { width:clamp(35px,7vw,96px);height:4px;border-radius:99px;background:linear-gradient(90deg,#f4dda3,#fff3d0,#d4a85f);box-shadow:0 0 15px 5px #f1d29435;transform:rotateX(58deg); }
.phg-aisle-sign { position:absolute;z-index:3;top:clamp(100px,15vh,145px);left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);color:#f1d6a0;font:700 10px/1.2 Arial,sans-serif;letter-spacing:.23em;text-align:center;text-shadow:0 2px 18px #000;white-space:nowrap; }
.phg-aisle-room { position:absolute;z-index:0;inset:11% 0 0;perspective:1000px;perspective-origin:50% 40%;overflow:hidden; }
.phg-aisle-wall { position:absolute;top:8%;bottom:19%;width:32%;border:1px solid #dbb9794d;background:repeating-linear-gradient(180deg,#312417 0 2px,#17120d 3px 19%,#674a2c 19.4% 20.1%,#20170f 20.8% 39%);box-shadow:inset 0 0 34px #000a,0 12px 28px #0008; }
.phg-aisle-wall-left { left:-5%;transform:rotateY(28deg);transform-origin:left center; }
.phg-aisle-wall-right { right:-5%;transform:rotateY(-28deg);transform-origin:right center; }
.phg-aisle-wall i { position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#d7b26eaa,#fff0c788,#b1894f66,transparent);box-shadow:0 7px 18px #0008; }
.phg-aisle-wall i:nth-child(1){top:28%}.phg-aisle-wall i:nth-child(2){top:57%}.phg-aisle-wall i:nth-child(3){top:85%}
.phg-aisle-floor { position:absolute;z-index:1;left:16%;right:16%;bottom:-12%;height:57%;transform:perspective(520px) rotateX(59deg);transform-origin:center bottom;background:repeating-linear-gradient(90deg,#2d2114 0 9.7%,#8c683b 9.9% 10.2%,#2b1e12 10.5% 19.7%),repeating-linear-gradient(0deg,transparent 0 18%,#d3ae6b1c 18.2% 18.8%,transparent 19% 38%);border-top:1px solid #d2ac684d;box-shadow:0 -28px 38px #e0ba7022; }
.phg-aisle-runner { position:absolute;z-index:1;left:37%;right:37%;bottom:2%;height:43%;transform:perspective(520px) rotateX(60deg);transform-origin:center bottom;background:linear-gradient(90deg,#3a2819,#17100b 35%,#21160e 65%,#422d1a);border:1px solid #e0bf7c66;box-shadow:0 0 28px #000b; }
.phg-room-walkthrough { z-index:4;top:clamp(92px,13vh,128px);left:clamp(14px,3vw,42px);width:min(360px,31vw);padding:15px 18px;border-radius:15px;background:linear-gradient(135deg,#120e0bdc,#1f170fe0);backdrop-filter:blur(16px); }
.phg-room-eyebrow { margin:0 0 6px;font-size:8px;letter-spacing:.17em; }
body.phg-immersive-site .hero.phg-gallery-room .phg-room-walkthrough h1 { max-width:320px;font:400 clamp(25px,2.8vw,38px)/1.04 Georgia,serif!important;letter-spacing:-.035em; }
.phg-room-description { margin:8px 0 0;font-size:12px;line-height:1.45; }
.phg-room-status { margin:6px 0 0;font-size:10px; }
.phg-aisle-product-rail { position:absolute;z-index:3;left:4%;right:4%;top:34%;height:40%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(8px,1.8vw,24px);perspective:1000px; }
.phg-aisle-product-rail { display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#c6a263 #1b150f;scroll-snap-type:x mandatory; }
.phg-aisle-display { position:relative;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:4px;padding:10px 12px 9px;overflow:hidden;border:1px solid #d9b9768c;border-radius:13px;color:#fff2dd;background:linear-gradient(145deg,#47331fef,#1b140eee 72%);box-shadow:0 18px 38px #0009,inset 0 1px #fff2;cursor:pointer;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s;animation:phg-display-arrive .8s cubic-bezier(.2,.7,.2,1) both; }
.phg-aisle-display { flex:0 0 calc(25% - 18px);scroll-snap-align:center; }
.phg-aisle-display:nth-child(2){animation-delay:.08s}.phg-aisle-display:nth-child(3){animation-delay:.16s}.phg-aisle-display:nth-child(4){animation-delay:.24s}
.phg-aisle-display::before { content:"";position:absolute;z-index:2;top:4%;bottom:27%;left:-36%;width:24%;transform:skewX(-16deg);background:linear-gradient(90deg,transparent,#fff7df5e,transparent);animation:phg-hair-glint 6s ease-in-out infinite;pointer-events:none; }
.phg-aisle-display::after { content:"";position:absolute;left:9%;right:9%;bottom:24%;height:9px;border-radius:50%;background:#d9b97644;filter:blur(12px);pointer-events:none; }
.phg-aisle-display:hover,.phg-aisle-display:focus-visible { transform:translateY(-8px) rotateY(-2deg) scale(1.025);border-color:#ffe3a4;box-shadow:0 24px 46px #000b,0 0 28px #eac47933;outline:none; }
.phg-aisle-display img { width:100%;height:100%;min-height:0;object-fit:contain!important;object-position:center!important;filter:drop-shadow(0 16px 16px #0009);animation:phg-hair-sway 5.5s ease-in-out infinite alternate; }
.phg-aisle-display:nth-child(even) img { animation-delay:-2.5s; }
.phg-aisle-product-name { position:relative;z-index:3;display:block;overflow:hidden;color:#fff1db;font:600 12px/1.2 Arial,sans-serif;text-align:center;text-overflow:ellipsis;white-space:nowrap; }
.phg-aisle-front-label { position:absolute;z-index:3;left:50%;bottom:clamp(99px,14vh,135px);display:grid;gap:4px;transform:translateX(-50%);color:#f1d6a0;text-align:center;text-shadow:0 2px 14px #000;white-space:nowrap; }
.phg-aisle-front-label span { font:700 9px/1 Arial,sans-serif;letter-spacing:.22em; }
.phg-aisle-front-label small { color:#c8b28e;font:8px/1 Arial,sans-serif;letter-spacing:.12em; }
.phg-aisle-world[data-zone="wigs"] .phg-aisle-room,.phg-aisle-world[data-zone="colors"] .phg-aisle-room,.phg-aisle-world[data-zone="custom"] .phg-aisle-room { animation:phg-walk-depth .8s cubic-bezier(.2,.7,.2,1); }
.phg-aisle-world.is-walking .phg-aisle-product-rail { animation:phg-walk-products .82s cubic-bezier(.2,.7,.2,1); }
.phg-room-floor-nav { left:50%;bottom:max(15px,env(safe-area-inset-bottom));z-index:5;grid-template-columns:repeat(4,minmax(140px,1fr));width:min(760px,calc(100% - 40px));padding:8px;border-radius:14px;pointer-events:auto; }
.phg-room-floor-nav button { min-width:0;display:grid;gap:5px;padding:10px;border:1px solid #d9b87555;border-radius:10px;color:#fff2dd;background:#1b140fe8;text-align:left;cursor:pointer; }
.phg-room-floor-nav button[aria-pressed="true"] { border-color:#f2d58f;background:linear-gradient(145deg,#8a6336,#332416);box-shadow:0 0 20px #ddb96d33; }
.phg-room-floor-nav button strong { color:#fff3df;font:700 10px/1.2 Arial,sans-serif; }
.phg-room-floor-nav button small { color:#dec9a7;font:9px/1.2 Arial,sans-serif; }
.phg-aisle-world[data-zone="raw"] .phg-aisle-wall-left { box-shadow:inset 0 0 36px #000a,0 0 26px #e1b97620; }
body.phg-immersive-site #bundle-products .product-image img,
body.phg-immersive-site #wigs .new-wig-card img,
body.phg-immersive-site .medical-wig-preview img,
body.phg-immersive-site .mens-style-preview img { object-fit:contain!important;object-position:center!important; }
body.phg-immersive-site #bundle-products img,
body.phg-immersive-site #wigs img,
body.phg-immersive-site #color-possibilities img,
body.phg-immersive-site .gallery-experience img,
body.phg-immersive-site .actual-inventory img { object-fit:contain!important;object-position:center!important; }
body.phg-immersive-site .medical-style-studio .phg-virtual-fit,
body.phg-immersive-site .mens-style-studio .phg-virtual-fit { display:none!important; }
body.phg-immersive-site .phg-fit-jump { order:4;display:flex;align-items:center;justify-content:center;min-height:43px;padding:10px 14px;border:1px solid #d9b87580;border-radius:10px;color:#f1d8a6!important;background:#21180f;text-decoration:none;font:700 12px/1.2 Arial,sans-serif;text-align:center; }
body.phg-immersive-site .phg-virtual-fit { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 22px;margin:20px 0 5px;padding:clamp(16px,2.5vw,28px);border:1px solid #d8b67377;border-radius:20px;background:radial-gradient(ellipse at 12% 0,#60462288,#1b150f 58%,#100d0a);box-shadow:0 18px 50px #0008; }
body.phg-immersive-site .phg-fit-heading { grid-column:1/-1; }
body.phg-immersive-site .phg-fit-heading h3 { font-size:clamp(24px,3vw,36px); }
body.phg-immersive-site .phg-fit-selected-design { display:inline-block;margin:6px 0 0;padding:8px 11px;border:1px solid #d7b97855;border-radius:99px;color:#f3d69e!important;background:#17120d;font-size:12px; }
body.phg-immersive-site .phg-fit-measure-grid { grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0; }
body.phg-immersive-site .phg-fit-unit { grid-column:1;align-self:center;margin:4px 0; }
body.phg-immersive-site .phg-fit-ack { grid-column:2;grid-row:3/5;align-self:stretch; }
body.phg-immersive-site .phg-fit-note { grid-column:1; }
body.phg-immersive-site .phg-fit-continue { grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px; }
body.phg-immersive-site .phg-fit-continue button { flex:1 1 220px;min-height:46px;padding:11px 14px;border:1px solid #ecd294;border-radius:999px;color:#21180e;background:linear-gradient(135deg,#f1d8a0,#bd9252);font:700 12px/1.2 Arial,sans-serif;cursor:pointer; }
.phg-fit-anchor-alias { display:block;position:relative;top:-100px;visibility:hidden; }
@keyframes phg-hair-sway { from{transform:translate3d(-2px,-2px,0) rotate(-.55deg)} to{transform:translate3d(2px,2px,0) rotate(.55deg)} }
@keyframes phg-hair-glint { 0%,25%{left:-36%;opacity:0} 40%{opacity:.75} 68%{left:112%;opacity:0} 100%{left:112%;opacity:0} }
@keyframes phg-display-arrive { from{opacity:0;transform:translateY(18px) translateZ(-40px)} to{opacity:1;transform:translateY(0) translateZ(0)} }
@keyframes phg-walk-depth { 0%{transform:translateZ(90px) scale(1.12);filter:brightness(1.35)} 100%{transform:translateZ(0) scale(1);filter:brightness(1)} }
@keyframes phg-walk-products { 0%{opacity:.25;transform:translateY(36px) scale(.88);filter:blur(7px)} 100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)} }

@media(max-width:760px) {
  .phg-entry-scene { inset:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;overflow:auto;perspective:none;padding:calc(max(8px,env(safe-area-inset-top)) + 7px) 0 max(10px,env(safe-area-inset-bottom)); }
  .phg-entry-artboard { flex:0 0 auto;width:min(100vw,150svh);height:auto;max-height:none;aspect-ratio:3/2;margin:0 auto; }
  .phg-entry-photo { object-fit:contain!important; }
  .phg-entry-message { position:relative;top:auto;right:auto;bottom:auto;left:auto;width:calc(100% - 34px);max-width:560px;margin:13px auto 0;padding:13px 16px;border:1px solid #d7b97966;border-radius:13px;background:linear-gradient(135deg,#15100be8,#24190fdd);text-align:left; }
  .phg-entry-eyebrow { margin:0 0 6px;font-size:8px; }
  .phg-entry-instruction { margin:0 0 4px;font-size:21px; }
  .phg-entry-message>span { display:block;font-size:11px;line-height:1.45; }
  .phg-entry-doorframe,.phg-entry-aperture,.phg-entry-door { left:62.1%;top:30.9%;width:17.5%;height:53.5%; }
  .phg-entry-door-slab { left:-354.86%;top:-57.76%;width:571.43%!important;height:186.92%!important;object-fit:contain!important; }
  .phg-entry-door-copy { bottom:5px;padding:6px 7px;font-size:7px; }
  .phg-entry-enter { position:relative;top:auto;right:auto;bottom:auto;left:auto;align-self:center;transform:none;min-height:48px;margin:12px auto 0;padding:0 22px; }
  .phg-entry-enter:hover { transform:none; }
  body.phg-immersive-site .hero.phg-gallery-room { height:100svh;min-height:690px; }
  .phg-aisle-ceiling { top:67px;left:14%;right:14%;height:12%; }
  .phg-aisle-sign { top:clamp(90px,12vh,112px);font-size:8px; }
  .phg-aisle-room { inset:8% 0 0; }
  .phg-room-walkthrough { top:125px;left:12px;width:calc(100% - 24px);max-width:none;padding:12px 14px; }
  body.phg-immersive-site .hero.phg-gallery-room .phg-room-walkthrough h1 { max-width:100%;font-size:clamp(24px,7vw,31px)!important; }
  .phg-room-description { font-size:11px; }
  .phg-room-status { font-size:9px; }
  .phg-aisle-product-rail { top:290px;left:12px;right:0;bottom:118px;height:auto;display:flex;gap:10px;padding:0 12px 8px 0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch; }
  .phg-aisle-product-rail::-webkit-scrollbar { display:none; }
  .phg-aisle-display { flex:0 0 min(72vw,300px);height:100%;min-height:225px;padding:10px;scroll-snap-align:center; }
  .phg-aisle-display img { min-height:0; }
  .phg-aisle-front-label { display:none; }
  .phg-room-floor-nav { left:0;right:0;bottom:max(8px,env(safe-area-inset-bottom));display:flex;gap:8px;width:100%;padding:8px 12px 10px;border:0;border-radius:0;background:linear-gradient(0deg,#0a0807f5,#0a0807dd);overflow-x:auto;scrollbar-width:none;transform:none;-webkit-overflow-scrolling:touch; }
  .phg-room-floor-nav::-webkit-scrollbar { display:none; }
  .phg-room-floor-nav button { flex:0 0 148px;min-height:53px;padding:8px; }
  body.phg-immersive-site .phg-virtual-fit { grid-template-columns:1fr;gap:9px; }
  body.phg-immersive-site .phg-fit-heading,body.phg-immersive-site .phg-fit-measure-grid,body.phg-immersive-site .phg-fit-unit,body.phg-immersive-site .phg-fit-ack,body.phg-immersive-site .phg-fit-note,body.phg-immersive-site .phg-fit-continue { grid-column:1;grid-row:auto; }
  body.phg-immersive-site .phg-fit-measure-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:420px) {
  .phg-entry-message { margin-top:9px;padding:10px 12px; }
  .phg-entry-instruction { font-size:19px; }
  .phg-entry-enter { margin-top:9px; }
  .phg-aisle-product-rail { top:292px; }
  body.phg-immersive-site .phg-fit-measure-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .phg-aisle-display,.phg-aisle-display img,.phg-entry-portal-products img,.phg-entry-portal-aisle,.phg-aisle-world.is-walking .phg-aisle-product-rail { animation:none!important; }
}

/* Compact phone layout: keep the entrance, aisle cards and collection walkway in one viewport. */
@media(max-width:760px) {
  .phg-world-nav {
    inset:max(8px,env(safe-area-inset-top)) 8px auto;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:7px;
    padding:5px 8px 5px 11px;
    border-radius:13px;
  }
  .phg-world-brand { min-width:0;flex:1 1 auto; }
  .phg-world-brand span { font-size:23px; }
  .phg-world-brand small { font-size:6.5px;letter-spacing:.27em; }
  .phg-world-explore { flex:0 0 auto;margin:0; }
  .phg-world-explore>summary { min-height:40px;gap:6px;padding:0 10px;font-size:11px; }
  .phg-world-bag { flex:0 0 auto;min-height:40px;padding:0 12px!important;font-size:11px!important; }
  .phg-explore-panel {
    top:calc(100% + 8px);
    left:auto;
    right:-8px;
    width:calc(100vw - 16px);
    max-height:calc(100dvh - 82px);
    grid-template-columns:1fr;
    gap:14px;
    padding:15px;
    transform:none;
    overflow:auto;
  }
  body.phg-immersive-site .hero.phg-gallery-room {
    height:100svh;
    height:100dvh;
    min-height:520px;
  }
  .phg-room-walkthrough {
    top:max(78px,calc(env(safe-area-inset-top) + 68px));
    left:12px;
    width:calc(100% - 24px);
    max-width:none;
    padding:11px 13px 10px;
    border-radius:12px;
  }
  .phg-room-eyebrow { margin-bottom:5px;font-size:7px; }
  body.phg-immersive-site .hero.phg-gallery-room .phg-room-walkthrough h1 {
    max-width:100%;
    font-size:clamp(23px,7vw,29px)!important;
    line-height:1.02!important;
  }
  .phg-room-description { margin:6px 0;font-size:11px;line-height:1.3; }
  .phg-room-status { margin-top:5px;font-size:9px;line-height:1.25; }
  .phg-aisle-product-rail {
    top:clamp(225px,37vh,280px);
    left:12px;
    right:0;
    bottom:calc(78px + env(safe-area-inset-bottom));
    height:auto;
    gap:9px;
    padding:0 12px 6px 0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .phg-aisle-display {
    flex:0 0 min(76vw,280px);
    width:auto;
    height:100%;
    min-height:0;
    padding:8px;
    scroll-snap-align:center;
  }
  .phg-aisle-display img { min-height:0; }
  .phg-aisle-product-name { font-size:11px; }
  .phg-room-floor-nav {
    left:0;
    right:0;
    bottom:0;
    display:flex;
    gap:7px;
    width:100%;
    padding:7px 8px max(7px,env(safe-area-inset-bottom));
    border:0;
    border-radius:0;
    background:linear-gradient(0deg,#0a0807fa,#0a0807e8);
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    transform:none;
    -webkit-overflow-scrolling:touch;
  }
  .phg-room-floor-nav::-webkit-scrollbar { display:none; }
  .phg-room-floor-nav button {
    flex:0 0 142px;
    min-height:52px;
    padding:7px;
  }
  .phg-room-floor-nav button strong { font-size:9px; }
  .phg-room-floor-nav button small { font-size:8px; }
}
