*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:Arial,Helvetica,sans-serif;color:#211f1c;background:#e9e2d9;overflow:hidden}.stage{position:relative;width:100vw;height:100vh;overflow:hidden}.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.glass{background:rgba(240,235,227,.76);backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%);border:1px solid rgba(255,255,255,.55);box-shadow:0 20px 55px rgba(39,29,19,.18)}button{font:inherit}.menuTab{position:absolute;z-index:12;left:0;top:18%;width:54px;height:150px;border:0;background:rgba(35,31,27,.78);color:#fff;cursor:pointer;border-radius:0 18px 18px 0;backdrop-filter:blur(12px);transition:.25s}.menuTab:hover{width:60px;background:#a67b43}.menuTab span{display:block;width:20px;height:1px;background:#fff;margin:6px auto}.menuTab b{display:block;transform:rotate(-90deg);font-size:10px;letter-spacing:3px;margin-top:39px}.menu{position:absolute;z-index:20;left:0;top:0;height:100%;width:min(370px,88vw);padding:28px 28px 40px;transform:translateX(-105%);transition:transform .55s cubic-bezier(.2,.8,.2,1);overflow-y:auto}.menu.open{transform:none}.menuHead{display:flex;align-items:center;justify-content:space-between;padding:10px 2px 28px;border-bottom:1px solid rgba(112,86,53,.2);font-family:Georgia,serif;letter-spacing:2px}.menuHead button{border:0;background:none;font-size:28px;cursor:pointer;color:#80613d}.menu nav{padding-top:20px}.menu nav>button,.shopWrap>button,.shopSub button{width:100%;text-align:left;border:0;border-bottom:1px solid rgba(75,61,46,.14);background:transparent;padding:17px 8px;color:#27231f;text-transform:uppercase;letter-spacing:2px;font-size:12px;cursor:pointer;transition:.25s}.menu nav button:hover{color:#a6783d;transform:translateX(7px);text-shadow:0 0 13px rgba(176,126,61,.38)}.shopWrap>button{display:flex;justify-content:space-between}.shopSub{max-height:0;overflow:hidden;transition:max-height .4s ease;padding-left:18px}.shopSub.open{max-height:130px}.shopSub button{color:#9c713b;text-shadow:0 0 12px rgba(181,128,58,.28)}.hot{position:absolute;z-index:5;border:0;background:transparent;cursor:pointer}.consultationHot{right:5.8%;top:2.3%;width:18%;height:6.5%;border-radius:40px}.consultationHot:hover{box-shadow:inset 0 0 0 2px #b4864e,0 0 22px rgba(180,134,78,.38);background:rgba(183,134,70,.10)}.treatmentHit{position:absolute;z-index:5;bottom:3%;height:15%;width:28%;border:0;background:transparent;cursor:pointer;border-radius:12px}.treatmentHit:hover{box-shadow:0 0 0 2px rgba(178,131,72,.55),0 0 28px rgba(178,131,72,.18)}.t1{left:5.4%}.t2{left:35.1%}.t3{left:64.8%}.peek{position:absolute;z-index:15;left:5.4%;bottom:2.8%;width:28%;min-height:180px;padding:26px 28px;border-radius:15px;transform:translateY(120%);opacity:0;transition:.5s cubic-bezier(.2,.8,.2,1)}.peek.open{transform:none;opacity:1}.peek h2{font:32px Georgia,serif;margin:7px 0 9px}.peek p{line-height:1.6;color:#5e574f}.peek small{letter-spacing:3px}.peekClose{position:absolute;right:15px;top:12px;border:0;background:none;font-size:23px;cursor:pointer}.goldBtn{border:1px solid #a97b42;background:rgba(255,255,255,.45);padding:12px 17px;border-radius:30px;text-transform:uppercase;letter-spacing:1.5px;font-size:10px;cursor:pointer}.goldBtn:hover{background:#a97b42;color:#fff}.panel{position:absolute;z-index:18;left:0;top:10.7%;width:100%;height:89.3%;transform:translateX(-102%);transition:transform .62s cubic-bezier(.2,.8,.2,1);overflow-y:auto;padding:58px max(6vw,34px) 80px}.panel.open{transform:none}.back{position:sticky;top:0;z-index:2;border:1px solid rgba(122,92,56,.35);background:rgba(255,255,255,.6);border-radius:30px;padding:11px 18px;cursor:pointer;letter-spacing:2px;font-size:10px;transition:.25s}.back:hover{background:#a97b42;color:#fff;transform:translateX(-4px)}#panelContent{max-width:1320px;margin:30px auto}.eyebrow{letter-spacing:4px;font-size:11px;color:#9c713b;text-transform:uppercase}.heroTitle{font:clamp(42px,6vw,86px) Georgia,serif;font-weight:normal;margin:12px 0 20px}.lead{font-size:18px;line-height:1.75;max-width:800px;color:#514b44}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.card{background:rgba(255,255,255,.84);border:1px solid rgba(169,123,66,.22);border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(55,43,29,.08)}.card h3{font:28px Georgia,serif;margin:0 0 12px}.card p{line-height:1.65;color:#625b53}.price{font:24px Georgia,serif;color:#9b6d35;margin:14px 0}.serviceCard{min-height:260px}.productCard{min-height:300px;display:flex;flex-direction:column}.productVisual{height:120px;border-radius:12px;background:linear-gradient(145deg,#f8f4ee,#e4d8c8);display:grid;place-items:center;margin-bottom:20px;color:#9d7749;letter-spacing:3px;font:20px Georgia,serif}.card .goldBtn{margin-top:auto;align-self:flex-start}.contactGrid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}.contactBox{background:rgba(255,255,255,.75);border-radius:18px;padding:30px}.contactBox input,.contactBox textarea{width:100%;border:0;border-bottom:1px solid #bda88d;background:transparent;padding:14px 3px;margin:6px 0 14px;outline:none}.contactBox textarea{height:110px;resize:vertical}@media(max-width:800px){.grid,.contactGrid{grid-template-columns:1fr}.panel{top:10%;height:90%;padding-left:24px;padding-right:24px}.treatmentHit{bottom:2%;height:15%}.peek{left:4%;width:92%}.consultationHot{right:3%;width:30%}}

