:root{
  --navy:#071B34;--navy2:#0B1F3A;--deep:#031020;--gold:#D6B23E;--gold2:#F0CC59;--cream:#F8F4EC;--paper:#FFFDF8;--text:#0B1F3A;--muted:#697386;--line:rgba(214,178,62,.28);--shadow:0 28px 90px rgba(7,27,52,.18);
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--cream)
}
*{box-sizing:border-box}body{margin:0;background:var(--cream);overflow-x:hidden}a{text-decoration:none;color:inherit}img,video{display:block;max-width:100%}button{font:inherit}.site-header{position:sticky;top:0;z-index:50;min-height:78px;padding:14px clamp(18px,4vw,64px);display:flex;align-items:center;gap:28px;background:rgba(7,27,52,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);color:#fff}.brand{display:inline-flex;align-items:center;gap:13px;min-width:max-content}.brand strong,.tablet-brand strong{font-family:Cormorant Garamond,Georgia,serif;font-size:24px;line-height:1;font-weight:700}.brand small,.tablet-brand small{display:block;color:var(--gold2);text-transform:uppercase;letter-spacing:.22em;font-size:11px;margin-top:3px}.brand-emblem{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-family:Cormorant Garamond,serif;font-size:24px;font-weight:700;box-shadow:0 0 0 6px rgba(214,178,62,.07)}.brand-logo{width:54px;height:54px;border-radius:50%;object-fit:cover;border:1px solid var(--gold);box-shadow:0 0 0 6px rgba(214,178,62,.07);background:#071B34;flex:0 0 auto}.footer-brand .brand-logo{width:58px;height:58px}.tablet-brand .brand-logo{width:54px;height:54px}.nav{display:flex;gap:22px;align-items:center;margin-left:auto;font-size:14px;color:rgba(255,255,255,.82)}.nav a:hover{color:var(--gold2)}.top-actions{display:flex;align-items:center;gap:12px}.signin{font-size:14px;color:rgba(255,255,255,.72)}.hamburger{display:none;background:transparent;border:1px solid var(--line);color:var(--gold2);border-radius:14px;width:42px;height:42px}.mobile-nav{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 22px;border-radius:16px;font-weight:800;border:1px solid transparent;cursor:pointer;transition:.18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,0,0,.14)}.btn-small{min-height:40px;padding:10px 18px;border-radius:14px}.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1b1606}.btn-outline{border-color:rgba(214,178,62,.55);color:var(--gold2);background:rgba(255,255,255,.03)}.btn-outline-dark{border-color:rgba(7,27,52,.22);color:var(--navy);background:rgba(255,255,255,.58)}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.kicker{margin:0 0 15px;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.36em;font-weight:800}.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.82fr);align-items:center;gap:clamp(28px,5vw,78px);min-height:720px;padding:clamp(70px,9vw,130px) clamp(22px,6vw,92px);background:radial-gradient(circle at 75% 18%,rgba(214,178,62,.18),transparent 24%),radial-gradient(circle at 8% 8%,rgba(255,255,255,.07),transparent 20%),linear-gradient(135deg,#041225 0%,#071B34 56%,#0e2a49 100%);color:white;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,16,32,.92),rgba(7,27,52,.75),rgba(7,27,52,.96)),url('/media/hero/salon-interior-wide.jpg') center right/cover no-repeat;opacity:.38}.hero h1{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(76px,10vw,156px);line-height:.83;letter-spacing:-.055em;margin:0;color:#fff}.hero h1 span{color:var(--gold)}.gold-line{width:120px;height:1px;background:var(--gold);margin:28px 0}.hero h2{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(30px,4vw,52px);font-weight:500;margin:0 0 14px}.hero p{max-width:660px;color:rgba(255,255,255,.78);font-size:18px;line-height:1.7}.hero-visual{border:1px solid rgba(214,178,62,.35);border-radius:36px;overflow:hidden;background:rgba(255,255,255,.06);box-shadow:0 36px 100px rgba(0,0,0,.3)}.hero-visual video{width:100%;aspect-ratio:4/5;object-fit:cover}.hero-visual span{display:block;padding:18px 22px;border-top:1px solid rgba(214,178,62,.2);color:rgba(255,255,255,.74)}.section{padding:clamp(54px,7vw,94px) clamp(22px,6vw,92px)}.section h2,.page-hero h1,.split-feature h2{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(44px,6.4vw,82px);line-height:.95;letter-spacing:-.035em;margin:0 0 18px}.section>p,.center>p,.split-feature p{max-width:820px;color:var(--muted);line-height:1.7;font-size:17px}.center{text-align:center}.center>p{margin-left:auto;margin-right:auto}.page-hero{text-align:center;padding:clamp(72px,9vw,120px) clamp(22px,6vw,92px);background:radial-gradient(circle at 50% 8%,rgba(214,178,62,.16),transparent 32%),linear-gradient(135deg,#041225,#071B34);color:white}.page-hero p{max-width:780px;margin-left:auto;margin-right:auto;color:rgba(255,255,255,.76);line-height:1.7}.location-grid,.standards-grid,.service-tile-grid,.promise-grid,.menu-card-grid,.plan-grid,.gift-grid,.policy-grid{display:grid;gap:22px}.location-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:38px}.glass-card{background:rgba(255,255,255,.75);border:1px solid rgba(214,178,62,.28);box-shadow:var(--shadow);border-radius:28px;overflow:hidden}.location-image img{width:100%;aspect-ratio:16/10;object-fit:cover}.location-body{padding:24px}.mini-label{display:block;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800}.location-body h3{font-family:Cormorant Garamond,Georgia,serif;font-size:38px;margin:6px 0 12px}.location-body p{color:var(--muted);line-height:1.45}.hours{display:grid;gap:7px;margin:16px 0;color:var(--navy);font-weight:650}.navy-section{background:radial-gradient(circle at 88% 12%,rgba(214,178,62,.14),transparent 22%),linear-gradient(135deg,#041225,#071B34);color:white}.navy-section .kicker{color:var(--gold2)}.navy-section p{color:rgba(255,255,255,.72)}.standards-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:36px}.standards-grid article,.promise-grid article{padding:24px;border:1px solid rgba(214,178,62,.22);border-radius:24px;background:rgba(255,255,255,.06)}.standards-grid h3,.promise-grid h3{font-family:Cormorant Garamond,Georgia,serif;font-size:30px;margin:0 0 8px;color:var(--gold2)}.standards-grid p,.promise-grid p{font-size:14px;line-height:1.55}.service-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:38px}.service-tile{padding:30px;border-radius:28px;background:var(--paper);border:1px solid rgba(214,178,62,.22);box-shadow:0 18px 55px rgba(7,27,52,.1);text-align:left;min-height:235px}.service-tile span{font-size:36px;color:var(--gold)}.service-tile h3,.menu-card h3,.media-card h3,.policy-card h3{font-family:Cormorant Garamond,Georgia,serif;font-size:32px;margin:14px 0 8px}.service-tile p{color:var(--muted);line-height:1.6}.service-tile b{color:var(--gold);font-size:14px}.split-feature{display:grid;grid-template-columns:.86fr 1.14fr;gap:46px;align-items:center;background:var(--paper)}.mockup{position:relative;min-height:390px;border-radius:36px;background:linear-gradient(135deg,#071B34,#041225);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line);padding:28px}.mockup img{width:72%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;box-shadow:0 24px 55px rgba(0,0,0,.3)}.mockup video{position:absolute;right:28px;bottom:28px;width:42%;border-radius:22px;box-shadow:0 24px 55px rgba(0,0,0,.35);border:1px solid rgba(214,178,62,.28)}.cream-section{background:linear-gradient(180deg,#fffaf1,var(--cream))}.album-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:34px 0}.album-strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:22px;box-shadow:0 12px 30px rgba(7,27,52,.12)}.promise-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:32px 0}.service-list{display:grid;gap:28px}.service-card{display:grid;grid-template-columns:minmax(300px,.43fr) minmax(0,1fr)}.service-card>img{width:100%;height:100%;min-height:420px;object-fit:cover}.service-card>div{padding:clamp(28px,4vw,54px)}.service-icon{font-size:36px;color:var(--gold)}.service-card h2{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(42px,5vw,70px);margin:8px 0}.service-card p{color:var(--muted);line-height:1.7}.price-list,.tablet-prices{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:0}.price-list li,.tablet-prices li{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid rgba(7,27,52,.1)}.price-list strong,.tablet-prices strong{font-weight:850}.price-list small,.tablet-prices small{display:block;color:var(--muted);font-weight:500;margin-top:5px;line-height:1.45}.price-list b,.tablet-prices b{white-space:nowrap;color:var(--gold)}.note,.note-panel{margin-top:30px;padding:22px 26px;border-radius:22px;background:rgba(214,178,62,.15);color:var(--muted)}.locations-detail{display:grid;gap:30px}.locations-detail .location-card{display:grid;grid-template-columns:.45fr 1fr}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.media-card{overflow:hidden;background:white;border-radius:28px;border:1px solid rgba(214,178,62,.22);box-shadow:0 16px 45px rgba(7,27,52,.1)}.media-card img{width:100%;aspect-ratio:1/1;object-fit:cover}.media-card div{padding:20px}.media-card span{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}.filter-pills{display:flex;gap:12px;justify-content:center;padding-bottom:0}.filter-pills button{border:1px solid var(--line);border-radius:999px;background:white;padding:12px 18px;color:var(--navy);font-weight:800}.menu-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-card{border-radius:28px;overflow:hidden;background:white;border:1px solid rgba(214,178,62,.22);box-shadow:0 16px 45px rgba(7,27,52,.1)}.menu-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.menu-card div{padding:22px}.menu-card p{color:var(--muted);line-height:1.6}.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-card{padding:28px}.policy-card p{color:var(--muted);line-height:1.65}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact-card{padding:34px}.contact-card h2{font-family:Cormorant Garamond,Georgia,serif;font-size:46px;margin:0 0 12px}.contact-card p{color:var(--muted);line-height:1.65}.plan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-card{border-radius:28px;background:white;border:1px solid rgba(214,178,62,.28);box-shadow:0 16px 45px rgba(7,27,52,.1);padding:28px;display:flex;flex-direction:column}.plan-card span{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.plan-card h2{font-family:Cormorant Garamond,Georgia,serif;font-size:38px}.plan-card ul{padding-left:18px;color:var(--muted);line-height:1.65;flex:1}.gift-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gift-card{min-height:280px;border-radius:30px;padding:34px;color:white;background:radial-gradient(circle at 85% 12%,rgba(214,178,62,.28),transparent 26%),linear-gradient(135deg,#041225,#071B34);box-shadow:var(--shadow)}.gift-card span{color:var(--gold2);font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:12px}.gift-card h2{font-family:Cormorant Garamond,Georgia,serif;font-size:52px;margin:28px 0 5px}.gift-card p{font-size:24px}.reward-grid article span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--gold);color:#141414;font-weight:900}.footer{display:grid;grid-template-columns:1.2fr .7fr .7fr 1fr;gap:30px;padding:48px clamp(22px,6vw,92px);background:#041225;color:white}.footer p,.footer a{display:block;color:rgba(255,255,255,.64);line-height:1.6;margin:8px 0}.footer h4{color:var(--gold);margin-top:0}.footer-brand{margin-bottom:16px}
.tablet-body{overflow:hidden;background:#06172c}.tablet-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 80% 4%,rgba(214,178,62,.16),transparent 22%),linear-gradient(135deg,#041225,#071B34);color:white}.tablet-top{display:flex;justify-content:space-between;align-items:center;padding:16px clamp(20px,3vw,42px);border-bottom:1px solid var(--line)}.tablet-brand{display:flex;align-items:center;gap:12px}.tablet-status{border:1px solid rgba(214,178,62,.45);border-radius:999px;color:var(--gold2);font-weight:900;padding:10px 18px}.tablet-main{position:relative;min-height:0;height:calc(100vh - 142px);display:grid;grid-template-columns:190px 1fr;gap:18px;padding:24px}.tablet-tabs{display:flex;flex-direction:column;gap:10px;overflow:auto}.tablet-tabs button{text-align:left;border:1px solid rgba(214,178,62,.25);border-radius:16px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);padding:14px;font-weight:850}.tablet-tabs button.active{background:var(--gold);color:#171304}.tablet-page{min-height:0;height:100%;display:grid;grid-template-columns:minmax(420px,.96fr) minmax(360px,.88fr);overflow:hidden;border-radius:34px;background:var(--cream);color:var(--navy);box-shadow:0 28px 90px rgba(0,0,0,.35)}.tablet-content{padding:clamp(28px,3.6vw,54px);overflow:auto}.tablet-content h1{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(56px,5vw,88px);line-height:.9;margin:0 0 18px}.tablet-content p{color:var(--muted);line-height:1.65}.tablet-prices{margin-top:18px}.tablet-prices li{padding:12px 0;font-size:clamp(15px,1.15vw,18px)}.tablet-note{margin-top:18px;padding:14px 16px;border-radius:18px;background:rgba(214,178,62,.16);color:var(--navy)!important}.tablet-media{position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#020916,#071B34);padding:24px;overflow:hidden}.tablet-media:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.16),transparent 34%)}.tablet-media img,.tablet-media video{position:relative;z-index:1;width:100%;height:auto;max-height:100%;object-fit:contain;border-radius:26px;box-shadow:0 22px 55px rgba(0,0,0,.38);background:#000}.dots{position:absolute;z-index:2;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:9px;border-radius:999px;background:rgba(0,0,0,.45);padding:8px 10px}.dots button{width:10px;height:10px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.55)}.dots button.active{background:var(--gold)}.tablet-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:54px;height:88px;border:1px solid rgba(214,178,62,.45);border-radius:20px;background:rgba(4,18,37,.68);color:var(--gold2);font-size:54px;line-height:1;cursor:pointer}.tablet-arrow.left{left:224px}.tablet-arrow.right{right:42px}.tablet-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(20px,3vw,42px);border-top:1px solid var(--line);color:rgba(255,255,255,.66)}
@media(max-width:1240px){.nav{display:none}.hamburger{display:inline-grid;place-items:center}.nav-open .mobile-nav{display:grid;position:absolute;left:18px;right:18px;top:78px;padding:16px;border:1px solid var(--line);border-radius:22px;background:#041225;box-shadow:var(--shadow)}.mobile-nav a{padding:12px;color:rgba(255,255,255,.84)}.hero,.split-feature,.service-card,.locations-detail .location-card,.contact-layout{grid-template-columns:1fr}.standards-grid{grid-template-columns:repeat(3,1fr)}.plan-grid{grid-template-columns:repeat(2,1fr)}.tablet-main{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 142px);overflow:auto}.tablet-tabs{flex-direction:row}.tablet-tabs button{min-width:max-content}.tablet-page{grid-template-columns:1fr;height:auto;min-height:720px}.tablet-arrow.left{left:32px}.tablet-arrow.right{right:32px}.tablet-body{overflow:auto}}
@media(max-width:820px){.site-header{padding:12px 16px}.brand strong{font-size:20px}.signin{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-visual video{aspect-ratio:16/10}.location-grid,.service-tile-grid,.media-grid,.menu-card-grid,.policy-grid,.gift-grid,.promise-grid,.album-strip{grid-template-columns:1fr}.standards-grid{grid-template-columns:1fr}.footer{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr}.tablet-top{align-items:flex-start}.tablet-status{font-size:13px}.tablet-main{padding:12px}.tablet-page{border-radius:24px}.tablet-content{padding:26px}.tablet-arrow{display:none}.filter-pills{overflow:auto;justify-content:flex-start}.mockup img,.mockup video{position:static;width:100%;margin-top:12px}.mockup{min-height:0}.section{padding-left:18px;padding-right:18px}}

/* Demo asset/logo update */
.service-card img,.menu-card img,.media-card img,.location-image img,.album-strip img{background:#e9e1d2}.hero-visual{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(214,178,62,.08))}.hero-visual img,.hero-visual video{width:100%;aspect-ratio:4/5;object-fit:cover}

/* Tablet menu fix: separate media slots per category */
.tablet-page{grid-template-columns:minmax(430px,.92fr) minmax(460px,.98fr)}
.tablet-media{padding:18px;background:linear-gradient(145deg,#020916,#071B34)}
.tablet-media-board{position:relative;z-index:1;width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr .8fr;gap:14px;min-height:0}
.tablet-media-card{position:relative;margin:0;border-radius:24px;overflow:hidden;background:#06172c;border:1px solid rgba(214,178,62,.35);box-shadow:0 18px 45px rgba(0,0,0,.28);min-height:0}
.tablet-media-card.primary{grid-column:1 / -1}
.tablet-media-card img,.tablet-media-card video{width:100%;height:100%;object-fit:cover;border-radius:0;box-shadow:none;background:#000;display:block}
.tablet-media-card figcaption{position:absolute;left:12px;bottom:12px;right:12px;border-radius:999px;background:rgba(4,18,37,.78);border:1px solid rgba(214,178,62,.35);color:#f5d764;font-weight:900;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:8px 12px;text-align:center;backdrop-filter:blur(8px)}
.tablet-bullets{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.tablet-bullets li{padding:14px 16px;border-radius:16px;background:rgba(214,178,62,.14);font-weight:800;color:#071B34}
@media(max-width:1240px){.tablet-page{grid-template-columns:1fr}.tablet-media-board{min-height:560px}.tablet-media-card.primary{min-height:300px}}
@media(max-width:820px){.tablet-media-board{grid-template-columns:1fr;grid-template-rows:auto;min-height:0}.tablet-media-card,.tablet-media-card.primary{min-height:260px;grid-column:auto}.tablet-media-card video{min-height:260px}}

.service-upload-note{margin:18px 0 12px;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.02em}
.service-upload-note code{background:rgba(214,178,62,.18);border:1px solid rgba(214,178,62,.26);border-radius:999px;padding:5px 10px;color:var(--navy)}
.service-media-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.service-media-strip figure{margin:0;border-radius:16px;overflow:hidden;background:#f0eadf;border:1px solid rgba(214,178,62,.22)}
.service-media-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.service-media-strip figcaption{padding:8px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850;background:#fff}

.tablet-media-carousel{display:grid;grid-template-rows:1fr auto;gap:14px;padding:22px;background:linear-gradient(145deg,#020916,#071B34)}
.tablet-media-stage{position:relative;z-index:1;min-width:0;min-height:0;height:100%;display:grid;place-items:center;border-radius:28px;overflow:hidden;border:1px solid rgba(214,178,62,.36);background:#020916;box-shadow:0 22px 55px rgba(0,0,0,.38)}
.tablet-media-stage img,.tablet-media-stage video{width:100%;height:100%;object-fit:contain;border-radius:0;box-shadow:none;background:#020916;display:block}
.tablet-media-stage figcaption{position:absolute;left:18px;right:18px;bottom:18px;z-index:3;border-radius:999px;background:rgba(4,18,37,.78);border:1px solid rgba(214,178,62,.35);color:#f5d764;font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;text-align:center;backdrop-filter:blur(8px)}
.media-nav{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:52px;height:78px;border:1px solid rgba(214,178,62,.5);border-radius:18px;background:rgba(4,18,37,.7);color:#f5d764;font-size:46px;line-height:1;cursor:pointer}
.media-prev{left:16px}.media-next{right:16px}
.media-dots{position:relative;z-index:2;display:flex;justify-content:center;gap:10px;align-items:center}
.media-dots button{width:42px;height:36px;border-radius:999px;border:1px solid rgba(214,178,62,.38);background:rgba(255,255,255,.07);color:#fff;font-weight:900;cursor:pointer}
.media-dots button.active{background:var(--gold);color:#171304}
.tablet-media-board,.tablet-media-card{display:contents}
@media(max-width:820px){.service-media-strip{grid-template-columns:1fr}.tablet-media-carousel{min-height:420px;padding:12px}.media-nav{display:none}.tablet-media-stage{min-height:320px}}


/* Membership + Gift Card sales update */
.nav a[href="/membership"], .nav a[href="/gift-cards"]{color:#f5d764;font-weight:850}
.membership-home-card{display:grid;grid-template-columns:1fr .78fr;gap:34px;align-items:center;border-radius:34px;background:linear-gradient(135deg,#071B34,#0b2a50);color:white;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(214,178,62,.28)}
.membership-home-card h2,.membership-feature h2,.gift-hero h2,.gift-more-panel h2{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(42px,4.6vw,72px);line-height:.95;margin:0 0 16px;color:inherit}
.membership-home-card p{color:rgba(255,255,255,.74);font-size:17px;line-height:1.7}.membership-home-card img{width:100%;border-radius:26px;box-shadow:0 24px 70px rgba(0,0,0,.35);transform:rotate(1deg)}
.membership-feature{display:grid;grid-template-columns:.8fr 1fr;gap:36px;align-items:center}.membership-copy{border-radius:34px;background:linear-gradient(135deg,#071B34,#092744);color:white;padding:clamp(28px,4vw,54px);box-shadow:var(--shadow);border:1px solid rgba(214,178,62,.3)}.membership-copy p{color:rgba(255,255,255,.75);line-height:1.7}.membership-poster img,.gift-hero img{width:100%;border-radius:28px;box-shadow:0 28px 80px rgba(7,27,52,.25);border:1px solid rgba(214,178,62,.32);background:#071B34}.vip-plan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.vip-plan{position:relative;overflow:hidden;background:linear-gradient(145deg,#061a34,#09294d);color:white;border:1px solid rgba(214,178,62,.4);box-shadow:0 24px 70px rgba(7,27,52,.18)}.vip-plan:before{content:'';position:absolute;inset:-80px auto auto -80px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08)}.vip-plan span{color:#f5d764;letter-spacing:.2em;text-transform:uppercase}.vip-plan h2{font-size:clamp(28px,2.4vw,42px);color:#f5d764}.vip-plan li{color:rgba(255,255,255,.82);line-height:1.45}.vip-plan .btn{margin-top:auto}.gift-more-panel{border-radius:34px;background:linear-gradient(135deg,#071B34,#0b2a50);color:white;text-align:center;box-shadow:var(--shadow);border:1px solid rgba(214,178,62,.3)}.gift-table{display:grid;grid-template-columns:1.1fr repeat(3,1fr);max-width:920px;margin:24px auto 0;border:1px solid rgba(214,178,62,.5);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.05)}.gift-table div{padding:18px 14px;border-right:1px solid rgba(214,178,62,.35);border-bottom:1px solid rgba(214,178,62,.35);font-size:clamp(20px,2vw,30px);font-weight:850}.gift-table div:nth-child(4n){border-right:0}.gift-table div:nth-last-child(-n+4){border-bottom:0}.gift-head{text-transform:uppercase;letter-spacing:.16em;color:#f5d764;background:rgba(214,178,62,.15)}.gift-cta-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}.gift-hero{display:grid;grid-template-columns:1fr .62fr;gap:34px;align-items:center;border-radius:34px;background:var(--cream);box-shadow:var(--shadow)}.gift-hero p{font-size:17px;line-height:1.7;color:var(--muted)}.gift-sales-grid .gift-card{min-height:310px;display:flex;flex-direction:column;justify-content:space-between}.gift-sales-grid .gift-card h2{font-size:42px}.gift-sales-grid .gift-card p{color:#f5d764;font-weight:900;font-size:32px}@media(max-width:1180px){.vip-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-feature,.membership-home-card,.gift-hero{grid-template-columns:1fr}}@media(max-width:720px){.vip-plan-grid{grid-template-columns:1fr}.gift-table{grid-template-columns:1fr}.gift-table div{border-right:0}.gift-table div:nth-last-child(-n+4){border-bottom:1px solid rgba(214,178,62,.35)}.gift-cta-row .btn{width:100%}.membership-home-card img{transform:none}}


.btn-disabled,
.btn-outline-disabled{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding: 0.75rem 1rem;
  border-radius:999px;
  font-weight:800;
  cursor:not-allowed;
  opacity:.72;
  white-space:nowrap;
}
.btn-disabled{
  background:#d7c79b;
  color:#071B34;
  border:1px solid rgba(214,178,62,.45);
}
.btn-outline-disabled{
  color:#071B34;
  border:1px solid rgba(7,27,52,.25);
  background:rgba(255,255,255,.35);
}


/* =============================
   Admin / Login / Upload Manager
   ============================= */
.auth-section{display:flex;justify-content:center;align-items:flex-start;background:linear-gradient(180deg,#fffaf1,var(--cream))}.auth-card{width:min(520px,100%);padding:34px}.auth-card h2,.admin-panel h2,.admin-lite-card h2{font-family:Cormorant Garamond,Georgia,serif;font-size:44px;margin:0 0 16px}.auth-card label,.upload-form label{display:grid;gap:8px;color:var(--navy);font-weight:800;margin:16px 0}.auth-card input,.upload-form input,.upload-form select{width:100%;border:1px solid rgba(7,27,52,.18);border-radius:15px;padding:14px 16px;background:white;color:var(--navy);font:inherit}.auth-message{color:var(--muted);line-height:1.6}.admin-dashboard{background:linear-gradient(180deg,#fffaf1,var(--cream))}.admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.admin-side{padding:24px;position:sticky;top:96px}.admin-side h3{font-family:Cormorant Garamond,Georgia,serif;font-size:34px;margin:0 0 4px;color:var(--navy)}.admin-side p{color:var(--muted);word-break:break-word}.admin-side a,.admin-side button{display:block;width:100%;margin-top:10px;text-align:left;border:1px solid rgba(7,27,52,.16);background:white;border-radius:14px;padding:12px 14px;color:var(--navy);font-weight:800;cursor:pointer}.admin-main{display:grid;gap:22px}.admin-panel,.admin-lite-card{padding:30px}.upload-form{display:grid;gap:8px}.admin-preview{margin:14px 0;padding:18px;border:1px dashed rgba(7,27,52,.24);border-radius:18px;background:rgba(255,255,255,.56)}.admin-preview img,.admin-preview video{max-height:310px;width:100%;object-fit:contain;border-radius:14px;background:#061a32}.admin-preview code,.asset-list code,.note-panel code,.note-panel pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.asset-list{display:grid;gap:12px}.asset-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(7,27,52,.12);border-radius:14px;background:rgba(255,255,255,.65)}.asset-list code{word-break:break-all;color:var(--navy)}.asset-list a,.asset-list button{border:1px solid rgba(7,27,52,.18);border-radius:12px;background:white;color:var(--navy);padding:10px 12px;font-weight:800;cursor:pointer}.note-panel pre{white-space:pre-wrap;background:#071B34;color:#fff;padding:16px;border-radius:14px;overflow:auto}.btn-disabled,.btn-outline-disabled{opacity:.62;cursor:not-allowed;pointer-events:none}.btn-disabled{background:#ded5bd;color:#61512a}.btn-outline-disabled{border-color:rgba(7,27,52,.18);color:rgba(7,27,52,.55);background:rgba(255,255,255,.45)}
@media (max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-side{position:static}.asset-list>div{grid-template-columns:1fr}.top-actions .signin:nth-child(2){display:none}}

/* Auth nav fix: admin stays hidden unless current user is an admin. */
.nav-auth-links{display:contents}
.nav-muted{color:rgba(255,255,255,.55);font-size:14px}
.mobile-auth-links{display:contents}

/* Phase 2: customer account + admin CRM */
.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.account-panel{padding:1.5rem;border-radius:24px;min-height:220px}
.account-panel h2{font-size:clamp(2rem,4vw,3.4rem);margin:.2rem 0 .8rem;color:var(--navy)}
.account-membership{background:linear-gradient(135deg,#071B34,#0b2d58);color:white}
.account-membership h2,.account-membership .kicker{color:var(--gold)}
.account-panel ul{margin:1rem 0 0;padding-left:1.2rem;line-height:1.7}
.mini-table{display:grid;gap:.7rem;margin:1rem 0}
.mini-table>div{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid rgba(7,27,52,.12);padding:.55rem 0}
.mini-table b{font-weight:800;color:var(--navy)}
.mini-table span{font-size:.9rem;color:var(--muted);text-align:right}
.plan-actions{margin-top:auto;display:grid;grid-template-columns:1fr;gap:.7rem}
.plan-actions .btn{width:100%;text-align:center;justify-content:center}
.vip-plan{display:flex;flex-direction:column}
.admin-member-table{display:grid;border:1px solid rgba(7,27,52,.12);border-radius:18px;overflow:hidden;margin:1rem 0;background:rgba(255,255,255,.55)}
.admin-table-head,.admin-table-row{display:grid;grid-template-columns:2fr 1.3fr .7fr .7fr;gap:1rem;align-items:center;padding:.8rem 1rem}
.admin-table-head{background:rgba(7,27,52,.08);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--navy)}
.admin-table-row{border-top:1px solid rgba(7,27,52,.10)}
.admin-table-row small{display:block;color:var(--muted);margin-top:.15rem}
.btn-mini{border:0;background:var(--gold);color:#06192f;border-radius:999px;padding:.45rem .8rem;font-weight:800;cursor:pointer}
.crm-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.8rem;align-items:end;margin:1rem 0;padding:1rem;border-radius:18px;background:rgba(7,27,52,.04)}
.crm-form.compact{grid-template-columns:2fr 1fr 2fr auto}
.crm-form label{display:grid;gap:.35rem;font-size:.85rem;font-weight:800;color:var(--navy)}
.crm-form input,.crm-form select{width:100%;border:1px solid rgba(7,27,52,.18);border-radius:12px;padding:.8rem;background:white;color:var(--navy)}
@media(max-width:1000px){.account-grid{grid-template-columns:1fr}.admin-table-head{display:none}.admin-table-row{grid-template-columns:1fr}.crm-form,.crm-form.compact{grid-template-columns:1fr}.mini-table>div{display:block}.mini-table span{text-align:left;display:block;margin-top:.2rem}}

/* Official location actions: keep buttons aligned to the right and remove redundant all-location link on the locations page */
.location-body .button-row.location-actions {
  justify-content: flex-end;
  align-items: center;
  text-align: right;
  margin-left: auto;
}
.location-body .button-row.location-actions .btn {
  flex: 0 0 auto;
}
@media (max-width: 680px) {
  .location-body .button-row.location-actions {
    justify-content: center;
    text-align: center;
    margin-left: 0;
  }
}


/* Pedicure long-form menu details */
.menu-desc span{display:block;margin-top:4px}.menu-bullet{padding-left:16px;text-indent:-12px}.drink-note{display:block;margin-top:10px;color:#a67900;font-style:normal;font-weight:850}.tablet-prices .menu-desc{font-size:14px;line-height:1.5}.tablet-prices .drink-note{font-size:15px}.price-list .drink-note{font-size:15px}

/* Official tablet menu: tap a service on the left to show its media on the right. */
.tablet-prices li.tablet-service-choice{
  cursor:pointer;
  border-radius:18px;
  padding:14px 16px;
  margin:0 -16px 8px;
  border-bottom:1px solid rgba(7,27,52,.08);
  transition:background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tablet-prices li.tablet-service-choice:hover,
.tablet-prices li.tablet-service-choice.active{
  background:rgba(214,178,62,.16);
  box-shadow:inset 4px 0 0 var(--gold);
}
.tablet-prices li.tablet-service-choice:active{transform:scale(.995)}
.tablet-media-single{display:grid;grid-template-rows:1fr;padding:22px;background:linear-gradient(145deg,#020916,#071B34)}
.tablet-media-single .tablet-media-stage{height:100%;min-height:0}
.tablet-media-single .tablet-media-stage img,
.tablet-media-single .tablet-media-stage video{object-fit:contain}
@media(max-width:820px){.tablet-prices li.tablet-service-choice{margin-left:0;margin-right:0}.tablet-media-single{min-height:420px;padding:12px}}
