/* Fatima Skin Lab - pricing page stylesheet. VERBATIM copy of mockup/pricing.html <style>. */

:root{
  --milk:#FBF4F1; --porcelain:#FFFBF9; --blush:#F6D8D5;
  --rose:#BE6E7C; --wine:#7E3243; --ink:#3A2429; --stone:#7D5A5F; --pill:#D9A89C;
  --hush:rgba(58,36,41,.13);
  --glow-a:#FBD9B4; --glow-b:#F2AE9C; --glow-c:#E39FAF;
  --s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:96px;--s7:132px;
  --r:16px; --ease:cubic-bezier(.22,.7,.24,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{font-family:'Karla',sans-serif;background:var(--milk);color:var(--ink);font-size:17px;
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--wine);color:var(--milk)}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}
h1,h2,h3{font-family:'Newsreader',serif;font-weight:300;line-height:1.06;letter-spacing:-.018em}
h1{font-size:clamp(2.7rem,6vw,4.6rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
em{font-style:italic;font-weight:300}
a{color:inherit;text-decoration:none}
p{max-width:62ch}
.label{font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--stone);margin-bottom:var(--s3);display:block}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:.95rem;
  padding:16px 30px;border-radius:100px;border:1px solid var(--wine);background:none;color:var(--wine);
  cursor:pointer;font-family:'Karla',sans-serif;will-change:transform;
  transition:background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease)}
.btn-solid{background:var(--wine);color:var(--milk)}
.btn-solid:hover{box-shadow:0 12px 30px rgba(126,50,67,.28)}
.btn-ghost:hover{background:var(--wine);color:var(--milk)}
:focus-visible{outline:2px solid var(--wine);outline-offset:4px}

/* motion */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
[data-d="1"]{transition-delay:.09s}[data-d="2"]{transition-delay:.18s}[data-d="3"]{transition-delay:.27s}
.ml{display:block;overflow:hidden;padding-bottom:.06em}
.ml>span{display:block;transform:translateY(115%);transition:transform 1.05s var(--ease)}
.ml.in>span{transform:none}
.ml:nth-child(2)>span{transition-delay:.09s}
.glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(64px);opacity:.85;pointer-events:none;
  background:radial-gradient(circle at 35% 35%,var(--glow-a),var(--glow-b) 45%,var(--glow-c) 72%,transparent 80%);
  animation:breathe 9s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.76}50%{transform:scale(1.1);opacity:.96}}
.glow-wrap{position:relative;isolation:isolate}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}.ml>span{transform:none}html{scroll-behavior:auto}
}

/* progress */
#prog{position:fixed;top:0;left:0;height:2px;background:var(--wine);width:0;z-index:99;
  transition:width .12s linear}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:80;background:rgba(251,244,241,.9);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--hush)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{font-family:'Yellowtail',cursive;font-size:1.6rem;color:var(--wine);line-height:1;padding-top:4px}
.nav-links{display:flex;align-items:center;gap:clamp(18px,3vw,38px)}
.nav-links a{font-size:.92rem;font-weight:500}
.nav-links a:not(.btn){position:relative;opacity:.78;transition:opacity .25s}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;
  background:var(--wine);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav-links a:not(.btn):hover{opacity:1}
.nav-links a:not(.btn):hover::after{transform:scaleX(1);transform-origin:left}
.nav-links .btn{padding:11px 24px}
@media(max-width:780px){.nav-links a:not(.btn){display:none}}

/* head */
.phead{padding:calc(74px + var(--s6)) 0 var(--s5);position:relative;overflow:hidden}
.phead .glow{width:640px;height:640px;right:-200px;top:-220px;opacity:.42;filter:blur(90px)}
.phead p{color:var(--stone);font-size:1.12rem;margin-top:var(--s3);max-width:46ch}
.stat-row{display:flex;gap:var(--s5);margin-top:var(--s5);flex-wrap:wrap;
  padding-top:var(--s3);border-top:1px solid var(--hush)}
.stat{display:flex;flex-direction:column;gap:2px}
.stat b{font-family:'Newsreader',serif;font-size:2rem;font-weight:400;line-height:1}
.stat span{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}

/* sticky category nav */
.jump{position:sticky;top:74px;z-index:70;background:rgba(251,244,241,.94);backdrop-filter:blur(14px);
  border-top:1px solid var(--hush);border-bottom:1px solid var(--hush)}
