/* lakehoustonsepticplumbing.com
   Palette (WCAG 2.x contrast computed November 2, 2026):
   --tank #541f5c (deep plum: header, inner-page head, headings): white on tank 12.16; tank on --denim-backdrop 11.34.
   --tank-deep #3a1241 (footer, bottom bar): white 15.64; footer text #e9dcee 11.87.
   --flag #f7ed97 (pale yellow highlight: rules, labels on dark, button fill with ink text): on tank 10.14; --dial-text on flag 15.38.
   --riser #0b6e6a (deep teal: links, buttons): white on riser 6.08; riser on --denim-backdrop 5.67; on --lk-wash 5.03.
   --riser-deep #085754 (hover, closing band): white 8.39; on --lk-wash 6.94.
   --dial-text #1a1020 on --denim-backdrop 17.20; --basin-quiet #5b4a62 on --denim-backdrop 7.53, on --lk-wash 6.68. */
:root {
  --tank: #541f5c;
  --tank-deep: #3a1241;
  --flag: #f7ed97;
  --riser: #0b6e6a;
  --riser-deep: #085754;
  --lk-wash: #efe7f1;
  --denim-backdrop: #f9f6fa;
  --sincere-sheet: #ffffff;
  --dial-text: #1a1020;
  --basin-quiet: #5b4a62;
  --juniper-edge: #d8cadb;
  --alpha-tint-over: 84, 31, 92;
  --lotus-rail-h: 60px;
  --neat-bound-c: 1080px;
  --pilot-softening: 2px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; padding-bottom: var(--lotus-rail-h); font-family: Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif; font-size: 17px; line-height: 1.65; color: var(--dial-text); background: var(--denim-backdrop); }
