/* ===== Trust 3C webfonts (see assets/fonts/trust/LICENSE-README.txt) ===== */
@font-face{font-family:'Trust 3C';src:url('../fonts/trust/trust3c-xlight.woff2?v=069') format('woff2');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:'Trust 3C';src:url('../fonts/trust/trust3c-xlightitalic.woff2?v=069') format('woff2');font-weight:200;font-style:italic;font-display:swap}

  :root{
  --btn-fill:var(--gold);--btn-fill-text:#fff;--btn-radius:0px;--btn-outline:var(--gold-bright);
  --green:#14301d;
  /* Typography recipe tokens (overridable from Site Design → Typography) */
  --t-disp:'Trust 3C',Georgia,serif;
  --t-disp-wt:200;
  --t-acc-wt:200;
  --t-hero-scale:1;
  --t-cer:'rosella-solid',serif;
  --t-caps:'sweet-sans-pro',Jost,sans-serif;
  --t-body:'sweet-sans-pro',Jost,sans-serif;
  --spotbar-h:0px; /* set by body.has-spotbar when the ticker has data */

    --paper:#f6f3ec;
    --paper-2:#efeadf;
    --white:#fdfcf9;
    --ink:#232220;
    --ink-soft:#3b3934;
    --muted:#746e63;
    --gold:#b08d4c;
    --gold-bright:#caa962;
    --char:#262421;
    --char-2:#1c1a17;
    --line:rgba(35,34,32,.15);
    --line-light:rgba(246,243,236,.16);
    --serif:var(--t-disp);
    --sans:var(--t-body);
    --pad:clamp(70px,10vw,140px);
    --wrap:1240px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}

  /* type */
  .eyebrow{font-family:var(--sans);font-weight:400;font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
  h2.title{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.2vw,3.3rem);line-height:1.1;letter-spacing:.005em;color:var(--ink)}
  h2.title em{font-style:italic;color:var(--gold)}
  .lede{color:var(--muted);font-size:1rem;line-height:1.85;max-width:48ch}

  /* buttons */
  .btn{display:inline-block;font-family:var(--sans);font-weight:400;font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);border:1px solid var(--gold);padding:16px 36px;background:transparent;cursor:pointer;transition:background .35s,color .35s;border-radius:var(--btn-radius)}
  .btn:hover{background:var(--btn-fill);color:var(--btn-fill-text)}
  .btn--light{color:#fff;border-color:rgba(202,169,98,.65)}
  .btn--light:hover{background:var(--btn-fill);border-color:var(--btn-fill)}
  .quiet{font-family:var(--sans);font-weight:400;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid transparent;padding-bottom:4px;transition:border-color .3s;display:inline-block}
  .quiet:hover{border-color:var(--gold)}
  .quiet::after{content:" \2192";opacity:.65}

  /* coin-edge divider */
  .edge{display:flex;align-items:center;gap:24px;max-width:var(--wrap);margin:0 auto;padding:0 28px}
  .edge .reed{flex:1;height:12px;background:repeating-linear-gradient(90deg,var(--gold) 0 1px,transparent 1px 6px);opacity:.5}
  .edge .reed-label{font-family:var(--sans);font-weight:400;font-size:.66rem;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}

  /* photo placeholders */
  .photo{position:relative;overflow:hidden;background:#cfcbc4;filter:grayscale(1) contrast(1.02)}
  .photo::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 30% 18%,rgba(255,255,255,.5),transparent 55%),radial-gradient(120% 120% at 80% 95%,rgba(0,0,0,.55),transparent 60%),linear-gradient(150deg,#8f8b84,#54514c 55%,#2c2a27)}
  .photo.light::before{background:radial-gradient(110% 90% at 35% 25%,rgba(255,255,255,.6),transparent 60%),linear-gradient(150deg,#cdc9c1,#9a958d 60%,#6d6961)}
  .photo.warm{filter:none}
  .photo.warm::before{background:radial-gradient(110% 90% at 40% 20%,rgba(243,228,200,.5),transparent 60%),linear-gradient(150deg,#b7a98c,#7d6f54 60%,#4c4232)}
  .photo::after{content:"";position:absolute;inset:0;opacity:.15;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
  .photo.has-img{filter:none;background:none}
  .photo.has-img::before{display:none}
  .photo.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
  .photo .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;font-family:var(--serif);font-style:italic;font-size:.9rem;color:rgba(255,255,255,.82);text-align:center;padding:13px;background:linear-gradient(transparent,rgba(0,0,0,.4))}
  /* product placeholder (light, item-style) */
  .prod-img{position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,#fdfcf9,#eee9df);overflow:hidden;display:flex;align-items:center;justify-content:center}
  .prod-img .ph-cap{font-family:var(--serif);font-style:italic;color:#b9b09c;font-size:.92rem;padding:10px;text-align:center}
  .prod-img .badge{position:absolute;top:12px;left:12px;font-family:var(--sans);font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:4px 9px;background:rgba(253,252,249,.7)}
  .prod-img.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .prod-img.fit-contain img{object-fit:contain;padding:7%;box-sizing:border-box}
  .prod-img.has-img .badge{z-index:2}

  /* utility bar */
  .util{background:var(--char-2);color:#cfc8ba}
  .util .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
  .util a,.util span{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase}
  .util .right{display:flex;gap:16px;align-items:center}
  .util .right a{color:#cfc8ba;transition:color .25s}
  .util .right a:hover{color:var(--gold-bright)}
  .util .left{color:#8f887c}
  .util .sep{color:#544f47}

  /* header */
  header{position:sticky;top:0;z-index:60;background:rgba(246,243,236,.93);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  header .bar{display:flex;align-items:center;justify-content:space-between;padding:22px 0;transition:padding .3s}
  header.shrink .bar{padding:13px 0}
  .logo{font-family:var(--serif);font-weight:600;font-size:1.55rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);line-height:1}
  .logo small{display:block;font-family:var(--sans);font-weight:300;font-size:.48rem;letter-spacing:.42em;color:var(--muted);margin-top:5px;text-align:center}
  nav.main{display:flex;align-items:center;gap:32px}
  nav.main > a,.nav-item > a{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);padding:6px 0;position:relative;cursor:pointer}
  nav.main > a::after,.nav-item > a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .3s}
  nav.main > a:hover::after,.nav-item:hover > a::after{width:100%}
  .nav-item{position:relative}
  
  .nav-item:hover 
  
  
  
  
  
  .hicons{display:flex;align-items:center;gap:20px}
  .hicons a{display:flex;align-items:center}
  .hicons svg{width:18px;height:18px;stroke:var(--ink-soft);fill:none;stroke-width:1.4}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
  .burger span{width:24px;height:1.5px;background:var(--ink)}

  .drawer{position:fixed;inset:0;z-index:90;background:var(--paper);transform:translateX(100%);transition:transform .4s cubic-bezier(.6,0,.2,1);padding:80px 32px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}
  .drawer.open{transform:translateX(0)}
  .drawer a{font-family:var(--serif);font-size:1.7rem;color:var(--ink);padding:11px 0;border-bottom:1px solid var(--line)}
  .drawer .sub{font-family:var(--sans);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);padding-top:20px;border:0}
  .drawer-close{position:absolute;top:26px;right:28px;background:none;border:0;font-size:2rem;color:var(--ink);cursor:pointer;line-height:1}

  /* hero */
  .hero{position:relative;min-height:clamp(600px,90vh,860px);display:flex;align-items:flex-end;color:#fff}
  .hero .photo{position:absolute;inset:0}
  .hero .photo::after{animation:none}
  .hero .ken{position:absolute;inset:-4%;animation:ken 22s ease-in-out infinite alternate}
  @keyframes ken{from{transform:scale(1) translate(0,0)}to{transform:scale(1.09) translate(-1.5%,-1.5%)}}
  .hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,16,.3),rgba(20,18,16,.1) 38%,rgba(20,18,16,.72));z-index:2}
  .hero .inner{position:relative;z-index:3;width:100%;padding-bottom:clamp(56px,8vw,104px)}
  .hero .est{font-family:var(--sans);font-weight:400;font-size:.7rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:22px}
  .hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,5.4vw,4.3rem);line-height:1.08;max-width:16ch;text-shadow:0 2px 36px rgba(0,0,0,.4)}
  .hero h1 em{font-style:italic;color:var(--gold-bright)}
  .hero .row{display:flex;gap:18px;flex-wrap:wrap;margin-top:36px}
  .hero .btn{color:#fff;border-color:var(--btn-outline)}
  .hero .btn:hover{background:var(--btn-fill);border-color:var(--btn-fill)}

  /* trust strip */
  .trust{background:var(--char);color:#b9b1a3}
  .trust .wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:0;padding:0}
  .trust .item{display:flex;align-items:center;gap:11px;padding:22px 34px;border-right:1px solid rgba(255,255,255,.08)}
  .trust .item:last-child{border-right:0}
  .trust .item svg{width:20px;height:20px;stroke:var(--gold-bright);fill:none;stroke-width:1.3}
  .trust .item span{font-family:var(--sans);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase}

  /* thesis */
  .thesis{text-align:center;padding:clamp(50px,7vw,96px) 0;background:var(--white)}
  .thesis .stmt{font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.9vw,2.05rem);line-height:1.32;max-width:46ch;margin:0 auto;color:var(--ink-soft)}
  .thesis .stmt em{font-style:italic;color:var(--gold)}
  .thesis .sign{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--muted);margin-top:22px}
  /* 0.7.24: optional photograph of the engraved plaque in place of the quote
     (Homepage -> "Thesis plaque"). The plaque image already carries these exact
     words in brass, so it is decorative and the real text stays in the DOM --
     clipped the standard screen-reader-text way, never display:none, so Google
     and a screen reader still get the statement and the signature. Phones keep
     the text section instead: the plaque is 2400x884, so at 390px the engraved
     lettering would be about 8px tall. 700px is the switch. */
  .thesis-plaque img{display:block;width:100%;height:auto}
  @media(min-width:700px){
    .thesis.has-plaque{padding:0;background:none}
    .thesis.has-plaque .thesis-mark,
    .thesis.has-plaque > .wrap{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
  }
  @media(max-width:699px){
    .thesis.has-plaque .thesis-plaque{display:none}
  }

  /* collection editorial grid */
  .collection{padding:var(--pad) 0}
  .collection .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(34px,4vw,52px);gap:20px;flex-wrap:wrap}
  .cgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;grid-template-rows:repeat(2,minmax(220px,34vh));gap:16px}
  .ctile{position:relative;overflow:hidden;display:block}
  .ctile.feature{grid-column:1;grid-row:1/3}
  .ctile.feature.feature-right{grid-column:4}
  .ctile .photo{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
  .ctile:hover .photo{transform:scale(1.05)}
  .ctile .ovl{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;background:linear-gradient(transparent 40%,rgba(20,18,16,.6))}
  .ctile .k{font-family:var(--serif);font-size:1.7rem;color:#fff}
  .ctile.feature .k{font-size:2.3rem}
  .ctile .go{font-family:var(--sans);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-bright);margin-top:9px;opacity:0;transform:translateY(8px);transition:.4s}
  .ctile:hover .go{opacity:1;transform:translateY(0)}

  /* recently acquired product row */
  .acquired{background:var(--white);padding:var(--pad) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .acquired .head{text-align:center;margin-bottom:clamp(34px,4vw,54px)}
  .prod-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .pcard .meta{padding:16px 2px 0}
  .pcard .nm{font-family:var(--serif);font-size:1.18rem;color:var(--ink);line-height:1.25}
  .pcard .pr{font-family:var(--sans);font-size:.78rem;letter-spacing:.06em;color:var(--muted);margin-top:6px}
  .acquired .foot{text-align:center;margin-top:clamp(36px,4vw,52px)}
  .acquired .note{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:1.05rem;margin-bottom:22px}

  /* heritage band */
  .heritage{position:relative;color:#fff}
  .heritage .photo{position:absolute;inset:0}
  .heritage .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,16,.82),rgba(20,18,16,.45) 60%,rgba(20,18,16,.2));z-index:2}
  .heritage .inner{position:relative;z-index:3;padding:clamp(90px,13vw,170px) 0;max-width:560px}
  .heritage .eyebrow{color:var(--gold-bright)}
  .heritage h2.title{color:#fff}
  .heritage h2.title em{color:var(--gold-bright)}
  .heritage .lede{color:rgba(255,255,255,.82);margin:22px 0 32px}

  /* appraisal split */
  .appraise{padding:var(--pad) 0}
  .appraise .grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,84px)}
  .appraise .photo{aspect-ratio:5/4}
  .appraise .lede{margin:22px 0 32px}
  .services{padding:var(--pad) 0}
  .services .head{text-align:center;max-width:720px;margin:0 auto clamp(40px,5vw,64px)}
  .services .head .lede{margin:18px auto 0;max-width:54ch;text-align:center}
  .svc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.6vw,40px)}
  .svc{text-align:center;padding:0 6px}
  .svc .svc-ph{position:relative;aspect-ratio:4/3;overflow:hidden;margin-bottom:20px;background:linear-gradient(160deg,#e7e1d4,#d4ccbc)}
  .svc .svc-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  .svc:hover .svc-ph img{transform:scale(1.04)}
  .svc h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.35rem,2vw,1.6rem);line-height:1.2;color:var(--ink);margin:0 0 12px}
  .svc p{font-family:var(--sans);font-size:.92rem;line-height:1.7;color:var(--muted);margin:0 auto;max-width:30ch}
  .svc-cta{text-align:center;margin-top:clamp(40px,5vw,60px)}
  @media(max-width:820px){.svc-row{grid-template-columns:1fr;gap:40px;max-width:420px;margin:0 auto}}


  /* journal */
  .journal{padding:var(--pad) 0}
  .journal .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(34px,4vw,52px);gap:20px;flex-wrap:wrap}
  .jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .jcard .photo{aspect-ratio:4/3;margin-bottom:20px}
  .jcard .date{font-family:var(--sans);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
  .jcard h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.25;color:var(--ink);margin-bottom:12px}
  .jcard p{color:var(--muted);font-size:.92rem;line-height:1.7;margin-bottom:16px}

  /* showroom */
  .showroom{background:var(--char);color:#cfc8ba}
  .showroom .grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch}
  .showroom .photo{position:relative;min-height:360px;overflow:hidden}
  .showroom .info{padding:clamp(56px,7vw,96px) clamp(34px,5vw,76px)}
  .showroom .eyebrow{color:var(--gold-bright)}
  .showroom h2.title{color:#fff}
  .showroom .lines{font-family:var(--serif);font-size:1.15rem;color:#e6e0d4;line-height:2.05;margin:22px 0 14px}
  .showroom .lines b{font-family:var(--sans);font-weight:400;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:#8f887c;display:block;margin-top:16px}
  .showroom .btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px}

  /* monogram */
  .mono{display:flex;align-items:center;justify-content:center;gap:30px;padding:clamp(58px,8vw,96px) 0}
  .mono .lab{font-family:var(--sans);font-size:.64rem;letter-spacing:.4em;color:var(--muted)}
  .mono .dia{width:auto;height:90px}

  /* footer */
  /* Trust-badge strip (site-wide, above footer) */
  .lc-badges{background:var(--paper-2);border-top:1px solid var(--line);padding:clamp(48px,6vw,72px) 0 clamp(42px,5.5vw,60px);text-align:center}
  .lc-badges-mono{display:flex;justify-content:center;margin-bottom:clamp(24px,3vw,34px)}
  .lc-badges-mono .dia{width:auto;height:clamp(72px,8vw,90px)}
  .lc-badges-hd{font-family:var(--sans);font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:clamp(26px,3.5vw,38px)}
  .lc-badges-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:clamp(30px,5vw,72px)}
  .lc-badge{display:flex;align-items:center;text-decoration:none}
  .lc-badge img{height:clamp(38px,4.5vw,52px);width:auto;max-width:200px;object-fit:contain;display:block;opacity:.85;transition:opacity .35s ease}
  .lc-badge--seal img{height:clamp(64px,8vw,88px)}
  .lc-badge:hover img{opacity:1}
  @media(max-width:640px){.lc-badges-row{gap:24px 30px}.lc-badge img{height:34px;max-width:150px}.lc-badge--seal img{height:58px}}
  footer{background:var(--char-2);color:#b6afa3;padding:clamp(60px,8vw,88px) 0 0}
  footer .reedtop{height:8px;background:repeating-linear-gradient(90deg,var(--gold) 0 1px,transparent 1px 6px);opacity:.38;margin-bottom:clamp(50px,7vw,72px)}
  footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:42px}
  footer h5{font-family:var(--sans);font-weight:400;font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:#7c756a;margin-bottom:20px}
  footer .flogo{font-family:var(--serif);font-weight:600;font-size:1.4rem;letter-spacing:.26em;color:var(--gold);text-transform:uppercase;margin-bottom:14px}
  footer p.blurb{font-size:.85rem;line-height:1.8;color:#8f887c;max-width:30ch}
  footer ul{list-style:none}
  footer ul li{margin:11px 0}
  footer ul li a{font-size:.85rem;color:#b6afa3;transition:color .25s}
  footer ul li a:hover{color:var(--gold-bright)}
  footer .sub-form{display:flex;border:1px solid var(--line-light);margin-top:6px}
  footer .sub-form input{flex:1;background:transparent;border:0;color:#e6e0d4;padding:13px 15px;font-family:var(--sans);font-size:.82rem;outline:none}
  footer .sub-form input::placeholder{color:#7c756a}
  footer .sub-form button{background:var(--gold);border:0;color:#fff;padding:0 18px;cursor:pointer;font-size:1rem}
  footer .social{display:flex;gap:12px;margin-top:22px}
  footer .social a{width:34px;height:34px;border:1px solid var(--line-light);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:.3s}
  footer .social a:hover{background:var(--gold);border-color:var(--gold)}
  footer .social svg{width:15px;height:15px;fill:#b6afa3;transition:fill .3s}
  footer .social a:hover svg{fill:#fff}
  footer .legal{margin-top:clamp(48px,6vw,68px);border-top:1px solid var(--line-light);padding:24px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
  footer .legal span{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#7c756a}
  /* 0.7.21: these three rules lived only in inner.css, which the home template
     does not load, so "PRIVACYTERMS OF SALE" ran together there and nowhere else. */
  footer .legal .legal-links a{color:#7c756a;text-decoration:none;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}
  footer .legal .legal-links a:hover{color:#e6e0d4}
  footer .legal .legal-links a+a{margin-left:18px}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
  .reveal.in{opacity:1;transform:none}

  @media(max-width:980px){
    nav.main,.hicons .acct{display:none}
    .burger{display:flex}
    .cgrid{grid-template-columns:1fr;grid-template-rows:none}
    .ctile{aspect-ratio:16/10}
    .ctile.feature{grid-row:auto;aspect-ratio:16/12}
    .prod-row{grid-template-columns:repeat(2,1fr)}
    .appraise .grid,.showroom .grid{grid-template-columns:1fr}
    .appraise .photo{order:-1}
    .showroom .photo{aspect-ratio:16/10;min-height:0}
    .jgrid{grid-template-columns:1fr;gap:40px}
    .heritage .inner{max-width:none}
    .heritage .scrim{background:linear-gradient(180deg,rgba(20,18,16,.4),rgba(20,18,16,.72))}
  }
  @media(max-width:600px){
    .util .left{display:none}
    .quote{padding:20px;border-right:0;border-bottom:1px solid var(--line);width:100%;justify-content:center}
    .readout{flex-direction:column}
    .prod-row{grid-template-columns:1fr 1fr;gap:12px}
    .trust .item{padding:16px 18px;border-right:0;width:50%;justify-content:flex-start}
    footer .cols{grid-template-columns:1fr 1fr;gap:34px}
    footer .col-blurb,footer .col-sub{grid-column:1/-1}
  }
  @media(max-width:820px){
    footer .cols{grid-template-columns:1fr 1fr;gap:34px}
    footer .col-blurb,footer .col-sub{grid-column:1/-1}
  }
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto}
    .reveal{opacity:1;transform:none}
    .hero .ken{animation:none}
  }
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  .hero .photo::before{display:none}

  /* ---- Huntsman-style scroll nav (transparent over hero -> solid on scroll) ---- */
  .util{position:fixed;top:0;left:0;right:0;z-index:61;background:transparent;border-bottom:0;transition:transform .45s ease,opacity .35s ease}
  .util .left{color:#f1ece0}
  .util .right a{color:#f1ece0}
  .util .sep{color:rgba(241,236,224,.4)}
  .util.tucked{transform:translateY(-100%);opacity:0;pointer-events:none}

  header{position:fixed;top:var(--spotbar-h);left:0;right:0;z-index:60;background:transparent;border-bottom:1px solid transparent;backdrop-filter:none;transition:top .45s ease,background .4s ease,border-color .4s ease,backdrop-filter .4s ease}
  header::before{content:"";position:absolute;left:0;right:0;top:0;bottom:-26px;background:linear-gradient(rgba(15,13,11,.62),rgba(15,13,11,.12));z-index:-1;pointer-events:none;transition:opacity .4s ease}
  header .bar{padding:24px 0}
  header nav.main>a,header .nav-item>a{color:#f1ece0}
  header .logo small{color:rgba(241,236,224,.75)}
  header .hicons svg{stroke:#f1ece0}
  header .burger span{background:#f1ece0}

  header.solid{top:var(--spotbar-h);background:rgba(246,243,236,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  header.solid::before{opacity:0}
  header.solid .bar{padding:12px 0}
  header.solid nav.main>a,header.solid .nav-item>a{color:var(--ink-soft)}
  header.solid .logo small{color:var(--muted)}
  header.solid .hicons svg{stroke:var(--ink-soft)}
  header.solid .burger span{background:var(--ink)}

  section[id]{scroll-margin-top:84px}

  /* ---- centered image logo + 3-column header ---- */
  header .bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:22px 0}
  header.solid .bar{padding:12px 0}
  .bar-left{justify-self:start;display:flex;align-items:center;gap:18px;min-width:0}
  .bar-right{justify-self:end;display:flex;align-items:center;gap:20px}
  .logo{justify-self:center;display:flex;align-items:center}
  .logo img{height:54px;width:auto;display:block;filter:none;transition:height .4s ease,filter .4s ease}
  header.solid .logo img{height:40px;filter:brightness(0)}
  @media(max-width:600px){
    .logo img{height:38px}
    header.solid .logo img{height:32px}
    .bar-right a[aria-label="Search"]{display:none}
  }

  /* ---- nav centered beneath the logo ---- */
  header .bar{display:flex;flex-direction:column;align-items:center;gap:14px;padding:22px 0;position:relative}
  header.solid .bar{padding:12px 0;gap:9px}
  nav.main{justify-content:center}
  .bar-right{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:20px}
  .burger{position:absolute;left:0;top:50%;transform:translateY(-50%)}

  .edge .reed-label{letter-spacing:.3em}
  @media(max-width:560px){.edge .reed-label{white-space:normal;text-align:center;letter-spacing:.18em}}

  /* ===== heritage story section (scoped, dark) ===== */
  .lcs{position:relative;background:#12301d;overflow:hidden;--lgold:#b08d4c;--lgold-bright:#caa962;--lmuted:#b4ab9c;--lcream:#efe7d6;background-image:url(../img/3bd7165f1707.svg)}
  .lcs::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(120% 90% at 50% 26%,rgba(202,169,98,.07),transparent 62%)}
  .lcs-inner{position:relative;z-index:1;max-width:1300px;margin:0 auto;padding:clamp(54px,7vw,96px) 32px clamp(40px,5vw,72px)}
  .lcs-arc{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}
  .lcs-arc path{fill:none;stroke:var(--lgold-bright);stroke-width:1;stroke-dasharray:1.5 9;opacity:.3}
  .lcs-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,4vw,56px);align-items:start}
  .lcs-stack{position:relative;width:100%;max-width:678px;margin:0 auto;aspect-ratio:100/75}
  .lcs-pl,.lcs-obj{position:absolute;will-change:transform;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
  .lcs-pl img,.lcs-obj img{width:100%;display:block}
  .lcs-pl img{filter:drop-shadow(0 20px 30px rgba(0,0,0,.6))}
  .lcs-coin img{clip-path:circle(49% at 50% 50%);filter:drop-shadow(0 10px 14px rgba(0,0,0,.6))}
  .lcs-watch img{filter:drop-shadow(0 18px 24px rgba(0,0,0,.6))}
  .lcs-neck img{filter:drop-shadow(0 10px 14px rgba(0,0,0,.55))}
  .lcs .p-board {left:15%; top:19%; width:15%; z-index:1}
  .lcs .p-fk {left:5%; top:19%; width:33%; z-index:2}
  .lcs .p-fam {left:34%; top:0%; width:38%; z-index:3}
  .lcs .p-cnt {left:16%; top:44%; width:48%; z-index:4}
  .lcs .o-morgan {left:5%; top:53%; width:17%; z-index:5}
  .lcs .o-quarter {left:28%; top:79%; width:11%; z-index:6}
  .lcs .o-neck {left:21%; top:-2%; width:34%; z-index:7; transform:rotate(9deg)}
  .lcs .o-watch {left:53%; top:47%; width:17%; z-index:8; transform:rotate(1deg)}
  /* 0.7.23: optional flat photograph in place of .lcs-stack (Homepage ->
     Heritage photo). .lcs-stack carries no radius or shadow of its own — the
     drop-shadows live on the cut-out images inside it — so this goes
     edge-to-edge instead: the photo bleeds past .lcs-inner's 32px gutter and
     its centring to sit flush against the left viewport edge, and the grid gap
     collapses so the green panel meets it with no seam. The copy keeps its
     breathing room from .lcs-col's own padding, not from the gap. 100vw counts
     the scrollbar, so the bleed can overshoot by a few px; .lcs already clips
     with overflow:hidden. Vertical footprint stays the stack's, per the brief. */
  .lcs-grid.has-photo{gap:0;align-items:stretch}
  .lcs-photo{position:relative;align-self:stretch;height:100%;min-height:508px;overflow:hidden;
    margin-left:calc(-1 * (32px + max(0px,(100vw - 1300px) / 2)))}
  /* absolute, like .lcs-pl/.lcs-obj above: left in flow the img's own intrinsic
     ratio sets the box height, so the band would grow or shrink with whatever
     photo is chosen and object-fit:cover would never actually crop. Out of flow,
     min-height governs, cover does its job and object-position picks the focal
     point. */
  .lcs-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
  .lcs-grid.has-photo .lcs-col{padding-left:clamp(24px,4vw,56px)}
  .lcs-col{position:relative;z-index:2}
  .lcs-ey{font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--lgold-bright);margin-bottom:18px}
  .lcs-title{font-family:var(--serif);font-weight:var(--t-disp-wt);font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.12;color:var(--lcream);margin-bottom:22px;max-width:15ch}
  .lcs-title em{font-style:italic;color:var(--lgold-bright)}
  .lcs-body{color:var(--lmuted);font-size:1.02rem;line-height:1.9;max-width:42ch;margin-bottom:32px}
  .lcs-cta{display:inline-flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--lcream);border-bottom:1px solid var(--lgold);padding-bottom:7px;transition:color .25s,border-color .25s}
  .lcs-cta:hover{color:var(--lgold-bright);border-color:var(--lgold-bright)}
  .lcs-cta svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5}
  @media(max-width:880px){.lcs-grid{grid-template-columns:1fr;gap:40px}.lcs-stack{max-width:629px}.lcs-arc{display:none}}
  /* 0.7.23: stacked above the copy at 4:3. The desktop bleed is left-only, which
     would read lopsided once the columns stack, so it bleeds both gutters here
     and the subject re-centres. */
  @media(max-width:880px){
    .lcs-grid.has-photo{gap:40px}
    .lcs-photo{height:auto;min-height:0;aspect-ratio:4/3;margin-left:-32px;margin-right:-32px}
    .lcs-photo img{object-position:center}
    .lcs-grid.has-photo .lcs-col{padding-left:0}
  }
  /* 0.7.24: moved verbatim out of Appearance -> Customize -> Additional CSS,
     where it was a stopgap after 0.7.23 shipped. In photo mode the drawer photo
     fills the band top to bottom -- no green strip above or below -- and the
     subject is anchored bottom-right so narrowing the viewport crops from the
     left and top instead of off the drawer. The copy column takes over the
     vertical padding the band gave up and centres itself against the photo.
     :has() in the original is replaced by the has-photo class front-page.php
     already puts on .lcs-inner; same result, and it keeps the band's layout off
     a selector the markup can state outright. (The mega-menu's
     header:has(.nav-item:hover) further down is a hover state with a graceful
     fallback; a band that silently regrows a green strip is not.) The min-height here outranks the 508px base rule and the
     mobile reset above it on specificity (one id), exactly as the stopgap did,
     so desktop and tablet render identically to the stopgap; below 880px it is
     released again -- see the block under these rules. */
  #heritage .lcs-inner.has-photo{padding-top:0;padding-bottom:0}
  #heritage .lcs-grid.has-photo{align-items:stretch}
  #heritage .lcs-grid.has-photo .lcs-col{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(48px,5.5vw,72px);align-self:center}
  #heritage .lcs-grid.has-photo .lcs-photo{min-height:clamp(440px,46vw,640px)}
  #heritage .lcs-grid.has-photo .lcs-photo img{object-position:100% 100%}
  /* 0.7.24: the min-height above is what the band wants on desktop, but below
     880px it fights aspect-ratio: a definite height plus a ratio drives the
     WIDTH (440 * 4/3 = 587px inside a 390px viewport) and also suppresses the
     grid's inline-axis stretch, so the box overhung the right edge by ~197px and
     body{overflow-x:hidden} quietly clipped it. Releasing it here lets the
     column's own width govern again, so the photo is exactly viewport-wide at
     4:3 and nothing is lost off the right. This block must stay AFTER the
     #heritage rules above -- same specificity, so source order decides. The
     bottom-right anchor still comes from the img rule above and is unchanged. */
  @media(max-width:880px){
    #heritage .lcs-grid.has-photo .lcs-photo{min-height:0}
  }
  /* 0.7.25: moved verbatim out of Appearance -> Customize -> Additional CSS,
     where it was the Nov 4 hotfix (backup customcss_pre_0725_backup_20261105).
     Releasing min-height above was not enough on a real iPhone: iOS Safari
     ignores aspect-ratio on a grid item that is being stretched, so the photo
     resolved to 0px tall and the drawer vanished. A definite height is the
     fix -- 75vw IS 4:3 at full screen width, so the framing the 4:3 box was
     asking for is what you get, stated in a way Safari cannot drop -- and
     align-self:start stops the stretch that caused it. This block must stay
     AFTER the min-height release above: same specificity, so source order
     decides, and min-height:0 is repeated here so the rule stands on its own
     if that block is ever removed. The bottom-right anchor still comes from
     the img rule further up and is untouched. */
  @media (max-width:880px){#heritage .lcs-grid.has-photo .lcs-photo{aspect-ratio:auto;height:75vw;min-height:0;align-self:start}}
  @media(prefers-reduced-motion:reduce){.lcs-pl,.lcs-obj{transition:none!important}}
  .ctile .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
  .ctile .photo.has-img{filter:none;background:none}

  /* instagram feed */
  .insta{padding:clamp(52px,7vw,92px) 0}
  .insta .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(18px,2.2vw,28px);gap:20px;flex-wrap:wrap}
  .ig-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
  .ig-tile{position:relative;aspect-ratio:1/1;overflow:hidden;display:block;background:#e9e4d8}
  .ig-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  .ig-tile:hover img{transform:scale(1.06)}
  .ig-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(20,18,16,0);opacity:0;transition:.4s}
  .ig-tile:hover .ig-ov{background:rgba(20,18,16,.34);opacity:1}
  .ig-ov svg{width:30px;height:30px;fill:#fff}
  @media(max-width:960px){.ig-grid{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:520px){.ig-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
  .thesis-mark{display:flex;justify-content:center;margin-bottom:14px}
  .thesis-mark img{width:88px;height:88px;display:block}

  /* what we buy */
  .buy{padding:var(--pad) 0;background:var(--white)}
  .buy .head{text-align:center;max-width:760px;margin:0 auto clamp(34px,4vw,52px)}
  .buy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .buy-card{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#17140f;border:1px solid var(--line)}
  .buy-card::before{content:"";position:absolute;inset:0;background:radial-gradient(130% 130% at 28% 18%,#433c31,#15120d 78%);z-index:0}
  .buy-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  .buy-card:hover img{transform:scale(1.05)}
  .buy-card .buy-ov{position:absolute;inset:0;z-index:2;background:linear-gradient(transparent 42%,rgba(12,10,8,.66));transition:background .4s}
  .buy-card:hover .buy-ov{background:linear-gradient(transparent 30%,rgba(12,10,8,.74))}
  .buy-card .buy-lab{position:absolute;z-index:3;left:18px;right:18px;bottom:15px}
  .buy-card .k{display:block;font-family:var(--serif);color:#fff;font-size:1.16rem;line-height:1.15}
  .buy-card .d{display:block;font-family:var(--sans);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:6px}
  .buy .head .lede{max-width:58ch;margin-left:auto;margin-right:auto;text-align:center}
  .buy-note{text-align:center;font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--muted);max-width:620px;margin:clamp(30px,4vw,46px) auto 0}
  .buy-cta{text-align:center;margin-top:20px}
  @media(max-width:960px){.buy-grid{grid-template-columns:repeat(2,1fr)}}

  /* prices (legacy homepage readout — retained; may be reused) */
  .prices{padding:clamp(56px,7vw,90px) 0;text-align:center;background:var(--paper-2)}
  .prices .lead{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1.3rem;margin-bottom:30px}
  .readout{display:flex;justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:860px;margin:0 auto}
  .quote{display:flex;align-items:baseline;gap:24px;padding:26px 38px;border-right:1px solid var(--line)}
  .quote:last-child{border-right:0}
  .quote .metal{font-family:var(--serif);font-size:1.4rem;color:var(--ink);letter-spacing:.06em}
  .quote .col{display:flex;flex-direction:column;align-items:flex-start}
  .quote .lab{font-family:var(--sans);font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
  .quote .val{font-family:var(--sans);font-weight:400;font-size:1.42rem;font-variant-numeric:tabular-nums}
  .quote .up{color:#4f7a4a}
  .prices .note{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:18px}

  /* metals placard (SHARED — used by the Section Builder price-strip section) */
  .pls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;max-width:940px;margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 8px}
  .pls .q{display:inline-flex;align-items:baseline;gap:9px;padding:6px 28px;position:relative}
  .pls .q+.q::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:16px;background:var(--line)}
  .pls .m{font-family:var(--sans);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
  .pls .p{font-variant-numeric:tabular-nums;font-size:1.14rem;color:var(--ink)}
  .pls .c{font-variant-numeric:tabular-nums;font-size:.92rem}
  .pls .c .ar{font-size:.76em;margin-right:1px}
  .pls .up{color:#4f7a4a} .pls .down{color:#9a3b2e}
  @media(max-width:720px){.pls{padding:16px 4px} .pls .q{padding:6px 16px} .pls .q+.q::before{display:none}}

  /* --- strip band (green full-bleed) variant, used by the price-strip section --- */
  .prices.strip-band{padding:0;background:#12301d;background-image:url(../img/3bd7165f1707.svg)}
  .strip-band .wrap{padding:16px 24px}
  .strip-band .pls{border-top:0;border-bottom:0;padding:4px 8px;max-width:none}
  .strip-band .pls .lead2{font-family:var(--sans);font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-bright);padding:6px 24px 6px 0;margin-right:2px;border-right:1px solid var(--line-light)}
  .strip-band .pls .m{color:rgba(246,243,236,.58)}
  .strip-band .pls .p{color:var(--paper)}
  .strip-band .pls .up{color:#86c07f}
  .strip-band .pls .down{color:#d98a78}
  .strip-band .pls .q+.q::before{background:var(--line-light)}

  /* ===== Spot-price ticker (sitewide, fixed above #hdr) ===== */
  body.has-spotbar{--spotbar-h:38px}
  body{padding-top:var(--spotbar-h)}
  .spotbar{position:fixed;top:0;left:0;right:0;z-index:70;height:var(--spotbar-h);background:var(--green);color:var(--paper);display:flex;align-items:center;font-family:var(--sans)}
  /* 0.7.21: the ticker was never missing on desktop — it was underneath the WP
     admin bar. Both are position:fixed at top:0, and the theme had no admin-bar
     rules at all, so a logged-in admin saw no ticker while logged-out visitors
     did. Offset both the bar and the header by the admin bar's height. */
  .admin-bar .spotbar{top:32px}
  .admin-bar header{top:calc(var(--spotbar-h) + 32px)}
  .admin-bar header.solid{top:calc(var(--spotbar-h) + 32px)}
  @media(max-width:782px){
    .admin-bar .spotbar{top:46px}
    .admin-bar header,.admin-bar header.solid{top:calc(var(--spotbar-h) + 46px)}
  }
  .spotbar-in{max-width:var(--wrap);width:100%;margin:0 auto;padding:0 clamp(16px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:16px}
  .spotbar-quotes{display:flex;align-items:center;flex-wrap:nowrap;min-width:0;overflow:hidden}
  .spotbar .sb-q{display:inline-flex;align-items:baseline;gap:8px;padding:0 18px;position:relative;white-space:nowrap}
  .spotbar .sb-q+.sb-q::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:rgba(246,243,236,.22)}
  .spotbar .sb-m{font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright)}
  .spotbar .sb-p{font-variant-numeric:tabular-nums;font-size:.82rem;color:var(--paper)}
  .spotbar .sb-c{font-variant-numeric:tabular-nums;font-size:.72rem;display:inline-flex;align-items:center;gap:2px}
  .spotbar .sb-c .sb-ar{font-size:.8em}
  .spotbar .sb-c.up{color:#9ecb9e}
  .spotbar .sb-c.down{color:#d89f93}
  .spotbar-call{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--paper);font-size:.72rem;letter-spacing:.04em;font-variant-numeric:tabular-nums}
  .spotbar-call:hover{color:var(--gold-bright)}
  .spotbar .sb-phone{width:12px;height:12px;fill:currentColor;flex:0 0 auto}
  @media(max-width:980px){body.has-spotbar{--spotbar-h:36px}}
  @media(max-width:860px){.spotbar .sb-q--platinum,.spotbar .sb-q--palladium{display:none}}

  .strip-band .bnote{font-family:var(--sans);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,243,236,.46);margin-top:10px;text-align:center}
  @media(max-width:720px){.strip-band .pls .lead2{border-right:0;padding:6px 0;display:block;width:100%;text-align:center}}

  /* journal / blog */
  .journal{padding:clamp(52px,7vw,92px) 0;border-top:1px solid var(--line)}
  .journal .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(22px,2.6vw,34px);gap:20px;flex-wrap:wrap}
  .jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .jcard{display:block}
  .jcard .photo{position:relative;aspect-ratio:4/3;margin-bottom:20px;overflow:hidden;background:#e9e4d8}
  .jcard .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  .jcard:hover .photo img{transform:scale(1.05)}
  .jcard .date{font-family:var(--sans);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
  .jcard h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.25;color:var(--ink);margin-bottom:12px}
  .jcard p{color:var(--muted);font-size:.92rem;line-height:1.7;margin-bottom:16px}
  @media(max-width:980px){.jgrid{grid-template-columns:1fr;gap:40px}}

  /* instagram — Boodles-style headline + full-bleed flush strip */
  .insta .head.ig-head{align-items:baseline;margin-bottom:clamp(26px,3vw,42px)}
  .ig-title{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3.4vw,2.9rem);line-height:1.1;letter-spacing:.005em;color:var(--ink);transition:color .25s}
  .ig-title:hover{color:var(--gold)}
  .ig-handle{font-family:var(--sans);font-weight:400;font-size:clamp(.92rem,1.7vw,1.4rem);letter-spacing:.22em;text-transform:uppercase;color:#cfc8b8;white-space:nowrap;transition:color .25s}
  .ig-handle:hover{color:var(--gold)}
  .ig-grid{gap:0;width:100vw;margin-left:calc(50% - 50vw)}
  .ig-tile:hover .ig-ov{background:rgba(20,18,16,.16)}
  .ig-ov svg{display:none}
  @media(max-width:620px){.insta .head.ig-head{flex-direction:column;align-items:flex-start;gap:6px}}

  @media(max-width:980px){.ctile.feature.feature-right{grid-column:auto}}

  .showroom .photo .map{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;z-index:2}
  .showroom .photo::before,.showroom .photo::after{display:none}
.mega{position:absolute;left:0;right:0;top:100%;background:rgba(246,243,236,.90);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:2px solid var(--gold);box-shadow:0 28px 44px -32px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .26s,transform .26s,visibility .26s;z-index:5}.mega-inner{max-width:var(--wrap);margin:0 auto;padding:34px 28px 42px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 240px;gap:26px;align-items:start}header:has(.nav-item:hover) .mega,.mega:hover{opacity:1;visibility:visible;transform:translateY(0)}.mega-feat{background:#14301d;border-radius:5px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}.mega-feat img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.45));margin-bottom:12px}.mega-feat .fe{font-family:var(--sans);font-weight:500;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:8px}.mega-feat h5{font-family:var(--serif);font-weight:500;font-size:1.4rem;line-height:1.2;color:#f4efe3;margin:0 0 14px}.mega-feat .cta{font-family:var(--sans);font-weight:500;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-bright);text-decoration:none}.mega-feat .cta:hover{color:#fff}
/* 0.7.30, layout B: three text groups beside the bullion card. Grouping the
   links by intent -- browse a category, shop a way, sell something -- is what
   gives the open panel a reason to exist; six bare category links did not.
   The sub-label sits inside the <a>, so the whole two-line block is one target
   rather than a link with an unclickable caption under it. */
.mega-group{min-width:0}
.mega-eyebrow{font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:#8a6a2e;padding-bottom:10px;border-bottom:1px solid #e4ded2;margin-bottom:6px}
.mega-list{list-style:none;margin:0;padding:0}
.mega-list li{margin:0}
.mega-list a{display:block;padding:7px 0;color:var(--ink);text-decoration:none}
.mega-lbl{display:block;font-family:var(--serif);font-weight:300;font-size:21px;line-height:1.25;transition:color .2s}
.mega-list a:hover .mega-lbl{color:#8a6a2e}
.mega-sub{display:block;font-family:var(--sans);font-size:11.5px;line-height:1.4;color:#6f685d;margin-top:2px}

/* Below 980px nav.main is display:none, so .nav-item can never be hovered and
   this panel is unreachable for good -- but it was only opacity/visibility
   hidden, so phones still laid it out, painted a backdrop-filter behind it and
   kept its markup live. Take it out of layout instead. (It also stopped the
   0.7.30 picture tiles being fetched on phones that could never see them;
   those are gone now, but the rule earns its place either way.) */
@media(max-width:980px){.mega{display:none}}

/* 0.7.30: the site notification card. Deliberately NOT a modal -- no overlay,
   no focus trap, and on a phone a short bottom strip rather than a takeover,
   because Google demotes pages for intrusive interstitials. It is fixed and
   starts hidden, so it can never shift the layout. */
.lc-notice{position:fixed;right:28px;bottom:28px;z-index:1200;width:480px;max-width:calc(100vw - 56px);display:flex;background:var(--paper);box-shadow:0 18px 50px rgba(0,0,0,.3);opacity:0;transform:translateY(16px);transition:opacity .32s ease,transform .32s cubic-bezier(.2,.7,.2,1)}
.lc-notice.is-in{opacity:1;transform:translateY(0)}
.lc-notice[hidden]{display:none}
.lc-notice--slim{width:360px;border-top:3px solid var(--gold)}
.lc-notice-pic{position:relative;flex:0 0 150px;width:150px;background:var(--green);display:flex;align-items:center;justify-content:center;overflow:hidden}
.lc-notice-pic::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 38%,rgba(202,169,98,.22),transparent 70%)}
.lc-notice-pic img{position:relative;width:122px;height:auto;max-height:82%;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.45))}
.lc-notice-body{position:relative;flex:1 1 auto;padding:22px 24px;min-width:0}
.lc-notice-x{position:absolute;top:4px;right:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:0;background:none;color:var(--muted);font-size:1.15rem;line-height:1;cursor:pointer;padding:0}
.lc-notice-x:hover{color:var(--ink)}
.lc-notice-eyebrow{font-family:var(--sans);font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:#8a6a2e;margin-bottom:9px}
.lc-notice-title{font-family:var(--serif);font-weight:200;font-size:27px;line-height:1.14;color:var(--ink);margin:0 0 8px;padding-right:24px}
.lc-notice-title em{font-style:italic;color:#8a6a2e}
.lc-notice-text{font-size:13.5px;line-height:1.55;color:#4a453e;margin:0 0 14px}
.lc-notice-act{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.lc-notice-btn{display:inline-block;background:var(--green);color:var(--paper);font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;padding:13px 18px;transition:background .25s}
.lc-notice-btn:hover{background:#0e2416;color:var(--paper)}
.lc-notice-sec{font-size:13px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}
.lc-notice-sec:hover{color:var(--gold)}
@media(prefers-reduced-motion:reduce){.lc-notice{transition:none}}
/* Phone: still the picture beside the words, not stacked -- a stacked card is
   taller, and height is the whole constraint here. 0.7.32 widens the green
   panel to 140px so the coin is actually legible and brings the body copy
   back; what stays cut is the secondary link, which was a second tap target
   competing with the button in a strip this short. The card has to stay under
   a quarter of the screen: past that Google counts it as an intrusive
   interstitial and docks the page for it. */
@media(max-width:699px){
  .lc-notice,.lc-notice--slim{left:14px;right:14px;bottom:14px;width:auto;max-width:none}
  .lc-notice-pic{flex:0 0 140px;width:140px}
  .lc-notice-pic img{width:108px}
  .lc-notice-body{padding:16px 40px 16px 16px}
  .lc-notice-sec{display:none}
  /* Two lines of body, then an ellipsis. At the sizes above, this copy runs to
     three lines in a 166px column and puts the card at 26.4% of a 390x844
     screen -- past the quarter-screen ceiling. The clamp also caps the card
     for any future notice, which is the real risk: without it a longer
     message grows the card with nothing to stop it. */
  .lc-notice-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.45;color:#4a453e;margin-bottom:12px}
  .lc-notice-eyebrow{font-size:9.5px;margin-bottom:6px}
  .lc-notice-title{font-size:23px;margin-bottom:10px}
  .lc-notice-btn{font-size:10px;letter-spacing:.28em;padding:12px 16px}
  /* 0.7.33: "CALL TO RESERVE" at 10px/.28em in sweet-sans-pro needs 174px and
     the text column gives it 166, so it wrapped to two lines and pushed the
     card to 26.2% of a 390x844 screen -- over the quarter-screen ceiling.
     The 40px right padding is there to clear the close x, which sits at the
     TOP of the card; the button row has nothing above it, so it can have
     that space back. 8px is enough, 12 leaves slack for a longer label.
     Measured on staging, not in a preview: a local harness without the
     Typekit fonts renders this button narrower and hides the problem. */
  .lc-notice-act{margin-right:-12px}
}

/* ===== Mobile nav (theme) ===== */
.burger{display:none}
.mnav,.mnav-overlay{font-family:var(--sans)}
@media(max-width:980px){
  #hdr .main{display:none}
  .burger{display:inline-flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;z-index:80}
  .burger span{width:24px;height:2px;background:currentColor;display:block;transition:.25s}
}
.mnav-overlay{position:fixed;inset:0;background:rgba(20,24,18,.5);backdrop-filter:blur(2px);z-index:90;opacity:0;transition:opacity .3s}
.mnav-overlay.show{opacity:1}
.mnav{position:fixed;top:0;right:0;height:100%;width:min(86vw,340px);background:var(--paper,#f6f3ec);z-index:95;
  transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;
  box-shadow:-18px 0 50px -20px rgba(0,0,0,.4);overflow-y:auto}
.mnav.show{transform:translateX(0)}
.mnav-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line,rgba(35,34,32,.14))}
.mnav-title{font:500 .68rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold,#b08d4c)}
.mnav-close{background:none;border:0;font-size:2rem;line-height:1;color:var(--ink,#232220);cursor:pointer}
.mnav-list{list-style:none;margin:0;padding:10px 0;flex:1}
.mnav-list>li>a,.mnav-acc-btn{display:flex;align-items:center;justify-content:space-between;width:100%;
  font:500 1.35rem/1 var(--serif,'Cormorant Garamond',serif);color:var(--ink,#232220);text-decoration:none;
  padding:15px 24px;background:none;border:0;cursor:pointer;text-align:left}
.mnav-list>li>a:hover,.mnav-acc-btn:hover{color:var(--gold,#b08d4c)}
.mnav-chev{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s;opacity:.6}
.mnav-acc.open .mnav-chev{transform:rotate(-135deg)}
.mnav-sub{max-height:0;overflow:hidden;transition:max-height .3s ease}
.mnav-acc.open .mnav-sub{max-height:420px}
.mnav-sub a{display:block;font:400 1.05rem/1 var(--serif,serif);color:var(--ink-soft,#3b3934);text-decoration:none;padding:11px 24px 11px 38px}
.mnav-sub a:hover{color:var(--gold,#b08d4c)}
.mnav-call{display:block;margin:14px 24px 26px;text-align:center;background:var(--green,#14301d);color:#f4efe3;
  font:500 .7rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:15px;border-radius:3px;text-decoration:none}
body.mnav-open{overflow:hidden}

/* ===== Inner-page header state (solid, dark text, content spacer) ===== */
body:not(.home) header#hdr{background:rgba(246,243,236,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
body:not(.home) header#hdr::before{opacity:0}
body:not(.home) #hdr .main>a,body:not(.home) #hdr .nav-item>a{color:var(--ink-soft)}
body:not(.home) #hdr .hicons svg{stroke:var(--ink-soft)}
body:not(.home) #hdr .logo img{filter:brightness(0)}
body:not(.home) .lcin{padding-top:clamp(122px,14vh,148px)}

/* logo swaps */
footer img.flogo{display:block;width:200px;height:auto;margin-bottom:16px}
  /* Header search bar (toggled by the search icon) */
  .hsearch{border-top:1px solid var(--line);background:var(--paper)}
  .hsearch form{max-width:640px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:12px clamp(20px,4vw,48px)}
  .hsearch input[type=search]{flex:1;border:0;background:transparent;font-family:var(--sans);font-size:.95rem;letter-spacing:.04em;color:var(--ink);outline:none;padding:8px 2px}
  .hsearch input[type=search]::placeholder{color:var(--muted)}
  .hsearch button{border:0;background:none;cursor:pointer;color:var(--gold);padding:6px}
  .hsearch button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
  /* Footer signup states */
  .sub-hp{display:none}
  .sub-note{font-size:.82rem;margin-top:10px}
  .sub-note.ok{color:var(--gold-bright)}
  .sub-note.err{color:#d98f7e}

/* Call for price (global — homepage cards included) */
.lc-cfp{font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:#b08d4c;font-weight:500}
.lc-soldtxt{font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:#8a857c;font-weight:500}

/* ===== TYPOGRAPHY RECIPE (production) ===== */
body{font-family:var(--t-body)}
h2.title,
.photo .cap,
.prod-img .ph-cap,
.logo,
.drawer a,
.hero h1,
.thesis .stmt,
.thesis .sign,
.ctile .k,
.pcard .nm,
.acquired .note,
.svc h3,
.jcard h3,
.showroom .lines,
footer .flogo,
.buy-card .k,
.buy-note,
.prices .lead,
.quote .metal,
.ig-title,
.mega-feat h5{font-weight:var(--t-disp-wt)}
/* type */
  .eyebrow,
/* buttons */
  .btn,
.quiet,
.prod-img .badge,
.util a,
.util span,
.logo,
nav.main > a,
.nav-item > a,
.drawer .sub,
.hero .est,
.trust .item span,
.ctile .go,
.jcard .date,
.showroom .lines b,
.lc-badges-hd,
footer h5,
footer .flogo,
footer .legal span,
.lcs-ey,
.lcs-cta,
.buy-card .d,
.quote .lab,
.prices .note,
.pls .m,
.strip-band .pls .lead2,
.strip-band .bnote,
.ig-handle,
.mega-feat .fe,
.mega-feat .cta,
.mnav-title,
.mnav-call,
/* Call for price (global — homepage cards included) */
.lc-cfp,
.lc-soldtxt{font-family:var(--t-caps)}
.spotbar .sb-m,.eyebrow,.fbot span{font-family:var(--t-cer)}
h1 em,h2 em,.hero h1 em,.title em{font-weight:var(--t-acc-wt)}
.hero h1{font-size:calc(clamp(2.6rem,6vw,4.4rem)*var(--t-hero-scale))}

/* ===== CERTIFICATE MARKS ===== */
.lc-mk{display:inline-block;background-color:currentColor;-webkit-mask:var(--mk) center/contain no-repeat;mask:var(--mk) center/contain no-repeat}
.lc-mk--mark-1{--mk:url('../img/marks/mark-1.svg')}
.lc-mk--mark-2{--mk:url('../img/marks/mark-2.svg')}
.lc-mk--mark-3{--mk:url('../img/marks/mark-3.svg')}
.lc-mk--mark-4{--mk:url('../img/marks/mark-4.svg')}
.lc-mk--mark-5{--mk:url('../img/marks/mark-5.svg')}
.lc-mk--mark-6{--mk:url('../img/marks/mark-6.svg')}
.lc-mk--mark-7{--mk:url('../img/marks/mark-7.svg')}
.lc-crown{color:var(--gold);margin:0 auto 12px;display:block;width:20px;height:20px}
.lc-engraving{display:block;margin:0 0 22px}
.lc-engraving img{display:inline-block;height:clamp(64px,7vw,92px);width:auto;margin:0}
.lc-crown.lc-mk--mark-1,.lc-crown.lc-mk--mark-2,.lc-crown.lc-mk--mark-3,.lc-crown.lc-mk--mark-5{transform:rotate(90deg)}
.lc-crown.lc-mk--mark-6{width:69px;height:9px}
.lc-flankwrap{display:flex;align-items:center;justify-content:center;gap:13px}
.lc-flank{color:var(--gold-bright)}
.lc-flank.lc-mk--mark-1{width:5.4px;height:9px}
.lc-flank.lc-mk--mark-2{width:7.1px;height:13px}
.lc-flank.lc-mk--mark-3{width:8.3px;height:13px}
.lc-flank.lc-mk--mark-4{width:13.0px;height:13px}
.lc-flank.lc-mk--mark-5{width:8.4px;height:13px}
.lc-flank.lc-mk--mark-6{width:76.5px;height:10px;color:var(--gold)}
.lc-flank.lc-mk--mark-7{width:20.3px;height:13px}
.lc-flank--rt{transform:scaleX(-1)}
.lc-flank.lc-mk--mark-3{transform:scaleX(-1)}
.lc-flank--rt.lc-mk--mark-3{transform:none}
.lc-divider{display:flex;align-items:center;gap:15px;padding:6px 0}
.lc-divider:before,.lc-divider:after{content:'';flex:1;height:1px;background:rgba(35,34,32,.14)}
.lc-divider .lc-mk{--mk:url('../img/marks/mark-2.svg');width:13px;height:20px;color:var(--gold);opacity:.75}
.lc-divider .lc-mk+.lc-mk{transform:scaleX(-1)}
