:root{
    --stone-900:#15110d;
    --stone-850:#1b1611;
    --stone-800:#221c16;
    --stone-700:#2c251d;
    --line:rgba(214,196,166,.14);
    --cream:#f3ece0;
    --cream-dim:#c7bba6;
    --muted:#8d8273;
    --brass:#c6a35f;
    --brass-bright:#dcbd7e;
    --terra:#b3623c;
    --maxw:1280px;
    --ease:cubic-bezier(.22,.61,.36,1);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--stone-900);
    color:var(--cream);
    font-family:'Hanken Grotesk',sans-serif;
    font-weight:300;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:var(--brass);color:var(--stone-900)}

  /* ---------- atmospheric layers ---------- */
  .grain{
    position:fixed;inset:0;z-index:9999;pointer-events:none;
    opacity:.05;mix-blend-mode:overlay;
  }
  .vignette{
    position:fixed;inset:0;z-index:1;pointer-events:none;
    background:radial-gradient(120% 80% at 50% 0%,transparent 40%,rgba(0,0,0,.55) 100%);
  }

  /* ---------- typography ---------- */
  h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:400;line-height:1.04;letter-spacing:-.015em}
  .eyebrow{
    font-family:'Hanken Grotesk',sans-serif;font-weight:500;
    font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;
    color:var(--brass);display:inline-flex;align-items:center;gap:.7rem;
  }
  .eyebrow::before{content:"";width:30px;height:1px;background:var(--brass);opacity:.6}

  /* ---------- layout helpers ---------- */
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 2.2rem;position:relative;z-index:2}
  section{position:relative}

  /* ---------- nav ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    transition:background .5s var(--ease),backdrop-filter .5s,border-color .5s;
    border-bottom:1px solid transparent;
  }
  header.scrolled{
    background:rgba(21,17,13,.82);backdrop-filter:blur(14px) saturate(1.2);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:84px}
  .brand{display:flex;flex-direction:column;line-height:1;text-decoration:none;color:var(--cream)}
  .brand .name{font-family:'Fraunces';font-weight:500;font-size:1.32rem;letter-spacing:.18em}
  .brand .sub{font-size:.56rem;letter-spacing:.42em;text-transform:uppercase;color:var(--brass);margin-top:.42rem;padding-left:.04em}
  .nav-links{display:flex;align-items:center;gap:2.4rem;list-style:none}
  .nav-links a{
    color:var(--cream-dim);text-decoration:none;font-size:.82rem;letter-spacing:.06em;
    position:relative;padding:.4rem 0;transition:color .35s;
  }
  .nav-links a::after{
    content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
    background:var(--brass);transition:width .4s var(--ease);
  }
  .nav-links a:hover{color:var(--cream)}
  .nav-links a:hover::after{width:100%}
  .btn{
    font-family:'Hanken Grotesk';font-weight:500;font-size:.8rem;letter-spacing:.05em;
    text-decoration:none;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:.6rem;
    transition:transform .4s var(--ease),background .4s,color .4s,box-shadow .4s;
  }
  .btn-primary{
    background:var(--brass);color:var(--stone-900);padding:.95rem 1.7rem;
    border-radius:2px;
  }
  .btn-primary:hover{background:var(--brass-bright);transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(198,163,95,.6)}
  .btn-ghost{
    color:var(--cream);border:1px solid var(--line);padding:.95rem 1.7rem;border-radius:2px;background:transparent;
  }
  .btn-ghost:hover{border-color:var(--brass);color:var(--brass-bright)}
  .menu-toggle{display:none;background:none;border:none;color:var(--cream);cursor:pointer;flex-direction:column;gap:5px}
  .menu-toggle span{width:26px;height:1.5px;background:var(--cream);transition:.3s}

  /* ---------- hero ---------- */
  .hero{min-height:100vh;display:flex;align-items:center;padding-top:84px;overflow:hidden}
  .hero-marble{
    position:absolute;inset:0;z-index:0;
  }
  .hero-marble svg{width:100%;height:100%}
  .hero-marble::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(105deg,var(--stone-900) 18%,rgba(21,17,13,.78) 46%,rgba(21,17,13,.30) 100%);
  }
  .hero-inner{position:relative;z-index:3;width:100%;display:grid;grid-template-columns:1.35fr .65fr;gap:2rem;align-items:end}
  .hero h1{
    font-size:clamp(3.3rem,8.2vw,7.6rem);font-weight:300;margin:1.6rem 0 0;
  }
  .hero h1 em{font-style:italic;color:var(--brass-bright);font-weight:400}
  .hero h1 .ln{display:block;overflow:hidden}
  .hero h1 .ln span{display:block;transform:translateY(110%);transition:transform 1s var(--ease)}
  .reveal-hero .ln span{transform:translateY(0)}
  .hero p.lede{
    max-width:42ch;color:var(--cream-dim);font-size:1.08rem;margin-top:2rem;font-weight:300;
    opacity:0;transform:translateY(18px);transition:all .9s var(--ease) .5s;
  }
  .hero .cta-row{display:flex;gap:1rem;margin-top:2.4rem;flex-wrap:wrap;opacity:0;transform:translateY(18px);transition:all .9s var(--ease) .65s}
  .reveal-hero p.lede,.reveal-hero .cta-row{opacity:1;transform:translateY(0)}
  .hero-aside{
    border-left:1px solid var(--line);padding-left:1.6rem;padding-bottom:.4rem;
    opacity:0;transform:translateY(18px);transition:all .9s var(--ease) .8s;
  }
  .reveal-hero .hero-aside{opacity:1;transform:translateY(0)}
  .hero-aside .num{font-family:'Fraunces';font-size:2.6rem;color:var(--cream);line-height:1}
  .hero-aside .lbl{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:.5rem}
  .hero-aside .div{height:1px;background:var(--line);margin:1.6rem 0}
  .scroll-cue{
    position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);z-index:3;
    font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
    display:flex;flex-direction:column;align-items:center;gap:.8rem;
  }
  .scroll-cue .line{width:1px;height:46px;background:linear-gradient(var(--brass),transparent);animation:cue 2.4s var(--ease) infinite}
  @keyframes cue{0%{transform:scaleY(0);transform-origin:top}40%{transform:scaleY(1);transform-origin:top}60%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

  /* marquee strip */
  .strip{border-block:1px solid var(--line);background:var(--stone-850);overflow:hidden;padding:1.1rem 0}
  .marquee{display:flex;gap:3.5rem;white-space:nowrap;animation:scroll 32s linear infinite;width:max-content}
  .marquee span{font-family:'Fraunces';font-style:italic;font-size:1.15rem;color:var(--cream-dim);display:flex;align-items:center;gap:3.5rem}
  .marquee span::after{content:"✦";color:var(--brass);font-style:normal;font-size:.7rem}
  @keyframes scroll{to{transform:translateX(-50%)}}

  /* ---------- generic section heading ---------- */
  .sec{padding:8rem 0}
  .sec-head{max-width:760px;margin-bottom:4rem}
  .sec-head h2{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:300;margin-top:1.4rem}
  .sec-head h2 em{font-style:italic;color:var(--brass-bright)}
  .sec-head p{color:var(--cream-dim);margin-top:1.4rem;font-size:1.05rem;max-width:56ch}

  /* ---------- materials ---------- */
  .mat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
  .mat{
    position:relative;border:1px solid var(--line);border-radius:3px;overflow:hidden;
    background:var(--stone-800);transition:transform .6s var(--ease),border-color .6s;
    cursor:pointer;
  }
  .mat:hover{transform:translateY(-6px);border-color:rgba(198,163,95,.4)}
  .mat .swatch{height:240px;position:relative;overflow:hidden}
  .mat .swatch svg{position:absolute;inset:0;width:100%;height:100%;transition:transform 1.2s var(--ease)}
  .mat:hover .swatch svg{transform:scale(1.08)}
  .mat .meta{padding:1.5rem 1.6rem 1.7rem}
  .mat .meta h3{font-size:1.5rem;font-weight:400}
  .mat .meta .origin{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-top:.5rem}
  .mat .meta p{font-size:.92rem;color:var(--muted);margin-top:.9rem}
  .mat .tag{position:absolute;top:1rem;right:1rem;z-index:2;background:rgba(21,17,13,.7);backdrop-filter:blur(6px);
    border:1px solid var(--line);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-dim);padding:.4rem .7rem;border-radius:2px}

  /* ---------- services (split) ---------- */
  .services{background:var(--stone-850);border-block:1px solid var(--line)}
  .svc-grid{display:grid;grid-template-columns:repeat(2,1fr)}
  .svc{
    padding:3.2rem;border-bottom:1px solid var(--line);position:relative;
    transition:background .5s;
  }
  .svc:nth-child(odd){border-right:1px solid var(--line)}
  .svc:hover{background:rgba(198,163,95,.04)}
  .svc .idx{font-family:'Fraunces';font-style:italic;color:var(--brass);font-size:1.1rem}
  .svc h3{font-size:1.9rem;font-weight:300;margin:1.2rem 0 .9rem}
  .svc p{color:var(--cream-dim);font-size:.98rem;max-width:46ch}
  .svc .arrow{margin-top:1.6rem;color:var(--brass);font-size:.82rem;letter-spacing:.1em;display:inline-flex;align-items:center;gap:.5rem;transition:gap .4s}
  .svc:hover .arrow{gap:1.1rem}

  /* ---------- process ---------- */
  .proc{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:step}
  .step{padding:2.4rem 1.8rem 2.4rem 0;border-top:2px solid var(--line);position:relative}
  .step::before{
    counter-increment:step;content:"0" counter(step);
    font-family:'Fraunces';font-size:3.4rem;font-weight:300;color:var(--stone-700);
    display:block;margin-bottom:1.2rem;transition:color .5s;
  }
  .step:hover::before{color:var(--brass)}
  .step .dot{position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--stone-900);border:1.5px solid var(--brass)}
  .step h3{font-size:1.35rem;font-weight:400;margin-bottom:.7rem}
  .step p{color:var(--muted);font-size:.92rem;max-width:30ch}

  /* ---------- gallery ---------- */
  .gallery{background:var(--stone-850);border-block:1px solid var(--line)}
  .gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:1.1rem}
  .gal{position:relative;overflow:hidden;border-radius:3px;border:1px solid var(--line)}
  .gal img,.gal svg{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.3s var(--ease)}
  .gal:hover img,.gal:hover svg{transform:scale(1.1)}
  .gal .cap{
    position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
    padding:1.3rem;background:linear-gradient(transparent 45%,rgba(15,12,9,.85));
    opacity:0;transition:opacity .5s var(--ease);
  }
  .gal:hover .cap{opacity:1}
  .gal .cap h4{font-size:1.15rem;font-weight:400}
  .gal .cap span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-top:.3rem}
  .g-wide{grid-column:span 2}
  .g-tall{grid-row:span 2}

  /* ---------- stats band ---------- */
  .band{padding:6rem 0;border-bottom:1px solid var(--line)}
  .stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
  .stat{text-align:center;border-left:1px solid var(--line);padding:0 1rem}
  .stat:first-child{border-left:none}
  .stat .n{font-family:'Fraunces';font-size:clamp(2.6rem,5vw,4rem);font-weight:300;color:var(--cream)}
  .stat .n em{font-style:normal;color:var(--brass)}
  .stat .l{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:.6rem}

  /* ---------- testimonial ---------- */
  .testi{padding:8rem 0;text-align:center}
  .testi .quote{font-family:'Fraunces';font-weight:300;font-size:clamp(1.6rem,3.6vw,2.8rem);line-height:1.32;max-width:24ch;margin:2rem auto 0;font-style:italic}
  .testi .quote::before{content:"“";color:var(--brass);font-size:1.4em;line-height:0;vertical-align:-.3em;margin-right:.05em}
  .testi .by{margin-top:2.4rem;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim)}
  .testi .by b{color:var(--brass);font-weight:500}
  .stars{color:var(--brass);letter-spacing:.3em;font-size:.9rem}

  /* ---------- CTA / contact ---------- */
  .contact{position:relative;overflow:hidden;border-top:1px solid var(--line)}
  .contact .contact-marble{position:absolute;inset:0;z-index:0;opacity:.5}
  .contact .contact-marble::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--stone-900),rgba(21,17,13,.9))}
  .contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;padding:8rem 0}
  .contact h2{font-size:clamp(2.4rem,5vw,4rem);font-weight:300}
  .contact h2 em{font-style:italic;color:var(--brass-bright)}
  .contact .lede{color:var(--cream-dim);margin-top:1.4rem;max-width:42ch}
  .contact-info{margin-top:2.6rem;display:grid;gap:1.4rem}
  .ci{display:flex;gap:1rem;align-items:flex-start}
  .ci .k{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);min-width:90px;padding-top:.3rem}
  .ci .v{color:var(--cream);font-size:1rem}
  .ci .v small{display:block;color:var(--muted);font-size:.86rem;margin-top:.2rem}

  form{display:grid;gap:1.2rem;background:rgba(21,17,13,.55);backdrop-filter:blur(8px);border:1px solid var(--line);padding:2.4rem;border-radius:4px}
  .field{display:grid;gap:.5rem}
  .field label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .field input,.field select,.field textarea{
    background:transparent;border:none;border-bottom:1px solid var(--line);
    color:var(--cream);font-family:inherit;font-size:.98rem;padding:.6rem 0;transition:border-color .4s;
  }
  .field select option{background:var(--stone-800)}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brass)}
  .field textarea{resize:vertical;min-height:80px}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
  form .btn-primary{justify-content:center;margin-top:.6rem;width:100%}
  .form-note{font-size:.78rem;color:var(--muted);text-align:center}
  .sent{color:var(--brass-bright);text-align:center;font-family:'Fraunces';font-style:italic;font-size:1.15rem;display:none}

  /* ---------- footer ---------- */
  footer{background:var(--stone-900);border-top:1px solid var(--line);padding:4.5rem 0 2.5rem}
  .foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;padding-bottom:3rem;border-bottom:1px solid var(--line)}
  .foot-top h4{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:1.3rem;font-family:'Hanken Grotesk';font-weight:600}
  .foot-top ul{list-style:none;display:grid;gap:.7rem}
  .foot-top a{color:var(--cream-dim);text-decoration:none;font-size:.92rem;transition:color .3s}
  .foot-top a:hover{color:var(--brass)}
  .foot-brand .name{font-family:'Fraunces';font-size:1.5rem;letter-spacing:.12em}
  .foot-brand p{color:var(--muted);font-size:.92rem;margin-top:1rem;max-width:34ch}
  .foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;font-size:.8rem;color:var(--muted);flex-wrap:wrap;gap:1rem}

  /* ---------- reveal ---------- */
  .r{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
  .r.in{opacity:1;transform:translateY(0)}
  .r-d1{transition-delay:.1s}.r-d2{transition-delay:.2s}.r-d3{transition-delay:.3s}.r-d4{transition-delay:.4s}

  /* ---------- responsive ---------- */
  @media(max-width:1024px){
    .hero-inner{grid-template-columns:1fr}
    .hero-aside{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:1.6rem;margin-top:1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
    .hero-aside .div{display:none}
    .proc{grid-template-columns:repeat(2,1fr);gap:1.4rem 0}
    .foot-top{grid-template-columns:1fr 1fr}
  }
  @media(max-width:760px){
    .wrap{padding:0 1.4rem}
    .nav-links,.nav .btn-ghost{display:none}
    .menu-toggle{display:flex}
    .nav-links.open{display:flex;position:fixed;inset:84px 0 auto 0;flex-direction:column;
      background:rgba(21,17,13,.97);backdrop-filter:blur(16px);padding:2rem 1.6rem 2.4rem;gap:1.6rem;border-bottom:1px solid var(--line)}
    .nav-links.open a{font-size:1.1rem}
    .sec{padding:5rem 0}
    .mat-grid{grid-template-columns:1fr}
    .svc-grid{grid-template-columns:1fr}
    .svc:nth-child(odd){border-right:none}
    .svc{padding:2.2rem 0}
    .gal-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
    .g-wide{grid-column:span 2}
    .stat-row{grid-template-columns:1fr 1fr;gap:2.4rem 1rem}
    .stat:nth-child(3){border-left:none}
    .contact-grid{grid-template-columns:1fr;gap:2.6rem;padding:5rem 0}
    .two{grid-template-columns:1fr}
    .hero-aside{grid-template-columns:1fr 1fr}
  }

  /* ---------- customer tracking modal ---------- */
  .tk-overlay{position:fixed;inset:0;z-index:300;background:rgba(8,6,4,.78);backdrop-filter:blur(8px);
    display:none;align-items:flex-start;justify-content:center;padding:6vh 1.2rem 2rem;overflow:auto}
  .tk-overlay.on{display:flex}
  .tk-modal{background:var(--stone-850);border:1px solid var(--line);border-radius:8px;width:100%;max-width:560px;
    position:relative;overflow:hidden;box-shadow:0 40px 100px -30px rgba(0,0,0,.8)}
  .tk-marble{position:absolute;inset:0;height:120px;opacity:.5}
  .tk-marble svg{width:100%;height:120px}
  .tk-marble::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,17,13,.5),var(--stone-850) 92%)}
  .tk-inner{position:relative;z-index:2;padding:2.2rem}
  .tk-close{position:absolute;top:1rem;right:1.1rem;z-index:3;background:rgba(21,17,13,.6);border:1px solid var(--line);
    color:var(--cream);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:1rem;transition:.25s}
  .tk-close:hover{border-color:var(--brass);color:var(--brass)}
  .tk-eye{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--brass)}
  .tk-modal h2{font-size:1.9rem;font-weight:300;margin:.7rem 0 .4rem}
  .tk-modal h2 em{font-style:italic;color:var(--brass-bright)}
  .tk-sub{color:var(--cream-dim);font-size:.92rem;margin-bottom:1.6rem}
  .tk-toggle{display:flex;gap:.4rem;background:var(--stone-800);border:1px solid var(--line);border-radius:6px;padding:.3rem;margin-bottom:1.4rem}
  .tk-toggle button{flex:1;background:none;border:none;color:var(--cream-dim);cursor:pointer;font-family:inherit;
    font-size:.82rem;padding:.6rem;border-radius:4px;transition:.25s}
  .tk-toggle button.on{background:var(--brass);color:var(--stone-900);font-weight:600}
  .tk-form{display:none;gap:1rem;flex-direction:column}
  .tk-form.on{display:flex}
  .tk-field{display:grid;gap:.45rem}
  .tk-field label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .tk-field input{background:var(--stone-800);border:1px solid var(--line);border-radius:4px;color:var(--cream);
    font-family:inherit;font-size:.95rem;padding:.75rem .85rem;outline:none;transition:border-color .3s}
  .tk-field input:focus{border-color:var(--brass)}
  .tk-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .tk-go{background:var(--brass);color:var(--stone-900);border:none;border-radius:4px;cursor:pointer;
    font-family:inherit;font-weight:600;font-size:.9rem;padding:.85rem;transition:.3s;margin-top:.2rem}
  .tk-go:hover{background:var(--brass-bright)}
  .tk-hint{font-size:.74rem;color:var(--muted);text-align:center;margin-top:.2rem;line-height:1.5}
  .tk-hint b{color:var(--brass)}

  /* result */
  .tk-result{margin-top:1.6rem;border-top:1px solid var(--line);padding-top:1.6rem;display:none}
  .tk-result.on{display:block}
  .tk-notfound{text-align:center;color:var(--cream-dim);padding:1rem 0}
  .tk-notfound .ic{font-size:2rem;color:var(--brass);display:block;margin-bottom:.6rem}
  .tk-job h3{font-size:1.5rem;font-weight:400}
  .tk-job .jsub{font-size:.85rem;color:var(--muted);margin-top:.25rem}
  .tk-receipt{font-size:.72rem;letter-spacing:.1em;color:var(--brass);margin-top:.3rem}
  .tk-status{background:rgba(198,163,95,.08);border:1px solid var(--line);border-radius:6px;padding:1rem 1.1rem;margin:1.3rem 0;font-size:.92rem;color:var(--cream)}
  .tk-status b{color:var(--brass-bright)}
  /* horizontal progress */
  .tk-steps{display:flex;margin:1.4rem 0 .4rem}
  .tk-step{flex:1;text-align:center;position:relative}
  .tk-step .ln{position:absolute;top:9px;left:-50%;width:100%;height:2px;background:var(--stone-700)}
  .tk-step:first-child .ln{display:none}
  .tk-step.done .ln,.tk-step.cur .ln{background:var(--brass)}
  .tk-step .dot{position:relative;width:20px;height:20px;border-radius:50%;background:var(--stone-800);
    border:2px solid var(--stone-700);margin:0 auto;z-index:2;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:transparent}
  .tk-step.done .dot{background:var(--brass);border-color:var(--brass);color:var(--stone-900)}
  .tk-step.cur .dot{border-color:var(--brass);box-shadow:0 0 0 4px rgba(198,163,95,.18)}
  .tk-step .sl{font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:.5rem;display:block}
  .tk-step.cur .sl{color:var(--brass);font-weight:600}
  .tk-step .sd{font-size:.58rem;color:var(--muted);margin-top:.15rem;display:block}
  .tk-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1.3rem}
  .tk-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;border:1px solid var(--line);cursor:zoom-in}
  .tk-warr{margin-top:1.4rem;background:linear-gradient(150deg,var(--stone-800),var(--stone-850));border:1px solid var(--line-strong,rgba(214,196,166,.28));border-radius:6px;padding:1.2rem 1.3rem;display:flex;gap:1rem;align-items:center}
  .tk-warr .wseal{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--brass);display:flex;flex-direction:column;
    align-items:center;justify-content:center;color:var(--brass);flex-shrink:0;line-height:1.1}
  .tk-warr .wseal b{font-family:'Fraunces';font-size:1rem}
  .tk-warr .wseal span{font-size:.42rem;letter-spacing:.16em;text-transform:uppercase}
  .tk-warr .wt b{color:var(--brass-bright)}
  .tk-warr .wt{font-size:.86rem;color:var(--cream-dim)}
  .tk-light{position:fixed;inset:0;z-index:320;background:rgba(8,6,4,.93);display:none;align-items:center;justify-content:center;cursor:zoom-out;padding:2rem}
  .tk-light.on{display:flex}
  .tk-light img{max-width:92%;max-height:92%;border-radius:4px}
  @media(max-width:560px){.tk-step .sl{font-size:.5rem}.tk-row{grid-template-columns:1fr}}