/* V3 precision refinements */
.menuTab{top:22%;width:34px;height:92px;border:1px solid rgba(255,255,255,.34);border-left:0;background:rgba(235,231,224,.13);color:#4a443d;border-radius:0 10px 10px 0;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-shadow:0 5px 18px rgba(45,36,27,.06)}
.menuTab:hover{width:37px;background:rgba(224,216,205,.22);border-color:rgba(173,132,79,.45);color:#a6783d}
.menuTab span{display:none}.menuTab b{margin:35px 0 0;transform:rotate(-90deg);font-size:8px;letter-spacing:2.5px;font-weight:500}
.menu{top:0;height:auto;min-height:560px;max-height:86vh;width:min(330px,86vw);padding:18px 25px 22px;background:rgba(75,70,64,.34);backdrop-filter:blur(18px) saturate(105%);-webkit-backdrop-filter:blur(18px) saturate(105%);border:1px solid rgba(255,255,255,.28);border-top:0;border-left:0;border-radius:0 0 20px 0;box-shadow:0 20px 50px rgba(31,25,20,.16);overflow-y:auto}
.menuHead{padding:2px 0 14px;border-bottom:1px solid rgba(255,255,255,.18);display:block;position:relative;min-height:58px}.menuHead .clock{color:rgba(255,255,255,.86);font-family:Arial,Helvetica,sans-serif;letter-spacing:1.5px;font-size:10px;line-height:1.6;text-transform:uppercase;padding-top:6px}.menuHead button{position:absolute;right:-6px;top:-6px;color:rgba(255,255,255,.38);font-size:21px;transition:.25s}.menuHead button:hover{color:#d7aa6d;transform:rotate(90deg)}
.menu nav{padding-top:8px}.menu nav>button,.shopWrap>button,.shopSub button{color:rgba(255,255,255,.9);border-bottom:1px solid rgba(255,255,255,.12);padding:13px 6px;font-size:11px}.menu nav button:hover{color:#e4b77b;text-shadow:0 0 12px rgba(225,178,112,.35)}.shopSub button{color:#e4b77b;text-shadow:0 0 12px rgba(225,178,112,.22)}
.menuUtility{display:flex;align-items:center;gap:9px;margin-top:14px;padding:14px 3px 0;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.86);font-size:10px;letter-spacing:1.2px;text-transform:uppercase}.menuUtility button{border:0;background:transparent;color:inherit;cursor:pointer;padding:5px 2px;transition:.2s}.menuUtility button:hover{color:#e4b77b;transform:translateY(-1px)}.menuUtility .userIcon{font-size:18px;margin-right:1px}.menuUtility .cartBtn{margin-left:auto;font-size:19px}
.consultationHot{border-radius:0;background:transparent!important;box-shadow:none!important}.consultationHot:hover{background:transparent!important;box-shadow:none!important;outline:none}.consultationHot{cursor:pointer}
.treatmentHit{border-radius:0}.treatmentHit:hover{box-shadow:none;background:rgba(255,255,255,.025)}
.back{position:sticky;top:0;z-index:2;border:0;background:transparent;border-radius:0;padding:4px 8px 4px 0;font-size:0;color:#25211d;box-shadow:none}.back::before{content:'←';font-size:34px;line-height:1;font-family:Georgia,serif}.back span{display:none}.back:hover{background:transparent;color:#b07d3d;transform:translateX(-5px)}

/* V4 interaction + proportion refinements */
html,body{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}
.heroTitle,.card h3,.price,.peek h2{font-family:Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,serif}
.menuTab{top:50%;transform:translateY(-50%);width:38px;height:104px;display:grid;place-items:center;padding:0;background:rgba(78,70,61,.14);border:1px solid rgba(193,145,80,.72);border-left:0;border-radius:0 11px 11px 0;color:#3b352f;box-shadow:0 0 12px rgba(190,140,72,.28),inset 0 0 12px rgba(255,255,255,.10);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:.25s}
.menuTab b{margin:0;transform:rotate(-90deg);font-size:9px;line-height:1;letter-spacing:2.2px;font-weight:600;white-space:nowrap}
.menuTab:hover{width:40px;background:rgba(73,64,55,.20);border-color:#c08b47;color:#a66f2d;box-shadow:0 0 18px rgba(190,140,72,.48),inset 0 0 10px rgba(255,255,255,.12)}
.menu{z-index:30;min-height:0;height:auto;max-height:none;width:min(332px,86vw);padding:18px 24px 18px;background:rgba(43,40,37,.46);backdrop-filter:blur(15px) saturate(92%);-webkit-backdrop-filter:blur(15px) saturate(92%);border-color:rgba(255,255,255,.20);box-shadow:0 20px 55px rgba(22,18,15,.22)}
.menuHead{min-height:55px;padding:2px 0 10px}.menuHead .clock{font-size:10px;color:rgba(255,255,255,.86)}.menuHead button{right:-3px;top:-4px;font-size:27px;color:rgba(255,255,255,.60)}.menuHead button:hover{color:#d9aa68;text-shadow:0 0 12px rgba(218,171,103,.5)}
.menu nav{padding-top:6px}.menu nav>button,.shopWrap>button,.shopSub button{padding:12px 7px;font-size:12px;letter-spacing:2.3px;font-weight:500;color:rgba(255,255,255,.93)}
.shopSub.open{max-height:112px}.shopSub button{padding:10px 7px;color:#e6b878}
.menuUtility{gap:10px;margin-top:10px;padding:12px 2px 2px;font-size:12px;letter-spacing:1.4px;font-weight:600}.menuUtility .userIcon{font-size:28px;line-height:1;color:rgba(255,255,255,.92)}.menuUtility button{font-size:12px;font-weight:600;letter-spacing:1.2px}.menuUtility .cartBtn{font-size:24px;line-height:1;padding:4px 2px;filter:grayscale(1);opacity:.88;transition:.25s}.menuUtility .cartBtn:hover{filter:none;opacity:1;color:#e4b77b;transform:translateY(-2px) scale(1.10);text-shadow:0 0 13px rgba(225,178,112,.48)}
.treatmentHit{z-index:6;overflow:hidden;padding:0;border:1px solid rgba(191,156,113,.34);border-radius:10px;background:#eee;box-shadow:none;transition:box-shadow .28s,transform .28s,filter .28s}
.treatmentHit img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.treatmentHit::after{content:"";position:absolute;inset:-60% -25%;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.42) 50%,transparent 60%);transform:translateX(-75%) rotate(2deg);transition:transform .7s ease;pointer-events:none}.treatmentHit:hover::after{transform:translateX(75%) rotate(2deg)}.treatmentHit:hover{box-shadow:0 0 0 1px rgba(194,145,78,.55),0 8px 28px rgba(161,112,49,.22);filter:saturate(1.03) brightness(1.03)}
.treatmentHit>span{position:absolute;left:18px;right:18px;bottom:14px;z-index:2;text-align:left;color:#fff;font:600 20px/1.08 Baskerville,"Iowan Old Style",Georgia,serif;text-shadow:0 2px 12px rgba(0,0,0,.72)}
.peek{z-index:16;bottom:auto;min-height:0;height:210px;padding:23px 25px;border-radius:10px;background:rgba(52,48,44,.68);color:#fff;border:1px solid rgba(217,183,138,.34);backdrop-filter:blur(16px) saturate(95%);-webkit-backdrop-filter:blur(16px) saturate(95%);transform:translateY(100%);opacity:0;overflow:hidden}.peek.open{transform:translateY(-100%);opacity:1}.peek h2{font-size:28px;margin:6px 0 8px}.peek p{font-size:13px;line-height:1.5;color:rgba(255,255,255,.87);max-width:92%;margin:0 0 13px}.peek small{font-size:9px;color:#e5b777}.peekClose{color:#fff}.peek .goldBtn{color:#fff;border-color:#d2a15f;background:rgba(255,255,255,.07)}.peek .goldBtn:hover{background:#b7813e}

/* V5 requested refinements */
.menu{height:82vh;min-height:650px;max-height:82vh;padding:22px 25px 24px;background:rgba(76,72,68,.34);backdrop-filter:blur(19px) saturate(90%);-webkit-backdrop-filter:blur(19px) saturate(90%);border-color:rgba(255,255,255,.30);overflow:hidden}
.menuHead{min-height:92px;padding:8px 0 18px;display:flex;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.18)}
.menuHead .clock{width:100%;padding:0 34px 0 0;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#e3b56f;text-transform:none;font-family:Baskerville,"Iowan Old Style",Georgia,serif;letter-spacing:.4px}
.dateBlock{display:flex;flex-direction:column;line-height:1.05}.dateBlock strong{font-size:21px;font-weight:400}.dateBlock span{font-size:12px;margin-top:7px;letter-spacing:1px;color:rgba(244,207,151,.94)}
.timeBlock{font-size:20px;white-space:nowrap;letter-spacing:1px;text-shadow:0 0 12px rgba(221,169,91,.22)}
.menuHead button{right:-3px;top:-7px;font-size:30px;color:rgba(255,255,255,.68)}
.menu nav{padding-top:10px}.menu nav>button,.shopWrap>button,.shopSub button{font-size:13px;letter-spacing:2.5px;padding:13px 7px}
.menuUtility{position:absolute;left:25px;right:25px;bottom:22px;margin:0;padding:16px 2px 0;gap:12px;color:#fff;font-size:13px}.menuUtility button{color:#fff;font-size:13px}.menuUtility .userIcon{font-size:30px;color:#fff}.menuUtility .cartBtn{color:#fff!important;filter:grayscale(1) brightness(5);opacity:1;font-size:25px}.menuUtility button:hover,.menuUtility .userIcon:hover,.menuUtility .cartBtn:hover{color:#e6b36a!important;filter:none;text-shadow:0 0 14px rgba(230,179,106,.45)}

/* Hide the three old empty artwork rectangles with one clean continuation of the lower section. */
.stage::after{content:"";position:absolute;z-index:3;left:0;right:0;bottom:0;height:22.8%;background:rgba(248,245,240,.98);pointer-events:none}
.treatmentHit{z-index:7;border:0;border-radius:10px;background:#eee;transform:none!important;overflow:hidden}
.treatmentHit:hover{transform:none!important;box-shadow:0 0 0 1px rgba(194,145,78,.62),0 0 25px rgba(187,132,60,.25)}
.treatmentHit img{object-fit:cover}
.peek{z-index:6;height:220px!important;padding:22px 24px;background:rgba(54,50,46,.70);transform:translateY(0);opacity:0;pointer-events:none;transition:transform .48s cubic-bezier(.2,.82,.2,1),opacity .18s ease;border-radius:10px 10px 0 0}
.peek.open{transform:translateY(-100%);opacity:1;pointer-events:auto}
.peek h2{font-size:26px}.peek p{font-size:13px;line-height:1.45;margin-bottom:11px}.peek .goldBtn{padding:10px 15px}
@media(max-width:800px){.menu{height:86vh;min-height:590px}.menuHead .clock{gap:8px}.dateBlock strong{font-size:17px}.timeBlock{font-size:15px}.stage::after{height:21%}.treatmentHit>span{font-size:15px}.peek{height:205px!important;padding:17px}.peek h2{font-size:21px}}

/* V6 requested polish — menu, clock, treatment reveals and inner-page header */
.menu{height:86vh;min-height:680px;max-height:86vh;background:rgba(67,63,59,.25);backdrop-filter:blur(21px) saturate(86%);-webkit-backdrop-filter:blur(21px) saturate(86%);border-color:rgba(255,255,255,.27)}
.menuHead .clock{color:#8d642f;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:end;column-gap:18px;row-gap:2px;font-family:Baskerville,"Iowan Old Style",Georgia,serif}
.dateBlock{display:contents}.dateBlock strong{grid-column:1;grid-row:1;font-size:22px;font-weight:400;line-height:1;color:#8a612e}.dateBlock span{grid-column:1 / 3;grid-row:2;margin:3px 0 0;font-size:11px;letter-spacing:2.2px;color:#7a5a34}
.timeBlock{grid-column:2;grid-row:1;display:flex;align-items:baseline;gap:2px;color:#8a612e;font-size:24px;line-height:1;letter-spacing:.5px;text-shadow:none}.timeBlock .seconds{font-size:13px;position:relative;top:5px;margin-left:2px;letter-spacing:1px}.timeBlock .colon{font-size:18px;opacity:.72}
.menuHead button{color:rgba(54,51,48,.64);transition:color .22s ease}.menuHead button:hover{color:#fff;text-shadow:none;transform:none}
.menu nav>button,.shopWrap>button{color:rgba(48,46,43,.78);text-shadow:none}.menu nav button:hover,.shopWrap>button:hover{color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.18);transform:translateX(7px)}
.shopWrap>button span{color:rgba(48,46,43,.78)!important;text-shadow:none!important}.shopWrap>button:hover span{color:#fff!important}
.shopSub{margin-left:-18px;padding-left:18px;background:rgba(38,36,34,.24);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:0 0 10px 10px}
.shopSub button{color:rgba(47,44,41,.82)!important;text-shadow:none!important;background:transparent}.shopSub button:hover{color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.20)!important}
.menuUtility{color:rgba(48,46,43,.80)}.menuUtility button,.menuUtility .userIcon,.menuUtility .cartBtn{color:rgba(48,46,43,.80)!important;filter:none!important}.menuUtility button:hover,.menuUtility .userIcon:hover,.menuUtility .cartBtn:hover{color:#fff!important;filter:none!important;text-shadow:0 1px 8px rgba(0,0,0,.22)}

/* Each reveal is frosted glass and travels only vertically from behind its own image. */
.peek{background:rgba(79,73,67,.34);backdrop-filter:blur(17px) saturate(88%);-webkit-backdrop-filter:blur(17px) saturate(88%);border:1px solid rgba(255,255,255,.27);border-radius:10px;opacity:0;transform:translateY(calc(-1 * var(--card-h, 140px)));transition:transform .52s cubic-bezier(.22,.76,.22,1),opacity .28s ease;will-change:transform,opacity}
.peek.open{transform:translateY(-100%);opacity:1}
.peek.closing{transform:translateY(calc(-1 * var(--card-h, 140px)));opacity:0}

/* Inner pages cover the home photograph; the fixed top ribbon floats above them. */
.panel{top:0;height:100%;padding-top:calc(10.7vh + 58px);z-index:18}
.stage::before{content:"";position:absolute;z-index:19;left:0;right:0;top:0;height:10.7%;background:rgba(236,232,226,.36);backdrop-filter:blur(14px) saturate(92%);-webkit-backdrop-filter:blur(14px) saturate(92%);border-bottom:1px solid rgba(255,255,255,.34);pointer-events:none;opacity:0;transition:opacity .25s ease}
.stage:has(.panel.open)::before{opacity:1}
.back{position:fixed;z-index:24;top:calc(10.7vh + 14px);left:24px;margin:0;padding:0;width:44px;height:44px;display:grid;place-items:center}.back::before{font-size:39px}.back:hover{transform:translateX(-3px)}
#panelContent{margin-top:18px}
@media(max-width:800px){.menu{height:88vh;min-height:610px}.dateBlock strong{font-size:18px}.timeBlock{font-size:20px}.timeBlock .seconds{font-size:11px}.panel{top:0;height:100%;padding-top:calc(10vh + 55px)}.stage::before{height:10%}.back{top:calc(10vh + 10px);left:14px}}

/* V7 exact corrections */
.siteRibbon{position:absolute;z-index:23;left:0;right:0;top:0;height:10.7%;display:flex;align-items:center;justify-content:space-between;padding:0 5.8% 0 6.7%;background:rgba(237,233,227,.54);backdrop-filter:blur(15px) saturate(90%);-webkit-backdrop-filter:blur(15px) saturate(90%);border-bottom:1px solid rgba(255,255,255,.42);pointer-events:none;opacity:0;transition:opacity .22s ease}.stage:has(.panel.open) .siteRibbon{opacity:1}.ribbonLogo{font-family:Baskerville,"Iowan Old Style",Georgia,serif;font-size:clamp(22px,2.25vw,42px);letter-spacing:-1px;color:#26221f;line-height:.72}.ribbonLogo em{font-weight:400;color:#a97b42}.ribbonLogo small{display:block;font-family:Arial,sans-serif;font-style:normal;font-size:7px;letter-spacing:5px;color:#a47a48;margin-top:13px;text-align:center}.ribbonConsult{pointer-events:auto;border:1px solid #a77a46;background:rgba(255,255,255,.55);border-radius:999px;padding:14px 27px;letter-spacing:2px;font-size:10px;color:#28231f;cursor:pointer;transition:.22s}.ribbonConsult span{font-size:20px;margin-left:15px;color:#a77a46}.ribbonConsult:hover{background:#a77a46;color:#fff}.ribbonConsult:hover span{color:#fff}
.stage::before{display:none!important}
.menuHead .clock{display:flex;align-items:center;justify-content:flex-start;gap:17px;color:#8b642f!important;font-family:Georgia,"Times New Roman",serif!important;padding:5px 0 8px!important}.dateBlock{display:block!important;min-width:92px;padding-right:17px;border-right:1px solid rgba(91,72,52,.25)}.dateBlock strong{display:block!important;font-family:Arial,sans-serif;font-size:10px!important;font-weight:600!important;letter-spacing:2px!important;line-height:1.2!important;color:#74542f!important;text-transform:uppercase}.dateBlock span{display:block!important;margin-top:6px!important;font-family:Arial,sans-serif;font-size:9px!important;letter-spacing:2px!important;color:#74542f!important}.timeBlock{display:flex!important;align-items:baseline!important;gap:1px!important;color:#74542f!important;font-family:Georgia,"Times New Roman",serif!important;font-size:25px!important;letter-spacing:3px!important;line-height:1!important;white-space:nowrap}.timeBlock .seconds{font-size:25px!important;position:static!important;margin:0!important;letter-spacing:3px!important}.timeBlock .ampm{font-size:13px!important;margin-left:8px!important;letter-spacing:2px!important}.timeBlock .colon{font-size:22px!important;opacity:.9!important}
.shopSub{margin-left:-25px!important;margin-right:-25px!important;padding-left:25px!important;padding-right:25px!important;border-radius:0!important;background:rgba(58,55,52,.34)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}.shopSub.open{padding-top:4px;padding-bottom:4px}.shopWrap>button span{color:rgba(48,46,43,.78)!important}.shopWrap>button:hover span{color:#fff!important}.shopSub button{color:rgba(48,46,43,.82)!important}.shopSub button:hover{color:#fff!important}
.menuUtility .userIcon{display:none!important}.menuUtility{justify-content:flex-start}.menuUtility .cartBtn{margin-left:auto!important;width:31px;height:31px;padding:4px!important}.cartBtn svg{width:24px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;display:block}.menuUtility,.menuUtility button,.menuUtility .cartBtn{color:rgba(48,46,43,.8)!important}.menuUtility button:hover,.menuUtility .cartBtn:hover{color:#fff!important}
.peek{z-index:6!important;height:250px!important;background:rgba(73,68,63,.42)!important;backdrop-filter:blur(18px) saturate(88%)!important;-webkit-backdrop-filter:blur(18px) saturate(88%)!important;border:1px solid rgba(255,255,255,.30)!important;border-radius:12px 12px 0 0!important;opacity:0!important;transform:translateY(88%)!important;transition:transform .52s cubic-bezier(.22,.76,.22,1),opacity .28s ease!important;pointer-events:none}.peek.open{transform:translateY(0)!important;opacity:1!important;pointer-events:auto}.peek.closing{transform:translateY(88%)!important;opacity:0!important}.treatmentHit{z-index:8!important}
.panel{top:0!important;height:100%!important;padding-top:calc(10.7vh + 62px)!important;z-index:18!important}.back{position:fixed!important;z-index:25!important;top:calc(10.7vh + 12px)!important;left:22px!important;width:46px!important;height:46px!important}.panel #panelContent{position:relative;z-index:1;margin-top:18px}.panel.open{transform:none}.panel{background:rgba(240,235,227,.80)!important;backdrop-filter:blur(19px) saturate(105%)!important;-webkit-backdrop-filter:blur(19px) saturate(105%)!important}
@media(max-width:800px){.siteRibbon{height:10%;padding:0 16px 0 20px}.ribbonLogo{font-size:20px}.ribbonLogo small{font-size:5px;letter-spacing:3px;margin-top:9px}.ribbonConsult{padding:10px 13px;font-size:7px}.menuHead .clock{gap:10px}.dateBlock{min-width:75px;padding-right:10px}.timeBlock,.timeBlock .seconds{font-size:18px!important;letter-spacing:1px!important}.timeBlock .ampm{font-size:9px!important;margin-left:4px!important}.back{top:calc(10vh + 8px)!important}}


/* V8 — opening frosted-glass doors. Everything below remains V7. */
.openingSplash{position:fixed;inset:0;z-index:1000;overflow:hidden;background:transparent;pointer-events:auto;perspective:1600px}
.splashDoor{position:absolute;top:0;bottom:0;width:50.08%;background:rgba(224,220,214,.46);backdrop-filter:blur(22px) saturate(82%);-webkit-backdrop-filter:blur(22px) saturate(82%);transition:transform 1.15s cubic-bezier(.72,0,.18,1);will-change:transform}
.splashDoorLeft{left:0;border-right:1px solid rgba(255,255,255,.56);box-shadow:inset -14px 0 34px rgba(69,59,49,.06)}
.splashDoorRight{right:0;border-left:1px solid rgba(117,91,58,.13);box-shadow:inset 14px 0 34px rgba(69,59,49,.06)}
.openingSplash.opening .splashDoorLeft{transform:translateX(-101%)}
.openingSplash.opening .splashDoorRight{transform:translateX(101%)}
.splashIdentity{position:absolute;z-index:3;left:50%;top:49%;transform:translate(-50%,-50%);width:min(560px,78vw);text-align:center;transition:opacity .52s ease,transform .7s ease;pointer-events:none}
.openingSplash.opening .splashIdentity{opacity:0;transform:translate(-50%,-53%) scale(.985)}
.splashMonogram{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3.2vw,46px);height:clamp(105px,15vw,190px)}
.splashLetter{font-family:Baskerville,"Iowan Old Style",Georgia,serif;font-size:clamp(92px,12vw,170px);font-weight:400;line-height:.8;color:transparent;background-image:url('assets/background.png');background-size:100vw 100vh;background-position:center;background-attachment:fixed;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 1px rgba(255,255,255,.82)) drop-shadow(0 5px 16px rgba(51,42,33,.14));position:relative}
.splashLetter::after{content:attr(data-letter);position:absolute;inset:0;color:transparent;-webkit-text-stroke:1px rgba(151,112,64,.52)}
.splashAmp{font-family:Baskerville,"Iowan Old Style",Georgia,serif;font-size:clamp(30px,4vw,54px);font-style:italic;font-weight:400;color:#9d7442;opacity:.82;margin-top:9px}
.splashRule{width:0;height:1px;margin:17px auto 18px;background:linear-gradient(90deg,transparent,#a77a46 18%,#a77a46 82%,transparent);animation:splashRuleIn .9s .35s cubic-bezier(.2,.8,.2,1) forwards}
.splashSlogan{min-height:18px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(9px,1vw,12px);letter-spacing:clamp(3px,.55vw,7px);font-weight:500;color:#594d41;text-transform:uppercase;white-space:nowrap;overflow:hidden;width:0;margin:auto;border-right:1px solid rgba(157,116,66,.7);animation:splashType 1.8s .75s steps(30,end) forwards,splashCaret .7s step-end infinite}
@keyframes splashRuleIn{to{width:min(360px,60vw)}}
@keyframes splashType{to{width:min(510px,76vw)}}
@keyframes splashCaret{50%{border-color:transparent}}
.openingSplash.finished{display:none}
@media(max-width:600px){.splashIdentity{top:48%;width:86vw}.splashMonogram{gap:22px}.splashSlogan{font-size:8px;letter-spacing:2.3px}.splashLetter{background-size:auto 100vh}}
@media(prefers-reduced-motion:reduce){.splashDoor,.splashIdentity{transition-duration:.45s}.splashRule,.splashSlogan{animation-duration:.3s}}
/* V9 requested refinements */
.menuHead{position:relative}.menuHead #menuClose{position:absolute!important;right:-15px!important;top:-13px!important;font-size:25px!important;opacity:.72!important;transition:.2s!important}.menuHead #menuClose:hover{opacity:1!important;color:#fff!important;transform:none!important}
.dateBlock strong{font-size:13px!important;font-weight:400!important;letter-spacing:1.4px!important}.dateBlock span{font-size:13px!important;font-weight:400!important;letter-spacing:1.7px!important}.timeBlock,.timeBlock .seconds{font-size:20px!important;line-height:1!important;vertical-align:baseline!important}.timeBlock .ampm{font-size:9px!important;vertical-align:baseline!important}
.siteRibbon{opacity:1!important;z-index:40!important}.stage::before{display:none!important}.menu{z-index:50!important}.menuTab{z-index:45!important}.panel{z-index:30!important;padding-top:calc(10.7vh + 58px)!important}.back{z-index:42!important;position:fixed!important;top:calc(10.7vh + 14px)!important;left:22px!important}
.ribbonConsult,.goldBtn,.elegantBtn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid rgba(121,96,66,.46);background:rgba(77,72,66,.13);color:#2c2925;border-radius:999px;padding:11px 22px;letter-spacing:1.6px;font-size:10px;text-transform:uppercase;cursor:pointer;transition:.22s;box-shadow:inset 0 1px rgba(255,255,255,.35)}.ribbonConsult:hover,.goldBtn:hover,.elegantBtn:hover{background:rgba(75,69,63,.78)!important;color:#fff!important;border-color:rgba(255,255,255,.32)!important}.ribbonConsult span{line-height:1;margin-left:12px}.peek .goldBtn{background:rgba(35,33,31,.42)!important;color:#fff!important;border-color:rgba(255,255,255,.3)!important}.peek .goldBtn:hover{background:rgba(35,33,31,.72)!important}
.panel.staticPage{overflow:hidden!important}.panel.staticPage #panelContent{height:calc(100vh - 10.7vh - 80px);overflow:hidden;margin-top:0!important}.compactPage{height:100%;display:flex;flex-direction:column;justify-content:center}.compactPage .heroTitle{font-size:clamp(34px,4vw,60px);margin:7px 0 10px}.compactPage .lead{font-size:15px;line-height:1.5;margin:0 0 14px}.compactContact{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}.compactContact .contactBox{padding:22px}.compactContact input,.compactContact textarea{padding:9px 2px;margin:3px 0 8px}.compactContact textarea{height:72px;resize:none;overflow:auto}
.bookingLayout{display:grid;grid-template-columns:.88fr 1.12fr;gap:24px;align-items:stretch}.bookingForm,.calendarBox{background:rgba(255,255,255,.64);border:1px solid rgba(169,123,66,.18);border-radius:18px;padding:22px}.bookingForm input,.bookingForm textarea{width:100%;border:0;border-bottom:1px solid #bda88d;background:transparent;padding:9px 2px;margin:2px 0 8px;outline:none}.bookingForm textarea{height:65px;resize:none;overflow:auto}.calHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calHead h3{font:24px Baskerville,Georgia,serif;margin:0}.calNav{border:0;background:transparent;font-size:23px;cursor:pointer;color:#5e574f}.calGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calDow{font-size:9px;letter-spacing:1px;color:#8a8178;padding:4px}.calDay{border:0;border-radius:9px;background:rgba(255,255,255,.46);padding:7px 2px;cursor:pointer;color:#3d3935}.calDay:hover,.calDay.selected{background:rgba(67,63,58,.78);color:#fff}.calDay.disabled{opacity:.25;cursor:not-allowed}.timeSlots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.slotGroup h4{margin:0 0 5px;font-size:10px;letter-spacing:1.5px}.slots{display:flex;flex-wrap:wrap;gap:5px}.slot{border:1px solid rgba(90,82,72,.2);background:rgba(255,255,255,.5);border-radius:999px;padding:6px 9px;font-size:9px;cursor:pointer}.slot.taken{opacity:.28;text-decoration:line-through;cursor:not-allowed}.slot.selected{background:#4d4842;color:#fff}
.treatmentList{display:grid;gap:14px;margin-top:28px}.treatmentRow{background:rgba(255,255,255,.72);border:1px solid rgba(169,123,66,.18);border-radius:15px;overflow:hidden}.treatmentRowHead{width:100%;border:0;background:transparent;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.treatmentRowHead h3{font:25px Baskerville,Georgia,serif;margin:0}.treatmentRowHead span{font-size:20px}.treatmentDetail{max-height:0;overflow:hidden;transition:max-height .45s ease}.treatmentDetail>div{padding:0 24px 22px;line-height:1.65;color:#5e574f}.treatmentRow.open .treatmentDetail{max-height:250px}.treatmentRow.open .treatmentRowHead span{transform:rotate(45deg)}
@media(max-width:800px){.bookingLayout,.compactContact{grid-template-columns:1fr}.panel.staticPage{overflow:auto!important}.panel.staticPage #panelContent{height:auto;overflow:visible}.siteRibbon{height:10%}.panel{padding-top:calc(10vh + 55px)!important}.back{top:calc(10vh + 10px)!important}.ribbonConsult{padding:8px 11px;min-height:34px}.bookingForm,.calendarBox{padding:16px}}

/* V10 editorial interaction refinements — navigation/menu preserved */
/* Balanced consultation glow, with no heavy brown fill. */
.ribbonConsult{box-shadow:0 0 18px 4px rgba(181,139,82,.14),inset 0 1px rgba(255,255,255,.42)!important;padding-top:11px!important;padding-bottom:11px!important;line-height:1!important}
.ribbonConsult:hover{background:rgba(92,86,78,.68)!important;box-shadow:0 0 24px 6px rgba(181,139,82,.18),inset 0 1px rgba(255,255,255,.25)!important}

/* Home CTA lives in the quiet space above the benefit icons. */
.homeTreatmentsCTA{position:absolute;z-index:9;left:6.1%;top:44.8%;border:1px solid rgba(103,91,77,.34);background:rgba(255,255,255,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:11px 18px;color:#302c28;font-size:9px;letter-spacing:1.8px;cursor:pointer;transition:.24s;box-shadow:0 6px 22px rgba(45,36,27,.05)}
.homeTreatmentsCTA span{margin-left:12px;font-size:16px;color:#9c713b}.homeTreatmentsCTA:hover{background:rgba(62,58,53,.78);color:#fff;transform:translateY(-1px)}.homeTreatmentsCTA:hover span{color:#fff}

/* The back arrow is viewport-fixed at the same visual level as each page eyebrow/title chrome. */
.back{position:fixed!important;top:calc(10.7vh + 61px)!important;left:2.2vw!important;width:34px!important;height:34px!important;border:0!important;background:transparent!important;border-radius:0!important;color:#3b3732!important;padding:0!important;box-shadow:none!important;font-size:0!important;display:grid!important;place-items:center!important;transform:none!important}
.back::before{content:'←';font-family:Baskerville,Georgia,serif;font-size:31px;line-height:1;font-weight:400}.back span{display:none!important}.back:hover{color:#a77a46!important;transform:translateX(-3px)!important}
.panel{padding-left:max(7.2vw,72px)!important;padding-right:max(6vw,34px)!important}
#panelContent{margin-top:18px!important}

/* Treatment cards become photographic editorial strips. */
.treatmentEditorial{gap:18px!important;margin-top:32px!important;padding-bottom:70px}
.treatmentImageRow{position:relative;border:1px solid rgba(112,91,68,.16)!important;background:rgba(246,242,236,.78)!important;border-radius:18px!important;box-shadow:0 12px 34px rgba(54,43,31,.07);overflow:hidden!important}
.treatmentImageRow::before{content:'';position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(246,242,236,.99) 0%,rgba(246,242,236,.94) 31%,rgba(246,242,236,.40) 60%,rgba(246,242,236,.05) 100%),var(--treatment-image);background-size:cover;background-position:center right;opacity:.9;pointer-events:none;transition:transform .45s ease,opacity .35s ease}
.treatmentImageRow:hover::before{transform:scale(1.018);opacity:1}
.treatmentImageRow .treatmentRowHead{position:relative;z-index:2;min-height:142px;padding:24px 28px!important;align-items:center!important}
.treatmentRowHead>div{max-width:60%}.treatmentRowHead small{display:block;letter-spacing:2px;color:#9c713b;font-size:9px;margin-bottom:8px}.treatmentRowHead h3{font-size:30px!important}.treatmentRowHead p{font-size:13px;line-height:1.5;color:#5f5952;margin:8px 0 0;max-width:590px}.treatmentRowHead>span{font-size:25px!important;color:#5d554c;transition:.3s}
.treatmentDetail{position:relative;z-index:3;background:rgba(235,230,223,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);max-height:0!important;transition:max-height .65s cubic-bezier(.2,.8,.2,1)!important}
.treatmentRow.open .treatmentDetail{max-height:650px!important}.treatmentRow.open .treatmentRowHead>span{transform:rotate(45deg)}
.treatmentArticle{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;gap:0;padding:0!important;min-height:310px}.treatmentArticleImage{background-image:linear-gradient(90deg,rgba(255,255,255,.03),rgba(235,230,223,.22)),var(--treatment-image);background-size:cover;background-position:center}.treatmentCopy{padding:36px 42px 38px}.treatmentCopy h4{font:32px Baskerville,Georgia,serif;margin:0 0 14px;color:#2f2b27}.treatmentCopy p{font-size:15px;line-height:1.82;margin:0 0 24px;color:#5c554e}.treatmentCopy .elegantBtn{background:rgba(70,66,61,.18)!important}.treatmentCopy .elegantBtn:hover{background:rgba(70,66,61,.78)!important}

/* About becomes a refined animated accordion with substantial copy. */
.aboutAccordion{display:grid;gap:13px;margin-top:34px;padding-bottom:80px}.aboutRow{border:1px solid rgba(112,91,68,.16);border-radius:16px;background:rgba(255,255,255,.52);overflow:hidden;transition:background .35s ease,box-shadow .35s ease}.aboutRow.open{background:rgba(101,96,90,.16);box-shadow:0 14px 36px rgba(48,39,29,.07)}.aboutRowHead{width:100%;border:0;background:transparent;display:grid;grid-template-columns:54px 1fr 30px;align-items:center;text-align:left;padding:20px 24px;cursor:pointer;color:#302c28}.aboutRowHead>span{font-size:9px;letter-spacing:2px;color:#9c713b}.aboutRowHead h3{font:27px Baskerville,Georgia,serif;margin:0}.aboutRowHead b{font-size:20px;font-weight:400;transition:.3s}.aboutRow.open .aboutRowHead b{transform:rotate(45deg)}.aboutDetail{max-height:0;overflow:hidden;transition:max-height .58s cubic-bezier(.2,.8,.2,1)}.aboutRow.open .aboutDetail{max-height:420px}.aboutDetail>div{padding:0 72px 28px}.aboutDetail p{font-size:15px;line-height:1.9;color:#5d5750;margin:0;max-width:1040px}

@media(max-width:800px){.homeTreatmentsCTA{left:6%;top:46%;padding:9px 12px;font-size:7px}.panel{padding-left:54px!important;padding-right:18px!important}.back{top:calc(10vh + 58px)!important;left:10px!important}.treatmentRowHead>div{max-width:76%}.treatmentRowHead p{display:none}.treatmentArticle{grid-template-columns:1fr}.treatmentArticleImage{min-height:180px}.treatmentCopy{padding:25px}.aboutDetail>div{padding:0 24px 24px}}

/* V11: one permanent back control in the fixed ribbon + refined booking */
.ribbonBrand{display:flex;align-items:center;gap:16px;pointer-events:auto}
.globalBack{width:38px;height:38px;border:0;background:transparent;color:#3b3732;display:grid;place-items:center;font-family:Baskerville,Georgia,serif;font-size:31px;line-height:1;cursor:pointer;padding:0;opacity:0;pointer-events:none;transition:color .2s,transform .2s,opacity .2s}
.stage:has(.panel.open) .globalBack{opacity:1;pointer-events:auto}
.globalBack:hover{color:#a77a46;transform:translateX(-3px)}
/* The old page-level back control is intentionally removed in V11. */
.back{display:none!important}
.panel{padding-left:max(6vw,34px)!important}

/* Home CTA: placed in the open lower-right hero area, away from all copy/icons. */
.homeTreatmentsCTA{left:auto!important;right:6.2%!important;top:54.2%!important;bottom:auto!important}

/* Booking: subtle dimensional cards, pale-gold calendar, compact full half-hour schedule. */
.bookingForm{background:rgba(255,255,255,.86)!important;border:1px solid rgba(169,123,66,.20)!important;box-shadow:0 16px 34px rgba(65,49,31,.12),inset 0 1px rgba(255,255,255,.9)!important}
.calendarBox{background:linear-gradient(145deg,rgba(247,238,219,.96),rgba(238,220,188,.72))!important;border:1px solid rgba(174,132,73,.28)!important;box-shadow:0 18px 38px rgba(86,61,31,.16),inset 0 1px rgba(255,255,255,.72)!important}
.calNav:disabled{opacity:.18;cursor:not-allowed}
.timeSlots{grid-template-columns:.72fr 1.28fr!important;gap:14px!important;margin-top:10px!important}
.slots{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px!important}
#eveningSlots{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.slot{padding:5px 6px!important;font-size:8px!important;text-align:center;white-space:nowrap}
.slotGroup h4{margin-bottom:6px!important}
@media(max-width:800px){.ribbonBrand{gap:8px}.globalBack{width:30px;height:30px;font-size:26px}.homeTreatmentsCTA{right:5%!important;top:54%!important}.slots,#eveningSlots{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* V12 complete */
.ribbonBrand{display:flex;align-items:center;gap:16px}.globalBack{width:50px!important;height:46px!important;font-size:38px!important;line-height:46px!important;align-self:center!important;transform:none!important}.globalBack:hover{color:#a77a46!important;transform:translateX(-3px)!important}
.bookingSteps{display:flex;align-items:center;gap:10px;margin:0 0 14px;max-width:760px}.bookingSteps span{font-size:10px;letter-spacing:1px;opacity:.35}.bookingSteps span.active{opacity:1;color:#8c683c}.bookingSteps i{height:1px;flex:1;background:rgba(140,104,60,.25)}.bookingStep{display:none}.bookingStep.active{display:block;animation:v12in .35s ease}@keyframes v12in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}.bookingFormWide{max-width:700px;margin:5px auto;padding:22px 28px!important}.bookingFormWide textarea{height:90px!important}.calendarWide{max-width:980px;margin:auto}.bookingChoice{text-align:center;margin:10px;color:#756957}.stepActions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.textLink{border:0;background:transparent;cursor:pointer;color:#655b50}.elegantBtn:disabled{opacity:.35}.bookingConfirmed{max-width:760px;margin:20px auto;text-align:center;background:rgba(255,255,255,.82);padding:35px;border-radius:24px;box-shadow:0 18px 45px rgba(60,45,28,.12)}.confirmIcon{width:56px;height:56px;border:1px solid #a77a46;border-radius:50%;display:grid;place-items:center;margin:auto;font-size:24px;color:#a77a46}.confirmationDetails{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px}.confirmationDetails>*{background:#eee3d2;padding:8px 13px;border-radius:999px;font-size:11px}
.adminPage{overflow:hidden!important;padding-top:10.7vh!important}.adminPage #panelContent{max-width:none!important;width:100%!important;height:89.3vh!important;margin:0!important}.adminShell{height:100%;display:grid;grid-template-columns:240px 1fr;background:#f1ede7}.adminSide{background:#312f2c;color:#fff;padding:26px 16px;display:flex;flex-direction:column;gap:5px;overflow-y:auto;overflow-x:hidden;min-height:0}.adminMark{font:25px Baskerville,Georgia,serif;padding:5px 10px 22px}.adminMark small{display:block;font:7px Arial;letter-spacing:3px;color:#c7b59d;margin-top:6px}.adminNav{border:0;background:transparent;color:#ccc;text-align:left;padding:11px;border-radius:9px;cursor:pointer}.adminNav:hover,.adminNav.active{background:rgba(255,255,255,.1);color:#fff}.adminMain{overflow:auto;padding:30px 38px}.adminTop{display:flex;justify-content:space-between}.adminTop h1{font:42px Baskerville,Georgia,serif;margin:5px 0 20px}.adminUser{background:#fff;padding:9px 13px;border-radius:999px;height:max-content;font-size:11px}.adminStats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.adminStats>div,.adminCard{background:#fff;border-radius:16px;padding:20px;box-shadow:0 9px 24px rgba(55,43,29,.07)}.adminStats b{display:block;font:32px Baskerville,Georgia,serif}.adminStats span{font-size:11px;color:#777}.adminCard h3{font:24px Baskerville,Georgia,serif}.tableWrap{overflow:auto}.bookingTable{width:100%;border-collapse:collapse;font-size:11px}.bookingTable th,.bookingTable td{text-align:left;padding:10px;border-bottom:1px solid #eee}.bookingTable small{display:block;color:#888;margin-top:3px}.statusPill{background:#eee3d2;padding:5px 8px;border-radius:999px}.adminEdit{display:flex;gap:8px;align-items:center;border-bottom:1px solid #eee;padding:11px 0}.adminEdit span{flex:1}.adminEdit b,.adminEdit small{display:block}.adminEdit button{border:0;border-radius:999px;padding:7px 10px}.adminForm input,.adminForm textarea{width:100%;padding:11px;margin:5px 0;border:1px solid #ddd;border-radius:9px}.uploadBox{display:grid;place-items:center;height:85px;border:1px dashed #b5a58e;border-radius:10px;margin:8px 0;cursor:pointer}.uploadBox input{display:none}#loginMessage,#passwordMsg{color:#8c683c;font-size:12px}

/* V13 requested visual refinements — existing layout preserved */
.aboutRow{
  background:linear-gradient(145deg,rgba(246,238,220,.94),rgba(232,216,185,.78))!important;
  border:1px solid rgba(169,132,76,.18)!important;
  box-shadow:0 10px 22px rgba(74,56,32,.10),0 2px 5px rgba(74,56,32,.07)!important;
  transform:translateY(0);
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease!important;
}
.aboutRow:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(74,56,32,.14),0 3px 7px rgba(74,56,32,.08)!important}
.aboutRow.open{background:rgba(106,104,100,.90)!important;box-shadow:0 14px 30px rgba(45,42,38,.18)!important}
.treatmentRow{
  box-shadow:0 11px 24px rgba(54,45,35,.14),0 2px 6px rgba(54,45,35,.08)!important;
  transform:translateY(0);
  transition:transform .28s ease,box-shadow .28s ease!important;
}
.treatmentRow:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(54,45,35,.18),0 3px 8px rgba(54,45,35,.09)!important}
.treatmentRow.open{box-shadow:0 17px 34px rgba(54,45,35,.20)!important}
.adminThumb{width:48px;height:48px;border-radius:10px;overflow:hidden;background:#eee5d7;display:grid;place-items:center;flex:0 0 auto}
.adminThumb img{width:100%;height:100%;object-fit:cover}.adminThumb span{font:16px Baskerville,Georgia,serif;color:#8d7655}
.productAdminRow{gap:12px!important}.editorPreview{width:110px;height:110px;object-fit:cover;border-radius:12px;margin:5px 0 10px;box-shadow:0 7px 18px rgba(0,0,0,.10)}
.adminEditorActions{display:flex;align-items:center;gap:16px;margin-top:8px}
#signupMessage,#productSaveMessage{font-size:12px;color:#8c683c}

/* V14 admin/product/report refinements */
.aboutRow.open{background:rgba(174,172,168,.92)!important;color:#332f2b!important;box-shadow:0 13px 28px rgba(45,42,38,.12)!important}
.aboutRow.open .aboutDetail,.aboutRow.open .aboutDetail p,.aboutRow.open .aboutRowHead,.aboutRow.open .aboutRowHead h3{color:#332f2b!important}
.productEditor{max-width:860px!important}.editorHeading{display:flex;align-items:center;justify-content:space-between}.editorHeading span{font-size:10px;color:#88765e}.imageManager{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:10px;margin:12px 0}.managedImage{padding:7px;border:1px solid #ddd3c5;border-radius:12px;background:#f8f5f0}.managedImage.mainImage{border-color:#aa814d;box-shadow:0 0 0 1px rgba(170,129,77,.18)}.managedImage img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}.managedImage div{display:flex;flex-direction:column;gap:4px;margin-top:6px}.managedImage button{border:0;border-radius:7px;padding:5px;font-size:8px;cursor:pointer}.emptyImages{grid-column:1/-1;padding:24px;text-align:center;border:1px dashed #c9bca9;border-radius:12px;color:#8c8174}.productUpload span,.productUpload small{display:block;text-align:center}.productUpload small{font-size:9px;color:#8d8173;margin-top:4px}.removeBtn{border:0!important;background:#efe5df!important;color:#805b50!important;border-radius:999px!important;padding:7px 10px!important;cursor:pointer}.shopProductImage{height:210px;border-radius:12px;overflow:hidden;background:#eee8df;display:grid;place-items:center}.shopProductImage img{width:100%;height:100%;object-fit:contain}.shopImageNav{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0}.shopImageNav button{border:0;background:#eee5d8;border-radius:50%;width:27px;height:27px;cursor:pointer}.shopImageNav span{font-size:9px;color:#817667}.reportHead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.reportHead select{border:1px solid #d9cdbc;background:#f8f5f0;border-radius:10px;padding:10px 30px 10px 12px;color:#514a43}
@media(max-width:800px){.imageManager{grid-template-columns:repeat(2,1fr)}.reportHead{flex-direction:column}}

/* V15 requested refinements */
.compactContact .contactBox{
  box-shadow:0 13px 28px rgba(76,57,32,.13),0 3px 7px rgba(76,57,32,.07)!important;
  border:1px solid rgba(169,132,76,.18)!important;
  transition:transform .25s ease,box-shadow .25s ease!important;
}
.compactContact .contactBox:first-child{
  background:linear-gradient(145deg,rgba(244,234,211,.96),rgba(226,205,166,.84))!important;
}
.compactContact .contactBox:last-child{
  background:linear-gradient(145deg,rgba(252,248,238,.97),rgba(240,228,204,.88))!important;
}
.compactContact .contactBox:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(76,57,32,.16),0 4px 9px rgba(76,57,32,.08)!important}
.adminSide button,.adminCard button,.adminForm button,.uploadBox,.managedImage button,.shopImageNav button{cursor:pointer!important}
.adminSide button:hover,.adminCard button:hover,.adminForm button:hover{filter:brightness(.96)}
.adminEdit button{cursor:pointer!important;transition:transform .15s ease,box-shadow .15s ease!important}
.adminEdit button:hover{transform:translateY(-1px);box-shadow:0 4px 9px rgba(55,43,29,.12)}
.servicePreview{display:flex;align-items:center;gap:12px;margin:8px 0}.servicePreview img{width:120px;height:90px;object-fit:cover;border-radius:12px;box-shadow:0 7px 17px rgba(0,0,0,.11)}.servicePreview button{border:0;border-radius:999px;padding:8px 12px;background:#efe5df;color:#805b50}

/* V16 visual-only refinements */

/* Move the homepage Explore button into the visual continuation between
   the journey copy and the three benefit icons. */
.heroExplore,
.exploreTreatments,
[data-home-explore]{
  z-index:12!important;
}

/* The existing homepage CTA class in this build */
.homeExplore{
  right:auto!important;
  left:50%!important;
  bottom:29.5%!important;
  transform:translateX(-50%)!important;
  margin:0!important;
}
.homeExplore:hover{transform:translateX(-50%) translateY(-2px)!important}

/* About rows: warm feminine peach-to-blush glass instead of gray.
   A single faint portrait spans the right side across the stacked bars. */
.aboutAccordion{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
}
.aboutAccordion::after{
  content:"";
  position:absolute;
  z-index:0;
  top:0;right:0;bottom:0;
  width:42%;
  background:url('assets/about-woman.png') center 32%/cover no-repeat;
  opacity:.115;
  filter:saturate(.72) contrast(.90);
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to left,#000 18%,rgba(0,0,0,.82) 55%,transparent 100%);
  mask-image:linear-gradient(to left,#000 18%,rgba(0,0,0,.82) 55%,transparent 100%);
}
.aboutRow{
  position:relative!important;
  z-index:1!important;
  background:linear-gradient(135deg,rgba(247,235,211,.91) 0%,rgba(247,220,207,.84) 53%,rgba(244,221,226,.82) 100%)!important;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.aboutRow.open{
  background:linear-gradient(135deg,rgba(247,229,210,.94) 0%,rgba(242,204,195,.91) 52%,rgba(242,213,222,.90) 100%)!important;
  color:#3b302d!important;
}
.aboutRow.open .aboutDetail,
.aboutRow.open .aboutDetail p,
.aboutRow.open .aboutRowHead,
.aboutRow.open .aboutRowHead h3{color:#3b302d!important}

/* Contact: only the left Skin & Beyond card gets a restrained moving glare. */
.compactContact .contactBox:first-child{
  position:relative!important;
  overflow:hidden!important;
}
.compactContact .contactBox:first-child::after{
  content:"";
  position:absolute;
  top:-35%;bottom:-35%;
  width:22%;
  left:-32%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),rgba(255,255,255,.08),transparent);
  pointer-events:none;
  animation:contactSoftGlare 6.5s ease-in-out infinite;
}
@keyframes contactSoftGlare{
  0%,52%{left:-32%;opacity:0}
  58%{opacity:.58}
  78%{left:116%;opacity:.30}
  84%,100%{left:116%;opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .compactContact .contactBox:first-child::after{animation:none;opacity:.14;left:44%}
}

.homeTreatmentsCTA{right:auto!important;left:50%!important;bottom:29.5%!important;transform:translateX(-50%)!important;}
.homeTreatmentsCTA:hover{transform:translateX(-50%) translateY(-2px)!important;}

/* V17 FINAL — only the two requested corrections */

/* Restore the Explore button to its original slim pill dimensions.
   Only move it into the requested open space. */
.homeTreatmentsCTA{
  left:50%!important;
  right:auto!important;
  top:31.5%!important;
  bottom:auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:7px 16px!important;
  border-radius:999px!important;
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:1.65px!important;
  white-space:nowrap!important;
  transform:translateX(-50%)!important;
  background:rgba(255,250,243,.52)!important;
  border:1px solid rgba(158,119,75,.32)!important;
}
.homeTreatmentsCTA span{margin-left:9px!important;font-size:13px!important}
.homeTreatmentsCTA:hover{
  transform:translateX(-50%) translateY(-1px)!important;
  background:linear-gradient(90deg,rgba(250,224,205,.94),rgba(248,215,220,.94))!important;
  color:#3b302d!important;
  box-shadow:0 7px 18px rgba(110,75,55,.12)!important;
}
.homeTreatmentsCTA:hover span{color:#9c713b!important}

/* Portrait appears ONLY through the five About bars.
   No portrait in the gaps between them. Each row uses the same fixed
   portrait position, so together the bars read as one continuous image.
   Opening a row naturally reveals more of that same portrait. */
.aboutAccordion::after{display:none!important}
.aboutRow{
  background-image:
    linear-gradient(135deg,rgba(247,235,211,.88) 0%,rgba(247,220,207,.82) 53%,rgba(244,221,226,.80) 100%),
    url('assets/about-woman.png')!important;
  background-size:100% 100%,42% auto!important;
  background-position:center,100% 38%!important;
  background-repeat:no-repeat!important;
  background-attachment:scroll!important;
}
.aboutRow::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(250,239,222,.96) 0%,rgba(250,231,220,.88) 54%,rgba(248,226,226,.66) 74%,rgba(248,226,226,.52) 100%);
  z-index:0;
}
.aboutRow>*{position:relative;z-index:1}
.aboutRow.open{
  background-image:
    linear-gradient(135deg,rgba(247,229,210,.80) 0%,rgba(242,204,195,.75) 52%,rgba(242,213,222,.73) 100%),
    url('assets/about-woman.png')!important;
  background-size:100% 100%,48% auto!important;
  background-position:center,100% 38%!important;
}
.aboutRow.open::after{
  background:linear-gradient(90deg,rgba(249,235,218,.93) 0%,rgba(247,220,211,.82) 52%,rgba(246,220,224,.55) 78%,rgba(246,220,224,.42) 100%);
}
@media(max-width:800px){
  .homeTreatmentsCTA{top:32%!important;padding:6px 12px!important;font-size:7px!important}
  .aboutRow,.aboutRow.open{background-size:100% 100%,62% auto!important}
}

/* V18 — exact requested corrections only */
.homeTreatmentsCTA{
  left:31%!important;
  right:auto!important;
  top:43.5%!important;
  bottom:auto!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  padding:7px 16px!important;border-radius:999px!important;
  font-size:8px!important;line-height:1!important;letter-spacing:1.65px!important;
  transform:none!important;
}
.homeTreatmentsCTA:hover{
  transform:translateY(-1px)!important;
  background:linear-gradient(90deg,rgba(250,224,205,.94),rgba(248,215,220,.94))!important;
  color:#3b302d!important;
}

/* One continuous portrait across the complete About stack. Each row reveals
   its slice of the same image; the gaps remain clean. */
.aboutAccordion::after{display:none!important}
.aboutRow,.aboutRow.open{
  background-image:
    linear-gradient(135deg,rgba(247,235,211,.87) 0%,rgba(247,220,207,.81) 53%,rgba(244,221,226,.79) 100%),
    url('assets/about-woman.png')!important;
  background-repeat:no-repeat,no-repeat!important;
  background-size:100% 100%,auto var(--about-stack-h,560px)!important;
  background-position:center,right calc(-1 * var(--about-row-y,0px))!important;
}
.aboutRow::after,.aboutRow.open::after{display:none!important}
.aboutRow>*{position:relative;z-index:1}
@media(max-width:800px){.homeTreatmentsCTA{left:27%!important;top:43%!important}}

/* V19 — requested micro-adjustments only */

/* Explore Our Treatments: one button-width left, about half-button-height down. */
.homeTreatmentsCTA{
  left:39.5%!important;
  top:36.2%!important;
  bottom:auto!important;
  box-shadow:0 9px 20px rgba(72,52,34,.22),0 2px 5px rgba(72,52,34,.12)!important;
}
.homeTreatmentsCTA:hover{
  box-shadow:0 11px 23px rgba(72,52,34,.25),0 3px 6px rgba(72,52,34,.13)!important;
}

/* About: remove the slow stretching/bending feeling.
   The single portrait updates almost instantly with a very short fade. */
.aboutAccordion::before{
  transition:opacity .07s linear,background-size .07s linear!important;
}
.aboutAccordion:has(.aboutRow.open)::before{
  transition:opacity .07s linear,background-size .07s linear!important;
}
.aboutRow,
.aboutRow.open,
.aboutDetail,
.aboutDetail>div{
  transition-duration:.11s!important;
}

/* V20 — exact requested CTA placement, service/booking/product standards */

/* CTA sits in the clear rectangle between the journey line and benefit icons,
   left of the woman's image. Keep original slim proportions. */
.homeTreatmentsCTA{
  left:24.5%!important;
  top:47.2%!important;
  right:auto!important;bottom:auto!important;
  width:auto!important;height:auto!important;
  padding:7px 16px!important;
  transform:translate(-50%,-50%)!important;
  box-shadow:0 10px 22px rgba(69,48,31,.24),0 2px 5px rgba(69,48,31,.13)!important;
}
.homeTreatmentsCTA:hover{
  transform:translate(-50%,-52%)!important;
  background:linear-gradient(90deg,rgba(250,224,205,.96),rgba(248,215,220,.96))!important;
}

/* Services: warm, slightly varied floating cards with restrained moving glare. */
.serviceCard{
  position:relative!important;overflow:hidden!important;
  border:1px solid rgba(177,135,86,.16)!important;
  box-shadow:0 12px 25px rgba(72,52,33,.12),0 2px 6px rgba(72,52,33,.07)!important;
  transition:transform .24s ease,box-shadow .24s ease!important;
}
.serviceCard:nth-child(3n+1){background:linear-gradient(140deg,rgba(251,240,217,.96),rgba(249,222,211,.88))!important}
.serviceCard:nth-child(3n+2){background:linear-gradient(140deg,rgba(250,231,214,.95),rgba(247,220,225,.88))!important}
.serviceCard:nth-child(3n){background:linear-gradient(140deg,rgba(248,226,221,.94),rgba(251,239,216,.90))!important}
.serviceCard:hover{transform:translateY(-3px);box-shadow:0 17px 31px rgba(72,52,33,.16),0 3px 8px rgba(72,52,33,.08)!important}
.serviceCard::after{content:"";position:absolute;top:-35%;bottom:-35%;left:-35%;width:18%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);opacity:0;pointer-events:none}
.serviceCard:hover::after{animation:serviceGlare .75s ease}
@keyframes serviceGlare{0%{left:-35%;opacity:0}20%{opacity:.65}100%{left:120%;opacity:0}}

/* Booking/details card gets the same soft clinic palette and depth. */
.bookingFormWide,.bookingForm,.calendarBox{
  background:linear-gradient(145deg,rgba(253,246,232,.94),rgba(250,226,220,.88),rgba(249,232,229,.90))!important;
  border:1px solid rgba(174,133,83,.15)!important;
  box-shadow:0 13px 28px rgba(71,52,35,.12),0 3px 7px rgba(71,52,35,.07)!important;
}

/* Shop cards float. */
.productCard{
  box-shadow:0 13px 27px rgba(61,48,34,.13),0 3px 7px rgba(61,48,34,.07)!important;
  transition:transform .23s ease,box-shadow .23s ease!important;
}
.productCard:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(61,48,34,.17),0 4px 9px rgba(61,48,34,.08)!important}

/* Product detail page. */
.productDetailPage{max-width:1120px;margin:0 auto;padding:20px 8px 55px}
.productBack{margin-bottom:14px}.productDetailGrid{display:grid;grid-template-columns:1.08fr .92fr;gap:36px;align-items:start}
.productGallery,.productPurchase{background:linear-gradient(145deg,rgba(255,250,242,.96),rgba(249,229,223,.88));border:1px solid rgba(174,133,83,.15);border-radius:22px;padding:22px;box-shadow:0 14px 30px rgba(61,48,34,.12)}
.productMainImage{height:470px;border-radius:16px;overflow:hidden;background:#eee8df;display:grid;place-items:center}
.productMainImage img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease;cursor:zoom-in}
.productMainImage:hover img{transform:scale(1.18)}
.productThumbs{display:flex;gap:9px;margin-top:12px;overflow:auto}.productThumb{width:68px;height:68px;border:1px solid transparent;border-radius:10px;padding:3px;background:#f4ede4;cursor:pointer;flex:0 0 auto}.productThumb.active{border-color:#aa814d}.productThumb img{width:100%;height:100%;object-fit:contain;border-radius:7px}
.productPurchase h1{font:42px Baskerville,Georgia,serif;margin:8px 0 12px}.detailPrice{font:20px Baskerville,Georgia,serif;color:#987043;margin-bottom:20px}.productPurchase p{line-height:1.75;color:#5c554e}
.quantityRow{display:flex;justify-content:space-between;align-items:center;margin:25px 0 16px}.quantityControl{display:flex;border:1px solid #d7c9b7;border-radius:999px;overflow:hidden}.quantityControl button{border:0;background:#f3e9dd;width:38px;cursor:pointer}.quantityControl input{width:48px;text-align:center;border:0;background:#fff}.addCartBtn{width:100%;justify-content:center}.cartFeedback{color:#987043!important}
.cartCount{position:absolute;right:-7px;top:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#b68454;color:white;font:9px Arial;place-items:center;z-index:4}
.cartList{display:grid;gap:12px}.cartItem{display:grid;grid-template-columns:72px 1fr auto auto;gap:15px;align-items:center;background:#fffaf3;border-radius:16px;padding:12px 16px;box-shadow:0 10px 23px rgba(61,48,34,.10)}.cartItemImg{width:62px;height:62px;border-radius:10px;overflow:hidden;background:#eee5d8;display:grid;place-items:center}.cartItemImg img{width:100%;height:100%;object-fit:cover}.cartItem h3{margin:0 0 4px}.cartItem p{margin:0}.cartCheckout{display:flex;justify-content:flex-end;margin-top:20px}
@media(max-width:800px){.productDetailGrid{grid-template-columns:1fr}.productMainImage{height:330px}.homeTreatmentsCTA{left:29%!important;top:46%!important}.cartItem{grid-template-columns:60px 1fr}.cartQty,.cartItem .removeBtn{grid-column:2}}

/* V21 — Did You Know? */
.dykPage{height:calc(100vh - 118px);max-width:1180px;margin:0 auto;padding:14px 18px 18px;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.dykIntro{padding:4px 2px 12px}.dykIntro .heroTitle{margin-bottom:7px}.dykIntro .lead{max-width:820px;margin-bottom:0}
.dykTabs{z-index:8;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px;margin:0 0 12px;border:1px solid rgba(177,134,88,.17);border-radius:18px;background:linear-gradient(100deg,rgba(255,246,224,.93),rgba(252,224,215,.91),rgba(249,226,232,.91));box-shadow:0 10px 24px rgba(84,59,40,.10);backdrop-filter:blur(14px)}
.dykTab{border:1px solid transparent;border-radius:999px;padding:11px 9px;background:rgba(255,255,255,.26);color:#51473f;font-size:9px;letter-spacing:1.15px;text-transform:uppercase;cursor:pointer;transition:.22s ease}.dykTab:hover{background:rgba(255,255,255,.64);transform:translateY(-1px);box-shadow:0 5px 13px rgba(75,54,38,.08)}.dykTab.active{background:rgba(255,252,245,.90);border-color:rgba(172,128,76,.28);color:#9a6d3e;box-shadow:0 6px 16px rgba(74,53,37,.10)}
.dykArticle{min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 4px 50px 0;scrollbar-width:thin}.dykArticleInner{border-radius:24px;overflow:hidden;background:linear-gradient(145deg,rgba(255,248,229,.96),rgba(252,226,215,.91) 48%,rgba(249,226,231,.92));border:1px solid rgba(177,134,88,.16);box-shadow:0 16px 34px rgba(77,55,37,.13),0 3px 8px rgba(77,55,37,.06)}
.dykHero{height:300px;position:relative;overflow:hidden}.dykHero img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(.94)}.dykHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(61,43,34,.64),rgba(91,59,46,.20) 56%,rgba(248,219,215,.08))}.dykHeroText{position:absolute;left:42px;bottom:34px;color:white;max-width:650px;text-shadow:0 2px 12px rgba(35,22,17,.25)}.dykHeroText small{letter-spacing:3px;font-size:9px;color:#f4d3a5}.dykHeroText h2{font:48px Baskerville,Georgia,serif;margin:8px 0 5px;font-weight:400}.dykHeroText p{font-size:17px;margin:0;color:rgba(255,255,255,.91)}
.dykCopy{max-width:850px;margin:0 auto;padding:42px 42px 55px;color:#554c45}.dykCopy>p{font-size:16px;line-height:1.85;margin:0 0 25px}.dykCopy h2{font:32px Baskerville,Georgia,serif;color:#392f2a;font-weight:400;margin:38px 0 12px}.dykStudy{margin:35px 0;padding:27px 30px;border-radius:18px;background:linear-gradient(135deg,rgba(246,220,185,.68),rgba(247,207,205,.66),rgba(244,216,225,.68));border:1px solid rgba(166,120,69,.17);box-shadow:0 10px 24px rgba(75,53,36,.09)}.dykStudy small{font-size:9px;letter-spacing:2.4px;color:#a47642}.dykStudy h3{font:29px Baskerville,Georgia,serif;font-weight:400;margin:8px 0 10px;color:#41342e}.dykStudy p{font-size:15px;line-height:1.75;margin:0}.dykSource{display:inline-block;margin:7px 0 5px;color:#9b7041;text-decoration:none;border-bottom:1px solid rgba(155,112,65,.38);font-size:12px;letter-spacing:.5px}.dykCopy blockquote{margin:28px 0;padding:22px 27px;border-left:2px solid #b98750;background:rgba(255,255,255,.36);font:26px Baskerville,Georgia,serif;color:#574139}.dykClosing{margin-top:45px;padding:28px;border-radius:18px;background:rgba(255,252,245,.56);box-shadow:0 9px 22px rgba(73,51,35,.08)}.dykClosing h2{margin-top:0}.dykClosing p{line-height:1.7}
@media(max-width:800px){.dykPage{height:calc(100vh - 92px);padding:8px 10px 12px}.dykTabs{display:flex;overflow-x:auto;gap:6px;padding:8px}.dykTab{flex:0 0 auto;padding:9px 12px}.dykHero{height:235px}.dykHeroText{left:23px;bottom:23px}.dykHeroText h2{font-size:35px}.dykCopy{padding:28px 22px 40px}.dykCopy h2{font-size:27px}}

/* V34 — exact hero video overlay only. At 1360×819 viewport: x=0, y=87.633px, w=1360px, h=457.002px. */
.heroVideoLayer{position:absolute;left:0;top:10.7%;width:100%;height:55.8%;z-index:60;overflow:hidden;opacity:1;pointer-events:none;background:#000 url('assets/hero-intro-poster.jpg') center/100% 100% no-repeat;transition:opacity 1.35s ease}
.heroVideoLayer.fadeOut{opacity:0}
.heroVideoLayer.finished{display:none}
.heroIntroVideo{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:fill;display:block;margin:0;padding:0;border:0;transform:none}

/* V36 — requested-only refinements: show product imagery uncropped; feature peek stays above intro video. */
.shopProductImage img{object-fit:contain!important}
.productMainImage img{object-fit:contain!important}
.productThumb img{object-fit:contain!important}
.peek{z-index:70!important}

/* V39: product images from supplied SkinCeuticals package; always show complete image */
.shopProductImage img,.productMainImage img,.productThumb img,.managedImage img,.adminThumb img,.cartItemImg img{object-fit:contain!important;object-position:center center!important;}
/* V40: product images must always show the complete original image, never cropped */
.shopProductImage{overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.shopProductImage img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;}
.productMainImage{overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.productMainImage img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;}
.productMainImage:hover img{transform:none!important;}
.productThumb img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;}
/* V41 — requested pickup reservation + supplied P-TIOX cream gallery. */
.pickupPage{max-width:1120px;margin:0 auto;padding:18px 8px 60px}.pickupGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;margin-top:28px}.pickupForm label{display:block;font-size:12px;letter-spacing:1px;color:#6f6255;margin-top:10px}.pickupForm select{width:100%;border:0;border-bottom:1px solid #bda88d;background:transparent;padding:14px 3px;margin:6px 0 14px;outline:none}.pickupConfirmed{max-width:850px}.bookingTable select{border:1px solid #d8cbb9;background:#faf6f0;border-radius:9px;padding:7px;margin:0 7px 7px 0}.managedImage img,.adminThumb img,.cartItemImg img{object-fit:contain!important;background:#fff}.shopProductImage img,.productMainImage img,.productThumb img{object-fit:contain!important;object-position:center!important;max-width:100%!important;max-height:100%!important}
@media(max-width:800px){.pickupGrid{grid-template-columns:1fr}}

/* Exact home treatment layer fix: video below reveal panels; cards above panels; cards/panels home-only. */
.heroVideoLayer{z-index:5!important}
.peek{z-index:6!important}
.treatmentHit{z-index:8!important}
.stage.innerPage .treatmentHit,.stage.innerPage .peek{visibility:hidden!important;pointer-events:none!important}
/* Added shop categories: Laser Treatments + Fat Treatments. Existing site styles remain unchanged. */
.treatmentShopCard{overflow:hidden;padding-top:0!important}.treatmentShopImage{height:210px;margin:0 -1px 18px;overflow:hidden;background:rgba(255,255,255,.08)}.treatmentShopImage img{width:100%;height:100%;object-fit:cover;display:block}.adminDownload{font-size:11px;letter-spacing:.04em;text-decoration:none;color:inherit;opacity:.75;white-space:nowrap}.adminDownload:hover{opacity:1;text-decoration:underline}

/* Shop submenu: intentionally shows about 2.5 rows and scrolls to reveal more. */
.shopSub.open{max-height:104px!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin}
.shopSub button{min-height:40px!important;padding:10px 7px!important}

/* Body contouring editorial page + professional rental application. */
.bodySculptPage{max-width:1180px;margin:auto}.bodyHero,.bodyFeature{display:grid;grid-template-columns:1fr 1.15fr;gap:34px;align-items:center;margin:34px 0;background:rgba(255,255,255,.58);border:1px solid rgba(169,123,66,.18);border-radius:20px;overflow:hidden}.bodyHero img,.bodyFeature img{width:100%;height:390px;object-fit:cover}.bodyHero>div,.bodyFeature>div{padding:34px}.bodyHero h2,.bodyFeature h2,.rentalSection h2{font:38px Georgia,serif;font-weight:normal;margin:8px 0 14px}.bodyHero p,.bodyFeature p,.rentalSection p{line-height:1.7;color:#5b554e}.bodyFeature.reverse img{order:2}.beforeAfter{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:40px 0 12px}.beforeAfter div{position:relative}.beforeAfter img{width:100%;height:340px;object-fit:cover;border-radius:16px}.beforeAfter span{position:absolute;z-index:1;left:14px;top:14px;background:rgba(255,255,255,.88);padding:7px 12px;border-radius:20px;font-size:10px;letter-spacing:2px}.resultNote{font-size:12px;color:#756c62}.bodyActions{text-align:center;margin:24px 0 60px}.rentalSection{margin:55px 0 20px;padding-top:40px;border-top:1px solid rgba(120,90,55,.25)}.rentalGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0}.rentalGrid article{background:rgba(255,255,255,.68);border-radius:16px;overflow:hidden;padding-bottom:18px}.rentalGrid img{width:100%;height:190px;object-fit:cover}.rentalGrid h3,.rentalGrid p{margin-left:18px;margin-right:18px}.rentalGrid h3{font:25px Georgia,serif;margin-bottom:4px}.rentalGrid p{font-size:13px;line-height:1.55}.rentalApply{max-width:980px;margin:auto}.rentalForm{margin-top:30px}.rentalFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.rentalForm select{width:100%;border:0;border-bottom:1px solid #bda88d;background:transparent;padding:14px 3px;margin:6px 0 14px}.rentalCheck{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;margin:18px 0}.rentalCheck input{width:auto;margin-top:3px}.rentalForm textarea{min-height:130px}
@media(max-width:800px){.bodyHero,.bodyFeature{grid-template-columns:1fr}.bodyFeature.reverse img{order:0}.bodyHero img,.bodyFeature img{height:260px}.beforeAfter{grid-template-columns:1fr}.rentalGrid{grid-template-columns:1fr 1fr}.rentalFormGrid{grid-template-columns:1fr}}

/* Laser treatment card refinement — supplied nine-card set only */
.treatmentShopGrid{align-items:stretch!important}
.treatmentShopCard{border-radius:18px!important;box-shadow:0 12px 28px rgba(48,38,28,.12)!important;transition:transform .22s ease,box-shadow .22s ease!important;display:flex!important;flex-direction:column!important}
.treatmentShopCard:hover{transform:translateY(-4px)!important;box-shadow:0 17px 34px rgba(48,38,28,.16)!important}
.treatmentShopCard .treatmentShopImage{height:230px!important;border-radius:17px 17px 0 0!important;background:#f5f1ec!important}
.treatmentShopCard .treatmentShopImage img{object-fit:cover!important;object-position:center!important}
.treatmentShopCard h3{margin-top:2px!important}
.treatmentShopCard p{flex:1!important}
.treatmentShopCard .elegantBtn{margin-top:auto!important;align-self:flex-start!important}


/* Equipment rental — added without altering existing site sections. */
.rentalMenuLink{position:absolute;left:25px;right:25px;bottom:82px;border:0;border-top:1px solid rgba(255,255,255,.16);background:transparent;text-align:left;padding:14px 7px 12px;color:#b44935;font-size:12px;letter-spacing:2.3px;font-weight:600;cursor:pointer;transition:.2s}.rentalMenuLink:hover{color:#d35b42;transform:translateX(7px)}
.equipmentRentalPage{max-width:1120px;margin:0 auto;padding-bottom:55px}.equipmentRentalList{display:flex;flex-direction:column;gap:16px;margin-top:30px}.equipmentRentalCard{display:grid;grid-template-columns:190px 1fr auto;gap:24px;align-items:center;min-height:145px;padding:16px 20px 16px 16px;border:1px solid rgba(181,139,91,.18);border-radius:18px;background:linear-gradient(105deg,rgba(255,242,232,.78),rgba(255,248,224,.72));box-shadow:0 12px 26px rgba(77,57,39,.10)}.equipmentPhotoPlaceholder{height:112px;border-radius:13px;background:rgba(255,255,255,.55);border:1px dashed rgba(157,121,80,.32);display:grid;place-items:center;color:#a18463;font-size:9px;letter-spacing:2px}.equipmentRentalCopy small{font-size:8px;letter-spacing:2px;color:#a67b48}.equipmentRentalCopy h3{font:27px Georgia,serif;font-weight:normal;margin:6px 0}.equipmentRentalCopy p{font-size:12px;line-height:1.55;color:#655d54;margin:0}.equipmentRentalAction{min-width:120px;text-align:center}.rentedBadge{display:inline-block;padding:9px 15px;border-radius:999px;background:rgba(100,91,82,.12);color:#766b60;font-size:9px;letter-spacing:1.7px}.equipmentRentalCard.isRented{opacity:.68}.rentalWizard{max-width:980px;margin:0 auto;padding-bottom:55px}.rentalWizardSteps{display:flex;align-items:center;gap:10px;margin:25px 0}.rentalWizardSteps span{display:flex;align-items:center;gap:7px;font-size:10px;color:#998d80}.rentalWizardSteps span.active{color:#9b6b31}.rentalWizardSteps i{height:1px;flex:1;background:#d9cdbd}.rentalWizardForm{padding:28px!important}.rentalWizardPane{display:none}.rentalWizardPane.active{display:block}.rentalWizardPane h3{font:28px Georgia,serif;font-weight:normal;margin:0 0 18px}.wizardActions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.wizardActions .elegantBtn{margin-left:auto}.rentalConsentRow{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;margin:13px 0;padding:0!important;font-size:12px!important;line-height:1.5!important;color:#554e47}.rentalConsentRow input{width:16px!important;height:16px!important;margin:2px 0 0!important}.rentalConsentRow span{display:block;max-width:760px}.rentalLegalIntro,.rentalFinePrint{font-size:12px;line-height:1.6;color:#71685f}.rentalSelectedEquipment{padding:13px 15px;margin-bottom:16px;border-radius:10px;background:rgba(231,213,190,.35);font-size:12px}.rentalWizardForm textarea{min-height:105px}.rentalWizardForm select{width:100%;border:0;border-bottom:1px solid #bda88d;background:transparent;padding:14px 3px;margin:6px 0 14px}
@media(max-width:800px){.equipmentRentalCard{grid-template-columns:105px 1fr;gap:14px}.equipmentRentalAction{grid-column:2;text-align:left}.equipmentPhotoPlaceholder{height:90px}.rentalWizardSteps b{display:none}.rentalMenuLink{bottom:80px}}


/* Equipment rental page/application imported exactly from approved reference file. */
.equipmentRentalPage{max-width:1120px;margin:auto;padding-bottom:70px}.rentalNotice{display:flex;gap:16px;align-items:center;margin:28px 0 34px;padding:18px 22px;border-radius:16px;background:linear-gradient(100deg,rgba(255,239,217,.72),rgba(250,220,216,.58));border:1px solid rgba(170,120,70,.18);box-shadow:0 8px 22px rgba(73,52,34,.07)}.rentalNotice strong{font:20px Georgia,serif;white-space:nowrap}.rentalNotice span{font-size:13px;line-height:1.55;color:#675c52}.equipmentCatalog{display:flex;flex-direction:column;gap:17px}.equipmentRow{display:grid;grid-template-columns:230px 1fr auto;align-items:center;gap:25px;min-height:160px;padding:14px 20px 14px 14px;border-radius:20px;background:linear-gradient(105deg,rgba(255,247,225,.94),rgba(252,227,215,.91) 56%,rgba(250,226,231,.90));border:1px solid rgba(177,134,88,.16);box-shadow:0 13px 28px rgba(77,55,37,.11);transition:.22s}.equipmentRow:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(77,55,37,.14)}.equipmentRow.isRented{opacity:.72}.equipmentPlaceholder{height:132px;border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(232,220,207,.78));display:grid;place-content:center;text-align:center;border:1px dashed rgba(145,109,71,.28);color:#a27a4b}.equipmentPlaceholder span{font:22px Georgia,serif;letter-spacing:3px}.equipmentPlaceholder small{margin-top:7px;letter-spacing:1.5px}.equipmentInfo h3{font:29px Georgia,serif;font-weight:normal;margin:7px 0 8px}.equipmentInfo p{margin:0;max-width:600px;line-height:1.6;color:#665c53;font-size:14px}.equipmentStatus{display:inline-block;padding:5px 9px;border-radius:20px;background:rgba(114,151,112,.13);color:#5e7f5b;font-size:9px;letter-spacing:1.7px;text-transform:uppercase}.equipmentStatus.rented{background:rgba(158,84,67,.12);color:#9b5949}.equipmentReserve{border:1px solid rgba(157,108,57,.42);background:rgba(255,255,255,.48);border-radius:999px;padding:12px 16px;color:#865d35;letter-spacing:1.3px;text-transform:uppercase;font-size:10px;cursor:pointer;white-space:nowrap}.equipmentReserve:hover:not(:disabled){background:#a97b42;color:#fff}.equipmentReserve:disabled{cursor:not-allowed;opacity:.55}.rentalQualification{position:relative;margin-top:38px;padding:34px;border-radius:22px;background:linear-gradient(145deg,rgba(255,248,229,.97),rgba(252,226,215,.94),rgba(249,226,231,.94));border:1px solid rgba(177,134,88,.18);box-shadow:0 18px 38px rgba(77,55,37,.14)}.rentalFlowClose{position:absolute;right:18px;top:15px;border:0;background:transparent;font-size:26px;color:#8a6946;cursor:pointer}.rentalQualification h2{font:38px Georgia,serif;font-weight:normal;margin:8px 0 16px}.rentalSteps{display:flex;gap:8px;margin:18px 0 28px}.rentalSteps span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(157,108,57,.3);font-size:11px;color:#94724f}.rentalSteps span.active{background:#a97b42;color:white}.rentalStep{display:none}.rentalStep.active{display:block}.rentalStep h3,.rentalFlowSuccess h3{font:29px Georgia,serif;font-weight:normal}.rentalStep input,.rentalStep select{width:100%;border:0;border-bottom:1px solid #bda88d;background:rgba(255,255,255,.12);padding:14px 3px;margin:6px 0 14px;outline:none}.rentalFlowBtns{display:flex;gap:10px;align-items:center;margin-top:18px}.rentalTerms{padding:18px 20px;border-radius:14px;background:rgba(255,255,255,.38);max-height:190px;overflow-y:auto;margin-bottom:18px}.rentalTerms p{font-size:13px;line-height:1.65;color:#655b52}.rentalFlowSuccess{text-align:center;padding:25px}.rentalFlowSuccess p{max-width:650px;margin:0 auto 22px;line-height:1.7}
@media(max-width:800px){.equipmentRow{grid-template-columns:100px 1fr}.equipmentPlaceholder{height:105px}.equipmentReserve{grid-column:1/-1;justify-self:end}.rentalNotice{display:block}.rentalNotice strong{display:block;margin-bottom:7px}.rentalQualification{padding:26px 20px}}



.rentalCheck{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;column-gap:10px!important;align-items:start!important;width:100%!important;max-width:760px!important;margin:10px 0!important;padding:0!important;font-size:12px!important;line-height:1.45!important;color:#655b52!important}
.rentalStep .rentalCheck input[type='checkbox']{width:16px!important;height:16px!important;min-width:16px!important;margin:1px 0 0 0!important;padding:0!important;justify-self:start!important}
.rentalStep[data-step='3'] .rentalTerms{margin-bottom:12px!important}
.rentalStep[data-step='3'] .rentalFlowBtns{margin-top:12px!important}

/* Requested-only equipment imagery + exact homepage rental promo overlay. */
.equipmentImage{height:132px;border-radius:14px;background:#fff;overflow:hidden;border:1px solid rgba(145,109,71,.18);display:flex;align-items:center;justify-content:center}.equipmentImage img{width:100%;height:100%;object-fit:contain;display:block}.equipmentSpecs{margin:8px 0 0;padding-left:18px;color:#665c53;font-size:13px;line-height:1.55}.equipmentSpecs li{margin:2px 0}.homeRentalPromo{position:absolute;z-index:6;left:76.51%;top:37.31%;width:19.00%;height:22.51%;padding:0;border:0;background:transparent;border-radius:18px;overflow:hidden;cursor:pointer}.homeRentalPromo img{display:block;width:100%;height:100%;object-fit:fill}.homeRentalPromo:hover{box-shadow:0 0 0 2px rgba(178,131,72,.45),0 8px 24px rgba(83,58,35,.16)}.stage.innerPage .homeRentalPromo{visibility:hidden!important;pointer-events:none!important}@media(max-width:800px){.equipmentImage{height:105px}.homeRentalPromo{left:75.5%;top:37.3%;width:20.2%;height:22.5%}}

/* Equipment rental refinements — requested only. */
.homeRentalPromo{visibility:hidden!important;pointer-events:none!important;left:76.85%!important;top:36.10%!important;width:22.50%!important;height:22.10%!important;}
body.heroVideoFinished .homeRentalPromo{visibility:visible!important;pointer-events:auto!important;}
.stage.innerPage .homeRentalPromo{visibility:hidden!important;pointer-events:none!important;}
.equipmentImage{overflow:visible!important;position:relative;z-index:2;}
.equipmentImage img{transition:transform .22s ease,box-shadow .22s ease;transform-origin:center center;position:relative;z-index:2;background:#fff;border-radius:12px;}
.equipmentImage:hover{z-index:50;}
.equipmentImage:hover img{transform:scale(2);z-index:50;box-shadow:0 18px 45px rgba(45,35,28,.28);}
.equipmentRow{overflow:visible;}

/* V43 — requested-only rental/home reveal refinements. */
/* Keep homepage controls completely under the intro video until the video has ended. */
body:not(.heroVideoFinished) .menuTab,
body:not(.heroVideoFinished) .homeTreatmentsCTA,
body:not(.heroVideoFinished) .homeRentalPromo{visibility:hidden!important;pointer-events:none!important;}
body.heroVideoFinished .menuTab,
body.heroVideoFinished .homeTreatmentsCTA{visibility:visible!important;pointer-events:auto!important;}

/* Rental promo: fully cover the original home card, with a lifted shadow and subtle sweep/tilt. */
.homeRentalPromo{left:76.45%!important;top:35.72%!important;width:23.15%!important;height:22.95%!important;overflow:hidden!important;border-radius:18px!important;box-shadow:0 13px 28px rgba(49,37,27,.23),0 3px 8px rgba(49,37,27,.12)!important;transform:perspective(800px) rotateX(0) rotateY(0);transition:transform .32s ease,box-shadow .32s ease!important;isolation:isolate;}
.homeRentalPromo::after{content:'';position:absolute;z-index:3;top:-35%;left:-70%;width:42%;height:170%;pointer-events:none;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.05) 25%,rgba(255,255,255,.62) 50%,rgba(255,255,255,.08) 75%,transparent 100%);transform:skewX(-18deg);opacity:0;}
.homeRentalPromo:hover{transform:perspective(800px) rotateX(1.2deg) rotateY(-1.8deg) translateY(-2px)!important;box-shadow:0 19px 38px rgba(49,37,27,.29),0 5px 12px rgba(49,37,27,.13)!important;}
.homeRentalPromo:hover::after{opacity:1;animation:rentalPromoSweep .85s ease-out forwards;}
@keyframes rentalPromoSweep{from{left:-70%}to{left:135%}}

/* Rental catalogue hover: the complete source image rises above neighboring equipment rows. */
.equipmentCatalog{isolation:isolate;}
.equipmentRow{position:relative;z-index:1;overflow:visible!important;}
.equipmentRow:hover{z-index:120!important;}
.equipmentImage{position:relative;overflow:visible!important;z-index:2;}
.equipmentImage:hover{z-index:130!important;}
.equipmentImage img{transform-origin:center center!important;will-change:transform;}
.equipmentImage:hover img{position:relative!important;z-index:140!important;transform:scale(2)!important;box-shadow:0 22px 52px rgba(38,29,23,.34)!important;}

/* Cart reservation flow — isolated requested change only. */
.pickupSteps{display:flex;align-items:center;gap:10px;margin:18px 0 24px;max-width:720px}.pickupSteps span{font-size:12px;letter-spacing:.04em;opacity:.48;white-space:nowrap}.pickupSteps span.active{opacity:1;color:#9b6f3d}.pickupSteps span b{font-weight:500}.pickupSteps i{height:1px;flex:1;background:rgba(121,91,61,.25)}.pickupForm[hidden]{display:none!important}.pickupForm .stepActions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}


/* V44 — requested-only: source-resolution rental enlargement + 3x product detail magnifier. */
.equipmentImage img{will-change:auto!important;image-rendering:auto!important;}
.equipmentImage:hover img{transform:none!important;position:absolute!important;left:50%!important;top:50%!important;width:460px!important;height:264px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;transform:translate(-50%,-50%)!important;background:#fff!important;z-index:140!important;}
.productMainImage{position:relative!important;overflow:hidden!important;cursor:zoom-in!important;}
.productMainImage img{transition:transform .08s linear!important;will-change:transform;transform:scale(1);}
.productMainImage:hover img{transform:none;}
#pickupCalendarStep .calendarWide{max-width:980px;margin:0 auto;}

/* Body Contouring page additions */
.bodyVideo{margin:30px 0 42px;background:rgba(255,255,255,.62);border:1px solid rgba(169,123,66,.18);border-radius:20px;overflow:hidden}.bodyVideoFrame{position:relative;width:100%;aspect-ratio:16/9;background:#111}.bodyVideoFrame iframe{position:absolute;inset:0;width:100%;height:100%}.bodyVideoCopy{padding:24px 30px}.bodyVideoCopy h2{font:34px Georgia,serif;font-weight:normal;margin:0 0 8px}.bodyVideoCopy p{margin:0;line-height:1.65;color:#5b554e}.bodyConsultBtn{margin-top:12px}.adminForm select{width:100%;padding:11px;margin:5px 0;border:1px solid #ddd;border-radius:9px;background:#fff}.adminEdit button:disabled{opacity:.3;cursor:default!important}

/* Requested targeted refinements: rental training bonus + homepage body-contouring feature */
.rentalTrainingBonus{margin:18px 0 22px;padding:22px 26px;border:1px solid rgba(169,123,66,.30);border-radius:18px;background:linear-gradient(135deg,rgba(255,250,239,.86),rgba(247,226,210,.70));box-shadow:0 12px 30px rgba(70,50,33,.08);text-align:center}.rentalTrainingBonus small{display:block;font-size:9px;letter-spacing:2.7px;color:#a27749;margin-bottom:8px}.rentalTrainingBonus h2{font:32px Georgia,serif;font-weight:normal;margin:0 0 8px;color:#3e342d}.rentalTrainingBonus p{max-width:720px;margin:0 auto;color:#6c5c50;line-height:1.65;font-size:14px}
.homeBodyPromo{height:25.2%!important;top:34.5%!important;background:#2d241f!important}.homeBodyPromo img{object-fit:cover!important;filter:brightness(.67) saturate(.86)}.homeBodyPromoShade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(30,22,18,.70),rgba(30,22,18,.20) 70%,rgba(30,22,18,.08))}.homeBodyPromoCopy{position:absolute;z-index:2;inset:0;padding:13px 14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;color:#fff}.homeBodyPromoCopy small{font-size:7px;letter-spacing:1.8px;color:#ead2ac;margin-bottom:5px}.homeBodyPromoCopy strong{font:22px Georgia,serif;font-weight:normal;line-height:1.02;text-shadow:0 2px 10px rgba(0,0,0,.3)}.homeBodyPromoCopy em{font-style:normal;font-size:8px;line-height:1.35;margin-top:5px;max-width:92%;opacity:.94}.homeBodyPromoCopy b{position:relative;overflow:hidden;margin-top:9px;padding:7px 10px;border:1px solid rgba(239,210,166,.68);border-radius:999px;background:rgba(255,248,237,.12);font-size:6.5px;letter-spacing:1.15px;font-weight:500}.homeBodyPromoCopy b:after{content:'';position:absolute;top:-70%;left:-80%;width:45%;height:240%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.82),transparent);transform:skewX(-20deg);animation:bodyPromoGlare 2.7s ease-in-out infinite}.homeBodyPromoCopy i{font-style:normal;margin-left:5px}@keyframes bodyPromoGlare{0%,55%{left:-80%;opacity:0}62%{opacity:1}82%{left:145%;opacity:1}100%{left:145%;opacity:0}}

/* V44 — homepage-only replacement. Keep every internal page/menu/admin feature unchanged. */
/* V46 — opening video only: preserve the original 1360×457-style footprint, move it to the very top, and leave the area below blank. */
body:not(.heroVideoFinished) .heroVideoLayer{
  left:0!important; top:0!important; width:100%!important; height:55.8%!important;
  z-index:60!important; background:#000 url('assets/hero-intro-poster.jpg') center/100% 100% no-repeat!important;
}
body:not(.heroVideoFinished) .heroIntroVideo{
  left:0!important; top:0!important; width:100%!important; height:100%!important;
  object-fit:fill!important;
}
body:not(.heroVideoFinished) .siteRibbon,
body:not(.heroVideoFinished) .menuTab,
body:not(.heroVideoFinished) .consultationHot,
body:not(.heroVideoFinished) .homeRentalPromo,
body:not(.heroVideoFinished) .homeTreatmentsCTA,
body:not(.heroVideoFinished) .treatmentHit,
body:not(.heroVideoFinished) .peek{
  visibility:hidden!important; pointer-events:none!important; opacity:0!important;
}
/* Finished HOME: only elegant background + blank tinted banner + original menu/menu tab. */
body.heroVideoFinished .stage:not(.innerPage) .siteRibbon{
  visibility:visible!important; opacity:1!important; pointer-events:none!important;
  background:rgba(232,224,214,.28)!important;
  backdrop-filter:blur(14px) saturate(95%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(95%)!important;
  border-bottom:1px solid rgba(255,255,255,.42)!important;
}
body.heroVideoFinished .stage:not(.innerPage) .siteRibbon>*{display:none!important;}
body.heroVideoFinished .stage:not(.innerPage) .consultationHot,
body.heroVideoFinished .stage:not(.innerPage) .homeRentalPromo,
body.heroVideoFinished .stage:not(.innerPage) .homeTreatmentsCTA,
body.heroVideoFinished .stage:not(.innerPage) .treatmentHit,
body.heroVideoFinished .stage:not(.innerPage) .peek{
  display:none!important; visibility:hidden!important; pointer-events:none!important;
}

/* V47 — opening video frame only. Extend exactly to the top edge of the existing white lower band; keep full width and all video copy centered/visible. */
body:not(.heroVideoFinished) .heroVideoLayer{
  left:0!important;
  right:0!important;
  top:0!important;
  width:100%!important;
  height:80.2%!important;
  overflow:hidden!important;
}
body:not(.heroVideoFinished) .heroIntroVideo{
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  object-position:center center!important;
  transform:none!important;
}

/* V48 — one standard glass banner on every page; logo only, no consultation button. */
.siteRibbon{justify-content:flex-start!important;padding:0 0 0 2.2%!important;background:rgba(237,233,227,.54)!important;backdrop-filter:blur(15px) saturate(90%)!important;-webkit-backdrop-filter:blur(15px) saturate(90%)!important}
.ribbonBrand{height:100%;display:flex;align-items:center;position:relative}
.ribbonLogoImage{display:block;width:clamp(205px,19vw,360px);height:auto;max-height:72%;object-fit:contain;object-position:left center}
.ribbonConsult{display:none!important}
@media(max-width:800px){.siteRibbon{padding-left:18px!important}.ribbonLogoImage{width:clamp(165px,42vw,245px);max-height:68%}}

/* V49 — requested-only homepage logo + seamless video-to-home handoff. */
body.heroVideoFinished .stage:not(.innerPage) .siteRibbon>*{display:flex!important;}
body.heroVideoFinished .stage:not(.innerPage) .siteRibbon .ribbonBrand{display:flex!important;}
body.heroVideoFinished .stage:not(.innerPage) .siteRibbon .ribbonLogoImage{display:block!important;}
body.heroVideoFinished .stage:not(.innerPage) .siteRibbon .globalBack{display:none!important;}

/* V50 — isolated top-right language + chat controls. */
.topUtilities{position:absolute;z-index:70;top:2.35%;right:2.2%;display:flex;gap:9px;align-items:center;pointer-events:auto}.topUtilityButton{height:38px;min-width:62px;padding:0 15px;border:1px solid rgba(99,82,66,.42);border-radius:7px;background:rgba(255,255,255,.50);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font:10px Arial,sans-serif;letter-spacing:1.6px;color:#332d28;cursor:pointer;box-shadow:0 5px 18px rgba(55,43,32,.07);transition:.18s}.topUtilityButton:hover,.topUtilityButton[aria-expanded='true']{background:rgba(255,255,255,.78);border-color:#a77a46}.languageControl{position:relative}.utilityGlass{background:rgba(255,255,255,.78);backdrop-filter:blur(20px) saturate(105%);-webkit-backdrop-filter:blur(20px) saturate(105%);border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 45px rgba(48,39,32,.16)}.languageMenu{position:absolute;right:0;top:46px;width:76px;border-radius:9px;padding:5px;z-index:80}.languageMenu[hidden]{display:none}.languageMenu button{display:block;width:100%;border:0;background:transparent;padding:10px 8px;border-radius:6px;font:11px Arial,sans-serif;letter-spacing:1.5px;cursor:pointer;color:#332d28}.languageMenu button:hover{background:rgba(169,123,66,.12)}.chatPanel{position:absolute;z-index:69;right:2.2%;top:10.7%;width:min(390px,92vw);height:min(560px,78vh);border-radius:0 0 18px 18px;padding:28px 22px 20px;transform:translateY(-120%);opacity:0;pointer-events:none;transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .18s;overflow:hidden}.chatPanel.open{transform:translateY(0);opacity:1;pointer-events:auto}.chatClose{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:25px;font-weight:200;color:#675b51;cursor:pointer}.chatChooser small{display:block;margin:6px 0 7px;font:8px Arial,sans-serif;letter-spacing:2.4px;color:#9a744d}.chatChooser h2{font:30px Georgia,serif;font-weight:normal;margin:0 0 22px;color:#342d28}.chatChooser>button{width:100%;text-align:left;border:1px solid rgba(150,119,84,.22);background:rgba(255,255,255,.48);border-radius:13px;padding:16px;margin:0 0 11px;cursor:pointer;color:#3b332d}.chatChooser>button:hover{border-color:#b18a5d;background:rgba(255,255,255,.75)}.chatChooser b,.chatChooser span{display:block}.chatChooser b{font:18px Georgia,serif;font-weight:normal}.chatChooser span{font:11px Arial,sans-serif;margin-top:5px;opacity:.7}.chatConversation{height:100%;display:flex;flex-direction:column}.chatModeBack{align-self:flex-start;border:0;background:transparent;padding:0 0 10px;color:#87633f;cursor:pointer}.chatModeTitle{font:23px Georgia,serif;margin-bottom:12px}.chatMessages{flex:1;overflow:auto;padding:5px 2px 12px;display:flex;flex-direction:column;gap:9px}.chatMessage{max-width:84%;padding:10px 12px;border-radius:13px;font:12px/1.45 Arial,sans-serif;white-space:pre-wrap}.chatMessage.user{align-self:flex-end;background:#9c754e;color:#fff}.chatMessage.assistant{align-self:flex-start;background:rgba(238,232,224,.86);color:#302a25}.chatForm{display:flex;gap:8px;align-items:flex-end;border-top:1px solid rgba(126,103,79,.16);padding-top:11px}.chatForm textarea{flex:1;resize:none;border:1px solid rgba(126,103,79,.25);border-radius:10px;background:rgba(255,255,255,.68);padding:10px;font:12px Arial,sans-serif;outline:none}.chatForm button{height:38px;border:1px solid #9c754e;border-radius:9px;background:#9c754e;color:#fff;padding:0 14px;cursor:pointer}.siteRibbon{pointer-events:none}.topUtilities,.chatPanel{pointer-events:auto}html[lang='fa'] body:not(.adminMode){font-family:Tahoma,Arial,sans-serif}html[lang='fa'] .panel:not(.adminPage),html[lang='fa'] .menu,html[lang='fa'] .chatPanel{direction:rtl}.topUtilities,.languageMenu{direction:ltr!important}@media(max-width:800px){.topUtilities{right:12px;top:2%;gap:6px}.topUtilityButton{height:34px;min-width:52px;padding:0 10px;font-size:8px}.chatPanel{right:8px;top:10%;width:calc(100vw - 16px);height:76vh}}

/* V51 — requested chat/ribbon/Farsi corrections only. */
body:not(.heroVideoFinished) .topUtilities,
body:not(.heroVideoFinished) .chatPanel{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
body.heroVideoFinished .topUtilities{visibility:visible;opacity:1;pointer-events:auto}
.topUtilities{top:0!important;height:10.7%;right:2.2%!important;align-items:center!important}
.chatPanel{top:10.7%!important;right:2.2%!important;transform:translateY(calc(-100% - 2px))!important;opacity:1!important;visibility:hidden!important;transition:transform .46s cubic-bezier(.22,.75,.22,1),visibility 0s linear .46s!important}
.chatPanel.open{transform:translateY(0)!important;visibility:visible!important;transition:transform .46s cubic-bezier(.22,.75,.22,1),visibility 0s!important}
.chatModeSwitch{position:relative;display:grid;grid-template-columns:1fr 1fr;width:calc(100% - 34px);height:42px;margin:4px 34px 18px 0;padding:3px;border:1px solid rgba(150,119,84,.24);border-radius:999px;background:rgba(235,229,221,.62);overflow:hidden}
.chatModeSwitch button{position:relative;z-index:2;border:0;background:transparent;border-radius:999px;font:11px Arial,sans-serif;letter-spacing:.4px;color:#6d6258;cursor:pointer;transition:color .22s}
.chatModeSwitch button.active{color:#302923}.chatSwitchThumb{position:absolute;z-index:1;left:3px;top:3px;width:calc(50% - 3px);height:34px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(63,49,37,.10);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.chatModeSwitch.ai .chatSwitchThumb{transform:translateX(100%)}
.chatModeTitle{font:25px Georgia,serif;margin:0 0 12px;color:#342d28}.chatMessages{height:calc(100% - 130px)}
html[lang='fa'] body:not(.adminMode) .menu nav button,html[lang='fa'] body:not(.adminMode) .rentalMenuLink,html[lang='fa'] body:not(.adminMode) .menuUtility button{font-size:18px!important;line-height:1.55!important;letter-spacing:0!important}
html[lang='fa'] body:not(.adminMode) .panel:not(.adminPage),html[lang='fa'] body:not(.adminMode) .peek,html[lang='fa'] body:not(.adminMode) .chatPanel{font-size:1.22em!important;line-height:1.75!important}
html[lang='fa'] body:not(.adminMode) .heroTitle{font-size:clamp(38px,4vw,66px)!important;line-height:1.25!important}
html[lang='fa'] body:not(.adminMode) button,html[lang='fa'] body:not(.adminMode) input,html[lang='fa'] body:not(.adminMode) textarea,html[lang='fa'] body:not(.adminMode) select{font-size:max(14px,1em)}
html[lang='fa'] .chatModeSwitch{direction:ltr!important}html[lang='fa'] .chatModeSwitch button{font-size:15px!important}
@media(max-width:800px){.topUtilities{top:0!important;height:10%!important}.chatPanel{top:10%!important}}

/* V52 — safe overlay on working V2 only. No existing site geometry is rewritten. */
.chatPanel{display:flex!important;flex-direction:column!important;box-sizing:border-box!important;z-index:60!important;top:10.7%!important;height:min(560px,calc(89.3vh - 14px))!important;padding:28px 22px 18px!important;transform:translateY(calc(-100% - 4px))!important;visibility:hidden!important;opacity:1!important;transition:transform .46s cubic-bezier(.22,.75,.22,1),visibility 0s linear .46s!important}
.chatPanel.open{transform:translateY(0)!important;visibility:visible!important;transition:transform .46s cubic-bezier(.22,.75,.22,1),visibility 0s!important}
.chatModeSwitch{flex:0 0 42px!important}.chatModeTitle{flex:0 0 auto!important}.chatMessages{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow:auto!important}.chatForm{flex:0 0 auto!important;width:100%!important;box-sizing:border-box!important;align-items:stretch!important;padding:11px 0 0!important;margin:0!important}.chatForm textarea{box-sizing:border-box!important;min-height:42px!important;height:42px!important;margin:0!important;font-size:14px!important;line-height:20px!important}.chatForm button{box-sizing:border-box!important;height:42px!important;margin:0!important;align-self:stretch!important;font-size:14px!important}.chatModeSwitch button{font-size:13px!important}.chatMessage{font-size:13px!important}.chatClose{z-index:4!important}
/* Keep the ribbon visually above the sliding panel. */
.siteRibbon{z-index:70!important}.topUtilities{z-index:71!important}
/* Persian changes language only: preserve the English layout coordinates. */
html[lang='fa'] .menu,html[lang='fa'] .panel:not(.adminPage),html[lang='fa'] .peek{direction:ltr!important}
html[lang='fa'] .menu nav button,html[lang='fa'] .rentalMenuLink,html[lang='fa'] .menuUtility button{direction:rtl!important;text-align:left!important;font-size:17px!important;line-height:1.5!important;letter-spacing:0!important}
html[lang='fa'] .menu nav button .plus,html[lang='fa'] .menu nav button [class*='plus']{margin-left:auto!important;margin-right:0!important}
html[lang='fa'] .menuTab{font-size:16px!important;letter-spacing:0!important}
html[lang='fa'] .panel:not(.adminPage) h1,html[lang='fa'] .panel:not(.adminPage) h2,html[lang='fa'] .panel:not(.adminPage) h3,html[lang='fa'] .panel:not(.adminPage) p,html[lang='fa'] .panel:not(.adminPage) label,html[lang='fa'] .panel:not(.adminPage) button,html[lang='fa'] .panel:not(.adminPage) input,html[lang='fa'] .panel:not(.adminPage) textarea{direction:rtl!important}
@media(max-width:800px){.chatPanel{height:calc(90vh - 12px)!important;padding-bottom:14px!important}.chatForm textarea,.chatForm button{height:42px!important}}

/* V52 — localization/menu-only corrections. Chat rules intentionally untouched. */
.menu{z-index:90!important}
.menuTab{z-index:91!important}
html[lang='fa'] .menuTab b{font-size:15px!important;letter-spacing:0!important;font-weight:700!important}
html[lang='fa'] .menu nav>button,
html[lang='fa'] .menu .shopWrap>button,
html[lang='fa'] .menu .shopSub button,
html[lang='fa'] .menu .rentalMenuLink,
html[lang='fa'] .menu .menuUtility button{direction:rtl!important;text-align:left!important}
html[lang='fa'] .menu .shopWrap>button{direction:ltr!important;display:flex!important;justify-content:space-between!important;align-items:center!important}
html[lang='fa'] .menu .shopWrap>button>span:first-child{margin-left:auto}

/* V6 localization/menu corrections — public chat rules intentionally untouched */
.languageButton, .languageOption { font-size: 13px !important; line-height: 1 !important; }
html[lang="fa"] .languageButton, html[lang="fa"] .languageOption { font-size: 13px !important; line-height: 1 !important; }
html[lang="fa"] #menuTab, html[lang="fa"] .menuTab { font-size: 18px !important; font-weight: 600 !important; letter-spacing: 0 !important; }
#menu { z-index: 1200 !important; }
#menuTab, .menuTab { z-index: 1150 !important; }
#panel { z-index: 1000 !important; }
html[lang="fa"] .eyebrow { font-size: max(14px, 0.92em) !important; }
html[lang="fa"] .aboutRowHead h3,
html[lang="fa"] .treatmentRowHead h3,
html[lang="fa"] .card h3 { font-size: 1.08em !important; }
.adminContentLanguage { display:flex; gap:6px; padding:10px 8px 14px; }
.adminLangChoice { flex:1; border:1px solid rgba(255,255,255,.28); background:transparent; color:inherit; padding:8px 5px; font:inherit; font-size:10px; cursor:pointer; }
.adminLangChoice.active { background:rgba(255,255,255,.16); }

/* V7 requested invariant: every sliding content page is UNDER the fixed top banner. Only navigation is above it. */
.panel{z-index:30!important;}
.siteRibbon{z-index:2000!important;}
.topUtilities{z-index:2001!important;}
.chatPanel{z-index:2002!important;}
.menuTab{z-index:2100!important;}
.menu{z-index:2200!important;}
.back{z-index:35!important;}

/* V8: preserve site; only requested stacking and language-control sizing */
.panel,.page,.bodySculptPage,.treatmentDetail,.dykArticle{z-index:30!important;}
.chatPanel{z-index:1900!important;}
.siteRibbon{position:relative;z-index:2000!important;}
.topUtilities{z-index:2300!important;}
.menuTab{z-index:2400!important;}
.menu{z-index:3000!important;}
.languageButton,.languageOption,
html[lang="fa"] .languageButton,html[lang="fa"] .languageOption{
 font-size:13px!important;line-height:1!important;font-weight:400!important;letter-spacing:0!important;
}

/* V9 ONLY CHANGE: navigation drawer must render above the top banner. */
#menu.menu{position:fixed!important;z-index:2147483647!important;}

html[lang="fa"] .menu .shopRow,
html[lang="fa"] .menu .menuShop,
html[lang="fa"] .menu [data-shop]{
  direction:ltr!important;
}
html[lang="fa"] .menu .shopRow .label,
html[lang="fa"] .menu .menuShop .label,
html[lang="fa"] .menu [data-shop] .label{
  margin-right:auto!important;
  text-align:left!important;
}
html[lang="fa"] .menu .shopRow .plus,
html[lang="fa"] .menu .menuShop .plus,
html[lang="fa"] .menu [data-shop] .plus{
  margin-left:auto!important;
  order:2!important;
}


/* V10 — requested homepage additions only. Existing site rules remain untouched above. */
.homeReferenceHero{
  position:absolute;z-index:12;left:5.45%;top:23.6%;width:39%;
  color:#20201e;background:transparent;pointer-events:auto;
}
.homeReferenceEyebrow{font:600 10px/1.2 Arial,sans-serif;letter-spacing:4px;color:#4b4a47;margin-bottom:13px;white-space:nowrap}
.homeReferenceEyebrow span{padding:0 4px;color:#826a50}
.homeReferenceHero h1{margin:0 0 15px;font:400 clamp(48px,5.5vw,82px)/.96 Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,serif;letter-spacing:-2.4px;color:#1f1f1d;white-space:nowrap}
.homeReferenceHero h1 em{font-weight:400;color:#9b6e3a}
.homeReferenceHero p{max-width:480px;margin:0 0 19px;font:400 clamp(15px,1.48vw,21px)/1.48 "Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;color:#4b4945}
.homeReferenceCTA{
  min-height:36px;padding:0 17px;border:1px solid rgba(126,96,61,.40);border-radius:8px;
  background:rgba(255,255,255,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 6px 17px rgba(68,49,32,.12);color:#3c3732;cursor:pointer;
  font:600 8px/1 Arial,sans-serif;letter-spacing:1.65px;transition:transform .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.homeReferenceCTA span{margin-left:12px;font-size:14px;color:#9b6e3a}
.homeReferenceCTA:hover{transform:translateY(-2px);background:rgba(255,255,255,.78);border-color:#a77a46;box-shadow:0 10px 22px rgba(68,49,32,.16)}

.homeRentalPromoAdded{
  position:absolute;z-index:12;left:77.15%;top:41.5%;width:22.1%;aspect-ratio:389/251;
  padding:0;border:0;border-radius:16px;overflow:hidden;background:transparent;cursor:pointer;
  box-shadow:0 12px 27px rgba(49,37,27,.23),0 3px 8px rgba(49,37,27,.10);
  transition:transform .28s ease,box-shadow .28s ease;isolation:isolate;
}
.homeRentalPromoAdded img{display:block;width:100%;height:100%;object-fit:fill}
.homeRentalPromoAdded::after{content:"";position:absolute;z-index:2;top:-40%;left:-75%;width:38%;height:180%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.56),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.homeRentalPromoAdded:hover{transform:translateY(-3px);box-shadow:0 18px 37px rgba(49,37,27,.29),0 5px 12px rgba(49,37,27,.12)}
.homeRentalPromoAdded:hover::after{opacity:1;animation:homeAddedRentalSweep .8s ease-out forwards}
@keyframes homeAddedRentalSweep{from{left:-75%}to{left:140%}}

.homeTreatmentShowcase{
  position:absolute;z-index:70;left:5.2%;right:5.2%;bottom:.8%;height:22%;
  display:grid;grid-template-rows:minmax(58px,37%) 1fr;gap:7px;color:#242321;pointer-events:auto;
}
.homeTreatmentIntro{display:flex;align-items:flex-start;justify-content:space-between;gap:34px;min-height:0}
.homeTreatmentIntroLeft{min-width:38%}
.homeTreatmentEyebrow{margin:0 0 5px;font:600 8.5px/1 Arial,sans-serif;letter-spacing:3.3px;color:#55514d}
.homeTreatmentIntro h2{margin:0;font:400 clamp(20px,2.20vw,32px)/.88 Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,serif;letter-spacing:-.5px;color:#22211f}
.homeTreatmentIntro>p{margin:9px 3.8% 0 auto;padding-left:27px;border-left:1px solid rgba(166,119,67,.55);font:400 clamp(10px,.92vw,13px)/1.45 "Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;color:#69645e;white-space:nowrap}
.homeTreatmentCards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.55%;min-height:0}
.homeTreatmentCard{position:relative;min-width:0;height:100%;padding:0;border:0;border-radius:9px;overflow:hidden;background:#ddd;cursor:pointer;box-shadow:0 5px 14px rgba(55,43,31,.08);transition:transform .24s ease,box-shadow .24s ease}
.homeTreatmentCard img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.homeTreatmentCard::after{content:"";position:absolute;inset:-60% -35%;z-index:1;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.40) 50%,transparent 58%);transform:translateX(-68%);transition:transform .65s ease;pointer-events:none}
.homeTreatmentCard span{position:absolute;z-index:2;left:17px;right:12px;bottom:9px;color:#fff;text-align:left;font:600 clamp(13px,1.35vw,20px)/1.05 Baskerville,"Iowan Old Style",Georgia,serif;text-shadow:0 2px 10px rgba(0,0,0,.72);white-space:nowrap}
.homeTreatmentCard:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(55,43,31,.16)}
.homeTreatmentCard:hover img{transform:scale(1.025)}
.homeTreatmentCard:hover::after{transform:translateX(68%)}

body:not(.heroVideoFinished) .homeReferenceHero,
body:not(.heroVideoFinished) .homeRentalPromoAdded{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
body.heroVideoFinished .homeReferenceHero,
body.heroVideoFinished .homeRentalPromoAdded{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.stage.innerPage .homeReferenceHero,
.stage.innerPage .homeRentalPromoAdded,
.stage.innerPage .homeTreatmentShowcase{display:none!important}

@media(max-width:800px){
  .homeReferenceHero{left:5.5%;top:17%;width:57%}
  .homeReferenceEyebrow{font-size:6px;letter-spacing:2px;margin-bottom:7px}
  .homeReferenceHero h1{font-size:clamp(32px,8.5vw,52px);letter-spacing:-1.2px;margin-bottom:9px}
  .homeReferenceHero p{max-width:95%;font-size:11px;line-height:1.42;margin-bottom:11px}
  .homeReferenceCTA{min-height:30px;padding:0 10px;font-size:6px;letter-spacing:1.15px;border-radius:6px}
  .homeReferenceCTA span{margin-left:7px;font-size:11px}
  .homeRentalPromoAdded{left:auto;right:2.8%;top:40.5%;width:31%;border-radius:10px}
  .homeTreatmentShowcase{left:4%;right:4%;bottom:1.2%;height:19.6%;grid-template-rows:minmax(40px,40%) 1fr;gap:5px}
  .homeTreatmentIntro{gap:8px}
  .homeTreatmentIntroLeft{min-width:45%}
  .homeTreatmentEyebrow{font-size:6px;letter-spacing:1.8px;margin-bottom:4px}
  .homeTreatmentIntro h2{font-size:16px;line-height:.95}
  .homeTreatmentIntro>p{margin:3px 0 0 auto;padding-left:8px;font-size:6.7px;line-height:1.35;white-space:normal;max-width:48%}
  .homeTreatmentCards{gap:6px}
  .homeTreatmentCard{border-radius:6px}
  .homeTreatmentCard span{left:7px;right:4px;bottom:6px;font-size:9px;white-space:normal}
}

/* FINAL banner alignment — opening video only: keep the existing banner size/background and render it above the video so its visible top edge matches the finished homepage. */
body:not(.heroVideoFinished) .stage:not(.innerPage)::after{z-index:65!important;}

/* V11 — exact homepage/footer geometry from the supplied 1440×900 reference screenshot.
   Only the lower featured-treatment banner geometry is changed. */
.stage::after{
  height:33.6%!important;
}
.homeTreatmentShowcase{
  left:0!important;
  right:0!important;
  bottom:4.15%!important;
  height:27.2%!important;
  grid-template-rows:43.2% 1fr!important;
  gap:7px!important;
}
.homeTreatmentIntro{
  margin-left:2.95%!important;
  margin-right:2.95%!important;
}
.homeTreatmentCards{
  margin-left:5.5%!important;
  margin-right:5.5%!important;
  gap:1.5%!important;
}
@media(max-width:800px){
  .stage::after{height:33.6%!important}
  .homeTreatmentShowcase{left:0!important;right:0!important;bottom:4.15%!important;height:27.2%!important;grid-template-rows:43.2% 1fr!important;gap:5px!important}
  .homeTreatmentIntro{margin-left:4%!important;margin-right:4%!important}
  .homeTreatmentCards{margin-left:4%!important;margin-right:4%!important;gap:6px!important}
}


/* V12 — homepage promotional ad lines only. No existing homepage/footer geometry is changed. */
.homePromoTickerGrid{
  position:absolute;z-index:68;left:5.5%;right:5.5%;bottom:33.6%;height:8.5%;
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5%;pointer-events:none;
}
.homePromoTickerViewport{
  grid-column:1 / -1;position:relative;overflow:visible;min-width:0;height:100%;
  -webkit-clip-path:inset(-160% -28vw 0 -28vw);clip-path:inset(-160% -28vw 0 -28vw);
}
.homePromoText{
  position:absolute;left:0;right:24%;bottom:8%;opacity:0;text-align:right;padding-right:1.5%;
  color:#8c5b20;font:500 clamp(36px,3.1vw,48px)/1.1 Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,serif;
  letter-spacing:.18px;text-shadow:0 2px 14px rgba(105,66,24,.28);white-space:nowrap;
  transform:translateY(130%);filter:blur(0);will-change:transform,opacity,filter,letter-spacing;
}
.homePromoText.isAnimating{animation:homePromoSmoke 9s linear both}
@keyframes homePromoSmoke{
  0%{opacity:0;transform:translateY(130%) scaleX(1);filter:blur(0);letter-spacing:.18px;text-shadow:0 2px 14px rgba(105,66,24,.28)}
  26.667%{opacity:1;transform:translateY(0) scaleX(1);filter:blur(0);letter-spacing:.18px;text-shadow:0 2px 14px rgba(105,66,24,.28)}
  60%{opacity:1;transform:translateY(0) scaleX(1);filter:blur(0);letter-spacing:.18px;text-shadow:0 2px 14px rgba(105,66,24,.28)}
  88.889%{opacity:0;transform:translate(14px,-24px) scaleX(1.08);filter:blur(12px);letter-spacing:6px;text-shadow:0 0 22px rgba(140,91,32,.34),0 -10px 28px rgba(140,91,32,.20)}
  100%{opacity:0;transform:translate(18px,-30px) scaleX(1.08);filter:blur(12px);letter-spacing:6px;text-shadow:0 0 26px rgba(140,91,32,0)}
}
.stage.innerPage .homePromoTickerGrid{display:none!important}
@media(max-width:800px){
  .homePromoTickerGrid{left:4%;right:4%;bottom:33.6%;height:7.6%;gap:6px}
  .homePromoText{bottom:7%;font-size:clamp(22px,7vw,30px);line-height:1.08;white-space:normal;max-width:100%;padding-right:1%}
}


/* V13 — supplied transparent portrait overlay only. Existing homepage/site geometry remains untouched. */
.homePortraitOverlay{
  position:absolute;z-index:7;left:37.8%;top:14.6%;height:54.5%;width:auto;max-width:none;
  display:block;object-fit:contain;pointer-events:none;opacity:.8;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.92) 77%,rgba(0,0,0,.58) 86%,rgba(0,0,0,.18) 94%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.92) 77%,rgba(0,0,0,.58) 86%,rgba(0,0,0,.18) 94%,transparent 100%);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
}
body:not(.heroVideoFinished) .homePortraitOverlay{visibility:hidden!important;opacity:0!important}
.stage.innerPage .homePortraitOverlay{display:none!important}
@media(max-width:800px){
  .homePortraitOverlay{left:39%;top:17%;height:48%;opacity:.8}
}


/* ================================================================
   MOBILE / TABLET APP EXPERIENCE
   Isolated behind html.mobileApp so the finished desktop layout is
   not repositioned or restyled.
   ================================================================ */
html.mobileApp{background:#f1ece5;overflow-x:hidden!important;scroll-behavior:smooth}
html.mobileApp body{width:100%!important;height:auto!important;min-height:100dvh!important;margin:0!important;overflow-x:hidden!important;overflow-y:auto!important;background:#f1ece5!important;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
html.mobileApp .openingSplash,
html.mobileApp .heroVideoLayer{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html.mobileApp .stage{position:relative!important;width:100%!important;height:auto!important;min-height:100dvh!important;overflow:visible!important;padding-top:72px!important;background:#f1ece5!important}
html.mobileApp .stage::before,html.mobileApp .stage::after{display:none!important}
html.mobileApp .bg{position:absolute!important;z-index:0!important;left:0!important;right:0!important;top:72px!important;width:100%!important;height:540px!important;object-fit:cover!important;object-position:center top!important;opacity:.95}
html.mobileApp .stage:not(.innerPage)::before{content:""!important;display:block!important;position:absolute!important;z-index:1!important;left:0!important;right:0!important;top:72px!important;height:540px!important;background:linear-gradient(180deg,rgba(244,240,234,.16),rgba(244,240,234,.22) 55%,#f1ece5 100%)!important;pointer-events:none!important}

/* fixed app bar */
html.mobileApp .siteRibbon{position:fixed!important;z-index:2000!important;top:0!important;left:0!important;right:0!important;height:72px!important;padding:env(safe-area-inset-top) 100px 0 64px!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;background:rgba(246,242,236,.94)!important;backdrop-filter:blur(18px) saturate(115%)!important;-webkit-backdrop-filter:blur(18px) saturate(115%)!important;border-bottom:1px solid rgba(120,98,74,.14)!important;box-shadow:0 4px 22px rgba(58,46,35,.08)!important;pointer-events:none!important}
html.mobileApp .ribbonBrand{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;pointer-events:none!important}
html.mobileApp .ribbonLogoImage{width:min(126px,36vw)!important;max-width:126px!important;max-height:48px!important;height:auto!important;object-fit:contain!important;object-position:center!important}
html.mobileApp .globalBack{position:fixed!important;z-index:2050!important;left:61px!important;top:16px!important;width:38px!important;height:40px!important;padding:0!important;border:0!important;background:transparent!important;color:#4d453d!important;font-size:29px!important;line-height:38px!important;display:none!important;pointer-events:auto!important}
html.mobileApp .stage.innerPage .globalBack{display:grid!important;place-items:center!important}

/* true hamburger */
html.mobileApp .menuTab{position:fixed!important;z-index:2400!important;left:10px!important;top:13px!important;width:44px!important;height:44px!important;margin:0!important;padding:0!important;border:1px solid rgba(116,91,65,.22)!important;border-radius:12px!important;background:rgba(255,255,255,.70)!important;color:#3d3731!important;box-shadow:0 5px 16px rgba(62,49,37,.10)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;display:grid!important;place-items:center!important;cursor:pointer!important}
html.mobileApp .menuTab b{display:block!important;width:21px!important;height:2px!important;margin:0!important;transform:none!important;background:#3d3731!important;border-radius:2px!important;font-size:0!important;letter-spacing:0!important;box-shadow:0 -7px 0 #3d3731,0 7px 0 #3d3731!important}
html.mobileApp .menuTab:hover{width:44px!important;background:rgba(255,255,255,.88)!important}

/* mobile drawer */
html.mobileApp .menu{position:fixed!important;z-index:3200!important;left:0!important;top:0!important;bottom:0!important;width:min(88vw,380px)!important;height:100dvh!important;min-height:0!important;max-height:none!important;padding:calc(18px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom))!important;border:0!important;border-right:1px solid rgba(255,255,255,.48)!important;border-radius:0 22px 22px 0!important;background:rgba(58,54,50,.96)!important;backdrop-filter:blur(22px) saturate(110%)!important;-webkit-backdrop-filter:blur(22px) saturate(110%)!important;box-shadow:18px 0 45px rgba(24,20,17,.25)!important;overflow-y:auto!important;overscroll-behavior:contain!important;transform:translateX(-105%)!important;transition:transform .32s cubic-bezier(.2,.8,.2,1)!important}
html.mobileApp .menu.open{transform:translateX(0)!important}
html.mobileApp .menuHead{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:56px!important;padding:0 2px 13px!important;border-bottom:1px solid rgba(255,255,255,.16)!important;color:#fff!important}
html.mobileApp .menuHead .clock{font-size:10px!important;color:rgba(255,255,255,.82)!important}
html.mobileApp #menuClose{width:44px!important;height:44px!important;border-radius:12px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-size:28px!important;display:grid!important;place-items:center!important}
html.mobileApp .menu nav{padding-top:10px!important}
html.mobileApp .menu nav>button,html.mobileApp .shopWrap>button,html.mobileApp .shopSub button,html.mobileApp .rentalMenuLink{min-height:52px!important;padding:14px 10px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.10)!important;background:transparent!important;color:#fff!important;font-size:13px!important;line-height:1.25!important;letter-spacing:1.5px!important;text-align:left!important;transform:none!important}
html.mobileApp .shopSub{padding-left:12px!important}
html.mobileApp .shopSub.open{max-height:250px!important}
html.mobileApp .shopSub button{min-height:45px!important;color:#dfc29c!important;font-size:11px!important}
html.mobileApp .rentalMenuLink{position:static!important;width:100%!important;margin-top:8px!important;color:#dfc29c!important}
html.mobileApp .menuUtility{position:static!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;margin-top:18px!important;padding-top:15px!important;border-top:1px solid rgba(255,255,255,.14)!important}
html.mobileApp .menuUtility button{min-height:44px!important;color:#fff!important;font-size:11px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:10px!important;padding:0 12px!important}
html.mobileApp .menuUtility .cartBtn{width:48px!important;display:grid!important;place-items:center!important}

/* compact utilities */
html.mobileApp .topUtilities{position:fixed!important;z-index:2450!important;right:8px!important;top:14px!important;height:42px!important;display:flex!important;align-items:center!important;gap:4px!important}
html.mobileApp .topUtilityButton{height:40px!important;min-width:40px!important;padding:0 9px!important;border-radius:11px!important;background:rgba(255,255,255,.72)!important;font-size:8px!important;letter-spacing:.8px!important}
html.mobileApp #chatButton{min-width:46px!important}
html.mobileApp .languageMenu{position:fixed!important;z-index:3300!important;top:60px!important;right:58px!important;width:68px!important}
html.mobileApp .chatPanel{position:fixed!important;z-index:3100!important;left:0!important;right:0!important;top:72px!important;bottom:0!important;width:100%!important;height:auto!important;max-height:none!important;border-radius:0!important;padding:20px 16px calc(16px + env(safe-area-inset-bottom))!important;background:rgba(250,247,242,.98)!important;transform:translateY(-110%)!important;visibility:hidden!important;overflow:hidden!important}
html.mobileApp .chatPanel.open{transform:translateY(0)!important;visibility:visible!important}
html.mobileApp .chatForm textarea{font-size:16px!important;min-height:48px!important;height:48px!important}
html.mobileApp .chatForm button{height:48px!important}

/* homepage becomes normal mobile document flow */
html.mobileApp .homeReferenceHero{position:relative!important;z-index:10!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;min-height:500px!important;margin:0!important;padding:96px 20px 42px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;color:#24211e!important}
html.mobileApp .homeReferenceEyebrow{margin:0 0 10px!important;font-size:8px!important;line-height:1.4!important;letter-spacing:2.2px!important;white-space:normal!important}
html.mobileApp .homeReferenceHero h1{margin:0 0 14px!important;font-size:clamp(46px,14vw,68px)!important;line-height:.93!important;letter-spacing:-1.8px!important;white-space:normal!important;max-width:92%!important}
html.mobileApp .homeReferenceHero p{max-width:520px!important;margin:0 0 20px!important;font-size:16px!important;line-height:1.55!important;color:#4d4842!important}
html.mobileApp .homeReferenceCTA,html.mobileApp .elegantBtn,html.mobileApp .goldBtn{min-height:48px!important;padding:0 18px!important;border-radius:12px!important;font-size:10px!important;line-height:1.2!important;letter-spacing:1.1px!important;touch-action:manipulation!important}
html.mobileApp .homeReferenceCTA{align-self:flex-start!important}
html.mobileApp .homePortraitOverlay{position:absolute!important;z-index:5!important;left:auto!important;right:-11%!important;top:104px!important;width:auto!important;height:330px!important;max-width:72vw!important;opacity:.34!important;display:block!important;visibility:visible!important;pointer-events:none!important}
html.mobileApp .homeRentalPromo,html.mobileApp .homeTreatmentsCTA,html.mobileApp .consultationHot,html.mobileApp .treatmentHit,html.mobileApp .peek{display:none!important}
html.mobileApp .homeRentalPromoAdded{position:relative!important;z-index:12!important;left:auto!important;right:auto!important;top:auto!important;width:calc(100% - 32px)!important;height:auto!important;aspect-ratio:389/251!important;margin:4px 16px 18px!important;border-radius:16px!important;display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;overflow:hidden!important}
html.mobileApp .homeRentalPromoAdded img{width:100%!important;height:100%!important;object-fit:cover!important}
html.mobileApp .homePromoTickerGrid{position:relative!important;z-index:12!important;left:auto!important;right:auto!important;bottom:auto!important;width:calc(100% - 32px)!important;height:auto!important;min-height:66px!important;margin:0 16px 18px!important;display:block!important;overflow:hidden!important}
html.mobileApp .homePromoTickerViewport{height:66px!important;overflow:hidden!important;clip-path:none!important;-webkit-clip-path:none!important}
html.mobileApp .homePromoText{left:0!important;right:0!important;bottom:8px!important;max-width:none!important;padding:0 4px!important;text-align:left!important;font-size:clamp(24px,7vw,34px)!important;line-height:1.05!important;white-space:normal!important}
html.mobileApp .homeTreatmentShowcase{position:relative!important;z-index:12!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;height:auto!important;display:block!important;margin:0!important;padding:22px 16px calc(52px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#f1ece5,#ebe3da)!important;color:#24211e!important}
html.mobileApp .homeTreatmentIntro{display:block!important;margin:0 0 18px!important;min-height:0!important}
html.mobileApp .homeTreatmentIntroLeft{min-width:0!important}
html.mobileApp .homeTreatmentEyebrow{margin:0 0 8px!important;font-size:8px!important;letter-spacing:2.4px!important}
html.mobileApp .homeTreatmentIntro h2{margin:0 0 12px!important;font-size:32px!important;line-height:1.04!important}
html.mobileApp .homeTreatmentIntro>p{max-width:620px!important;margin:0!important;padding:0!important;border:0!important;font-size:14px!important;line-height:1.55!important;white-space:normal!important}
html.mobileApp .homeTreatmentIntro>p br{display:none!important}
html.mobileApp .homeTreatmentCards{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin:0!important}
html.mobileApp .homeTreatmentCard{height:auto!important;min-height:0!important;aspect-ratio:16/10!important;border-radius:16px!important;overflow:hidden!important}
html.mobileApp .homeTreatmentCard img{width:100%!important;height:100%!important;object-fit:cover!important}
html.mobileApp .homeTreatmentCard span{left:16px!important;right:16px!important;bottom:14px!important;font-size:22px!important;white-space:normal!important}

/* app-like inner pages: full usable visual viewport, not behind browser chrome */
html.mobileApp .panel,html.mobileApp .panel.staticPage,html.mobileApp .panel.adminPage{position:fixed!important;z-index:1700!important;left:0!important;right:0!important;top:72px!important;bottom:0!important;width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:20px 16px calc(34px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;background:rgba(244,239,232,.985)!important;transform:translateX(-104%)!important}
html.mobileApp .panel.open{transform:translateX(0)!important}
html.mobileApp #panelContent,html.mobileApp .panel.adminPage #panelContent{width:100%!important;max-width:760px!important;height:auto!important;min-height:100%!important;margin:0 auto!important;padding:0!important;overflow:visible!important}
html.mobileApp .stage.innerPage{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
html.mobileApp .stage.innerPage .homeReferenceHero,html.mobileApp .stage.innerPage .homeRentalPromoAdded,html.mobileApp .stage.innerPage .homeTreatmentShowcase,html.mobileApp .stage.innerPage .homePromoTickerGrid,html.mobileApp .stage.innerPage .homePortraitOverlay{display:none!important}
html.mobileApp .eyebrow{font-size:9px!important;line-height:1.3!important;letter-spacing:2.5px!important}
html.mobileApp .heroTitle{font-size:clamp(36px,10.5vw,54px)!important;line-height:1!important;margin:10px 0 15px!important;letter-spacing:-1px!important;overflow-wrap:anywhere!important}
html.mobileApp .lead{max-width:100%!important;font-size:16px!important;line-height:1.6!important}
html.mobileApp .grid,html.mobileApp .contactGrid,html.mobileApp .compactContact,html.mobileApp .pickupGrid,html.mobileApp .bookingLayout{grid-template-columns:1fr!important;gap:14px!important}
html.mobileApp .card{width:100%!important;min-width:0!important;min-height:0!important;padding:18px!important;border-radius:16px!important}
html.mobileApp .card h3{font-size:25px!important;line-height:1.08!important;overflow-wrap:anywhere!important}
html.mobileApp .card p{font-size:14px!important;line-height:1.6!important}
html.mobileApp .productCard{display:flex!important;flex-direction:column!important;min-height:0!important}
html.mobileApp .shopProductImage{width:100%!important;height:auto!important;aspect-ratio:1/1!important;margin:0 0 10px!important;padding:12px!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important}
html.mobileApp .shopProductImage img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important}
html.mobileApp .shopImageNav{margin:4px 0 10px!important;gap:14px!important}
html.mobileApp .shopImageNav button{width:42px!important;height:42px!important;font-size:21px!important}
html.mobileApp .price{font-size:21px!important}

/* treatment and editorial pages */
html.mobileApp .treatmentList{gap:12px!important;margin-top:24px!important}
html.mobileApp .treatmentRow{border-radius:16px!important}
html.mobileApp .treatmentImageRow .treatmentRowHead,html.mobileApp .treatmentRowHead{min-height:0!important;padding:18px!important;align-items:flex-start!important}
html.mobileApp .treatmentRowHead>div{max-width:calc(100% - 38px)!important}
html.mobileApp .treatmentRowHead h3{font-size:25px!important;line-height:1.08!important}
html.mobileApp .treatmentRowHead p{display:block!important;font-size:13px!important;line-height:1.5!important}
html.mobileApp .treatmentRow.open .treatmentDetail{max-height:1200px!important}
html.mobileApp .treatmentArticle{grid-template-columns:1fr!important}
html.mobileApp .treatmentArticleImage{min-height:0!important;aspect-ratio:4/3!important;background-size:cover!important;background-position:center!important}
html.mobileApp .treatmentCopy{padding:18px!important}
html.mobileApp .aboutAccordion{margin-top:24px!important;padding-bottom:20px!important}
html.mobileApp .aboutRowHead{grid-template-columns:34px minmax(0,1fr) 26px!important;padding:16px 14px!important}
html.mobileApp .aboutRowHead h3{font-size:22px!important;line-height:1.15!important}
html.mobileApp .aboutRow.open .aboutDetail{max-height:900px!important}
html.mobileApp .aboutDetail>div{padding:0 16px 20px!important}
html.mobileApp .aboutDetail p{font-size:14px!important;line-height:1.75!important}
html.mobileApp .dykTabs{display:flex!important;gap:8px!important;overflow-x:auto!important;padding:3px 0 8px!important;scrollbar-width:none!important}
html.mobileApp .dykTab{flex:0 0 auto!important;min-height:42px!important}
html.mobileApp .dykHero{min-height:360px!important;border-radius:16px!important;overflow:hidden!important}
html.mobileApp .dykHero img{width:100%!important;height:100%!important;object-fit:cover!important}
html.mobileApp .dykHeroText{left:18px!important;right:18px!important;bottom:18px!important}
html.mobileApp .dykHeroText h2{font-size:34px!important;line-height:1!important}
html.mobileApp .dykCopy{padding:22px 4px!important;font-size:15px!important;line-height:1.75!important}

/* body-contouring / media */
html.mobileApp .bodyVideo{margin:22px 0!important;border-radius:16px!important}
html.mobileApp .bodyVideoCopy{padding:18px!important}
html.mobileApp .bodyVideoCopy h2{font-size:28px!important}
html.mobileApp .bodyFeature{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;margin:22px 0!important}
html.mobileApp .bodyFeature img{width:100%!important;height:auto!important;max-height:none!important;object-fit:cover!important;border-radius:16px!important}
html.mobileApp .beforeAfter{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
html.mobileApp .beforeAfter img{width:100%!important;height:auto!important;object-fit:cover!important}

/* equipment rental cards: no hover zoom on touch */
html.mobileApp .equipmentRentalPage{width:100%!important;padding-bottom:30px!important}
html.mobileApp .rentalNotice{display:block!important;margin:20px 0!important;padding:16px!important}
html.mobileApp .rentalNotice strong{display:block!important;white-space:normal!important;margin-bottom:6px!important}
html.mobileApp .equipmentCatalog{gap:14px!important}
html.mobileApp .equipmentRow{display:grid!important;grid-template-columns:1fr!important;gap:13px!important;min-height:0!important;padding:14px!important;border-radius:16px!important;overflow:hidden!important}
html.mobileApp .equipmentImage{width:100%!important;height:auto!important;aspect-ratio:4/3!important;overflow:hidden!important;border-radius:13px!important}
html.mobileApp .equipmentImage img,html.mobileApp .equipmentImage:hover img{position:static!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;transform:none!important;object-fit:contain!important;box-shadow:none!important}
html.mobileApp .equipmentInfo h3{font-size:26px!important}
html.mobileApp .equipmentReserve{grid-column:auto!important;justify-self:stretch!important;width:100%!important;min-height:48px!important}
html.mobileApp .rentalQualification{padding:22px 16px!important;margin-top:22px!important}
html.mobileApp .rentalQualification h2{font-size:30px!important}
html.mobileApp .rentalFormGrid{grid-template-columns:1fr!important}
html.mobileApp .rentalFlowBtns,html.mobileApp .wizardActions{flex-wrap:wrap!important}

/* forms, booking, cart */
html.mobileApp input,html.mobileApp textarea,html.mobileApp select{max-width:100%!important;font-size:16px!important}
html.mobileApp .contactBox,html.mobileApp .bookingForm,html.mobileApp .calendarBox{padding:17px!important;border-radius:16px!important}
html.mobileApp .bookingSteps{gap:6px!important;overflow-x:auto!important;padding-bottom:4px!important}
html.mobileApp .bookingSteps span{flex:0 0 auto!important;font-size:9px!important}
html.mobileApp .bookingSteps i{min-width:18px!important}
html.mobileApp .bookingFormWide,html.mobileApp .calendarWide{width:100%!important;max-width:100%!important;margin:0!important;padding:17px!important}
html.mobileApp .calHead h3{font-size:21px!important}
html.mobileApp .calGrid{gap:3px!important}
html.mobileApp .calDow{font-size:8px!important;padding:3px 0!important}
html.mobileApp .calDay{min-width:0!important;padding:10px 0!important;font-size:12px!important}
html.mobileApp .timeSlots{grid-template-columns:1fr!important;gap:14px!important}
html.mobileApp .slot{min-height:40px!important;padding:9px 12px!important;font-size:11px!important}
html.mobileApp .stepActions{gap:10px!important;align-items:stretch!important;flex-direction:column-reverse!important}
html.mobileApp .stepActions>*{width:100%!important;min-height:46px!important}
html.mobileApp .bookingConfirmed{margin:8px 0!important;padding:24px 16px!important;border-radius:18px!important}
html.mobileApp .confirmationDetails{gap:7px!important;margin:14px 0!important}
html.mobileApp .pickupPage{padding:0 0 30px!important}
html.mobileApp .cartItem{grid-template-columns:74px minmax(0,1fr)!important;gap:12px!important}
html.mobileApp .cartItemImg{width:74px!important;height:74px!important}

/* admin remains usable on a phone/tablet rather than desktop-squeezed */
html.mobileApp .adminShell{height:auto!important;min-height:100%!important;display:block!important;background:#f1ede7!important}
html.mobileApp .adminSide{position:sticky!important;top:0!important;z-index:2!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;width:100%!important;min-height:64px!important;padding:10px!important;overflow-x:auto!important;overflow-y:hidden!important}
html.mobileApp .adminMark{flex:0 0 auto!important;padding:8px 10px!important;font-size:20px!important}
html.mobileApp .adminNav{flex:0 0 auto!important;min-height:42px!important;white-space:nowrap!important;padding:10px 12px!important}
html.mobileApp .adminMain{padding:18px 12px 40px!important;overflow:visible!important}
html.mobileApp .adminTop{display:block!important}
html.mobileApp .adminTop h1{font-size:34px!important}
html.mobileApp .adminUser{display:inline-block!important;margin-bottom:14px!important}
html.mobileApp .adminStats{grid-template-columns:1fr!important}
html.mobileApp .imageManager{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html.mobileApp .tableWrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}

/* tablet uses the extra width without returning to desktop geometry */
@media (min-width:700px){
  html.mobileApp .homeReferenceHero{min-height:570px!important;padding-left:7vw!important;padding-right:7vw!important}
  html.mobileApp .homePortraitOverlay{right:4%!important;height:410px!important;opacity:.42!important}
  html.mobileApp .homeRentalPromoAdded,html.mobileApp .homePromoTickerGrid{width:calc(100% - 12vw)!important;margin-left:6vw!important;margin-right:6vw!important}
  html.mobileApp .homeTreatmentShowcase{padding-left:6vw!important;padding-right:6vw!important}
  html.mobileApp .homeTreatmentCards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  html.mobileApp .homeTreatmentCard{aspect-ratio:4/5!important}
  html.mobileApp .homeTreatmentCard span{font-size:18px!important}
  html.mobileApp .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html.mobileApp .contactGrid,html.mobileApp .compactContact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html.mobileApp .equipmentRow{grid-template-columns:220px minmax(0,1fr)!important;align-items:center!important}
  html.mobileApp .equipmentReserve{grid-column:1/-1!important}
  html.mobileApp .timeSlots{grid-template-columns:1fr 1fr!important}
  html.mobileApp .bodyFeature{grid-template-columns:1fr 1fr!important;align-items:center!important}
  html.mobileApp .beforeAfter{grid-template-columns:1fr 1fr!important}
}
/* Mobile hamburger must not inherit the desktop vertical-centering transform. */
html.mobileApp .menuTab{transform:none!important;opacity:1!important;visibility:visible!important}
/* Keep mobile navigation above legacy desktop ID-level stacking rules. */
html.mobileApp #menuTab.menuTab{z-index:2500!important}
html.mobileApp #menu.menu{z-index:3200!important}