h1, h2, h3 { font-family: "Franklin Gothic Medium", "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; font-weight: 700; letter-spacing: -.005em; }
h1 { font-size: clamp(2rem, 4.4vw, 3rem); line-height: 1.06; margin: 0 0 .5em; }
h2 { font-size: clamp(1.4rem, 2.5vw, 1.9rem); line-height: 1.18; margin: 0 0 .7em; color: var(--tank); }
h3 { font-size: 1.1rem; line-height: 1.3; margin: 1.3em 0 .4em; color: var(--tank); }
p { margin: 0 0 1em; }
a { color: var(--riser); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--tank); }
img { max-width: 100%; height: auto; display: block; }
code { font-family: Menlo, Consolas, monospace; font-size: .86em; background: var(--lk-wash); padding: 0 4px; }
.narrow-holder { max-width: var(--neat-bound-c); margin: 0 auto; padding: 0 20px; }
main > section { padding: 56px 0; }
main > section.verse-tinted { background: var(--lk-wash); }
.willow-band-label { display: block; text-transform: uppercase; letter-spacing: .18em; font-size: .68rem; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; color: var(--riser-deep); margin: 0 0 .8em; }
.willow-band-label::after { content: ""; display: inline-block; width: 28px; height: 2px; background: var(--flag); margin-left: 12px; vertical-align: middle; }
.rust-eyebrow { font-size: .74rem; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 1em; color: var(--flag); }
.deep-lead { font-size: 1.14rem; max-width: 40em; line-height: 1.55; }
.spruce-fineprint { font-size: .84rem; color: #e9dcee; margin: 1.3em 0 0; }
.cove-body { max-width: 46em; }
.cove-body ul, .cove-body ol { padding-left: 1.2em; margin: 0 0 1em; }
.cove-body li { margin-bottom: .5em; }
.lk-origin { font-size: .8rem; color: var(--basin-quiet); max-width: 52em; margin-top: 1.2em; padding-top: .6em; border-top: 1px solid var(--juniper-edge); }

/* header */
header.poppy-crownbar { background: var(--tank); color: #fff; }
header.poppy-crownbar .easel-runner { max-width: var(--neat-bound-c); margin: 0 auto; padding: 12px 20px; display: flex; align-items: center; gap: 16px; }
.linen-logotype { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-size: 1.02rem; white-space: nowrap; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; }
.lagoon-blazon { width: 40px; height: 40px; border-radius: 50%; }
.lk-name-duo b { color: var(--flag); font-weight: 700; }
.lk-lead-routes { display: flex; gap: 0; margin-left: auto; padding-left: 14px; min-width: 0; }
.lk-lead-routes a { color: #e9dcee; text-decoration: none; font-size: .82rem; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; padding: 8px 9px; white-space: nowrap; border-bottom: 2px solid transparent; }
.lk-lead-routes a:hover { color: #fff; border-bottom-color: var(--flag); }
.tempo-dial { display: inline-flex; align-items: center; gap: 7px; background: var(--flag); color: var(--dial-text); text-decoration: none; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; font-size: .94rem; padding: 9px 14px; border-radius: var(--pilot-softening); white-space: nowrap; }
.tempo-dial:hover { background: #fff; color: var(--tank); }

/* buttons */
.sharp-pressel { display: inline-block; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; font-size: 1rem; padding: 13px 22px; border-radius: var(--pilot-softening); text-decoration: none; border: 2px solid transparent; cursor: pointer; line-height: 1.2; }
.sharp-pressel.notch-cardinal { background: var(--riser); color: #fff; }
.sharp-pressel.notch-cardinal:hover { background: var(--riser-deep); color: #fff; }
.sharp-pressel.firm-bare-btn { border-color: var(--tank); color: var(--tank); background: transparent; }
.sharp-pressel.firm-bare-btn:hover { background: var(--tank); color: #fff; }
.thyme-prompt-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.4em; }

/* hero */
main > section.thyme-overture { padding: 54px 0 56px; background: var(--tank); color: #fff; }
.thyme-overture h1 { color: #fff; max-width: 14em; }
.thyme-overture .deep-lead { color: #f6eef8; }
.thyme-overture .sharp-pressel.firm-bare-btn { color: #fff; border-color: #fff; }
.thyme-overture .sharp-pressel.firm-bare-btn:hover { background: #fff; color: var(--tank); }
main > section.thyme-overture.arc-shot-backed { padding: 0; min-height: 560px; display: flex; align-items: center; background-color: var(--tank);
  background-image: linear-gradient(90deg, rgba(var(--alpha-tint-over), .96) 0%, rgba(var(--alpha-tint-over), .88) 42%, rgba(var(--alpha-tint-over), .35) 72%, rgba(var(--alpha-tint-over), .15) 100%), url('/images/hero-lake-houston-septic.jpg');
  background-size: cover; background-position: center 45%; }
.thyme-overture.arc-shot-backed > .narrow-holder { width: 100%; padding-top: 72px; padding-bottom: 72px; }
.thyme-overture.arc-shot-backed h1 { max-width: 11em; }
.thyme-overture.arc-shot-backed .deep-lead { max-width: 30em; }

/* inner page head: a dark band, then a fact rail */
main > section.tank-title { padding: 48px 0 50px; background: var(--tank); color: #fff; }
.tank-title h1 { color: #fff; max-width: 18em; }
.tank-title .deep-lead { color: #f6eef8; }
.tank-title .sharp-pressel.firm-bare-btn { color: #fff; border-color: #fff; }
.tank-title .sharp-pressel.firm-bare-btn:hover { background: #fff; color: var(--tank); }
main > section.cove-quickfacts { padding: 0; background: var(--lk-wash); border-bottom: 1px solid var(--juniper-edge); }
.cove-quickfacts .narrow-holder { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 28px; padding-top: 14px; padding-bottom: 14px; }
.cove-quickfacts-tag { text-transform: uppercase; letter-spacing: .16em; font-size: .66rem; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; color: var(--riser-deep); margin: 0; }
.cove-quickfacts ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 28px; font-size: .88rem; line-height: 1.4; }
.cove-quickfacts li { position: relative; padding-left: 14px; }
.cove-quickfacts li::before { content: ""; position: absolute; left: 0; top: .5em; width: 6px; height: 6px; background: var(--flag); transform: rotate(45deg); }

/* breadcrumb */
.calm-trailmarks { background: var(--denim-backdrop); border-bottom: 1px solid var(--juniper-edge); font-size: .8rem; }
.calm-trailmarks ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding-top: 9px; padding-bottom: 9px; margin-top: 0; margin-bottom: 0; }
.calm-trailmarks li + li::before { content: "\203A"; margin-right: 6px; color: var(--basin-quiet); }
.calm-trailmarks a { color: var(--riser-deep); }

/* two columns of prose */
.cove-pairing { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.cove-pairing .cove-body { max-width: none; }

/* era bars */
.vintage-ladder { list-style: none; margin: 0 0 1em; padding: 0; max-width: 900px; }
.vintage-ladder li { display: grid; grid-template-columns: 130px minmax(0, 1fr) 56px; grid-template-areas: "label bar pct" "label note note"; gap: 2px 14px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--juniper-edge); }
.vintage-tag { grid-area: label; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; font-weight: 700; font-size: .86rem; color: var(--tank); }
.vintage-rung { grid-area: bar; display: block; height: 14px; background: #fff; border: 1px solid var(--juniper-edge); }
.vintage-rung i { display: block; height: 100%; background: var(--tank); }
.vintage-share { grid-area: pct; font-size: .9rem; font-weight: 700; text-align: right; color: var(--tank); }
.vintage-aside { grid-area: note; font-size: .82rem; color: var(--basin-quiet); line-height: 1.4; }
.vintage-stripe .vintage-rung i { background: var(--riser); }

/* tables */
.cove-grid-scroll { overflow-x: auto; margin: 0 0 1.2em; }
table { border-collapse: collapse; width: 100%; font-size: .9rem; background: #fff; min-width: 620px; }
caption { caption-side: bottom; text-align: left; font-size: .78rem; color: var(--basin-quiet); padding-top: 8px; }
th, td { text-align: left; padding: 11px 13px; border-bottom: 1px solid var(--juniper-edge); vertical-align: top; line-height: 1.42; }
thead th { background: var(--tank); color: #fff; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; }
tbody th { color: var(--tank); min-width: 140px; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; }

/* cards (used sparingly) */
.fern-panels { display: grid; gap: 18px; }
.fern-panels.soft-halves { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fern-panels.deep-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dial-pod { background: #fff; border: 1px solid var(--juniper-edge); padding: 22px 22px 18px; font-size: .95rem; display: flex; flex-direction: column; }
.dial-pod h3 { margin: 0 0 .4em; color: var(--tank); }
.dial-pod p { margin: 0 0 .8em; flex: 1; }
.lk-read-on { font-size: .9rem; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; }

/* numbered steps: square markers down the left */
.cove-sequence { list-style: none; counter-reset: dg; margin: 1.2em 0; padding: 0; max-width: 52em; }
.cove-sequence li { counter-increment: dg; position: relative; padding: 0 0 20px 56px; font-size: .96rem; line-height: 1.5; }
.cove-sequence li::before { content: counter(dg, decimal-leading-zero); position: absolute; left: 0; top: 2px; width: 40px; height: 28px; background: var(--flag); color: var(--dial-text); font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; font-weight: 700; font-size: .86rem; display: flex; align-items: center; justify-content: center; }
.cove-sequence strong { color: var(--tank); font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; }

/* page roll */
.lk-route-rows { list-style: none; margin: 0; padding: 0; max-width: 880px; }
.lk-route-rows li { padding: 14px 0 14px 0; border-bottom: 1px solid var(--juniper-edge); display: grid; grid-template-columns: 220px 1fr; gap: 4px 24px; }
.lk-route-rows a, .lk-route-rows b { font-weight: 700; font-size: 1rem; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; color: var(--tank); }
.lk-route-rows a { color: var(--riser); }
.lk-route-rows span { display: block; font-size: .92rem; color: var(--basin-quiet); line-height: 1.45; }

/* asides */
.no-claim { border-left: 3px solid var(--tank); padding: 4px 0 4px 16px; font-size: .88rem; color: var(--basin-quiet); max-width: 50em; margin-top: 1.6em; }
.no-claim p { margin: 0 0 .5em; }
.plumber-asks { background: #fff; border: 1px solid var(--juniper-edge); border-top: 4px solid var(--flag); padding: 20px 24px; max-width: 50em; margin: 1.4em 0; }
.plumber-asks h3 { margin-top: 0; }
.plumber-asks ol { margin: 0; padding-left: 1.3em; }
.plumber-asks li { margin-bottom: .6em; font-size: .95rem; }
.heads-up { background: var(--lk-wash); border-left: 5px solid var(--flag); padding: 16px 20px; max-width: 50em; margin: 1.2em 0; }
.heads-up p { margin: 0 0 .6em; }
.heads-up p:last-child { margin: 0; }

/* questions */
.cove-askrun { max-width: 50em; }
details.spiral-query-block { border-bottom: 1px solid var(--juniper-edge); padding: 0; }
details.spiral-query-block summary { cursor: pointer; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; padding: 15px 30px 15px 0; position: relative; list-style: none; color: var(--tank); }
details.spiral-query-block summary::-webkit-details-marker { display: none; }
details.spiral-query-block summary::after { content: "+"; position: absolute; right: 6px; top: 11px; font-size: 1.4rem; color: var(--riser); }
details.spiral-query-block[open] summary::after { content: "\2212"; }
details.spiral-query-block p { margin: 0 0 16px; max-width: 46em; }

/* photos */
main > section.lk-photo-stripe { padding: 8px 0 20px; }
.fresh-work-photo { margin: 0; max-width: 900px; }
.fresh-work-photo img { width: 100%; }
.easel-filmstrip { background: var(--lk-wash); }
.easel-filmstrip .lotus-chips { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.easel-filmstrip .lotus-chips img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.easel-filmstrip .lotus-chips img:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }

/* next links */
main > section.lk-onward { padding: 28px 0; border-top: 1px solid var(--juniper-edge); }
.tender-territories { display: flex; flex-wrap: wrap; gap: 8px; }
.tender-territories a { font-size: .86rem; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; text-decoration: none; padding: 8px 14px; color: var(--tank); background: #fff; border: 1px solid var(--tank); }
.tender-territories a:hover { background: var(--tank); color: #fff; }

/* closing band */
.ivory-sendoff { background: var(--riser-deep); color: #fff; }
main > section.ivory-sendoff { padding: 46px 0; }
.ivory-sendoff .narrow-holder { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; }
.ivory-sendoff h2 { color: #fff; margin-bottom: .3em; }
.ivory-sendoff p { margin: 0; color: #f6e6ec; max-width: 34em; }
.ivory-sendoff .thyme-prompt-row { margin-top: 0; }
.ivory-sendoff .sharp-pressel.notch-cardinal { background: var(--flag); color: var(--dial-text); }
.ivory-sendoff .sharp-pressel.notch-cardinal:hover { background: #fff; color: var(--riser-deep); }
.ivory-sendoff .sharp-pressel.firm-bare-btn { color: #fff; border-color: #fff; }
.ivory-sendoff .sharp-pressel.firm-bare-btn:hover { background: #fff; color: var(--riser-deep); }

/* contact */
.lk-duo { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; }
.west-ask-form { display: grid; gap: 14px; background: #fff; border: 1px solid var(--juniper-edge); padding: 24px; }
.lk-coupled { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
label { display: block; font-size: .8rem; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; margin-bottom: 4px; color: var(--tank); }
input, select, textarea { width: 100%; font-size: 1rem; padding: 10px 11px; border: 1px solid #8d7c94; border-radius: var(--pilot-softening); background: #fff; color: var(--dial-text); font-family: inherit; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--riser); outline-offset: 1px; }
.garnet-ref-code { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.crane-stipulation { font-size: .78rem; color: var(--basin-quiet); margin: 0; line-height: 1.4; }
.cocoa-receipt-line { display: none; padding: 12px 14px; font-size: .92rem; }
.cocoa-receipt-line.visible { display: block; }
.cocoa-receipt-line.success { background: #e3f0e6; color: #1d4a2a; border: 1px solid #9cc7a8; }
.cocoa-receipt-line.error { background: #fbe7e4; color: #842519; border: 1px solid #edafa4; }
.lk-dial-glyphs a { overflow-wrap: anywhere; font-size: 1.7rem; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; color: var(--riser); text-decoration: none; }
.lk-ring-strip h2 { font-size: 1.2rem; }

/* footer */
footer.poppy-crownbar { background: var(--tank-deep); color: #e9dcee; font-size: .86rem; padding: 48px 0 0; line-height: 1.5; }
.lk-foot-cols { display: grid; grid-template-columns: 1.5fr 1fr 1fr .8fr; gap: 32px; }
footer.poppy-crownbar h2 { color: var(--flag); font-size: .72rem; text-transform: uppercase; letter-spacing: .16em; margin: 0 0 .8em; }
.lk-foot-brand { color: #fff; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; font-size: 1.05rem; margin-bottom: .6em; }
.cove-intro p { max-width: 30em; }
footer.poppy-crownbar ul { list-style: none; margin: 0; padding: 0; }
footer.poppy-crownbar li { margin-bottom: .45em; }
footer.poppy-crownbar a { color: #f6eef8; text-decoration: none; }
footer.poppy-crownbar a:hover { color: var(--flag); }
footer.poppy-crownbar .poppy-tail { border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 34px; padding: 16px 0; font-size: .78rem; }
footer.poppy-crownbar .poppy-tail .narrow-holder { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 20px; }

/* bottom call bar */
.quartz-standing-cta { position: fixed; left: 0; right: 0; bottom: 0; height: var(--lotus-rail-h); background: var(--tank-deep); z-index: 40; border-top: 3px solid var(--flag); }
.quartz-standing-cta-inner { max-width: var(--neat-bound-c); height: 100%; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; justify-content: center; gap: 16px; }
.tan-suffix-note { font-size: .88rem; color: #e9dcee; }
.quartz-standing-cta-call { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif; font-size: 1.1rem; color: var(--dial-text); background: var(--flag); padding: 8px 14px; border-radius: var(--pilot-softening); text-decoration: none; }
.quartz-standing-cta-quote { white-space: nowrap; font-size: .88rem; font-weight: 700; color: #e9dcee; }
.chalk-phone-glyph { flex: none; }

@media (max-width: 1120px) {
  header.poppy-crownbar .easel-runner { flex-wrap: wrap; }
  .lk-lead-routes { order: 3; width: 100%; margin-left: 0; padding-left: 0; }
  .tempo-dial { margin-left: auto; }
}

@media (max-width: 980px) {
  .cove-pairing { grid-template-columns: 1fr; gap: 10px; }
  .fern-panels.deep-cols-3 { grid-template-columns: 1fr 1fr; }
  .lk-duo { grid-template-columns: 1fr; gap: 36px; }
  .lk-foot-cols { grid-template-columns: 1fr 1fr; }
  .lk-route-rows li { grid-template-columns: 1fr; }
  main > section.thyme-overture.arc-shot-backed { background-image: linear-gradient(180deg, rgba(var(--alpha-tint-over), .55) 0%, rgba(var(--alpha-tint-over), .9) 55%, rgba(var(--alpha-tint-over), .97) 100%), url('/images/hero-lake-houston-septic-mobile.jpg'); align-items: flex-end; }
  .thyme-overture.arc-shot-backed > .narrow-holder { padding-top: 150px; padding-bottom: 48px; }
}
@media (max-width: 620px) {
  body { font-size: 16px; }
  main > section { padding: 40px 0; }
  main > section.thyme-overture.arc-shot-backed { min-height: 500px; }
  .thyme-overture.arc-shot-backed > .narrow-holder { padding-top: 140px; padding-bottom: 36px; }
  .fern-panels.soft-halves, .fern-panels.deep-cols-3 { grid-template-columns: 1fr; }
  .vintage-ladder li { grid-template-columns: 1fr 48px; grid-template-areas: "label label" "bar pct" "note note"; }
  .lk-coupled { grid-template-columns: 1fr; }
  .lk-foot-cols { grid-template-columns: 1fr; }
  .tan-suffix-note { display: none; }
  .lk-name-duo { font-size: .9rem; }
  .tempo-dial { padding: 8px 10px; font-size: .86rem; }
  .easel-filmstrip .lotus-chips { grid-template-columns: repeat(2, 1fr); }
  .cove-quickfacts .narrow-holder { flex-direction: column; align-items: flex-start; gap: 6px; }
  .cove-quickfacts ul { flex-direction: column; gap: 4px; }
}

.lk-snap-field input[type="file"] { display: block; width: 100%; box-sizing: border-box; padding: 9px 10px; background: #fff; color: #222; font-size: 0.9rem; }
.lk-snap-field label span { font-weight: 400; opacity: 0.7; }
.lk-snap-note { font-size: 0.8rem; opacity: 0.75; margin: 6px 0 0; }
.lk-snap-roll { list-style: none; margin: 6px 0 0; padding: 0; font-size: 0.82rem; }
.lk-snap-roll:empty, .lk-snap-alert:empty { display: none; }
.lk-snap-roll li { padding: 2px 0; overflow-wrap: anywhere; }
.lk-snap-alert { margin: 6px 0 0; font-size: 0.85rem; font-weight: 600; color: #b42318; }

/* --- Phone header (2026-10-15) ------------------------------------------
   On phones the desktop header stacked into a tall block that stayed pinned
   over the content, and its call button repeated the fixed bottom bar. Under
   820px: the full header sits at the top of the page and scrolls away (the
   name on one line, the nav in tidy centered rows, no call button), and once
   it has gone a slim bar with the name and a menu button slides down. The
   header script adds .narrow-bar past the header's own height and .nav-unfurled while
   the menu is open. */
header.poppy-crownbar .nav-handle { display: none; }
@media (max-width: 820px) {
  header.poppy-crownbar { position: static; }
  header.poppy-crownbar .easel-runner {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    padding: 8px 12px 2px;
    gap: 0;
  }
  header.poppy-crownbar .linen-logotype {
    white-space: nowrap;
    font-size: clamp(0.9rem, 5.10vw, 1.02rem);
  }
  header.poppy-crownbar .linen-logotype * { white-space: nowrap; }
  header.poppy-crownbar nav { flex: 1 0 100%; margin: 0; }
  header.poppy-crownbar nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 16px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  header.poppy-crownbar nav li { margin: 0; padding: 0; }
  header.poppy-crownbar nav a {
    display: flex;
    align-items: center;
    min-height: 34px;
    padding-left: 0;
    padding-right: 0;
    white-space: nowrap;
    font-size: 0.88rem;
  }
  header.poppy-crownbar .tempo-dial { display: none; }

  header.poppy-crownbar.narrow-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 65;
    box-shadow: 0 2px 10px rgba(0,0,0,0.25);
    animation: ease-bar 0.2s ease-out;
  }
  header.poppy-crownbar.narrow-bar .easel-runner {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 2px 4px 2px 12px;
    background: inherit;
  }
  header.poppy-crownbar.narrow-bar > :not(.easel-runner):not(nav):not(script),
  header.poppy-crownbar.narrow-bar > .easel-runner > :not(.linen-logotype):not(.nav-handle):not(nav),
  header.poppy-crownbar.narrow-bar nav { display: none; }
  header.poppy-crownbar.narrow-bar .linen-logotype {
    flex: 0 1 auto;
    min-width: 0;
    
    min-height: 0;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: clamp(0.81rem, 5.10vw, 1.02rem);
  }
  header.poppy-crownbar.narrow-bar .linen-logotype .lagoon-blazon { width: 26px; height: 26px; }
  header.poppy-crownbar.narrow-bar .nav-handle {
    display: flex;
    flex: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 0 11px;
    background: none;
    border: 0;
    color: rgb(233, 220, 238);
    cursor: pointer;
  }
  header.poppy-crownbar .nav-handle span {
    display: block;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    transition: transform 0.2s, opacity 0.2s;
  }
  header.poppy-crownbar.nav-unfurled .nav-handle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  header.poppy-crownbar.nav-unfurled .nav-handle span:nth-child(2) { opacity: 0; }
  header.poppy-crownbar.nav-unfurled .nav-handle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  header.poppy-crownbar.narrow-bar.nav-unfurled nav {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 0 0 8px;
    background: rgb(84, 31, 92);
    box-shadow: 0 8px 14px rgba(0,0,0,0.25);
    max-height: calc(100vh - 130px);
    overflow-y: auto;
  }
  header.poppy-crownbar.narrow-bar.nav-unfurled nav { display: flex; flex-direction: column; gap: 0; }
  header.poppy-crownbar.narrow-bar.nav-unfurled nav a {
    min-height: 48px;
    padding: 0 20px;
    font-size: 1rem;
    text-align: left;
    border-top: 1px solid rgba(127,127,127,0.2);
  }
}
/* At 320px the bottom bar's second button ran off the screen. */
@media (max-width: 380px) {
  .quartz-standing-cta { height: auto; min-height: 0; padding: 0 0 env(safe-area-inset-bottom); }
  .quartz-standing-cta-inner { height: auto; min-height: 0; padding: 7px 10px; gap: 8px; }
  .quartz-standing-cta .quartz-standing-cta-call, .quartz-standing-cta .quartz-standing-cta-quote { padding: 10px 6px; line-height: 1.2; font-size: 0.8rem; gap: 5px; min-width: 0; white-space: nowrap; }
  .quartz-standing-cta-inner > :not(a) { display: none; }
}
/* The two-line name is sized in rem; at the narrowest phones scale it as one piece. */
@media (max-width: 380px) {
  header.poppy-crownbar.narrow-bar .linen-logotype { zoom: 0.92; }
}
@keyframes ease-bar { from { transform: translateY(-100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) {
  header.poppy-crownbar.narrow-bar { animation: none; }
  header.poppy-crownbar .nav-handle span { transition: none; }
}

header.poppy-crownbar #short-menu .group-item { position: relative; display: inline-flex; align-items: center; gap: 0; margin: 0; padding: 0; }
header.poppy-crownbar #short-menu .arrow-pull {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 28px; margin: 0 0 0 1px; padding: 0;
  background: none; border: 0; color: rgb(233, 220, 238); cursor: pointer;
}
header.poppy-crownbar #short-menu .arrow-pull::before {
  content: ""; width: 0; height: 0;
  border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor;
  transition: transform 0.15s;
}
header.poppy-crownbar #short-menu .group-item.revealed-fold > .arrow-pull::before { transform: rotate(180deg); }
header.poppy-crownbar #short-menu .nested-deck {
  display: none; position: absolute; top: 100%; left: -14px; z-index: 90;
  min-width: 220px; max-width: min(620px, calc(100vw - 16px)); padding: 6px 0;
  background: rgb(84, 31, 92); border-radius: 6px; box-shadow: 0 10px 24px rgba(0,0,0,0.28);
  text-align: left; column-gap: 0;
}
header.poppy-crownbar #short-menu .nested-deck[data-cols="2"] { columns: 2; min-width: 400px; }
header.poppy-crownbar #short-menu .nested-deck[data-cols="3"] { columns: 3; min-width: 560px; }
header.poppy-crownbar #short-menu .group-item.revealed-fold > .nested-deck { display: block; }
@media (hover: hover) and (min-width: 821px) {
  header.poppy-crownbar #short-menu .group-item:hover > .nested-deck { display: block; }
}
header.poppy-crownbar #short-menu .nested-deck a {
  display: block; min-height: 0; margin: 0; padding: 7px 16px; border: 0;
  color: rgb(233, 220, 238); font-size: 0.9rem; line-height: 1.3; white-space: nowrap; text-align: left;
  break-inside: avoid;
}
header.poppy-crownbar #short-menu .nested-deck a:hover, header.poppy-crownbar #short-menu .nested-deck a:focus-visible { background: rgba(255,255,255,0.09); color: #fff; text-decoration: none; }
header.poppy-crownbar #short-menu .nested-deck a.base-link { column-span: all; font-weight: 600; border-bottom: 1px solid rgba(127,127,127,0.3); margin-bottom: 4px; padding-bottom: 8px; }
@media (max-width: 820px) {
  header.poppy-crownbar #short-menu .group-item { position: static; flex-wrap: wrap; justify-content: center; }
  header.poppy-crownbar #short-menu .group-item.revealed-fold { flex-basis: 100%; }
  header.poppy-crownbar #short-menu .arrow-pull { width: 18px; height: 34px; margin-left: 2px; }
  header.poppy-crownbar #short-menu .nested-deck, header.poppy-crownbar #short-menu .nested-deck[data-cols] {
    position: static; flex-basis: 100%; min-width: 0; max-width: none; width: 100%;
    margin: 0 0 6px; padding: 4px 0; border-radius: 4px; box-shadow: none;
    background: rgba(0,0,0,0.2); transform: none !important;
  }
  header.poppy-crownbar #short-menu .group-item.revealed-fold > .nested-deck { display: grid; grid-template-columns: 1fr; columns: auto; }
  header.poppy-crownbar #short-menu .group-item.revealed-fold > .nested-deck[data-short]:not([data-cols="1"]) { grid-template-columns: 1fr 1fr; }
  header.poppy-crownbar #short-menu .nested-deck a { display: flex; align-items: center; min-height: 40px; padding: 0 14px; white-space: normal; font-size: 0.88rem; }
  header.poppy-crownbar #short-menu .nested-deck a.base-link { grid-column: 1 / -1; margin-bottom: 0; padding-bottom: 0; }
  header.poppy-crownbar.narrow-bar.nav-unfurled #short-menu { flex-wrap: nowrap; }
  header.poppy-crownbar.narrow-bar.nav-unfurled #short-menu > * { flex-shrink: 0; }
  header.poppy-crownbar.narrow-bar.nav-unfurled #short-menu .group-item { display: flex; flex-basis: auto; justify-content: space-between; border-top: 1px solid rgba(127,127,127,0.2); }
  header.poppy-crownbar.narrow-bar.nav-unfurled #short-menu .group-item > a:first-child { flex: 1 1 auto; border-top: 0; }
  header.poppy-crownbar.narrow-bar.nav-unfurled #short-menu .arrow-pull { width: 52px; height: 48px; }
  header.poppy-crownbar.narrow-bar.nav-unfurled #short-menu .nested-deck { margin: 0; border-radius: 0; }
  header.poppy-crownbar.narrow-bar.nav-unfurled #short-menu .nested-deck a { min-height: 44px; padding: 0 20px 0 32px; font-size: 0.95rem; border-top: 1px solid rgba(127,127,127,0.12); }
}
@media (prefers-reduced-motion: reduce) { header.poppy-crownbar #short-menu .arrow-pull::before { transition: none; } }

/* --- Phone body (2026-10-15) ---------------------------------------------
   On phones: body text runs 16px from the screen edge instead of 40px, and
   a centered row that wraps into a stack is left-aligned instead. */
@media (max-width: 820px) {
  div.narrow-holder.lk-duo.narrow-holder,
  div.narrow-holder.narrow-holder { padding-left: 16px; padding-right: 16px; }
}

/* --- Header spacing (2026-10-15) ---------------------------------------------
   Desktop: the same header in less height (its rows' vertical padding cut by
   about a third). Phones have their own header block above. */
@media (min-width: 821px) {
  header.poppy-crownbar div.easel-runner { padding-top: 8px; padding-bottom: 8px; }
}
