  :root{
    --charcoal:#1c1917;
    --charcoal-2:#24211f;
    --charcoal-3:#2c2927;
    --amber:#f59e0b;
    --amber-soft:#c98409;
    --stone:#78716c;
    --stone-2:#a8a29e;
    --cream:#fdf6e3;
    --cream-2:#f3ead0;
    --line:rgba(168,162,158,0.18);
    --serif:'Italiana','Cormorant Garamond', 'Didot', 'Times New Roman', serif;
    --serif-2:'Cormorant Garamond', 'Times New Roman', serif;
    --mono:'Space Mono','Courier New',ui-monospace,monospace;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{background:var(--charcoal);color:var(--cream);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  body{font-family:var(--mono);font-size:14px;line-height:1.6;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  ::selection{background:var(--amber);color:var(--charcoal)}

  /* ---------- UTIL ---------- */
  .wrap{max-width:1440px;margin:0 auto;padding:0 40px}
  .mono{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--stone-2)}
  .eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--amber)}
  .eyebrow::before{content:"";width:28px;height:1px;background:var(--amber)}
  h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em;line-height:1.02}
  .display{font-size:clamp(56px,10vw,168px);letter-spacing:-0.02em;line-height:0.92}
  .h1{font-size:clamp(44px,6.2vw,104px);line-height:0.98}
  .h2{font-size:clamp(36px,4.8vw,76px);line-height:1.02}
  .h3{font-size:clamp(24px,2.4vw,40px);line-height:1.08}
  .italic{font-family:var(--serif-2);font-style:italic;font-weight:300}
  .amber{color:var(--amber)}
  .stone{color:var(--stone-2)}
  .hair{height:1px;background:var(--line);width:100%}


  /* LIGHTBOX */
  #lb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(28,25,23,0.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:40px 20px}
  #lb.open{display:flex}
  #lb-inner{position:relative;max-width:min(700px,90vw);width:100%;animation:lbIn .4s cubic-bezier(.2,.7,.2,1)}
  @keyframes lbIn{from{opacity:0;transform:scale(0.94) translateY(20px)}to{opacity:1;transform:none}}
  #lb-close{position:fixed;top:28px;right:36px;font-family:var(--mono);font-size:22px;color:var(--stone-2);cursor:pointer;line-height:1;transition:color .2s;z-index:201}
  #lb-close:hover{color:var(--cream)}
  #lb-frame{
    background:transparent;
    padding:0;
    box-shadow:0 40px 100px rgba(0,0,0,0.8), 0 80px 160px rgba(0,0,0,0.4);
    position:relative
  }
  #lb-frame::before{display:none}
  #lb-frame::after{content:"";position:absolute;bottom:-30px;left:5%;right:5%;height:30px;background:radial-gradient(ellipse at 50% 0,rgba(0,0,0,0.6),transparent 70%);pointer-events:none}
  #lb-info{padding:24px 4px 0;text-align:center}
  #lb-title{font-family:var(--serif);font-size:clamp(22px,3vw,34px);color:var(--cream);line-height:1.05}
  #lb-title em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--amber);font-weight:300}
  #lb-medium{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone-2);margin-top:8px}
  #lb-price{font-family:var(--serif);font-size:22px;color:var(--amber);margin-top:8px}
  #lb-story{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--stone-2);line-height:1.6;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
  #lb-enquire{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:12px 22px;border:1px solid var(--amber);font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--amber);cursor:pointer;text-decoration:none;transition:all .3s}
  #lb-enquire:hover{background:var(--amber);color:var(--charcoal)}

  /* reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.06s}.reveal.d2{transition-delay:.14s}.reveal.d3{transition-delay:.22s}.reveal.d4{transition-delay:.3s}

  /* ---------- NAV ---------- */
  .nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;mix-blend-mode:normal;transition:background .4s ease, padding .4s ease, border-color .4s}
  .nav.scrolled{background:rgba(28,25,23,0.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:14px 40px;border-bottom:1px solid var(--line)}
  .brand{display:flex;align-items:center;gap:14px}
  .brand-mark{width:34px;height:34px;border:1.5px solid var(--amber);display:grid;place-items:center;font-family:var(--serif);font-size:20px;color:var(--amber);font-weight:400;line-height:1;padding-bottom:2px;flex-shrink:0}
  .brand-name{font-family:var(--serif);font-size:22px;letter-spacing:0.02em}
  .brand-name em{font-family:var(--serif-2);font-style:italic;color:var(--amber)}
  .nav-links{display:flex;gap:34px;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase}
  .nav-links a{position:relative;padding:6px 0;color:var(--stone-2);transition:color .3s}
  .nav-links a:hover{color:var(--cream)}
  .nav-links a.active{color:var(--amber)}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--amber);transition:width .4s ease}
  .nav-links a:hover::after,.nav-links a.active::after{width:100%}
  .nav-cta{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid var(--cream);font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;transition:all .3s}
  .nav-cta:hover{background:var(--amber);border-color:var(--amber);color:var(--charcoal)}
  .nav-cta .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 rgba(245,158,11,.6);animation:pulse 2.2s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(245,158,11,.55)}70%{box-shadow:0 0 0 10px rgba(245,158,11,0)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}

  /* ---------- HERO ---------- */
  .hero{position:relative;min-height:100vh;padding:140px 40px 80px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
  .hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(1200px 700px at 85% 20%, rgba(245,158,11,0.10), transparent 60%),
    radial-gradient(900px 600px at 10% 90%, rgba(245,158,11,0.06), transparent 60%);
    pointer-events:none}
  .hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:120px 120px;opacity:.4;mask-image:linear-gradient(180deg,black 20%,transparent 95%)}
  .hero-top{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
  .hero-meta{display:flex;flex-direction:column;gap:6px}
  .hero-meta .kv{display:flex;gap:14px;align-items:center}
  .hero-meta .kv b{color:var(--cream);font-weight:400}
  .hero-main{position:relative;margin-top:auto}
  .hero-main h1{color:var(--cream)}
  .hero-main h1 .line{display:block;overflow:hidden}
  .hero-main h1 .line > span{display:inline-block}
  .hero-main h1 em{font-family:var(--serif-2);font-style:italic;color:var(--amber);font-weight:300}
  .hero-caption{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px;align-items:end;margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
  .hero-caption p{max-width:44ch;font-size:15px;line-height:1.7;color:var(--stone-2)}
  .hero-caption .col-num{font-family:var(--serif);font-size:72px;color:var(--cream);line-height:1}
  .scroll-cue{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--stone-2)}
  .scroll-cue .bar{width:1px;height:40px;background:linear-gradient(var(--amber),transparent);animation:drip 2s infinite}
  @keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

  /* hero art placeholder (abstract) */
  .hero-art{position:absolute;top:18%;right:6%;width:360px;height:520px;pointer-events:none}
  .hero-art .frame{position:absolute;inset:0;border:1px solid var(--line)}
  .hero-art .frame.a{transform:rotate(-4deg) translate(-20px,-14px);background:linear-gradient(135deg,#2a2522, #1c1917)}
  .hero-art .frame.b{transform:rotate(3deg) translate(30px,20px);background:linear-gradient(160deg, rgba(245,158,11,0.18), rgba(28,25,23,0.8))}
  .hero-art .frame.c{transform:rotate(-1deg);background:var(--charcoal-2);display:grid;place-items:center}
  .hero-art .frame.c::before{content:"";position:absolute;inset:18px;border:1px solid rgba(253,246,227,0.12)}
  .hero-art .disk{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:58%;aspect-ratio:1;border-radius:50%;background:
    radial-gradient(circle at 30% 30%, rgba(245,158,11,0.7), rgba(245,158,11,0.0) 55%),
    conic-gradient(from 200deg, #3a2f1e, #1c1917, #3a2f1e);
    box-shadow:0 0 80px rgba(245,158,11,0.18), inset 0 0 40px rgba(0,0,0,0.6)}
  .hero-art .tag{position:absolute;left:10px;bottom:10px;font-family:var(--mono);font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone-2)}

  /* marquee */
  .marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--charcoal)}
  .marquee-track{display:flex;gap:64px;padding:22px 0;white-space:nowrap;animation:scroll 40s linear infinite;font-family:var(--serif);font-size:28px;color:var(--cream)}
  .marquee-track em{font-family:var(--serif-2);font-style:italic;color:var(--amber)}
  .marquee-track span{display:inline-flex;align-items:center;gap:64px}
  .marquee-track .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);display:inline-block}
  @keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* ---------- SECTION SHELL ---------- */
  section{position:relative}
  .sec{padding:140px 40px;position:relative}
  .sec-head{display:grid;grid-template-columns:180px 1fr;gap:60px;margin-bottom:72px;align-items:start}
  .sec-head .num{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--amber);padding-top:10px}
  .sec-head h2{max-width:18ch}
  .sec-head h2 em{font-family:var(--serif-2);font-style:italic;color:var(--amber);font-weight:300}

  /* ---------- ABOUT ---------- */
  .about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:start}
  .about-copy p{font-size:17px;line-height:1.7;color:var(--cream);max-width:54ch}
  .about-copy p + p{margin-top:22px;color:var(--stone-2)}
  .about-copy p.lede{font-family:var(--serif-2);font-style:italic;font-weight:300;font-size:26px;line-height:1.35;color:var(--cream)}
  .about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:48px;border:1px solid var(--line);border-bottom:none}
  .about-stats .cell{background:var(--charcoal);padding:26px 24px}
  .about-stats .num{font-family:var(--serif);font-size:40px;color:var(--amber);line-height:1.1}
  .about-stats .lbl{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone-2);margin-top:10px}
  .about-art{aspect-ratio:3/4;background:var(--charcoal-2);position:relative;border:1px solid var(--line);overflow:hidden}
  .about-art::before{content:"";position:absolute;inset:20px;border:1px solid rgba(253,246,227,0.08)}
  .about-art .shape1{position:absolute;left:12%;top:18%;width:45%;aspect-ratio:1;background:linear-gradient(140deg, var(--amber), transparent 70%);border-radius:50%;filter:blur(2px);opacity:.6}
  .about-art .shape2{position:absolute;right:8%;bottom:10%;width:55%;height:45%;background:repeating-linear-gradient(45deg,rgba(253,246,227,0.08) 0 2px,transparent 2px 14px);border:1px solid var(--line)}
  .about-art .shape3{position:absolute;left:30%;bottom:20%;width:40%;aspect-ratio:1;border:1px solid var(--amber);transform:rotate(18deg)}
  .about-art .cap{position:absolute;left:20px;bottom:20px;font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone-2)}

  /* ---------- VISION ---------- */
  .vision{border-top:1px solid var(--line);background:var(--charcoal-2)}
  .vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
  .vision-copy p{font-size:16px;line-height:1.75;color:var(--stone-2);max-width:48ch}
  .vision-copy p + p{margin-top:20px}
  .vision-copy p:first-child{font-family:var(--serif-2);font-style:italic;font-weight:300;font-size:22px;line-height:1.5;color:var(--cream)}
  .pillars{list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
  .pillars li{padding:26px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:50px 1fr;gap:24px;align-items:start;row-gap:6px}
  .pillars li .n{font-family:var(--serif);font-size:32px;color:var(--amber);line-height:1;grid-row:1 / span 2}
  .pillars li b{font-family:var(--serif);font-weight:400;font-size:24px;color:var(--cream);line-height:1.1}
  .pillars li span{color:var(--stone-2);font-size:13px;line-height:1.7;grid-column:2}
  @media (max-width:1100px){.vision-grid{grid-template-columns:1fr;gap:40px}}

  /* ---------- SERVICES ---------- */
  .services{border-top:1px solid var(--line)}
  .svc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line);border-right:none;border-bottom:none}
  .svc{padding:52px 48px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--charcoal);position:relative;transition:background .4s;display:flex;flex-direction:column}
  .svc:hover{background:var(--charcoal-2)}
  .svc .n{font-family:var(--mono);font-size:10px;letter-spacing:0.22em;color:var(--amber)}
  .svc h3{margin-top:48px;font-family:var(--serif);font-size:42px;line-height:1.05}
  .svc h3 em{font-family:var(--serif-2);font-style:italic;color:var(--amber);font-weight:300}
  .svc p{margin-top:18px;color:var(--stone-2);font-size:14px;line-height:1.8;max-width:40ch}
  .svc .arrow{position:absolute;right:28px;top:28px;width:32px;height:32px;border:1px solid var(--line);display:grid;place-items:center;transition:all .3s}
  .svc:hover .arrow{border-color:var(--amber);color:var(--amber);transform:rotate(-45deg)}

  /* ---------- GALLERY / PORTFOLIO ---------- */
  .gallery{background:var(--charcoal)}
  .gal-filter{display:flex;gap:0;flex-wrap:wrap;margin-bottom:48px;border-bottom:1px solid var(--line)}
  .gf-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--stone-2);padding:12px 24px 12px 0;font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;transition:all .3s;margin-bottom:-1px}
  .gf-btn.on{color:var(--amber);border-bottom-color:var(--amber)}
  .gf-btn:hover:not(.on){color:var(--cream)}

  .gal-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
  .piece{position:relative;overflow:hidden;cursor:pointer;background:var(--charcoal-2);border:1px solid var(--line)}
  .piece:nth-child(1){grid-column:span 5;aspect-ratio:unset;min-height:560px}
  .piece:nth-child(2){grid-column:span 7;aspect-ratio:unset;min-height:560px}
  .piece:nth-child(3){grid-column:span 4;aspect-ratio:1}
  .piece:nth-child(4){grid-column:span 4;aspect-ratio:1}
  .piece:nth-child(5){grid-column:span 4;aspect-ratio:1}
  .piece:nth-child(6){grid-column:span 6;aspect-ratio:3/2}
  .piece:nth-child(7){grid-column:span 6;aspect-ratio:3/2}
  .piece .art{position:absolute;inset:0;transition:transform 1.2s cubic-bezier(.2,.7,.2,1), filter .6s}
  .piece:hover .art{filter:brightness(0.55)}
  .piece:hover .piece-img{transform:scale(1.05)}
  .mockup-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease;z-index:3;pointer-events:none}
  .piece.has-mockup .mockup-img{opacity:1}
  .piece.has-mockup:hover .mockup-img{opacity:0}
  /* Lightbox image */
  #lb-img{display:block;width:100%;max-height:60vh;object-fit:contain;background:transparent;transition:opacity .25s ease}
  #lb-dots{display:flex;justify-content:center;gap:10px;padding:14px 0 2px}
  .lb-dot{width:7px;height:7px;border-radius:50%;background:var(--stone);border:1px solid var(--stone-2);cursor:pointer;transition:background .2s,border-color .2s}
  .lb-dot.active{background:var(--amber);border-color:var(--amber)}
  .lb-arrow{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(253,246,227,0.08);border:1px solid rgba(253,246,227,0.2);color:var(--cream);font-size:20px;display:none;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,border-color .25s,transform .25s;z-index:210;user-select:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);letter-spacing:0}
  .lb-arrow:hover{background:rgba(253,246,227,0.18);border-color:rgba(253,246,227,0.45);transform:translateY(-50%) scale(1.1)}
  #lb-prev{left:clamp(14px,3vw,56px)}
  #lb-next{right:clamp(14px,3vw,56px)}
  .piece .meta{position:absolute;left:0;right:0;bottom:0;padding:22px 22px 20px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;color:var(--cream);z-index:4;transform:translateY(12px);opacity:0;transition:all .5s cubic-bezier(.2,.7,.2,1)}
  .piece:hover .meta{transform:none;opacity:1}
  .piece .meta .title{font-family:var(--serif);font-size:26px;line-height:1.05}
  .piece .meta .title em{font-family:var(--serif-2);font-style:italic;color:var(--amber);font-weight:300}
  .piece .meta .sub{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone-2);margin-top:6px}
  .piece .meta .price{font-family:var(--serif);font-size:22px;color:var(--amber);white-space:nowrap}
  .piece .tag{position:absolute;top:16px;left:16px;font-family:var(--mono);font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--cream);background:rgba(28,25,23,0.7);padding:6px 10px;border:1px solid var(--line);z-index:5}
  .piece .story{position:absolute;inset:0;padding:26px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,rgba(28,25,23,0.1),rgba(28,25,23,0.95));opacity:0;transition:opacity .5s;z-index:2}
  .piece:hover .story{opacity:1}
  .piece .story .q{font-family:var(--serif-2);font-style:italic;font-weight:300;font-size:22px;line-height:1.3;color:var(--cream);max-width:30ch}
  .piece .story .q::before{content:"\"";color:var(--amber);font-size:32px;display:block;line-height:0.4;margin-bottom:8px}

  /* art placeholders — each piece is its own composition */
  .art-a{background:radial-gradient(circle at 30% 35%, #8a5a1f 0%, #3a2614 40%, #1c1917 80%)}
  .art-a::after{content:"";position:absolute;inset:14%;border:1px solid rgba(253,246,227,0.15);transform:rotate(6deg)}
  .art-b{background:linear-gradient(160deg,#2a2522 0%, #1c1917 100%);position:relative}
  .art-b::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40%;aspect-ratio:1;background:radial-gradient(circle,var(--amber) 0%, transparent 70%);filter:blur(20px);opacity:.6}
  .art-b::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22%;aspect-ratio:1;border:1px solid var(--amber);border-radius:50%}
  .art-c{background:repeating-linear-gradient(90deg,#1c1917 0 14px,#24211f 14px 28px)}
  .art-c::before{content:"";position:absolute;inset:20%;background:linear-gradient(135deg,var(--amber),transparent);opacity:.35;mix-blend-mode:screen}
  .art-d{background:radial-gradient(circle at 70% 70%, #c98409 0%, #3a2614 35%, #1c1917 80%)}
  .art-d::after{content:"";position:absolute;left:15%;top:15%;width:70%;height:70%;border:1px solid rgba(253,246,227,0.1);border-radius:50%}
  .art-e{background:linear-gradient(135deg,#1c1917,#2a2522);position:relative}
  .art-e::before{content:"";position:absolute;left:10%;top:20%;width:30%;height:60%;background:var(--amber);opacity:.85;clip-path:polygon(0 0, 100% 10%, 90% 100%, 10% 90%)}
  .art-e::after{content:"";position:absolute;right:15%;bottom:15%;width:35%;height:35%;background:var(--cream);opacity:.08;transform:rotate(-8deg)}
  .art-f{background:conic-gradient(from 45deg at 40% 60%, #1c1917, #3a2614, #1c1917, #8a5a1f, #1c1917)}
  .art-f::after{content:"";position:absolute;inset:30%;border:1px solid var(--amber);transform:rotate(22deg)}
  .art-g{background:linear-gradient(180deg,#2a2522 0%, #1c1917 60%)}
  .art-g::before{content:"";position:absolute;left:20%;bottom:10%;width:60%;height:70%;background:repeating-linear-gradient(0deg,rgba(245,158,11,0.18) 0 1px,transparent 1px 8px)}
  .art-g::after{content:"";position:absolute;left:50%;top:30%;transform:translateX(-50%);width:20%;aspect-ratio:1;background:var(--amber);border-radius:50%;filter:blur(1px)}

  /* ---------- PROCESS ---------- */
  .process{background:var(--cream);color:var(--charcoal)}
  .process .mono,.process .stone{color:#6b6460}
  .process .sec-head .num{color:var(--amber-soft)}
  .process h2{color:var(--charcoal)}
  .process h2 em{color:var(--amber-soft)}
  .proc-rows .row{display:grid;grid-template-columns:100px 260px 1fr 180px;gap:40px;padding:32px 0;border-top:1px solid rgba(28,25,23,0.12);align-items:start;transition:padding .4s}
  .proc-rows .row:hover{padding-left:16px}
  .proc-rows .row:last-child{border-bottom:1px solid rgba(28,25,23,0.12)}
  .proc-rows .n{font-family:var(--serif);font-size:42px;color:var(--amber-soft)}
  .proc-rows h3{font-family:var(--serif);font-size:32px;color:var(--charcoal);line-height:1.05}
  .proc-rows h3 em{font-family:var(--serif-2);font-style:italic;color:var(--amber-soft);font-weight:300}
  .proc-rows p{color:#6b6460;font-size:14px;line-height:1.75;max-width:52ch}
  .proc-rows .time{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#6b6460;text-align:right}

  /* ---------- FOR ARTISTS ---------- */
  .artists{background:var(--charcoal);position:relative;overflow:hidden}
  .artists::before{content:"";position:absolute;inset:0;background:radial-gradient(1000px 500px at 80% 40%,rgba(245,158,11,0.08),transparent 60%);pointer-events:none}
  .art-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
  .art-split .left h2{max-width:14ch}
  .art-split .left p{margin-top:24px;color:var(--stone-2);max-width:46ch;font-size:16px;line-height:1.7}
  .art-split ul{list-style:none;margin-top:36px}
  .art-split ul li{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:32px 1fr;gap:20px;align-items:start}
  .art-split ul li:last-child{border-bottom:1px solid var(--line)}
  .art-split ul li .n{font-family:var(--mono);font-size:11px;color:var(--amber);letter-spacing:0.2em}
  .art-split ul li b{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--cream);display:block;margin-bottom:4px}
  .art-split ul li span{color:var(--stone-2);font-size:13px}
  .art-split .right{position:relative;aspect-ratio:1;background:var(--charcoal-2);border:1px solid var(--line);padding:40px;display:grid;place-items:center}
  .art-split .right::before{content:"";position:absolute;inset:14px;border:1px dashed rgba(245,158,11,0.3)}
  .art-split .right .quote{font-family:var(--serif);font-size:44px;line-height:1.12;text-align:center;color:var(--cream);max-width:22ch}
  .art-split .right .quote em{font-family:var(--serif-2);font-style:italic;color:var(--amber);font-weight:300}
  .art-split .right .byline{position:absolute;left:30px;bottom:24px;font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone-2)}
  .apply-btn{display:inline-flex;align-items:center;gap:14px;margin-top:40px;padding:18px 28px;background:var(--amber);color:var(--charcoal);font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;transition:all .3s;border:1px solid var(--amber)}
  .apply-btn:hover{background:transparent;color:var(--amber)}
  .apply-btn .arrow{transition:transform .3s}
  .apply-btn:hover .arrow{transform:translateX(6px)}

  /* ---------- STORY CARDS ---------- */
  .story-card:hover{border-color:var(--amber) !important}
  .story-card:hover .story-img{transform:scale(1.04)}

  /* ---------- TESTIMONIALS ---------- */
  .testimonials{border-top:1px solid var(--line)}
  .test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .test{background:var(--charcoal);padding:40px 34px;display:flex;flex-direction:column;gap:28px;min-height:360px;transition:background .4s}
  .test:hover{background:var(--charcoal-2)}
  .test .quote{font-family:var(--serif-2);font-style:italic;font-weight:300;font-size:22px;line-height:1.45;color:var(--cream);flex:1}
  .test .quote::before{content:"\"";font-family:var(--serif);font-style:normal;color:var(--amber);font-size:52px;display:block;line-height:0.2;margin-bottom:18px}
  .test .who{display:flex;align-items:center;gap:14px}
  .test .avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--amber),var(--charcoal-3));display:grid;place-items:center;font-family:var(--serif);color:var(--charcoal);font-size:16px}
  .test .who b{font-family:var(--serif);font-weight:400;font-size:17px;color:var(--cream);display:block}
  .test .who span{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone-2)}

  /* ---------- PRICING ---------- */
  .pricing{background:var(--cream);color:var(--charcoal)}
  .pricing .sec-head h2{color:var(--charcoal)}
  .pricing .sec-head h2 em{color:var(--amber-soft)}
  .pricing .sec-head .num{color:var(--amber-soft)}
  .plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .plan{background:#fff;border:1px solid rgba(28,25,23,0.12);padding:44px 34px;display:flex;flex-direction:column;gap:22px;position:relative;transition:transform .4s, box-shadow .4s}
  .plan:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(28,25,23,0.25)}
  .plan.feat{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal)}
  .plan.feat .lbl,.plan.feat .desc,.plan.feat li{color:var(--stone-2)}
  .plan.feat h3{color:var(--cream)}
  .plan.feat .price{color:var(--amber)}
  .plan.feat .btn{background:var(--amber);color:var(--charcoal);border-color:var(--amber)}
  .plan.feat .btn:hover{background:transparent;color:var(--amber)}
  .plan .lbl{font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:#6b6460}
  .plan .badge{position:absolute;top:-10px;right:24px;background:var(--amber);color:var(--charcoal);font-family:var(--mono);font-size:9px;letter-spacing:0.2em;text-transform:uppercase;padding:6px 12px}
  .plan h3{font-family:var(--serif);font-size:40px;color:var(--charcoal);line-height:1}
  .plan h3 em{font-family:var(--serif-2);font-style:italic;color:var(--amber-soft);font-weight:300}
  .plan .price{font-family:var(--serif);font-size:56px;color:var(--charcoal);line-height:1;display:flex;align-items:baseline;gap:8px}
  .plan .price small{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#6b6460}
  .plan .desc{font-size:13px;line-height:1.7;color:#6b6460}
  .plan ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:6px;flex:1}
  .plan ul li{font-size:13px;color:#444;padding-left:22px;position:relative;line-height:1.55}
  .plan ul li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:1px;background:var(--amber-soft)}
  .plan .btn{display:inline-flex;align-items:center;justify-content:space-between;padding:16px 22px;border:1px solid var(--charcoal);background:transparent;color:var(--charcoal);font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;cursor:pointer;transition:all .3s;margin-top:auto}
  .plan .btn:hover{background:var(--charcoal);color:var(--cream)}

  /* ---------- CONTACT ---------- */
  .contact{background:var(--charcoal)}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
  .contact-left h2{max-width:12ch}
  .contact-left p{margin-top:24px;color:var(--stone-2);font-family:var(--serif-2);font-size:22px;line-height:1.75;max-width:38ch}
  .contact-info{margin-top:40px;display:grid;gap:22px}
  .contact-info .item{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line)}
  .contact-info .item:last-child{border-bottom:1px solid var(--line)}
  .contact-info .k{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone-2)}
  .contact-info .v{font-family:var(--serif);font-size:20px;color:var(--cream)}
  .contact-info .v em{font-family:var(--serif-2);font-style:italic;color:var(--amber);font-weight:300}
  form{display:grid;gap:28px;background:var(--charcoal-2);padding:48px 42px;border:1px solid var(--line)}
  form .row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  form label{font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--stone-2);display:block;margin-bottom:10px}
  form input,form textarea,form select{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--cream);font-family:var(--serif-2);font-size:20px;padding:8px 0;outline:none;transition:border-color .3s}
  form input:focus,form textarea:focus,form select:focus{border-bottom-color:var(--amber)}
  form textarea{resize:vertical;min-height:120px;font-family:var(--serif-2);font-size:18px}
  form select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--amber) 50%),linear-gradient(135deg,var(--amber) 50%,transparent 50%);background-position:calc(100% - 14px) 16px,calc(100% - 8px) 16px;background-size:6px 6px;background-repeat:no-repeat}
  form select option{background:var(--charcoal);color:var(--cream)}
  form .submit{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
  form button{background:var(--amber);color:var(--charcoal);border:1px solid var(--amber);padding:18px 32px;font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:14px}
  form button:hover{background:transparent;color:var(--amber)}
  form .note{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;color:var(--stone-2);text-transform:uppercase}
  .success{display:none;padding:20px 22px;background:rgba(245,158,11,0.08);border:1px solid var(--amber);color:var(--amber);font-family:var(--mono);font-size:12px;letter-spacing:0.12em;text-align:center}
  .success.show{display:block}

  /* ---------- FOOTER ---------- */
  footer{background:#14110f;border-top:1px solid var(--line);padding:100px 40px 36px}
  .ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;padding-bottom:60px;border-bottom:1px solid var(--line)}
  .ft-brand h3{font-family:var(--serif);font-size:clamp(36px,4.5vw,72px);line-height:0.95;color:var(--cream);white-space:nowrap}
  .ft-brand h3 em{font-family:var(--serif-2);font-style:italic;color:var(--amber);font-weight:300}
  .ft-brand p{margin-top:20px;color:var(--stone-2);max-width:36ch;font-size:14px;line-height:1.6}
  .ft-col h4{font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--amber);margin-bottom:20px;font-weight:400}
  .ft-col ul{list-style:none;display:grid;gap:10px}
  .ft-col a{color:var(--stone-2);font-size:14px;transition:color .3s}
  .ft-col a:hover{color:var(--amber)}
  .ft-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:30px;gap:30px;flex-wrap:wrap}
  .ft-bottom .left,.ft-bottom .right{display:flex;gap:24px;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--stone)}
  .ft-bottom .right a:hover{color:var(--amber)}

  /* responsive */
  /* ---------- HAMBURGER + DRAWER ---------- */
  .hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;cursor:pointer;background:none;border:none;padding:0;z-index:60}
  .hamburger span{display:block;width:24px;height:1.5px;background:var(--cream);transition:transform .35s ease, opacity .25s ease, width .3s ease}
  .hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .hamburger.open span:nth-child(2){opacity:0;width:0}
  .hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,85vw);z-index:55;display:flex;flex-direction:column;padding:80px 32px 48px;background:rgba(22,19,17,0.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:-4px 0 40px rgba(0,0,0,0.5);transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);pointer-events:none}
  .drawer.open{transform:translateX(0);pointer-events:all}
  .drawer nav{display:flex;flex-direction:column;gap:0}
  .drawer nav a{font-family:var(--serif);font-size:clamp(24px,6vw,38px);font-weight:400;color:var(--cream);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line);transition:color .2s}
  .drawer nav a:hover{color:var(--amber)}
  .drawer .drawer-cta{margin-top:40px;align-self:flex-start}
  .drawer-close{position:absolute;top:22px;right:24px;background:none;border:1px solid var(--line);color:var(--stone-2);font-size:20px;line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;font-family:var(--mono)}
  .drawer-close:hover{border-color:var(--amber);color:var(--amber)}

  /* ---------- WhatsApp Float ---------- */
  #wa-float{position:fixed;bottom:28px;right:28px;z-index:9999;background:#25D366;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(0,0,0,.35);transition:transform .2s,box-shadow .2s;text-decoration:none}
  #wa-float:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(0,0,0,.45)}

  @media (max-width: 1100px){
    .nav-links{display:none}
    .hamburger{display:flex}
    .nav > .nav-cta{display:none}
    .hero-caption,.about-grid,.art-split,.contact-grid{grid-template-columns:1fr;gap:40px}
    .hero-art{display:none}
    .svc-grid{grid-template-columns:1fr}
    .plan-grid,.test-grid{grid-template-columns:1fr}
    .gal-grid{grid-template-columns:repeat(6,1fr)}
    .piece:nth-child(n){grid-column:span 6}
    .sec-head{grid-template-columns:1fr;gap:20px}
    .ft-top{grid-template-columns:1fr 1fr;gap:40px}
    .proc-rows .row{grid-template-columns:60px 1fr;gap:18px}
    .proc-rows .row > *:nth-child(3),.proc-rows .row > *:nth-child(4){grid-column:2}
    form .row{grid-template-columns:1fr}
  }
  @media (max-width: 640px){
    /* ── Spacing ── */
    .wrap,.sec,.hero{padding-left:20px;padding-right:20px}
    .sec{padding-top:64px;padding-bottom:64px}
    .hero{padding-top:108px;padding-bottom:48px}
    .nav{padding:14px 20px}
    footer{padding:48px 20px 28px}

    /* ── Footer ── */
    .ft-top{grid-template-columns:1fr}
    .ft-bottom{flex-direction:column;gap:14px;text-align:center}
    .ft-bottom .right{flex-direction:column;gap:10px}

    /* ── Section header ── */
    .sec-head{margin-bottom:40px}

    /* ── Hero ── */
    .hero-caption{grid-template-columns:1fr;gap:22px;margin-top:28px;padding-top:20px}
    .hero-caption > div:last-child{justify-self:start !important;text-align:left !important}
    .hero-caption .col-num{font-size:48px}
    .hero-top{flex-direction:column;align-items:flex-start;gap:12px}

    /* ── Marquee ── */
    .marquee-track{font-size:18px;gap:32px;padding:14px 0}

    /* ── About: founder card ── */
    .about-art{display:flex !important;max-height:none !important}
    .about-art > div:first-child{height:260px;flex:none}
    .about-art > div:first-child img{object-position:center 20% !important}
    .about-art > div:last-child{padding:20px !important;gap:8px !important}
    .about-art > div:last-child > div:first-child{font-size:14px !important;line-height:1.5 !important;max-width:100% !important}
    .about-art > div:last-child > div:last-child{flex-direction:column !important;align-items:flex-start !important;gap:6px !important}

    /* About body text smaller on mobile */
    .about-copy .lede{font-size:18px !important;line-height:1.5 !important}

    /* About stats */
    .about-stats{grid-template-columns:1fr 1fr}
    .about-stats .num{font-size:34px}
    .about-stats .cell{padding:20px 18px}

    /* ── Services ── */
    .svc-grid{grid-template-columns:1fr;height:auto !important}
    .svc{padding:28px 22px}
    .svc h3{margin-top:36px;font-size:26px}

    /* ── Gallery filter ── */
    .gal-filter{flex-wrap:wrap;gap:0;border-bottom:1px solid var(--line);margin-bottom:36px}
    .gf-btn{padding:10px 16px 10px 0;font-size:10px;white-space:nowrap}

    /* ── Gallery ── */
    .gal-grid{grid-template-columns:1fr !important}
    .piece:nth-child(n){grid-column:span 1 !important;aspect-ratio:4/3 !important;min-height:0 !important}

    /* ── Process ── */
    .proc-rows .row{grid-template-columns:40px 1fr;gap:12px;padding:18px 0}
    .proc-rows .n{font-size:30px}
    .proc-rows h3{font-size:22px}
    .proc-rows .row > *:nth-child(3),.proc-rows .row > *:nth-child(4){grid-column:2}

    /* ── Testimonials ── */
    .test{padding:26px 20px;min-height:auto}
    .test .quote{font-size:18px}

    /* ── Pricing ── */
    .plan{padding:30px 20px}
    .plan h3{font-size:28px}
    .plan .price{font-size:38px}

    /* ── Pillars (old .pillars) ── */
    .pillars li{grid-template-columns:34px 1fr;gap:14px;padding:18px 0}
    .pillars li b{font-size:19px}

    /* ── Vision pillars (inline-grid) ── */
    .vision-pillars{grid-template-columns:1fr !important}
    .vision-pillars > div{padding:28px 24px !important}
    .vision-pillars > div > div:first-child{font-size:36px !important;margin-bottom:10px !important}
    .vision-pillars > div > div:nth-child(2){font-size:22px !important;margin-bottom:8px !important}

    /* ── Contact left ── */
    .contact-left p{font-size:17px !important;line-height:1.65 !important}
    .contact-info .item{grid-template-columns:1fr !important;gap:4px !important;padding:14px 0 !important}
    .contact-info .v{font-size:16px !important;word-break:break-all}

    /* ── Contact form ── */
    form{padding:24px 20px}
    .contact-grid > *:last-child{padding:0 !important}

    /* ── Inline-style grids on mobile ── */
    .stories-grid{grid-template-columns:1fr !important}
    .coll-intro{grid-template-columns:1fr !important;gap:20px !important;margin-bottom:36px !important}

    /* ── Lightbox ── */
    #lb{padding:20px 16px;align-items:flex-end}
    #lb-inner{max-width:100vw}
    #lb-close{top:16px;right:20px;font-size:18px}
    #lb-img{max-height:50vh}
    #lb-info{padding:16px 4px 0}
    #lb-title{font-size:20px}

    /* ── Hide purely decorative art blocks ── */
    .hero-art{display:none}
  }