.jump-in{display:flex;gap:6px;padding-top:12px;padding-bottom:12px;overflow-x:auto;scrollbar-width:none}
.jump-in::-webkit-scrollbar{display:none}
.jump a{padding:13px 22px;border-radius:100px;font-size:.95rem;font-weight:500;color:var(--stone);
  white-space:nowrap;transition:background .35s var(--ease),color .35s var(--ease)}
.jump a:hover{color:var(--wine);background:var(--blush)}
.jump a.active{background:var(--wine);color:var(--milk)}

/* price sections */
.psec{padding:var(--s6) 0}

.psec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s3);
  flex-wrap:wrap;margin-bottom:var(--s4)}
.psec-head p{color:var(--stone);max-width:40ch}

.addon b{color:var(--wine);font-weight:600}

/* band */
.band{background:var(--wine);color:var(--milk);border-radius:var(--r);padding:clamp(36px,5vw,66px);
  display:grid;grid-template-columns:1fr auto;gap:var(--s4);align-items:center;
  position:relative;overflow:hidden;margin:var(--s7) 0}
.band .glow{width:480px;height:480px;right:-130px;bottom:-260px;opacity:.28;filter:blur(85px)}
.band h2{margin-bottom:10px}
.band p{color:rgba(251,244,241,.75)}
.band .btn{border-color:var(--milk);color:var(--milk)}
.band .btn:hover{background:var(--milk);color:var(--wine)}
@media(max-width:820px){.band{grid-template-columns:1fr}}

/* footer */
footer{border-top:1px solid var(--hush);padding:var(--s5) 0 var(--s3)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--s4);padding-bottom:var(--s4)}
.foot-grid p{color:var(--stone);font-size:.92rem;margin-top:10px;max-width:30ch}
.foot-grid h3{font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--stone);margin-bottom:var(--s2)}
.foot-grid ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.foot-grid ul a{font-size:.93rem;opacity:.82;transition:opacity .25s,transform .4s var(--ease);display:inline-block}
.foot-grid ul a:hover{opacity:1;transform:translateX(5px)}
.foot-base{display:flex;justify-content:space-between;gap:var(--s2);padding-top:var(--s3);
  border-top:1px solid var(--hush);color:var(--stone);font-size:.82rem;flex-wrap:wrap}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-grid ul a{overflow-wrap:anywhere}

/* unified price list: one idiom for all 37 rows */
.plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) clamp(32px,4vw,64px)}
.pgroup{min-width:0;background:var(--porcelain);border:1px solid var(--hush);
  border-radius:var(--r);padding:24px 22px 16px}
.pg-h{font-size:1.3rem;margin-bottom:12px;padding:0 10px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pg-h span{font-family:'Karla',sans-serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}
.pgroup ul{list-style:none;margin:0;padding:0}
.prow2{padding:11px 10px;border-radius:10px;transition:background .3s}
.prow2:hover{background:rgba(246,216,213,.45)}
.prow2 .l1{display:flex;align-items:baseline;gap:12px}
.prow2 .n{font-size:1rem;color:var(--ink)}
.prow2 .dots{flex:1;min-width:24px;border-bottom:1px dotted rgba(58,36,41,.28);transform:translateY(-4px)}
.prow2 .p{font-family:'Newsreader',serif;font-size:1.1rem;color:var(--wine);white-space:nowrap}
.prow2 small{display:block;margin-top:3px;font-size:.84rem;color:var(--stone);max-width:44ch}
@media(max-width:860px){.plist{grid-template-columns:1fr}}
/* buttons: quiet lift, smooth both ways (magnet effect removed) */
.btn{transition:transform .4s var(--ease),background .35s,color .35s,border-color .35s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.985)}

/* ============ LIFE (Erf 2026-08-07: cascade + ambient + hover-rich) ============ */
.psec{position:relative;overflow:hidden}
.psec .wrap{position:relative;z-index:1}
.psec-glow{width:520px;height:520px;top:-160px;right:-140px;opacity:.38;filter:blur(95px);
  animation:glow-drift2 18s var(--ease) infinite alternate}
.psec:nth-of-type(odd) .psec-glow{right:auto;left:-140px;animation-delay:-9s}
@keyframes glow-drift2{
  from{transform:translate(0,0) scale(1)}
  50%{transform:translate(-44px,34px) scale(1.12)}
  to{transform:translate(30px,-26px) scale(1.03)}}

