.ld2 *, .ld2 *::before, .ld2 *::after { box-sizing: border-box; }
  .ld2 {
    --midnight:#0a1327; --deep:#0d1830; --panel:#111f3d; --panel-2:#16264a;
    --ivory:#f5f1e6; --paper:#fbf9f2; --gold:#c9a24b; --gold-2:#e7c878;
    --slate:#9fb0cf; --slate-dk:#6f83a6; --line:rgba(201,162,75,.22); --line-soft:rgba(159,176,207,.16); --fill:rgba(17,31,61,.4); --scrim-rgb:8,14,32;
    --img-hero:url(hero.jpg); --img-commercial:url(commercial.jpg); --img-residential:url(residential.jpg); --img-process:url(process.jpg);
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--ivory); background: var(--midnight); line-height: 1.62; -webkit-font-smoothing: antialiased; overflow-x: hidden;
  }
  .ld2 .serif { font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Georgia", "Times New Roman", serif; }
  .ld2 a { color: inherit; text-decoration: none; }
  .ld2 .wrap { width: min(1140px, 100% - 2.5rem); margin-inline: auto; }
  .ld2 h1, .ld2 h2, .ld2 h3 { margin: 0; line-height: 1.08; text-wrap: balance; color: var(--ivory); }
  .ld2 p { margin: 0; }
  .ld2 .eyebrow { text-transform: uppercase; letter-spacing: .26em; font-size: .72rem; font-weight: 700; color: var(--gold); display: inline-flex; align-items: center; gap: .7rem; }
  .ld2 .eyebrow::before { content: ""; width: 26px; height: 1px; background: var(--gold); opacity: .7; }
  .ld2 .eyebrow.center::after { content: ""; width: 26px; height: 1px; background: var(--gold); opacity: .7; }

  /* header */
  .ld2 header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--midnight) 84%, transparent); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
  .ld2 .bar { display: flex; align-items: center; gap: 1.5rem; height: 76px; }
  .ld2 .brand { display: flex; align-items: center; gap: .7rem; }
  .ld2 .brand .crest { width: 38px; height: 42px; flex: none; }
  .ld2 .brand .name { font-weight: 700; letter-spacing: .04em; font-size: 1.05rem; }
  .ld2 .brand .name small { display: block; font-size: .58rem; font-weight: 600; letter-spacing: .34em; text-transform: uppercase; color: var(--gold); margin-top: 2px; }
  .ld2 nav { margin-left: auto; display: flex; align-items: center; gap: 1.8rem; }
  .ld2 nav .lnk { font-weight: 600; font-size: .9rem; color: var(--slate); }
  .ld2 nav .lnk:hover { color: var(--ivory); }
  .ld2 .tel { color: var(--ivory); font-weight: 700; }
  .ld2 .btn { display: inline-flex; align-items: center; gap: .55rem; font-weight: 700; font-size: .92rem; cursor: pointer; padding: .72rem 1.3rem; border-radius: 4px; border: 0; white-space: nowrap; transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
  .ld2 .btn-gold { background: linear-gradient(180deg, var(--gold-2), var(--gold)); color: #2a1e05; box-shadow: 0 10px 30px -12px rgba(201,162,75,.6); }
  .ld2 .btn-gold:hover { transform: translateY(-2px); box-shadow: 0 16px 36px -12px rgba(201,162,75,.7); }
  .ld2 .btn-line { background: transparent; color: var(--ivory); border: 1px solid color-mix(in srgb, var(--ivory) 28%, transparent); }
  .ld2 .btn-line:hover { border-color: var(--gold); color: var(--gold); }
  .ld2 nav .menu { display: flex; align-items: center; gap: 1.8rem; }
  @media (max-width: 900px) { .ld2 nav .menu, .ld2 .tel { display: none; } }

  /* hero — full-bleed photo + navy scrim */
  .ld2 .hero { position: relative; min-height: 88vh; display: flex; align-items: center; background: var(--img-hero) center 30%/cover no-repeat; }
  .ld2 .hero::before { content: ""; position: absolute; inset: 0; background:
      linear-gradient(100deg, rgba(var(--scrim-rgb),.94) 0%, rgba(var(--scrim-rgb),.82) 42%, rgba(var(--scrim-rgb),.55) 72%, rgba(var(--scrim-rgb),.35) 100%); }
  .ld2 .hero::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 -120px 120px -60px rgba(var(--scrim-rgb),.9); }
  .ld2 .hero .wrap { position: relative; z-index: 2; padding: 5rem 0; }
  .ld2 .hero-inner { max-width: 640px; }
  .ld2 .hero h1 { font-size: clamp(2.7rem, 6.2vw, 4.8rem); font-weight: 600; letter-spacing: -.015em; margin: 1.4rem 0; }
  .ld2 .hero h1 em { font-style: italic; color: var(--gold-2); }
  .ld2 .hero .lead { color: #e8e1d3; font-size: 1.2rem; max-width: 44ch; }
  .ld2 .cta-row { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.1rem; }
  .ld2 .assur { margin-top: 2.2rem; display: flex; flex-wrap: wrap; gap: 1rem 1.6rem; }
  .ld2 .assur span { display: inline-flex; align-items: center; gap: .5rem; font-size: .88rem; color: #e8e1d3; font-weight: 600; }
  .ld2 .assur svg { color: var(--gold); flex: none; }

  /* gold rule strip */
  .ld2 .rule { border-bottom: 1px solid var(--line); background: linear-gradient(180deg, var(--deep), var(--midnight)); }
  .ld2 .rule .wrap { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; padding: 1.7rem 0; }
  @media (max-width: 720px) { .ld2 .rule .wrap { grid-template-columns: repeat(2,1fr); gap: 1.5rem; } }
  .ld2 .rule .it { text-align: center; }
  .ld2 .rule .it b { display: block; font-size: 1.1rem; color: var(--gold-2); }
  .ld2 .rule .it span { font-size: .78rem; color: var(--slate-dk); }

  /* section scaffold */
  .ld2 section.pad { padding: clamp(4rem, 8vw, 6.5rem) 0; }
  .ld2 .head { max-width: 62ch; margin-bottom: 2.6rem; }
  .ld2 .head.center { margin-inline: auto; text-align: center; }
  .ld2 .head.center .eyebrow { justify-content: center; }
  .ld2 .head h2 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; letter-spacing: -.02em; margin: 1rem 0 .7rem; }
  .ld2 .head p { color: var(--slate); font-size: 1.07rem; }

  /* services with photos */
  .ld2 .svc { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  @media (max-width: 820px) { .ld2 .svc { grid-template-columns: 1fr; } }
  .ld2 .svc-card { border: 1px solid var(--line-soft); border-radius: 10px; overflow: hidden; background: linear-gradient(170deg, var(--panel), var(--deep)); display: flex; flex-direction: column; }
  .ld2 .svc-card.feature { border-color: var(--line); box-shadow: 0 30px 60px -40px rgba(201,162,75,.35); }
  .ld2 .svc-photo { height: 210px; background-size: cover; background-position: center; position: relative; }
  .ld2 .svc-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(var(--scrim-rgb),.15), rgba(var(--scrim-rgb),.85)); }
  .ld2 .svc-photo.commercial { background-image: var(--img-commercial); }
  .ld2 .svc-photo.residential { background-image: var(--img-residential); }
  .ld2 .svc-body { padding: 1.8rem 2rem 2rem; }
  .ld2 .svc-card .kick { display: inline-flex; align-items: center; gap: .5rem; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); margin-top: -3rem; position: relative; z-index: 1; background: color-mix(in srgb, var(--deep) 85%, transparent); border: 1px solid var(--line); padding: .5rem .8rem; border-radius: 999px; }
  .ld2 .svc-card h3 { font-size: 1.5rem; font-weight: 600; margin: 1rem 0 .5rem; }
  .ld2 .svc-card > .svc-body > p { color: var(--slate); margin-bottom: 1.3rem; }
  .ld2 .svc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
  .ld2 .svc-list li { display: flex; gap: .7rem; align-items: flex-start; font-size: .97rem; color: var(--ivory); }
  .ld2 .svc-list svg { color: var(--gold); flex: none; margin-top: .25rem; }

  /* industries band */
  .ld2 .ind { background: linear-gradient(180deg, var(--deep), var(--midnight)); border-block: 1px solid var(--line); }
  .ld2 .ind-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 1rem; }
  @media (max-width: 900px) { .ld2 .ind-grid { grid-template-columns: repeat(3,1fr); } }
  @media (max-width: 520px) { .ld2 .ind-grid { grid-template-columns: repeat(2,1fr); } }
  .ld2 .ind-tile { text-align: center; padding: 1.6rem 1rem; border: 1px solid var(--line-soft); border-radius: 8px; background: var(--fill); transition: border-color .2s ease, transform .2s ease; }
  .ld2 .ind-tile:hover { border-color: var(--line); transform: translateY(-3px); }
  .ld2 .ind-tile .ic { color: var(--gold); margin-bottom: .8rem; display: flex; justify-content: center; }
  .ld2 .ind-tile b { font-size: .92rem; font-weight: 600; color: var(--ivory); display: block; }

  /* standard band with photo */
  .ld2 .standband { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
  @media (max-width: 860px) { .ld2 .standband { grid-template-columns: 1fr; } }
  .ld2 .standband .photo { background: var(--img-process) center/cover no-repeat; min-height: 420px; position: relative; }
  .ld2 .standband .photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(var(--scrim-rgb),.5), rgba(var(--scrim-rgb),.1)); }
  .ld2 .standband .body { padding: clamp(2.4rem, 5vw, 4rem); background: linear-gradient(170deg, var(--panel-2), var(--deep)); }
  .ld2 .standlist { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; gap: 1.3rem; }
  .ld2 .standlist li { display: flex; gap: 1rem; align-items: flex-start; }
  .ld2 .standlist .ic { width: 42px; height: 42px; flex: none; border-radius: 8px; border: 1px solid var(--line); color: var(--gold); display: grid; place-items: center; background: rgba(201,162,75,.08); }
  .ld2 .standlist h3 { font-size: 1.08rem; font-weight: 600; margin-bottom: .25rem; }
  .ld2 .standlist p { color: var(--slate); font-size: .93rem; }

  /* process */
  .ld2 .steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; counter-reset: s; }
  @media (max-width: 820px) { .ld2 .steps { grid-template-columns: 1fr; } }
  .ld2 .step { padding: 0 1.6rem; border-left: 1px solid var(--line); }
  @media (max-width: 820px) { .ld2 .step { border-left: 0; border-top: 1px solid var(--line); padding: 1.4rem 0 0; } }
  .ld2 .step .n { font-family: "Georgia", serif; font-size: 2.4rem; color: var(--gold); font-style: italic; line-height: 1; }
  .ld2 .step .n::before { counter-increment: s; content: "0" counter(s); }
  .ld2 .step h3 { font-size: 1.2rem; font-weight: 600; margin: .8rem 0 .5rem; }
  .ld2 .step p { color: var(--slate); font-size: .96rem; }

  /* guarantee callout */
  .ld2 .guarantee { border: 1px solid var(--line); border-radius: 10px; background: linear-gradient(120deg, rgba(201,162,75,.10), var(--fill)); padding: clamp(2rem,4vw,3rem); display: flex; align-items: center; gap: 1.8rem; flex-wrap: wrap; }
  .ld2 .guarantee .seal { width: 76px; height: 76px; flex: none; border-radius: 999px; border: 2px solid var(--gold); color: var(--gold); display: grid; place-items: center; }
  .ld2 .guarantee .gtext { flex: 1; min-width: 260px; }
  .ld2 .guarantee h3 { font-size: 1.5rem; font-weight: 600; margin-bottom: .4rem; }
  .ld2 .guarantee p { color: var(--slate); }

  /* faq */
  .ld2 .faq { max-width: 820px; margin-inline: auto; display: grid; gap: .8rem; }
  .ld2 details { border: 1px solid var(--line-soft); border-radius: 8px; background: var(--fill); overflow: hidden; }
  .ld2 details[open] { border-color: var(--line); }
  .ld2 summary { cursor: pointer; padding: 1.2rem 1.4rem; font-weight: 600; font-size: 1.02rem; color: var(--ivory); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
  .ld2 summary::-webkit-details-marker { display: none; }
  .ld2 summary .plus { color: var(--gold); font-size: 1.4rem; transition: transform .2s ease; flex: none; }
  .ld2 details[open] summary .plus { transform: rotate(45deg); }
  .ld2 details .a { padding: 0 1.4rem 1.3rem; color: var(--slate); font-size: .97rem; }

  /* area */
  .ld2 .areaband { text-align: center; }
  .ld2 .area-list { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; max-width: 760px; margin: 1.6rem auto 0; }
  .ld2 .area-list span { font-size: .9rem; font-weight: 600; color: var(--ivory); border: 1px solid var(--line); padding: .55rem .9rem; border-radius: 4px; background: var(--fill); }
  .ld2 .area-list span.hq { background: linear-gradient(180deg, var(--gold-2), var(--gold)); color: #2a1e05; border-color: var(--gold); }

  /* quote */
  .ld2 .quote { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: linear-gradient(165deg, var(--panel-2), var(--deep)); }
  .ld2 .quote .inner { display: grid; grid-template-columns: .92fr 1.08fr; }
  @media (max-width: 880px) { .ld2 .quote .inner { grid-template-columns: 1fr; } }
  .ld2 .quote .pitch { padding: clamp(2.2rem, 4vw, 3.2rem); }
  .ld2 .quote .pitch h2 { font-size: clamp(1.9rem, 3.6vw, 2.6rem); font-weight: 600; letter-spacing: -.02em; }
  .ld2 .quote .pitch p { color: var(--slate); margin-top: .9rem; }
  .ld2 .quote .assure { list-style: none; margin: 1.7rem 0 0; padding: 0; display: grid; gap: .8rem; }
  .ld2 .quote .assure li { display: flex; gap: .6rem; align-items: center; color: var(--ivory); font-size: .96rem; }
  .ld2 .quote .assure svg { color: var(--gold); flex: none; }
  .ld2 .form { background: var(--paper); color: #1c2436; padding: clamp(1.8rem, 3vw, 2.6rem); }
  .ld2 .field { margin-bottom: 1rem; }
  .ld2 .field label { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #4a5876; margin-bottom: .4rem; }
  .ld2 .field input, .ld2 .field select, .ld2 .field textarea { width: 100%; font: inherit; font-size: .96rem; padding: .74rem .85rem; border-radius: 5px; border: 1px solid #d7d2c2; background: #fff; color: #1c2436; transition: border-color .15s ease, box-shadow .15s ease; }
  .ld2 .field input:focus, .ld2 .field select:focus, .ld2 .field textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,162,75,.25); }
  .ld2 .field textarea { resize: vertical; min-height: 92px; }
  .ld2 .two { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  @media (max-width: 480px) { .ld2 .two { grid-template-columns: 1fr; } }
  .ld2 .form .btn-gold { width: 100%; justify-content: center; padding: .95rem; font-size: 1rem; margin-top: .3rem; }
  .ld2 .form .fine { font-size: .78rem; color: #6a748c; text-align: center; margin-top: .8rem; }
  .ld2 .hp { position: absolute; left: -9999px; }
  .ld2 form.sent { display: none; }
  .ld2 .success { display: none; text-align: center; padding: 2.4rem 1rem; }
  .ld2 .success.on { display: block; }
  .ld2 .success .ok { width: 62px; height: 62px; border-radius: 999px; background: #f3edda; color: var(--gold); display: grid; place-items: center; margin: 0 auto 1rem; }
  .ld2 .success h3 { color: #1c2436; font-size: 1.5rem; font-weight: 600; margin-bottom: .5rem; }
  .ld2 .success p { color: #4a5876; }

  /* about */
  .ld2 .about { display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: center; border: 1px solid var(--line-soft); border-radius: 10px; padding: clamp(2rem,4vw,3rem); background: linear-gradient(170deg, var(--fill), transparent); }
  @media (max-width: 640px) { .ld2 .about { grid-template-columns: 1fr; text-align: center; } }
  .ld2 .about .crestbig { width: 96px; height: 108px; color: var(--gold); }
  @media (max-width: 640px) { .ld2 .about .crestbig { margin: 0 auto; } }
  .ld2 .about h2 { font-size: clamp(1.6rem,3vw,2.2rem); font-weight: 600; margin-bottom: .7rem; }
  .ld2 .about p { color: var(--slate); }
  .ld2 .about .verse { color: var(--gold-2); font-style: italic; margin-top: .8rem; }

  /* footer */
  .ld2 footer { border-top: 1px solid var(--line); background: var(--deep); margin-top: clamp(3rem,6vw,5rem); }
  .ld2 .foot { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 2rem; padding: 3.2rem 0 1.6rem; }
  @media (max-width: 720px) { .ld2 .foot { grid-template-columns: 1fr; gap: 1.6rem; } }
  .ld2 .foot h4 { text-transform: uppercase; letter-spacing: .2em; font-size: .72rem; color: var(--gold); margin: 0 0 1rem; }
  .ld2 .foot a, .ld2 .foot p { color: var(--slate); font-weight: 500; display: block; margin-bottom: .55rem; font-size: .95rem; }
  .ld2 .foot a:hover { color: var(--ivory); }
  .ld2 .motto-line { font-style: italic; color: var(--gold-2); font-size: 1.05rem; }
  .ld2 .legal { border-top: 1px solid var(--line-soft); padding: 1.3rem 0; display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; color: var(--slate-dk); font-size: .84rem; }
  @media (prefers-reduced-motion: reduce) { .ld2 * { transition: none !important; } }

/* ---------- subpage additions ---------- */
.ld2 .breadcrumb { padding: 1.1rem 0; font-size: .82rem; color: var(--slate-dk); }
.ld2 .breadcrumb a { color: var(--slate); }
.ld2 .breadcrumb a:hover { color: var(--gold); }
.ld2 .subhero { position: relative; padding: clamp(3rem,6vw,5.5rem) 0; border-bottom: 1px solid var(--line); background: linear-gradient(160deg, var(--deep) 0%, var(--midnight) 70%); overflow: hidden; }
.ld2 .subhero::after { content:""; position:absolute; right:-6%; top:-30%; width:420px; height:420px; border-radius:999px; border:1px solid var(--line); opacity:.4; }
.ld2 .subhero .eyebrow { margin-bottom: 1.1rem; }
.ld2 .subhero h1 { font-size: clamp(2.2rem,4.6vw,3.5rem); font-weight:600; letter-spacing:-.02em; max-width: 18ch; }
.ld2 .subhero p { color: var(--slate); font-size: 1.14rem; max-width: 54ch; margin-top: 1.2rem; }
.ld2 .subhero .cta-row { display:flex; flex-wrap:wrap; gap:.9rem; margin-top: 2rem; }
.ld2 .split { display:grid; grid-template-columns: 1.5fr 1fr; gap: 3.5rem; align-items:start; }
@media (max-width:880px){ .ld2 .split { grid-template-columns:1fr; gap:2.5rem; } }
.ld2 .prose h2 { font-size: clamp(1.5rem,3vw,2.05rem); font-weight:600; letter-spacing:-.01em; margin: 2.4rem 0 .8rem; }
.ld2 .prose h2:first-child { margin-top:0; }
.ld2 .prose p { color: var(--slate); margin-bottom: 1rem; font-size: 1.02rem; }
.ld2 .prose ul { list-style:none; padding:0; margin: .4rem 0 1.4rem; display:grid; gap:.6rem; }
.ld2 .prose ul li { display:flex; gap:.65rem; align-items:flex-start; color: var(--ivory); }
.ld2 .prose ul li svg { color:var(--gold); flex:none; margin-top:.25rem; }
.ld2 .aside { border:1px solid var(--line); border-radius:10px; padding:1.8rem; background:linear-gradient(170deg, var(--panel-2), var(--deep)); position:sticky; top:96px; }
.ld2 .aside h3 { font-size:1.2rem; font-weight:600; margin-bottom:.6rem; }
.ld2 .aside p { color:var(--slate); font-size:.95rem; margin-bottom:1.1rem; }
.ld2 .aside .btn-gold { width:100%; justify-content:center; margin-bottom:.6rem; }
.ld2 .aside .btn-line { width:100%; justify-content:center; }
.ld2 .aside .areas { margin-top:1.3rem; padding-top:1.3rem; border-top:1px solid var(--line-soft); }
.ld2 .aside .areas b { font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); display:block; margin-bottom:.6rem; }
.ld2 .aside .areas span { color:var(--slate); font-size:.9rem; line-height:1.9; }
.ld2 .related { display:grid; grid-template-columns: repeat(3,1fr); gap:1rem; }
@media (max-width:820px){ .ld2 .related { grid-template-columns:1fr; } }
.ld2 .related a { display:block; padding:1.4rem; border:1px solid var(--line-soft); border-radius:8px; background:var(--fill); transition:border-color .2s ease, transform .2s ease; }
.ld2 .related a:hover { border-color:var(--line); transform:translateY(-3px); }
.ld2 .related a b { color:var(--ivory); display:block; font-weight:600; margin-bottom:.3rem; font-size:1.02rem; }
.ld2 .related a span { color:var(--slate); font-size:.9rem; }
.ld2 .ctaband { border:1px solid var(--line); border-radius:12px; background:linear-gradient(120deg, rgba(201,162,75,.10), var(--fill)); padding:clamp(2rem,4vw,3rem); text-align:center; }
.ld2 .ctaband h2 { font-size:clamp(1.7rem,3.4vw,2.4rem); font-weight:600; }
.ld2 .ctaband p { color:var(--slate); margin:.7rem auto 1.6rem; max-width:48ch; }
.ld2 .ctaband .cta-row { display:flex; justify-content:center; flex-wrap:wrap; gap:.9rem; }

/* ---- hero title stays light on all themes (always over dark photo scrim) ---- */
.ld2 .hero h1 { color:#f5f1e6; }

/* ---- palette themes (preview toggle) ---- */
.ld2[data-theme="dark"]{
  --midnight:#141210; --deep:#1b1712; --panel:#241e18; --panel-2:#2c251d;
  --ivory:#f3ece1; --paper:#faf7f1; --gold:#c8a24b; --gold-2:#e3c684;
  --slate:#b8ac9a; --slate-dk:#8b8070; --line:rgba(200,162,75,.30); --line-soft:rgba(183,171,153,.16); --fill:rgba(45,37,29,.55); --scrim-rgb:20,16,12;
}
.ld2[data-theme="light"]{
  --midnight:#f7f2e9; --deep:#efe7d9; --panel:#ffffff; --panel-2:#fbf7ef;
  --ivory:#20232a; --paper:#ffffff; --gold:#a9812f; --gold-2:#c19a3f;
  --slate:#5c5f55; --slate-dk:#8b8574; --line:rgba(169,129,47,.38); --line-soft:rgba(90,95,82,.16); --fill:rgba(20,18,10,.035); --scrim-rgb:34,28,20;
}
/* ---- preview theme switcher (remove once she picks) ---- */
.ld2 .theme-switch{position:fixed; right:16px; bottom:16px; z-index:100; display:flex; align-items:center; gap:.25rem;
  background:color-mix(in srgb, var(--midnight) 88%, transparent); border:1px solid var(--line); border-radius:999px;
  padding:.35rem .4rem; backdrop-filter:blur(10px); box-shadow:0 12px 34px -14px rgba(0,0,0,.55);}
.ld2 .theme-switch .lbl{font-size:.6rem; color:var(--slate-dk); letter-spacing:.14em; text-transform:uppercase; padding:0 .3rem 0 .4rem;}
.ld2 .theme-switch button{font:inherit; font-size:.72rem; font-weight:700; letter-spacing:.03em; color:var(--slate);
  background:transparent; border:0; border-radius:999px; padding:.42rem .7rem; cursor:pointer; transition:color .15s ease;}
.ld2 .theme-switch button:hover{color:var(--ivory);}
.ld2 .theme-switch button.on{background:linear-gradient(180deg,var(--gold-2),var(--gold)); color:#2a1e05;}
@media(max-width:520px){.ld2 .theme-switch .lbl{display:none;}}

/* ---- hero Call button: solid-enough backing so the phone number reads over the photo ---- */
.ld2 .hero .btn-line{ background:rgba(16,16,20,.44); border-color:rgba(255,255,255,.5); color:#fff; }
.ld2 .hero .btn-line:hover{ background:rgba(16,16,20,.6); border-color:var(--gold); color:var(--gold); }
/* ---- give the LD monogram a touch more room ---- */
.ld2 .brand .crest{ width:46px; }

/* ---- owner's actual logo in a white tile for contrast on the cream bg ---- */
.ld2 .brand-logo{ height:54px; width:auto; display:block; box-sizing:content-box;
  background:#1a1713; padding:7px 13px; border-radius:10px;
  border:1px solid rgba(201,162,75,.35); box-shadow:0 6px 18px -7px rgba(20,18,10,.45); }
.ld2 footer .brand-logo{ height:60px; }
@media(max-width:520px){ .ld2 .brand-logo{ height:42px; padding:6px 9px; } }
