
  :root{
    --ink:#151009;
    --ink-soft:#1f1810;
    --espresso:#3a2c22;
    --card:#221a13;
    --gold:#c9a24b;
    --gold-bright:#e8caa0;
    --gold-dim:#a08848;
    --ivory:#f4ecdd;
    --ivory-dim:#e7dbc6;
    --taupe:#b8a890;
    --line: rgba(201,162,75,0.28);
    --shadow: 0 30px 60px -25px rgba(0,0,0,0.6);
    --ease: cubic-bezier(.16,.8,.24,1);
  }

  :root{
    --glass-bg: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.015));
    --glass-border: 1px solid rgba(232,202,160,.20);
    --glass-blur: blur(18px) saturate(150%);
    --glass-shadow: 0 22px 50px -24px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.07);
  }
  .glass{
    background:var(--glass-bg);
    backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:var(--glass-border);
    box-shadow:var(--glass-shadow);
  }


  *{box-sizing:border-box; margin:0; padding:0;}

  /* ---------- ambient site-wide glow field (for glassmorphism to catch light everywhere) ---------- */
  body::before{
    content:''; position:fixed; inset:0; z-index:-2; pointer-events:none;
    background:
      radial-gradient(680px 480px at 8% 6%, rgba(201,162,75,.16), transparent 60%),
      radial-gradient(600px 460px at 92% 18%, rgba(201,162,75,.11), transparent 60%),
      radial-gradient(700px 520px at 15% 55%, rgba(201,162,75,.09), transparent 60%),
      radial-gradient(640px 480px at 88% 72%, rgba(201,162,75,.13), transparent 60%),
      radial-gradient(720px 520px at 30% 96%, rgba(201,162,75,.10), transparent 60%);
    filter:blur(10px);
  }
  body::after{
    content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
    background:var(--ink);
    opacity:.62;
  }

  html{scroll-behavior:smooth;}
  body{
    background:var(--ink);
    color:var(--ivory);
    font-family:'Jost', sans-serif;
    font-weight:300;
    line-height:1.7;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block; object-fit:cover;}
  a{color:inherit; text-decoration:none;}
  h1,h2,h3,h4{font-family:'Cormorant Garamond', serif; font-weight:400; letter-spacing:.01em;}
  .eyebrow{
    font-family:'Jost',sans-serif;
    font-size:.72rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold);
    display:flex; align-items:center; gap:14px;
  }
  .eyebrow::before{content:''; width:28px; height:1px; background:var(--gold-dim);}
  .wrap{max-width:1220px; margin:0 auto; padding:0 32px;}
  img{border-radius:16px;}
  section{position:relative;}
  ::selection{background:var(--gold); color:var(--ink);}

  .lattice{
    position:absolute; inset:0; opacity:.05; pointer-events:none;
    background-image:
      radial-gradient(circle at 50% 50%, transparent 0 5px, var(--gold) 5.4px 6px, transparent 6.4px);
    background-size:36px 36px;
  }

  .reveal{opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
    *{animation-duration:0.001s !important; scroll-behavior:auto !important;}
    .hero-bg-video{display:none;}
  }

  .arch-frame{
    clip-path:url(#archClip);
    -webkit-clip-path:url(#archClip);
    background:var(--espresso);
  }
  .arch-outline{
    position:absolute; inset:0;
    border:1.5px solid var(--gold);
    clip-path:url(#archClip);
    -webkit-clip-path:url(#archClip);
    pointer-events:none;
  }

  header.site{
    position:sticky; top:12px; z-index:50;
    margin:0 24px; padding:0;
    background:rgba(21,16,9,0.72); backdrop-filter:blur(16px) saturate(150%);
    -webkit-backdrop-filter:blur(16px) saturate(150%);
    border:none;
    border-radius:100px;
    box-shadow:0 8px 32px -8px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
  }
  nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:10px 14px 10px 28px; max-width:1220px; margin:0 auto;
  }
  .brand{display:flex; align-items:center; gap:12px;}
  .brand .mono{
    width:38px; height:38px; border-radius:12px;
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:1px solid rgba(232,202,160,.4); box-shadow:var(--glass-shadow);
    display:flex; align-items:center; justify-content:center;
    font-family:'Cormorant Garamond', serif; color:var(--gold-bright); font-size:.95rem;
  }
  .brand .word{font-family:'Cormorant Garamond', serif; font-size:1.18rem; letter-spacing:.18em; color:var(--ivory);}
  .brand .word small{display:block; font-family:'Jost',sans-serif; font-size:.56rem; letter-spacing:.34em; color:var(--taupe); margin-top:2px;}
  .navlinks{display:flex; align-items:center; gap:34px;}
  .navlinks a{font-size:.76rem; letter-spacing:.13em; text-transform:uppercase; color:var(--ivory-dim); position:relative; padding-bottom:4px;}
  .navlinks a::after{content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold); transition:width .35s var(--ease);}
  .navlinks a.active-page{color:var(--gold-bright);}
  .navlinks a.active-page::after{width:100%;}

  /* ---------- mobile menu toggle + drawer ---------- */
  .menu-toggle{
    display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px;
    width:40px; height:40px; background:none; border:none; cursor:pointer; padding:0;
    flex-shrink:0;
  }
  .menu-toggle span{
    display:block; width:22px; height:1.5px; background:var(--gold-bright);
    transition:transform .3s var(--ease), opacity .3s var(--ease);
  }
  .menu-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .menu-toggle.open span:nth-child(2){opacity:0;}
  .menu-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

  .mobile-menu{
    display:none; max-height:0; overflow:hidden;
    background:rgba(21,16,9,0.97); backdrop-filter:blur(20px) saturate(150%); -webkit-backdrop-filter:blur(20px) saturate(150%);
    border-bottom:1px solid rgba(232,202,160,.18);
    transition:max-height .4s var(--ease);
  }
  .mobile-menu.open{max-height:520px;}
  .mobile-menu-links{display:flex; flex-direction:column; padding:10px 24px 0;}
  .mobile-menu-links a{
    padding:16px 0; font-size:.95rem; letter-spacing:.06em; text-transform:uppercase;
    color:var(--ivory-dim); border-bottom:1px solid rgba(232,202,160,.1);
  }
  .mobile-menu-links a.active-page{color:var(--gold-bright);}
  .mobile-menu .status-badge{margin:20px 24px 0; width:fit-content;}
  .mobile-menu > .btn.filled{
    display:flex; margin:18px 24px 24px; justify-content:center;
  }
  .navlinks a:hover::after{width:100%;}
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    padding:12px 26px; border:1px solid var(--gold);
    font-size:.74rem; letter-spacing:.2em; text-transform:uppercase;
    color:var(--gold-bright); border-radius:100px;
    background:rgba(255,255,255,.04);
    backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    transition:background .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease);
  }
  .btn:hover{background:var(--gold); color:var(--ink); box-shadow:0 8px 26px -8px rgba(201,162,75,.6);}
  .btn.filled{background:var(--gold); color:var(--ink); backdrop-filter:none; -webkit-backdrop-filter:none;}
  .btn.filled:hover{background:var(--gold-bright); box-shadow:0 8px 26px -8px rgba(201,162,75,.6);}

  .hero{
    position:relative; overflow:hidden;
    display:grid; grid-template-columns:1fr 1fr; align-items:center;
    min-height:100vh; min-height:100dvh;
    gap:48px; padding:90px 0 0;
    width:100%;
    max-width:none;
  }
  .hero > * { position:relative; z-index:1; }
  .hero-copy{ padding-left: max(60px, calc((100vw - 1220px)/2 + 60px)); }
  .hero-img-wrap{ padding-right: max(60px, calc((100vw - 1220px)/2 + 60px)); justify-self:end; }
  .hero-bg{
    position:absolute; inset:-10%; z-index:0;
    background-size:cover; background-position:center;
    filter:blur(46px) saturate(1.15); opacity:.42; transform:scale(1.08);
  }
  .hero-bg-video{
    position:absolute; inset:0; z-index:0;
    width:100%; height:100%; object-fit:cover;
    filter:blur(6px) saturate(1.1) brightness(.92);
  }

  /* ---------- reusable page backdrop (Services / Gallery / About / Visit) ---------- */
  .page-backdrop{position:relative; overflow:hidden;}
  .page-backdrop-bg{
    position:absolute; inset:-10%; z-index:0;
    background-size:cover; background-position:center;
    filter:blur(12px) saturate(1.1); opacity:.55; transform:scale(1.08);
    pointer-events:none;
  }
  .page-backdrop-overlay{
    position:absolute; inset:0; z-index:0; pointer-events:none;
    background:linear-gradient(180deg, rgba(21,16,9,.82) 0%, rgba(21,16,9,.65) 50%, rgba(21,16,9,.82) 100%);
  }
  .page-backdrop-content{position:relative; z-index:1;}
  .hero-bg-overlay{
    position:absolute; inset:0; z-index:0;
    background:linear-gradient(120deg, rgba(21,16,9,.97) 0%, rgba(21,16,9,.9) 42%, rgba(21,16,9,.6) 100%);
  }
  .hero-glow{position:absolute; border-radius:50%; filter:blur(60px); pointer-events:none; z-index:0;}
  .hero-glow.g1{width:420px; height:420px; background:radial-gradient(circle, rgba(201,162,75,.32), transparent 70%); top:-140px; right:-100px;}
  .hero-glow.g2{width:320px; height:320px; background:radial-gradient(circle, rgba(201,162,75,.16), transparent 70%); bottom:-90px; left:6%;}
  .hero-copy{position:relative; z-index:1;}
  .hero-copy h1{
    font-size:clamp(2.2rem,4vw,3.6rem); line-height:1.12; margin:18px 0 20px; max-width:780px; color:var(--ivory); word-break:keep-all; overflow-wrap:normal; hyphens:none;
  }
  .hero-copy h1 em{color:var(--gold-bright); font-style:italic; font-family:'Instrument Serif', serif;}
  .hero-copy p{color:var(--taupe); max-width:480px; font-size:1.02rem; margin-bottom:32px;}
  .hero-ctas{display:flex; gap:18px; flex-wrap:wrap;}
  .hero-offer{font-size:.82rem; color:var(--gold-dim); margin-top:16px; letter-spacing:.04em;}
  .hero-offer strong{color:var(--gold-bright); letter-spacing:.08em; font-weight:500;}
  .hero-img-wrap{position:relative; aspect-ratio:3/4; max-width:440px; border-radius:24px; overflow:hidden; box-shadow:0 30px 70px -20px rgba(0,0,0,.5);}
  .hero-img-wrap img{width:100%; height:100%;}
  .hero-badge{
    position:absolute; left:12px; bottom:42px; max-width:220px;
    padding:22px 26px;
    background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
    backdrop-filter:blur(18px) saturate(160%);
    -webkit-backdrop-filter:blur(18px) saturate(160%);
    border:1px solid rgba(232,202,160,.28);
    border-radius:18px;
    box-shadow:0 20px 46px -18px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.1);
  }
  .hero-badge .num{font-family:'Cormorant Garamond', serif; font-size:1.5rem; color:var(--gold-bright);}
  .hero-badge p{font-size:.72rem; letter-spacing:.06em; color:var(--ivory-dim); margin-top:4px; line-height:1.5;}

  /* ---------- hero depth details ---------- */
  .hero-corner-tag{
    position:relative; z-index:1; display:flex; justify-content:space-between; align-items:flex-start;
    margin-bottom:8px;
  }
  .hero-corner-tag .est{
    font-size:.66rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-dim);
    border:1px solid rgba(232,202,160,.25); padding:6px 12px;
  }
  .hero-vertical-label{
    position:absolute; z-index:1; right:18px; top:50%; transform:translateY(-50%) rotate(90deg);
    transform-origin:center; font-size:.68rem; letter-spacing:.4em; text-transform:uppercase;
    color:rgba(232,202,160,.35); white-space:nowrap; pointer-events:none;
  }
  .hero-frame-corner{
    position:absolute; width:26px; height:26px; border:1.5px solid var(--gold-bright); z-index:2; pointer-events:none;
  }
  .hero-frame-corner.tl{top:-10px; left:-10px; border-right:none; border-bottom:none;}
  .hero-frame-corner.br{bottom:-10px; right:-10px; border-left:none; border-top:none;}

  .strip{position:relative; z-index:5; margin-top:-20px;}
  .strip .wrap{
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px;
    padding:24px 34px;
    background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.015));
    backdrop-filter:blur(20px) saturate(150%);
    -webkit-backdrop-filter:blur(20px) saturate(150%);
    border:1px solid rgba(232,202,160,.22);
    border-radius:10px;
    box-shadow:0 26px 60px -24px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.08);
  }
  .strip .item{display:flex; align-items:center; gap:12px; color:var(--ivory-dim); font-size:.85rem; letter-spacing:.06em;}
  .strip .item svg{width:22px; height:22px; stroke:var(--gold-bright); fill:none; stroke-width:1.3;}

  .head{max-width:640px; margin-bottom:48px;}
  .head h2{font-size:clamp(1.7rem,3vw,2.4rem); margin-top:14px; color:var(--ivory); line-height:1.25;}
  .head p{color:var(--taupe); margin-top:12px; max-width:520px; line-height:1.65;}
  .center{text-align:center; margin-left:auto; margin-right:auto;}
  .center .eyebrow{justify-content:center;}
  .center .eyebrow::before{display:none;}

  .story{padding:120px 0; position:relative; overflow:hidden;}
  .story .grid{position:relative; z-index:1; display:grid; grid-template-columns:1.2fr .8fr; gap:56px; align-items:center;}
  .story-img{position:relative; aspect-ratio:3/4; border-radius:24px; overflow:hidden; box-shadow:0 30px 80px -18px rgba(0,0,0,.5);}
  .story-img img{width:100%; height:100%; object-fit:cover;}
  .story-copy p{color:var(--ivory-dim); margin-bottom:16px; max-width:520px; line-height:1.7;}
  .story-copy p.lede{font-family:'Instrument Serif', serif; font-style:italic; font-size:1.3rem; color:var(--gold-bright); line-height:1.55; margin-bottom:24px;}
  .signature-line{display:flex; align-items:center; gap:16px; margin-top:32px;}
  .signature-line span{font-family:'Instrument Serif', serif; font-style:italic; font-size:1.05rem; color:var(--gold);}
  .signature-line hr{flex:1; border:none; border-top:1px solid var(--line);}

  .services{padding:0 0 120px; background:var(--ink);}
  .svc-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    grid-template-rows:auto auto;
    grid-template-areas:
      "hair skin nails"
      "hair makeup makeup";
    gap:24px;
  }
  .svc-card:nth-child(1){grid-area:hair;}
  .svc-card:nth-child(2){grid-area:skin;}
  .svc-card:nth-child(3){grid-area:nails;}
  .svc-card:nth-child(4){grid-area:makeup;}
  .svc-card{
    position:relative; display:flex; flex-direction:column;
    border:var(--glass-border);
    background:var(--glass-bg);
    backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    box-shadow:var(--glass-shadow);
    padding:0; overflow:hidden; transition:transform .5s var(--ease), border-color .5s var(--ease);
    border-radius:20px;
  }
  .svc-card:hover{transform:translateY(-8px); border-color:var(--gold);}
  .svc-thumb{position:relative; flex:1; min-height:190px; overflow:hidden;}
  .svc-thumb img{width:100%; height:100%; transition:transform .8s var(--ease);}
  .svc-card:hover .svc-thumb img{transform:scale(1.08);}
  .svc-thumb::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(21,16,9,0) 40%, rgba(21,16,9,.9) 100%);}
  .svc-body{padding:24px 22px 26px;}
  .svc-body .tag{font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-dim);}
  .svc-body h3{font-size:1.28rem; margin:10px 0 10px; color:var(--ivory);}
  .svc-body p{font-size:.86rem; color:var(--taupe); margin-bottom:18px; min-height:62px;}
  .svc-meta{display:flex; justify-content:space-between; align-items:center; border-top:1px dashed var(--line); padding-top:14px;}
  .svc-meta .price{font-family:'Cormorant Garamond', serif; color:var(--gold-bright); font-size:1.02rem;}
  .svc-meta .dur{font-size:.72rem; color:var(--taupe); letter-spacing:.05em;}

  /* Transformation banner */
  /* transform-sec styles now defined further down alongside the before/after slider */

  /* Team */
  .team{padding:120px 0; background:var(--ink-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .team-hero{position:relative; margin-bottom:60px; aspect-ratio:16/7; overflow:hidden; border:1px solid var(--line);}
  .team-hero img{width:100%; height:100%;}
  .team-hero::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(21,16,9,.75), transparent 55%);}
  .team-hero-cap{
    position:absolute; left:32px; bottom:24px; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-bright);
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:var(--glass-border); box-shadow:var(--glass-shadow); padding:10px 18px;
  }
  .team-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:center;}
  .team-portrait{position:relative; aspect-ratio:4/5;}
  .team-portrait img{width:100%; height:100%;}
  .team-copy p{color:var(--ivory-dim); margin-bottom:16px; max-width:480px;}
  .team-roster{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px;}
  .roster-card{border:var(--glass-border); background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); box-shadow:var(--glass-shadow); padding:16px 18px; border-radius:14px;}
  .roster-card h5{font-size:1rem; color:var(--ivory); margin-bottom:4px;}
  .roster-card span{font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dim);}

  /* ---------- stylist profiles ---------- */
  .stylist-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:70px;}
  .stylist-card{
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:var(--glass-border); box-shadow:var(--glass-shadow);
    overflow:hidden; transition:transform .4s var(--ease), border-color .4s var(--ease);
    border-radius:18px;
  }
  .stylist-card:hover{transform:translateY(-6px); border-color:rgba(232,202,160,.4);}
  .stylist-photo{position:relative; aspect-ratio:1/1; overflow:hidden;}
  .stylist-photo img{width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease);}
  .stylist-card:hover .stylist-photo img{transform:scale(1.06);}
  .stylist-body{padding:22px 20px 26px;}
  .stylist-body h4{font-family:'Cormorant Garamond', serif; font-size:1.15rem; color:var(--ivory); margin-bottom:4px;}
  .stylist-role{display:block; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dim); margin-bottom:14px;}
  .stylist-tags{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px;}
  .stylist-tags span{
    font-size:.66rem; letter-spacing:.06em; color:var(--gold-bright);
    border:1px solid rgba(232,202,160,.25); padding:4px 10px; border-radius:20px;
  }
  .stylist-body p{font-size:.83rem; color:var(--taupe); margin-bottom:18px; min-height:70px;}
  .btn.book-with{width:100%; justify-content:center; font-size:.68rem; padding:11px 14px;}

  @media (max-width:980px){
    .stylist-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .stylist-grid{grid-template-columns:1fr;}
  }

  /* Sanctuary / gallery */
  .sanctuary{padding:0 0 120px; position:relative;}
  .sanctuary-bg{
    background:var(--ink); padding:120px 0; position:relative;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .gal-grid{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:130px; gap:20px;}
  .gal-grid .g1{grid-column:span 3; grid-row:span 3;}
  .gal-grid .g2{grid-column:span 3; grid-row:span 2;}
  .gal-grid .g3{grid-column:span 2; grid-row:span 2;}
  .gal-grid .g4{grid-column:span 2; grid-row:span 2;}
  .gal-grid .g5{grid-column:span 2; grid-row:span 2;}
  .gal-item{position:relative; overflow:hidden; border:1px solid var(--line); border-radius:16px;}
  .gal-item img{width:100%; height:100%; transition:transform .8s var(--ease);}
  .gal-item:hover img{transform:scale(1.06);}
  .gal-cap{
    position:absolute; left:12px; right:12px; bottom:12px; padding:10px 14px;
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:var(--glass-border); box-shadow:var(--glass-shadow);
    font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-bright);
  }

  /* Products */
  .products-sec{padding:120px 0;}
  .products-sec .grid{display:grid; grid-template-columns:1.2fr .8fr; gap:56px; align-items:center;}
  .products-img{position:relative; aspect-ratio:16/10; border:var(--glass-border); box-shadow:var(--glass-shadow); overflow:hidden;}
  .products-img img{width:100%; height:100%;}
  .products-copy p{color:var(--ivory-dim); margin-bottom:18px; max-width:460px;}
  .products-tags{display:flex; gap:10px; flex-wrap:wrap; margin-top:24px;}
  .products-tags span{border:var(--glass-border); background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); box-shadow:var(--glass-shadow); padding:8px 16px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-bright);}

  .pillars{padding:120px 0;}
  .pillar-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px; padding:0 6px;}
  .pillar{
    position:relative;
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:var(--glass-border); box-shadow:var(--glass-shadow);
    padding:48px 32px; transition:background .4s var(--ease), transform .4s var(--ease);
    border-radius:20px;
  }
  .pillar:hover{background:linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.03));}
  .pillar-grid .pillar:nth-child(1){transform:translateY(0);}
  .pillar-grid .pillar:nth-child(2){transform:translateY(30px);}
  .pillar-grid .pillar:nth-child(3){transform:translateY(-14px);}
  .pillar-grid .pillar:nth-child(4){transform:translateY(16px);}
  .pillar-grid .pillar:nth-child(1):hover{transform:translateY(-8px);}
  .pillar-grid .pillar:nth-child(2):hover{transform:translateY(22px);}
  .pillar-grid .pillar:nth-child(3):hover{transform:translateY(-22px);}
  .pillar-grid .pillar:nth-child(4):hover{transform:translateY(8px);}
  .pillar-num{
    position:absolute; top:18px; right:20px;
    font-family:'Cormorant Garamond', serif; font-size:.72rem; letter-spacing:.08em; color:rgba(232,202,160,.35);
  }
  .pillar svg{width:30px; height:30px; stroke:var(--gold); fill:none; stroke-width:1.2; margin-bottom:22px;}
  .pillar h4{font-size:1.08rem; color:var(--ivory); margin-bottom:10px;}
  .pillar p{font-size:.85rem; color:var(--taupe);}

  .quote-sec{padding:80px 0 120px; text-align:center; position:relative; overflow:hidden;}
  .corner-accent{
    position:absolute; z-index:0; pointer-events:none; opacity:.5;
    -webkit-mask-image:radial-gradient(circle at var(--fade-origin,50% 50%), black 0%, black 30%, transparent 72%);
    mask-image:radial-gradient(circle at var(--fade-origin,50% 50%), black 0%, black 30%, transparent 72%);
  }
  .corner-accent img{width:100%; height:100%; object-fit:cover;}
  .corner-accent.bottom-left{left:-6%; bottom:-10%; width:420px; height:300px; --fade-origin:30% 70%;}
  .corner-accent.top-right{right:-6%; top:-8%; width:380px; height:280px; --fade-origin:70% 30%;}
  @media (max-width:760px){
    .corner-accent{display:none;}
  }
  .quote-sec .wrap{
    position:relative; z-index:1;
    max-width:820px; padding:56px 48px;
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:var(--glass-border); box-shadow:var(--glass-shadow);
  }
  .quote-sec .mark{font-family:'Instrument Serif', serif; font-size:4rem; color:var(--gold-dim); line-height:0;}
  .quote-sec blockquote{
    font-family:'Instrument Serif', serif; font-style:italic; font-size:clamp(1.35rem,2.6vw,1.9rem);
    max-width:760px; margin:26px auto 30px; color:var(--ivory);
  }
  .quote-sec .who{font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold);}
  .quote-sec .who span{color:var(--taupe); text-transform:none; letter-spacing:0; font-family:'Jost',sans-serif;}

  /* ---------- home contact teaser ---------- */
  .home-contact{padding:0 0 120px;}
  .home-contact-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:40px;}
  .hc-chip{
    display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px;
    padding:28px 18px;
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:var(--glass-border); box-shadow:var(--glass-shadow);
    transition:transform .35s var(--ease), border-color .35s var(--ease);
    border-radius:18px;
  }
  .hc-chip:hover{transform:translateY(-6px); border-color:rgba(232,202,160,.4);}
  .hc-chip svg{width:24px; height:24px; stroke:var(--gold-bright); fill:none; stroke-width:1.3;}
  .hc-chip .lbl{font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-dim);}
  .hc-chip .val{color:var(--ivory-dim); font-size:.88rem; line-height:1.5;}
  .home-contact-cta{display:flex; justify-content:center; gap:16px; flex-wrap:wrap;}
  @media (max-width:900px){
    .home-contact-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .home-contact-grid{grid-template-columns:1fr;}
  }

  .visit{padding:120px 0 0; border-top:1px solid var(--line);}
  .visit .grid{display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:center;}
  .visit-img{position:relative; overflow:hidden; border-radius:20px;}
  .visit-img img{width:100%; height:auto; display:block; border-radius:20px;}
  .visit-copy{
    padding:48px 40px;
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border-radius:20px;
  }
  .visit-copy .head{margin-bottom:32px;}
  .visit-copy .head h2{margin-top:12px;}
  .visit-copy .head p{margin-top:10px;}
  .info-row{
    display:flex; gap:16px; padding:16px 20px; margin-bottom:12px;
    background:rgba(255,255,255,.03); border:var(--glass-border); box-shadow:var(--glass-shadow);
    border-radius:14px;
  }
  .info-row svg{width:20px; height:20px; stroke:var(--gold); fill:none; stroke-width:1.3; flex-shrink:0; margin-top:2px;}
  .info-row .lbl{font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-dim); margin-bottom:4px;}
  .info-row .val{color:var(--ivory-dim); font-size:.9rem; line-height:1.5;}
  .visit-copy .btn{margin-top:40px;}

  footer{background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); border-top:var(--glass-border); padding:80px 0 30px; position:relative; border-radius:32px 32px 0 0; margin-top:40px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:50px; padding-bottom:60px; border-bottom:1px solid var(--line);}
  .foot-brand .word{font-family:'Cormorant Garamond', serif; font-size:1.3rem; letter-spacing:.16em; color:var(--ivory); margin-bottom:14px;}
  .foot-brand p{color:var(--taupe); font-size:.85rem; max-width:280px;}
  .foot-col h5{font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:20px;}
  .foot-col a, .foot-col p{display:block; color:var(--taupe); font-size:.87rem; margin-bottom:12px; transition:color .3s;}
  .foot-col a:hover{color:var(--gold-bright);}
  .foot-form{
    display:flex; margin-top:10px; padding:6px 6px 6px 14px;
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:var(--glass-border);
  }
  .foot-form input{background:none; border:none; color:var(--ivory); font-family:'Jost',sans-serif; font-size:.85rem; flex:1; outline:none;}
  .foot-form input::placeholder{color:var(--taupe);}
  .foot-form button{background:none; border:none; color:var(--gold-bright); font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; padding:8px 12px;}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:26px; flex-wrap:wrap; gap:14px;}
  .foot-bottom p{font-size:.74rem; color:var(--taupe);}
  .socials{display:flex; gap:16px;}
  .socials a{
    width:36px; height:36px; border-radius:12px; display:flex; align-items:center; justify-content:center;
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:1px solid rgba(232,202,160,.3); box-shadow:var(--glass-shadow);
    transition:background .3s var(--ease);
  }
  .socials a:hover{background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.03));}
  .socials svg{width:15px; height:15px; stroke:var(--gold); fill:none; stroke-width:1.4;}

  @media (max-width:980px){
    .hero{grid-template-columns:1fr; padding:24px 20px 0;}
    .hero-copy{padding-left:0;}
    .hero-copy h1{font-size:clamp(1.8rem,6vw,2.6rem);}
    .hero-img-wrap{padding-right:0; justify-self:center; margin:30px auto 0; max-width:300px;}
    .hero-badge{left:8px; bottom:24px; padding:16px 18px;}
    .hero-badge p{font-size:.66rem;}
    .hero-vertical-label{display:none;}
    .hero-corner-tag{flex-direction:column; align-items:flex-start; gap:10px;}
    .hero-offer{font-size:.75rem; text-align:center;}
    .strip{margin-top:0;}
    .strip .wrap{border-radius:0; padding:22px 20px;}
    .story .grid{grid-template-columns:1fr; gap:40px;}
    .svc-grid{grid-template-columns:repeat(2,1fr); grid-template-areas:none; grid-template-rows:none;}
    .svc-card:nth-child(1),.svc-card:nth-child(2),.svc-card:nth-child(3),.svc-card:nth-child(4){grid-area:auto;}
    .pillar-grid{grid-template-columns:repeat(2,1fr);}
    .pillar-grid .pillar:nth-child(1),.pillar-grid .pillar:nth-child(2),.pillar-grid .pillar:nth-child(3),.pillar-grid .pillar:nth-child(4){transform:none;}
    .gal-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:160px;}
    .gal-grid .g1,.gal-grid .g2,.gal-grid .g3,.gal-grid .g4,.gal-grid .g5{grid-column:span 1; grid-row:span 1;}
    .visit .grid{grid-template-columns:1fr; gap:32px;}
    .visit-copy{padding:36px 24px;}
    .visit{padding:80px 0 0;}
    .foot-grid{grid-template-columns:1fr 1fr; gap:36px;}
    .navlinks{display:none;}
    .status-badge{display:none;}
    nav > a.btn.filled{display:none;}
    .menu-toggle{display:flex;}
    .mobile-menu{display:block;}
    /* transform-sec mobile handled by aspect-ratio slider, no override needed */
    .team-grid{grid-template-columns:1fr; gap:36px;}
    .team-roster{grid-template-columns:1fr 1fr;}
    .products-sec .grid{grid-template-columns:1fr; gap:36px;}
  }
  @media (max-width:560px){
    .svc-grid{grid-template-columns:1fr; grid-template-areas:none;}
    .foot-grid{grid-template-columns:1fr;}
    header.site{margin:0 12px; border-radius:20px;}
    nav{padding:8px 12px 8px 18px;}
    .wrap{padding:0 20px;}
    .team-roster{grid-template-columns:1fr;}
  }

  /* ========== SKELETON LOADER (matches real page) ========== */
  .skel-screen{position:fixed; inset:0; z-index:10001; background:var(--ink); overflow-y:auto; overflow-x:hidden;}
  .skel{background:linear-gradient(90deg, rgba(58,44,34,.6) 25%, rgba(58,44,34,.35) 50%, rgba(58,44,34,.6) 75%); background-size:200% 100%; animation:skelShimmer 1.8s ease-in-out infinite;}
  @keyframes skelShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
  @media(prefers-reduced-motion:reduce){.skel{animation:none; opacity:.4;}}
  /* -- Nav skeleton -- */
  .skel-nav{display:flex; align-items:center; justify-content:space-between; padding:10px 28px 10px 28px; margin:12px 24px; border-radius:100px; background:rgba(31,24,16,.85); border:1px solid rgba(232,202,160,.06);}
  .skel-brand{display:flex; align-items:center; gap:10px;}
  .skel-circle{width:36px; height:36px; border-radius:12px; flex-shrink:0;}
  .skel-lines{display:flex; flex-direction:column; gap:5px;}
  .skel-word-lg{width:110px; height:12px; border-radius:4px;}
  .skel-word-sm{width:80px; height:8px; border-radius:3px;}
  .skel-nav-right{display:flex; align-items:center; gap:24px;}
  .skel-link{width:48px; height:9px; border-radius:3px;}
  .skel-pill-btn{width:120px; height:34px; border-radius:100px;}
  /* -- Hero skeleton (matches real hero grid exactly) -- */
  .skel-hero{display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:90px 0 0; width:100%; min-height:100vh; min-height:100dvh; align-items:center; position:relative;}
  .skel-hero-left{display:flex; flex-direction:column; gap:14px; padding-left:max(60px, calc((100vw - 1220px)/2 + 60px));}
  .skel-hero-left .skel-eyebrow{width:200px; height:8px; border-radius:3px;}
  .skel-h1-1{width:85%; height:48px; border-radius:10px;}
  .skel-h1-2{width:55%; height:48px; border-radius:10px;}
  .skel-p1{width:75%; height:11px; border-radius:3px; margin-top:10px;}
  .skel-p2{width:50%; height:11px; border-radius:3px;}
  .skel-btns{display:flex; gap:16px; margin-top:10px;}
  .skel-btn-filled{width:180px; height:44px; border-radius:100px; background:rgba(201,162,75,.3) !important;}
  .skel-btn-outline{width:170px; height:44px; border-radius:100px; border:1px solid rgba(232,202,160,.2);}
  .skel-offer{width:260px; height:9px; border-radius:3px; margin-top:4px;}
  .skel-hero-right{display:flex; justify-content:flex-end; align-items:center; padding-right:max(60px, calc((100vw - 1220px)/2 + 60px)); position:relative;}
  .skel-arch{width:100%; max-width:440px; aspect-ratio:3/4; border-radius:24px; overflow:hidden; border:1px solid rgba(232,202,160,.1); position:relative;}
  .skel-arch-img{width:100%; height:100%;}
  .skel-badge{position:absolute; left:12px; bottom:42px; padding:18px 22px; background:rgba(31,24,16,.85); border:1px solid rgba(232,202,160,.12); border-radius:18px; display:flex; flex-direction:column; gap:6px; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);}
  .skel-badge-num{width:30px; height:30px; border-radius:8px;}
  .skel-badge-text{width:130px; height:8px; border-radius:3px;}
  /* -- Marquee skeleton (matches real marquee-wrap) -- */
  .skel-marquee{padding:22px 0; border-top:1px solid rgba(232,202,160,.08); border-bottom:1px solid rgba(232,202,160,.08); overflow:hidden; background:linear-gradient(135deg, rgba(255,255,255,.02), rgba(255,255,255,.005));}
  .skel-marquee-track{display:flex; align-items:center; gap:24px; padding:0 40px; width:max-content;}
  .skel-marquee-word{font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-style:italic; color:rgba(232,202,160,.15); white-space:nowrap; letter-spacing:.06em;}
  .skel-marquee-dot{width:6px; height:6px; border-radius:50%; background:rgba(201,162,75,.12); flex-shrink:0;}
  /* -- Story skeleton (matches real story section) -- */
  .skel-story{display:grid; grid-template-columns:1.2fr .8fr; gap:56px; padding:120px 0; max-width:1220px; margin:0 auto; padding-left:32px; padding-right:32px; align-items:center;}
  .skel-story-img{display:flex; justify-content:flex-start;}
  .skel-arch-story{width:100%; aspect-ratio:3/4; border-radius:24px; max-width:440px; border:1px solid rgba(232,202,160,.08);}
  .skel-story-text{display:flex; flex-direction:column; gap:12px;}
  .skel-story-text .skel-eyebrow{width:100px; height:8px; border-radius:3px;}
  .skel-h2{width:80%; height:36px; border-radius:10px; margin-top:12px;}
  .skel-quote{width:65%; height:18px; border-radius:4px; margin-top:8px; background:rgba(201,162,75,.12) !important;}
  /* -- Mobile responsive skeleton -- */
  @media(max-width:980px){
    .skel-hero{grid-template-columns:1fr; padding:24px 20px 0; min-height:auto; gap:24px;}
    .skel-hero-left{padding-left:0; align-items:center; text-align:center;}
    .skel-hero-right{justify-content:center; padding-right:0;}
    .skel-arch{max-width:300px;}
    .skel-nav-right .skel-link{display:none;}
    .skel-story{grid-template-columns:1fr; padding:60px 20px; gap:32px;}
    .skel-arch-story{max-width:100%;}
  }
  @media(max-width:560px){
    .skel-h1-1{width:100%;}
    .skel-h1-2{width:80%;}
    .skel-nav{margin:8px 12px; padding:10px 16px; border-radius:20px;}
    .skel-pill-btn{display:none;}
    .skel-btn-filled,.skel-btn-outline{width:140px; height:38px;}
  }

  /* ========== PAGE-SPECIFIC SKELETONS ========== */
  /* --- Services --- */
  .skel-svc-hero{text-align:center; padding:60px 32px 40px; display:flex; flex-direction:column; align-items:center; gap:14px;}
  .skel-h2-center{width:300px; height:36px; border-radius:10px;}
  .skel-p-center{width:400px; height:12px; border-radius:3px;}
  .skel-svc-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:24px; padding:0 32px; max-width:1220px; margin:0 auto;}
  .skel-svc-card{border-radius:20px; overflow:hidden; background:rgba(31,24,16,.6); border:1px solid rgba(232,202,160,.06); display:flex; flex-direction:column;}
  .skel-svc-thumb{height:220px;}
  .skel-svc-body{padding:22px; display:flex; flex-direction:column; gap:10px; background:rgba(31,24,16,.4); border-top:1px solid rgba(232,202,160,.06); flex:1;}
  .skel-svc-tag{width:52px; height:8px; border-radius:3px;}
  .skel-svc-title{width:140px; height:16px; border-radius:6px;}
  .skel-svc-desc{width:90%; height:9px; border-radius:3px;}
  .skel-svc-desc2{width:70%; height:9px; border-radius:3px;}
  .skel-svc-meta{width:160px; height:10px; border-radius:3px; margin-top:auto; border-top:1px dashed rgba(232,202,160,.06); padding-top:10px;}
  .skel-svc-bridge{text-align:center; padding:48px 32px;}
  .skel-svc-bridge-text{width:420px; height:12px; border-radius:3px; margin:0 auto;}
  .skel-svc-bridge-btn{width:180px; height:40px; border-radius:100px; margin:16px auto 0; border:1px solid rgba(232,202,160,.15);}
  /* --- About --- */
  .skel-about-hero{padding:0 32px;}
  .skel-banner{width:100%; aspect-ratio:16/7; border-radius:16px;}
  .skel-about-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; padding:60px 32px; max-width:1220px; margin:0 auto; align-items:center;}
  .skel-about-portrait{aspect-ratio:4/5; border-radius:20px;}
  .skel-about-text{display:flex; flex-direction:column; gap:12px;}
  .skel-about-roster{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:0 32px; max-width:1220px; margin:0 auto;}
  .skel-roster{height:100px; border-radius:14px;}
  .skel-about-products{display:grid; grid-template-columns:1.2fr .8fr; gap:56px; padding:60px 32px; max-width:1220px; margin:0 auto; align-items:center;}
  .skel-products-img{aspect-ratio:16/10; border-radius:16px;}
  .skel-about-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:60px 32px; max-width:1220px; margin:0 auto;}
  .skel-membership{height:280px; border-radius:20px;}
  .skel-membership-featured{transform:translateY(-14px);}
  .skel-about-pillars{display:grid; grid-template-columns:repeat(4,1fr); gap:28px; padding:0 32px 60px; max-width:1220px; margin:0 auto;}
  .skel-pillar{height:200px; border-radius:20px;}
  /* --- Gallery --- */
  .skel-gal-filters{display:flex; justify-content:center; gap:10px; padding:40px 32px 0;}
  .skel-filter{width:70px; height:36px; border-radius:100px;}
  .skel-gal-grid{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:130px; gap:20px; padding:32px; max-width:1220px; margin:0 auto;}
  .skel-gal-item{border-radius:16px;}
  .skel-gal-g1{grid-column:span 3; grid-row:span 3;}
  .skel-gal-g2{grid-column:span 3; grid-row:span 2;}
  .skel-gal-g3{grid-column:span 2; grid-row:span 2;}
  .skel-gal-g4{grid-column:span 2; grid-row:span 2;}
  .skel-gal-g5{grid-column:span 2; grid-row:span 2;}
  .skel-gal-slider{text-align:center; padding:40px 32px; max-width:1000px; margin:0 auto;}
  .skel-slider-img{width:100%; aspect-ratio:16/9; border-radius:16px; margin-bottom:20px;}
  .skel-slider-tabs{width:300px; height:40px; border-radius:100px; margin:0 auto;}
  /* --- Visit --- */
  .skel-visit-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:48px; padding:120px 32px 60px; max-width:1220px; margin:0 auto; align-items:center;}
  .skel-visit-img{aspect-ratio:4/5; border-radius:20px;}
  .skel-visit-copy{display:flex; flex-direction:column; gap:12px; padding:48px 40px; border-radius:20px; background:rgba(31,24,16,.5); border:1px solid rgba(232,202,160,.06);}
  .skel-info-row{height:52px; border-radius:14px; border:1px solid rgba(232,202,160,.05);}
  /* --- Shared --- */
  .skel-eyebrow{width:120px; height:8px; border-radius:3px;}
  .skel-h2{width:70%; height:32px; border-radius:10px;}
  .skel-p1{width:85%; height:11px; border-radius:3px;}
  .skel-p2{width:60%; height:11px; border-radius:3px;}
  .skel-btn-filled{width:160px; height:42px; border-radius:100px; background:rgba(201,162,75,.25) !important;}
  /* --- Mobile --- */
  @media(max-width:980px){
    .skel-svc-grid{grid-template-columns:1fr 1fr;}
    .skel-svc-tall{grid-row:auto;}
    .skel-svc-wide{grid-column:span 1;}
    .skel-about-grid,.skel-about-products{grid-template-columns:1fr; gap:32px;}
    .skel-about-roster,.skel-about-cards{grid-template-columns:1fr 1fr;}
    .skel-about-pillars{grid-template-columns:1fr 1fr;}
    .skel-gal-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:160px;}
    .skel-gal-g1,.skel-gal-g2,.skel-gal-g3,.skel-gal-g4,.skel-gal-g5{grid-column:span 1; grid-row:span 1;}
    .skel-visit-grid{grid-template-columns:1fr; gap:32px;}
  }
  @media(max-width:560px){
    .skel-svc-grid{grid-template-columns:1fr;}
    .skel-about-roster,.skel-about-cards{grid-template-columns:1fr;}
    .skel-about-pillars{grid-template-columns:1fr;}
    .skel-gal-grid{grid-template-columns:1fr;}
    .skel-membership-featured{transform:none;}
  }

  /* --- Booking --- */
  .skel-book-wrap{max-width:640px; margin:0 auto; padding:70px 32px 100px; display:flex; flex-direction:column; align-items:center;}
  .skel-book-logo{margin-bottom:24px;}
  .skel-book-logo .skel-circle{width:48px; height:48px; border-radius:50%;}
  .skel-book-heading{display:flex; flex-direction:column; align-items:center; gap:0; margin-bottom:36px; width:100%;}
  .skel-book-card{width:100%; background:rgba(31,24,16,.6); border:1px solid rgba(232,202,160,.06); border-radius:20px; padding:36px 32px; display:flex; flex-direction:column; gap:18px;}
  .skel-book-field{display:flex; flex-direction:column;}
  .skel-book-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  /* --- Confirmation --- */
  .skel-conf-wrap{max-width:640px; margin:0 auto; padding:70px 32px 100px; text-align:center;}
  .skel-conf-card{background:rgba(31,24,16,.6); border:1px solid rgba(232,202,160,.06); border-radius:20px; padding:32px 28px; margin-top:34px; text-align:left;}
  .skel-conf-row{display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-top:1px dashed rgba(232,202,160,.08);}
  .skel-conf-row:first-child{border-top:none;}
  .skel-conf-clock{margin-top:36px; padding:28px 20px; background:rgba(31,24,16,.6); border:1px solid rgba(232,202,160,.06); border-radius:16px;}
  /* --- Privacy/Legal --- */
  .skel-legal{max-width:760px; margin:0 auto; padding:60px 32px 80px; display:flex; flex-direction:column; align-items:center;}
  .skel-legal-note{width:100%; background:rgba(31,24,16,.5); border:1px solid rgba(232,202,160,.06); border-radius:16px; padding:20px 22px; margin:24px 0; display:flex; flex-direction:column;}

  /* ---------- scroll progress bar ---------- */
  .progress-bar{
    position:fixed; top:0; left:0; height:2px; width:0%;
    background:linear-gradient(90deg, var(--gold-dim), var(--gold-bright));
    z-index:200; transition:width .1s linear;
  }

  /* ---------- lotus cursor handled by js/cursor.js ---------- */

  /* ---------- magnetic + shimmer buttons ---------- */
  .btn{position:relative; overflow:hidden; will-change:transform;}
  .btn::before{
    content:''; position:absolute; top:0; left:-60%; width:40%; height:100%;
    background:linear-gradient(115deg, transparent, rgba(255,255,255,.35), transparent);
    transform:skewX(-20deg); transition:left .65s var(--ease);
  }
  .btn:hover::before{left:130%;}

  /* ---------- live status badge ---------- */
  .status-badge{
    display:inline-flex; align-items:center; gap:8px;
    font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--taupe);
    border:var(--glass-border); background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    padding:7px 14px; border-radius:100px;
  }
  .status-badge .dot{width:7px; height:7px; border-radius:50%; background:var(--taupe); flex-shrink:0;}
  .status-badge.open .dot{background:#8bc48a; box-shadow:0 0 8px #8bc48a;}
  .status-badge.closed .dot{background:#c47a7a;}
  .status-badge.open{color:var(--ivory-dim); border-color:rgba(139,196,138,.3);}

  /* ---------- quiz ---------- */
  .quiz-sec{padding:120px 0; background:var(--ink-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .quiz-box{max-width:760px; margin:0 auto; text-align:center;}
  .quiz-step{display:none;}
  .quiz-step.active{display:block;}
  .quiz-options{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:40px;}
  .quiz-opt{
    border:var(--glass-border); background:var(--glass-bg);
    backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    box-shadow:var(--glass-shadow);
    padding:30px 18px;
    cursor:pointer; transition:border-color .35s var(--ease), transform .35s var(--ease), background .35s var(--ease);
    border-radius:18px;
  }
  .quiz-opt:hover{border-color:var(--gold); transform:translateY(-6px); background:var(--ink-soft);}
  .quiz-opt svg{width:28px; height:28px; stroke:var(--gold); fill:none; stroke-width:1.3; margin-bottom:14px;}
  .quiz-opt span{font-size:.86rem; color:var(--ivory-dim); display:block;}
  .quiz-result{display:none; text-align:left; margin-top:10px;}
  .quiz-result.active{display:block;}
  .quiz-retake{display:inline-block; margin-top:18px; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dim); cursor:pointer; border-bottom:1px solid var(--gold-dim); padding-bottom:2px;}

  /* ---------- timeline ---------- */
  .timeline-sec{padding:120px 0;}
  .timeline{display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; margin-top:60px;}
  .timeline::before{content:''; position:absolute; top:19px; left:10%; right:10%; height:1px; background:var(--line);}
  .tl-step{text-align:center; padding:0 12px; position:relative;}
  .tl-num{
    width:38px; height:38px; border-radius:12px; border:1px solid rgba(232,202,160,.4);
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    box-shadow:var(--glass-shadow);
    display:flex; align-items:center; justify-content:center; margin:0 auto 22px; position:relative; z-index:2;
    font-family:'Cormorant Garamond', serif; color:var(--gold-bright); font-size:.95rem;
    transition:background .4s var(--ease), color .4s var(--ease);
  }
  .tl-step.in .tl-num{background:var(--gold); color:var(--ink);}
  .tl-step h5{font-size:.95rem; color:var(--ivory); margin-bottom:8px;}
  .tl-step p{font-size:.8rem; color:var(--taupe);}

  /* ---------- membership tiers ---------- */
  .circle-sec{padding:120px 0; background:var(--ink-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .circle-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .circle-card{border:var(--glass-border); background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); box-shadow:var(--glass-shadow); padding:38px 30px; transition:transform .4s var(--ease), border-color .4s var(--ease); border-radius:20px;}
  .circle-card.featured{border-color:var(--gold); position:relative; transform:translateY(-14px);}
  .circle-card:hover{transform:translateY(-8px);}
  .circle-card.featured:hover{transform:translateY(-20px);}
  .circle-card .badge{
    position:absolute; top:-13px; left:30px; background:var(--gold); color:var(--ink);
    font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; padding:5px 12px;
  }
  .circle-card h4{font-family:'Instrument Serif', serif; font-style:italic; font-size:1.5rem; color:var(--gold-bright); margin-bottom:6px;}
  .circle-card .req{font-size:.72rem; color:var(--taupe); letter-spacing:.06em; margin-bottom:22px;}
  .circle-card ul{list-style:none;}
  .circle-card li{font-size:.86rem; color:var(--ivory-dim); padding:10px 0; border-top:1px dashed var(--line); display:flex; gap:10px;}
  .circle-card li:first-of-type{border-top:none;}
  .circle-card li::before{content:'—'; color:var(--gold-dim); flex-shrink:0;}

  /* ---------- quiz v2 (multi-step) ---------- */
  .quiz-progress{display:flex; justify-content:center; gap:8px; margin:34px 0 6px;}
  .quiz-progress .pdot{width:7px; height:7px; border-radius:50%; background:var(--line); transition:background .3s var(--ease), transform .3s var(--ease);}
  .quiz-progress .pdot.active{background:var(--gold); transform:scale(1.3);}
  .quiz-progress .pdot.done{background:var(--gold-dim);}
  .quiz-qcount{font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-dim); margin-bottom:10px;}
  .quiz-results-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; text-align:left; margin-top:10px;}
  .quiz-result-card{border:var(--glass-border); background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); box-shadow:var(--glass-shadow); overflow:hidden; transition:border-color .35s var(--ease), transform .35s var(--ease); border-radius:18px;}
  .quiz-result-card:hover{border-color:var(--gold); transform:translateY(-6px);}
  .quiz-result-card.rank1{border-color:var(--gold);}
  .quiz-result-card .rr-thumb{position:relative; height:150px;}
  .quiz-result-card .rr-thumb img{width:100%; height:100%;}
  .quiz-result-card .rr-badge{
    position:absolute; top:12px; left:12px;
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:1px solid rgba(232,202,160,.4);
    color:var(--gold-bright); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; padding:4px 10px;
  }
  .quiz-result-card .rr-body{padding:20px 20px 24px;}
  .quiz-result-card .rr-tag{font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-dim);}
  .quiz-result-card h4{font-size:1.05rem; color:var(--ivory); margin:8px 0 8px;}
  .quiz-result-card p{font-size:.8rem; color:var(--taupe); margin-bottom:16px; min-height:52px;}
  .quiz-result-card .btn{width:100%; justify-content:center; font-size:.68rem; padding:11px 16px;}

  @media (max-width:900px){
    .quiz-options{grid-template-columns:repeat(2,1fr);}
    .timeline{grid-template-columns:1fr; gap:34px;}
    .timeline::before{display:none;}
    .circle-grid{grid-template-columns:1fr;}
    .circle-card.featured{transform:none;}
    .quiz-results-grid{grid-template-columns:1fr;}
  }

  /* ---------- sticky mobile action bar ---------- */
  .sticky-bar{
    display:none; position:fixed; left:0; right:0; bottom:0; z-index:150;
    background:rgba(21,16,9,0.55); backdrop-filter:blur(20px) saturate(150%); -webkit-backdrop-filter:blur(20px) saturate(150%);
    border-top:var(--glass-border);
    padding:10px 14px; padding-bottom:calc(10px + env(safe-area-inset-bottom));
  }
  .sticky-bar .row{display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:10px;}
  .sticky-bar a{
    display:flex; align-items:center; justify-content:center; gap:7px;
    padding:13px 8px; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;
    border:1px solid var(--line); color:var(--ivory-dim);
  }
  .sticky-bar a svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.6; flex-shrink:0;}
  .sticky-bar a.wa{border-color:rgba(139,196,138,.4); color:#bfe3bd;}
  .sticky-bar a.book{background:var(--gold); color:var(--ink); border-color:var(--gold); font-weight:500;}
  @media (max-width:760px){
    .sticky-bar{display:block;}
    body{padding-bottom:74px;}
  }

  /* ---------- gallery filters ---------- */
  .gal-filters{display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:44px;}
  .gal-filter{
    border:var(--glass-border); background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); color:var(--taupe);
    padding:10px 22px; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
    cursor:pointer; transition:all .3s var(--ease);
  }
  .gal-filter:hover{color:var(--ivory-dim); border-color:var(--gold-dim);}
  .gal-filter.active{background:var(--gold); color:var(--ink); border-color:var(--gold);}
  .gal-item{transition:opacity .4s var(--ease), transform .4s var(--ease);}
  .gal-item.hidden{display:none;}

  /* ---------- virtual try-on ---------- */
  .tryon-sec{padding:120px 0; background:var(--ink-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .tryon-box{max-width:900px; margin:0 auto;}
  .tryon-upload{
    border:1px dashed rgba(232,202,160,.28); padding:70px 30px; text-align:center;
    background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); box-shadow:var(--glass-shadow);
  }
  .tryon-hint{margin-top:14px; font-size:.78rem; color:var(--taupe);}
  .tryon-privacy{margin-top:8px; font-size:.7rem; color:var(--gold-dim); letter-spacing:.04em;}
  .tryon-workspace{display:grid; grid-template-columns:1.3fr .9fr; gap:36px; align-items:start;}
  .tryon-canvas-wrap{
    position:relative; border:var(--glass-border); background:var(--glass-bg);
    backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); box-shadow:var(--glass-shadow);
    aspect-ratio:4/5; overflow:hidden; display:flex; align-items:center; justify-content:center;
  }
  .tryon-canvas-wrap canvas{max-width:100%; max-height:100%; width:auto; height:auto;}
  .tryon-loading{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    background:rgba(21,16,9,.86); color:var(--gold-bright); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase;
    flex-direction:column; gap:14px;
  }
  .tryon-loading .spin{
    width:26px; height:26px; border:2px solid var(--line); border-top-color:var(--gold);
    border-radius:50%; animation:spin 0.9s linear infinite;
  }
  @keyframes spin{ to{ transform:rotate(360deg); } }
  .tryon-swatches{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
  .tryon-swatch{text-align:center; cursor:pointer;}
  .tryon-swatch .chip{
    width:44px; height:44px; border-radius:50%; margin:0 auto 8px; border:2px solid transparent;
    transition:transform .3s var(--ease), border-color .3s var(--ease); box-shadow:inset 0 0 0 2px rgba(0,0,0,.25);
  }
  .tryon-swatch span{font-size:.68rem; color:var(--taupe); letter-spacing:.03em; display:block;}
  .tryon-swatch:hover .chip{transform:scale(1.1);}
  .tryon-swatch.active .chip{border-color:var(--gold-bright); transform:scale(1.12);}
  .tryon-actions{display:flex; flex-direction:column; gap:12px; margin-top:26px;}
  .tryon-actions .btn{width:100%; justify-content:center;}
  .tryon-error{
    display:none; border:1px solid rgba(196,122,122,.4); background:rgba(196,122,122,.08);
    color:#e3a9a9; padding:16px 18px; font-size:.82rem; margin-top:18px;
  }
  .tryon-choice{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:6px;}
  .tryon-camera-box{display:none;}
  .tryon-camera-wrap{
    position:relative; max-width:480px; margin:0 auto; aspect-ratio:4/5;
    border:var(--glass-border); background:#000; overflow:hidden; box-shadow:var(--glass-shadow);
  }
  .tryon-camera-wrap video{width:100%; height:100%; object-fit:cover; transform:scaleX(-1);}
  .tryon-camera-actions{display:flex; gap:14px; justify-content:center; margin-top:20px;}
  @media (max-width:760px){
    .tryon-workspace{grid-template-columns:1fr;}
    .tryon-upload{padding:44px 20px;}
  }

  /* ---------- before/after slider ---------- */
  .transform-sec{padding:120px 0; background:var(--ink); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .transform-sec .wrap{max-width:1000px;}
  .ba-slider{
    position:relative; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line);
    user-select:none; -webkit-user-select:none; touch-action:pan-y;
    max-width:760px; margin:0 auto;
  }
  .ba-slider img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none;
    transition:opacity .32s ease;
  }
  .ba-after-wrap{position:absolute; inset:0; overflow:hidden; width:50%;}
  .ba-after-wrap img{width:var(--ba-img-w,760px); max-width:none;}
  .ba-slider.animate .ba-after-wrap{transition:width .55s cubic-bezier(.22,.9,.3,1);}
  .ba-slider.animate .ba-handle{transition:left .55s cubic-bezier(.22,.9,.3,1);}
  .ba-tag{
    position:absolute; top:16px; z-index:3; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase;
    color:var(--ink); background:var(--gold-bright); padding:6px 12px;
  }
  .ba-tag.before{left:16px;}
  .ba-tag.after{right:16px;}
  .ba-handle{
    position:absolute; top:0; bottom:0; left:50%; width:0; z-index:4;
    transform:translateX(-50%); cursor:ew-resize;
  }
  .ba-handle::before{content:''; position:absolute; top:0; bottom:0; left:0; width:2px; background:var(--gold-bright); transform:translateX(-1px);}
  .ba-handle .knob{
    position:absolute; top:50%; left:0; transform:translate(-50%,-50%);
    width:44px; height:44px; border-radius:50%; background:var(--gold);
    display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,.4);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .ba-slider:active .ba-handle .knob{transform:translate(-50%,-50%) scale(1.15); box-shadow:0 8px 24px rgba(0,0,0,.5);}
  .ba-handle .knob svg{width:18px; height:18px; stroke:var(--ink); fill:none; stroke-width:2;}
  .transform-caption{text-align:center; max-width:560px; margin:34px auto 0;}
  .transform-caption p{color:var(--taupe); margin-top:12px;}
  .transform-hint{text-align:center; font-size:.72rem; letter-spacing:.08em; color:var(--gold-dim); margin-top:16px;}
  .ba-tabs{display:flex; justify-content:center; gap:10px; margin-bottom:40px; flex-wrap:wrap;}
  .ba-tab{
    border:var(--glass-border); background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); color:var(--taupe);
    padding:10px 22px; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
    cursor:pointer; transition:all .3s var(--ease);
  }
  .ba-tab:hover{color:var(--ivory-dim); border-color:var(--gold-dim);}

  /* ============================================================
     PREMIUM ENHANCEMENTS — Luxury UI/UX System
     ============================================================ */

  /* ---------- 1. Noise / grain texture overlay ---------- */
  .noise-overlay{
    position:fixed; inset:0; z-index:9997; pointer-events:none;
    opacity:.035; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
    background-repeat:repeat; background-size:200px 200px;
  }

  /* ---------- 2. Enhanced scroll reveal animations ---------- */
  .reveal{opacity:0; transform:translateY(36px); transition:opacity 1s var(--ease), transform 1s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}
  .reveal-left{opacity:0; transform:translateX(-40px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
  .reveal-left.in{opacity:1; transform:translateX(0);}
  .reveal-right{opacity:0; transform:translateX(40px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
  .reveal-right.in{opacity:1; transform:translateX(0);}
  .reveal-scale{opacity:0; transform:scale(0.92); transition:opacity .9s var(--ease), transform .9s var(--ease);}
  .reveal-scale.in{opacity:1; transform:scale(1);}
  .reveal-blur{opacity:0; filter:blur(8px); transform:translateY(20px); transition:opacity 1s var(--ease), filter 1.2s var(--ease), transform 1s var(--ease);}
  .reveal-blur.in{opacity:1; filter:blur(0); transform:translateY(0);}
  /* Stagger children */
  .stagger-children .reveal{transition-delay:calc(var(--i,0) * 120ms);}
  @media (prefers-reduced-motion: reduce){
    .reveal,.reveal-left,.reveal-right,.reveal-scale,.reveal-blur{opacity:1; transform:none; filter:none; transition:none;}
  }

  /* ---------- 3. Marquee / ticker animation ---------- */
  .marquee-wrap{
    overflow:hidden; position:relative; z-index:5;
    padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  }
  .marquee-track{
    display:flex; width:max-content;
    animation:marquee 30s linear infinite;
  }
  .marquee-track:hover{animation-play-state:paused;}
  .marquee-item{
    display:flex; align-items:center; gap:24px;
    padding:0 40px; white-space:nowrap;
    font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-style:italic;
    color:var(--ivory-dim); letter-spacing:.06em;
    transition:color .3s var(--ease);
  }
  .marquee-item:hover{color:var(--gold-bright);}
  .marquee-item .sep{
    width:6px; height:6px; border-radius:50%;
    background:var(--gold-dim); flex-shrink:0;
    opacity:.6;
  }
  @keyframes marquee{
    0%{transform:translateX(0);}
    100%{transform:translateX(-50%);}
  }
  @media (prefers-reduced-motion: reduce){
    .marquee-track{animation:none;}
  }

  /* ---------- 4. Enhanced card hover: lift + glow ---------- */
  .svc-card,.pillar,.circle-card,.stylist-card,.gal-item,.quiz-opt,.quiz-result-card,.hc-chip,.info-row{
    transition:transform .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);
  }
  .svc-card:hover,.pillar:hover,.circle-card:hover,.stylist-card:hover,.quiz-opt:hover,.quiz-result-card:hover,.hc-chip:hover{
    box-shadow:0 22px 50px -18px rgba(201,162,75,.18), 0 8px 20px -8px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.08);
  }
  .gal-item:hover{
    box-shadow:0 20px 44px -16px rgba(201,162,75,.2), 0 6px 16px -6px rgba(0,0,0,.35);
  }

  /* ---------- 5. Gradient animated border on hover ---------- */
  .svc-card::after,.pillar::after,.circle-card::after{
    content:''; position:absolute; inset:-1px; z-index:-1; border-radius:inherit;
    background:conic-gradient(from var(--border-angle,0deg), transparent 60%, var(--gold) 80%, transparent 100%);
    opacity:0; transition:opacity .5s var(--ease);
    pointer-events:none;
  }
  .svc-card,.pillar,.circle-card{position:relative;}
  .svc-card:hover::after,.pillar:hover::after,.circle-card:hover::after{opacity:1;}
  @keyframes borderSpin{
    to{--border-angle:360deg;}
  }
  @property --border-angle{
    syntax:'<angle>'; initial-value:0deg; inherits:false;
  }
  .svc-card:hover,.pillar:hover,.circle-card:hover{
    animation:borderSpin 3s linear infinite;
  }
  @media (prefers-reduced-motion: reduce){
    .svc-card::after,.pillar::after,.circle-card::after{display:none;}
    .svc-card:hover,.pillar:hover,.circle-card:hover{animation:none;}
  }

  /* ---------- 6. Image hover zoom (premium) ---------- */
  .svc-thumb,.gal-item,.stylist-photo,.team-hero,.products-img,.visit-img{
    overflow:hidden;
  }
  .svc-thumb img,.gal-item img,.stylist-photo img,.team-hero img,.products-img img,.visit-img img{
    transition:transform .8s var(--ease);
  }
  .svc-card:hover .svc-thumb img,.gal-item:hover img,.stylist-card:hover .stylist-photo img,.visit-img:hover img{
    transform:scale(1.06);
  }

  /* ---------- 7. Link underline draw effect ---------- */
  .navlinks a::after{transition:width .4s var(--ease);}
  .foot-col a{
    position:relative; display:inline-block;
  }
  .foot-col a::after{
    content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px;
    background:var(--gold); transition:width .35s var(--ease);
  }
  .foot-col a:hover::after{width:100%;}

  /* ---------- 8. Premium button glow on hover ---------- */
  .btn.filled:hover{
    box-shadow:0 8px 30px -6px rgba(201,162,75,.55), 0 0 60px -20px rgba(201,162,75,.3);
  }
  .btn:not(.filled):hover{
    box-shadow:0 0 40px -14px rgba(201,162,75,.35);
    border-color:var(--gold-bright);
  }

  /* ---------- 9. Social icon hover pulse ---------- */
  .socials a{
    transition:background .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .socials a:hover{
    transform:translateY(-3px) scale(1.08);
    box-shadow:0 6px 20px -6px rgba(201,162,75,.35);
  }

  /* ---------- 10. Custom scrollbar ---------- */
  ::-webkit-scrollbar{width:6px;}
  ::-webkit-scrollbar-track{background:var(--ink);}
  ::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg, var(--gold-dim), var(--gold));
    border-radius:4px;
  }
  ::-webkit-scrollbar-thumb:hover{background:var(--gold-bright);}
  *{scrollbar-width:thin; scrollbar-color:var(--gold-dim) var(--ink);}

  /* ---------- 12. Animated counter ---------- */
  .counter-num{
    font-family:'Cormorant Garamond',serif; font-size:2.4rem; color:var(--gold-bright);
    line-height:1; margin-bottom:6px;
  }
  .counter-label{
    font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--taupe);
  }

  /* ---------- 13. Hero text letter reveal ---------- */
  .hero-copy h1 .char{
    display:inline-block; opacity:0; transform:translateY(20px);
    animation:charReveal .5s var(--ease) forwards;
    animation-delay:calc(var(--ci) * 30ms + .3s);
  }
  @keyframes charReveal{
    to{opacity:1; transform:translateY(0);}
  }
  @media (prefers-reduced-motion: reduce){
    .hero-copy h1 .char{opacity:1; transform:none; animation:none;}
  }

  /* ---------- 14. Soft glow float for hero badge ---------- */
  .hero-badge{
    animation:floatSoft 5s ease-in-out infinite;
  }
  @keyframes floatSoft{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-8px);}
  }
  @media (prefers-reduced-motion: reduce){
    .hero-badge{animation:none;}
  }

  /* ---------- 15. Premium quote section glow ---------- */
  .quote-sec::before{
    content:''; position:absolute; top:50%; left:50%;
    width:500px; height:500px; transform:translate(-50%,-50%);
    background:radial-gradient(circle, rgba(201,162,75,.08), transparent 70%);
    pointer-events:none; z-index:0;
  }

  /* ---------- 16. Eyebrow line animation ---------- */
  .eyebrow::before{
    transition:width .5s var(--ease);
    width:28px;
  }
  .reveal.in .eyebrow::before{width:28px;}

  /* ---------- 17. Enhanced strip items hover ---------- */
  .strip .item{
    transition:transform .3s var(--ease), color .3s var(--ease);
    cursor:default;
  }
  .strip .item:hover{transform:translateY(-2px); color:var(--gold-bright);}

  /* ---------- 18. Timeline step hover glow ---------- */
  .tl-num{
    transition:background .4s var(--ease), color .4s var(--ease), box-shadow .4s var(--ease);
  }
  .tl-step.in .tl-num{
    box-shadow:0 0 20px rgba(201,162,75,.35);
  }

  /* ---------- 19. Premium select / focus ring ---------- */
  input:focus,button:focus-visible{
    outline:2px solid var(--gold);
    outline-offset:2px;
  }

  /* ---------- 20. Stagger animation delays for grids ---------- */
  .svc-grid .svc-card:nth-child(1){transition-delay:0ms;}
  .svc-grid .svc-card:nth-child(2){transition-delay:80ms;}
  .svc-grid .svc-card:nth-child(3){transition-delay:160ms;}
  .svc-grid .svc-card:nth-child(4){transition-delay:240ms;}
  .pillar-grid .pillar:nth-child(1){transition-delay:0ms;}
  .pillar-grid .pillar:nth-child(2){transition-delay:80ms;}
  .pillar-grid .pillar:nth-child(3){transition-delay:160ms;}
  .pillar-grid .pillar:nth-child(4){transition-delay:240ms;}
  .circle-grid .circle-card:nth-child(1){transition-delay:0ms;}
  .circle-grid .circle-card:nth-child(2){transition-delay:80ms;}
  .circle-grid .circle-card:nth-child(3){transition-delay:160ms;}
  .home-contact-grid .hc-chip:nth-child(1){transition-delay:0ms;}
  .home-contact-grid .hc-chip:nth-child(2){transition-delay:80ms;}
  .home-contact-grid .hc-chip:nth-child(3){transition-delay:160ms;}
  .home-contact-grid .hc-chip:nth-child(4){transition-delay:240ms;}
  .ba-tab.active{background:var(--gold); color:var(--ink); border-color:var(--gold);}