/* group cascade: replays every time a group scrolls through */
.grp{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.grp.in{opacity:1;transform:none}
.grp .prow2{opacity:0;transform:translateY(14px);
  transition:opacity .6s var(--ease),transform .6s var(--ease),background .3s}
.grp.in .prow2{opacity:1;transform:none}
.grp.in .prow2:nth-child(1){transition-delay:.05s}
.grp.in .prow2:nth-child(2){transition-delay:.1s}
.grp.in .prow2:nth-child(3){transition-delay:.15s}
.grp.in .prow2:nth-child(4){transition-delay:.2s}
.grp.in .prow2:nth-child(5){transition-delay:.25s}
.grp.in .prow2:nth-child(6){transition-delay:.3s}
.grp.in .prow2:nth-child(7){transition-delay:.35s}
.grp.in .prow2:nth-child(8){transition-delay:.4s}
.grp.in .prow2:nth-child(9){transition-delay:.45s}
.grp.in .prow2:nth-child(10){transition-delay:.5s}

/* hover-rich rows: wash, price swell, dots deepen - transforms only, no reflow */
.prow2 .p{display:inline-block;transform-origin:right center;transition:transform .35s var(--ease)}
.prow2:hover .p{transform:scale(1.08)}
.prow2 .dots{transition:border-color .35s}
.prow2:hover .dots{border-color:rgba(126,50,67,.5)}

/* jump bar: one pill that slides between categories */
.jump-in{position:relative}
.jump-pill{position:absolute;top:50%;height:34px;transform:translateY(-50%);border-radius:100px;
  background:var(--wine);transition:left .5s var(--ease),width .5s var(--ease);z-index:0}
.jump-in a{position:relative;z-index:1;transition:color .35s}
.jump-in a.active{background:none;color:var(--milk)}
@media (prefers-reduced-motion: reduce){
  .psec-glow{animation:none}
  .grp,.grp .prow2{opacity:1;transform:none;transition:none}
  .jump-pill{transition:none}
}

/* add-on note: anchored to the list, not floating */
.addon{display:flex;align-items:baseline;gap:16px;margin-top:18px;
  background:var(--porcelain);border:1px solid var(--hush);border-radius:14px;
  padding:15px 20px;font-size:.92rem;color:var(--stone);line-height:1.5}
.addon::before{content:"Add-on";white-space:nowrap;flex:0 0 auto;align-self:center;
  font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--wine);font-weight:700;background:var(--blush);border-radius:100px;padding:6px 12px}
/* masthead: text left, equipment plate right */
.phead-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(32px,5vw,72px);align-items:center}
.phead-plate{margin:0;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden}
.phead-plate img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:860px){.phead-grid{grid-template-columns:1fr}.phead-plate{display:none}}
.psec{scroll-margin-top:140px}

/* row -> booking affordance */
.prow2 .rowlink{display:block;color:inherit;text-decoration:none;border-radius:10px;margin:0 -10px;padding:0 10px}
.prow2 .bk{font-size:.74rem;font-weight:600;letter-spacing:.06em;color:var(--wine);
  opacity:0;transform:translateX(-4px);transition:opacity .3s var(--ease),transform .3s var(--ease);
  margin-right:10px;white-space:nowrap}
.prow2 .rowlink:hover .bk,.prow2 .rowlink:focus-visible .bk{opacity:1;transform:none}
.jump a .jn{font-size:.68rem;opacity:.55;margin-left:8px;letter-spacing:.02em}
.pnext{margin-top:var(--s2);text-align:right}
.pnext a{color:var(--wine);font-size:.95rem;text-decoration:none;display:inline-block;transition:transform .3s var(--ease)}
.pnext a:hover{transform:translateX(5px)}
@media print{
  #nav,.jump,#prog,.band,.glow,.psec-glow,.phead-plate,.pnext,footer{display:none!important}
  .psec{display:block!important;background:none!important}
  .pgroup{border:1px solid #ccc;break-inside:avoid}
  body{background:#fff}
}
.band h2{font-size:clamp(2.1rem,4.2vw,3.3rem)} /* shared component: identical on home */
.band-cta{display:flex;flex-direction:column;align-items:center;gap:12px}
.band-ask{color:rgba(251,244,241,.75);font-size:.92rem;text-decoration:none}
.band-ask:hover{color:var(--milk)}
