/* City pages /flooring-<city>/ (tools/city_pages.py). Uses site.css tokens; .sec-light flips them. */
.cy .h2{font:600 clamp(1.7rem,3.1vw,2.45rem)/1.14 var(--serif);text-transform:none;letter-spacing:-.005em;max-width:24ch}
.cy p{max-width:66ch}
.cy-two .h2+p,.cy-two p+p{margin-top:16px}
.cy-two .h2{margin-bottom:6px}
.cy-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:center}

/* hero: the chart is the hero */
.cy-hero{padding:56px 0 0;background:radial-gradient(120% 90% at 85% 0%,rgba(201,168,92,.10),transparent 60%),var(--ink)}
.cy-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}
.cy-head .h1{font-size:clamp(2.3rem,4.2vw,3.6rem);line-height:1.06;max-width:19ch;margin:0 0 22px}
.cy-intro .lead{margin:0 0 28px}
.cy-photo{margin:0}
.cy-ph{display:block;position:relative;isolation:isolate}
.cy-photo img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;filter:saturate(.9) contrast(1.02);
  box-shadow:0 30px 60px rgba(0,0,0,.45)}
.cy-ph::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--gold-deep);z-index:-1}
.cy-photo figcaption{margin-top:24px;font-size:.78rem;color:var(--muted-2)}
.cy-photo figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cy-acts{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.cy-chart{margin:26px 0 40px}
.cy-chart figcaption{font:600 1.15rem/1.3 var(--serif);color:var(--paper);margin-bottom:18px}
.cy-eras{display:flex;gap:6px;align-items:stretch}
.cy-era{flex:var(--w) 1 0;min-width:0;display:flex;flex-direction:column;gap:12px;padding:14px 10px 12px;background:none;
  border:1px solid transparent;border-top:2px solid var(--line);color:var(--muted);cursor:pointer;text-align:left;font:inherit;
  transition:border-color .2s,background .2s,color .2s}
.cy-era:hover{border-top-color:var(--gold-deep);color:var(--paper)}
.cy-era[aria-pressed="true"]{border-color:var(--line);border-top-color:var(--gold);background:rgba(201,168,92,.06);color:var(--paper)}
.cy-era:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.cy-bars{display:flex;gap:6px;align-items:flex-end;height:clamp(140px,22vw,230px)}
.cy-bar{flex:1;position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.cy-bar::before{content:"";display:block;height:calc(var(--h) * 82%);min-height:4px;background:#4a3f30;transition:background .25s}
.cy-era[aria-pressed="true"] .cy-bar::before{background:linear-gradient(180deg,#DBBA72,#B99755)}
.cy-era:hover .cy-bar::before{background:#6a5838}
.cy-era[aria-pressed="true"]:hover .cy-bar::before{background:linear-gradient(180deg,#DBBA72,#B99755)}
.cy-bar i{font-style:normal;font-size:.72rem;color:var(--muted-2);text-align:center;order:-1;margin-bottom:6px;opacity:0;transition:opacity .2s}
.cy-era[aria-pressed="true"] .cy-bar i,.cy-era:hover .cy-bar i{opacity:1;color:var(--paper)}
.cy-bar b{font:500 .74rem/1 var(--sans);color:var(--muted-2);text-align:center;margin-top:8px}
.cy-lbl{font:600 1rem/1.25 var(--sans);display:flex;flex-direction:column;gap:3px}
.cy-lbl small{font:500 .8rem/1.2 var(--sans);color:var(--muted)}
.cy-src{margin:14px 0 0}

/* your house: era detail + estimate */
.cy-house{padding:72px 0}
.cy-house-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:56px;align-items:start}

.cy-est{background:var(--ink2);border:1px solid var(--line);padding:28px;position:sticky;top:96px}
.cy-est .h3{font:600 1.5rem/1.2 var(--serif);margin:0 0 18px}
.cy-seg{border:0;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cy-seg legend{font:700 .85rem/1 var(--sans);color:var(--muted);margin-bottom:8px;padding:0}
.cy-seg label{position:relative}
.cy-seg input{position:absolute;opacity:0;inset:0}
.cy-seg span{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--line);font:600 .9rem/1.2 var(--sans);cursor:pointer;height:100%}
.cy-seg small{font-weight:500;font-size:.76rem;color:var(--muted)}
.cy-seg input:checked+span{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.cy-seg input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.cy-seg-sm span{flex-direction:row;justify-content:center}
.cy-area{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:6px 12px;margin:0 0 18px}
.cy-area label{font:700 .85rem/1 var(--sans);color:var(--muted)}
.cy-area output{font:700 1.15rem/1 var(--sans)}
.cy-area input{grid-column:1/-1;width:100%;accent-color:var(--gold)}
.cy-bar-total{height:14px;background:var(--line-soft);margin:6px 0 14px}
.cy-stack{display:flex;height:100%}
.cy-stack span{height:100%;transition:width .3s}
.k-mat{background:#C9A85C}.k-lab{background:#8a6a24}.k-trim{background:#b9ab8d}
.k-out{background:repeating-linear-gradient(135deg,#6b5a3f 0 4px,#9b8763 4px 8px)}.k-del{background:#5f5749}
.cy-lines{list-style:none;padding:0;margin:0 0 10px;font-size:.92rem}
.cy-lines li{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;padding:5px 0}
.cy-lines li i{width:10px;height:10px}
.cy-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:12px;margin:0}
.cy-total span{font-weight:700}
.cy-total b{font:700 1.9rem/1 var(--sans)}
.cy-fine{margin:8px 0 18px}
.cy-book{width:100%;justify-content:center}

/* heat */
.cy-heat{background:var(--ink)}

/* contractors */
.cy-dotgrid{margin:34px 0 12px;display:grid;gap:16px}
.cy-dr{display:grid;grid-template-columns:minmax(0,15rem) auto 3rem;justify-content:start;gap:18px;align-items:center}
.cy-dl{font-weight:600}
.cy-dots{display:flex;flex-wrap:wrap;gap:5px}
.cy-dots i{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--muted-2)}
.cy-dots i.on{background:var(--gold);border-color:var(--gold)}
.cy-dr b{font:700 1.3rem/1 var(--sans)}
.cy-check{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.cy-check p:last-child{font:500 1.15rem/1.45 var(--serif);color:var(--paper)}

/* picks, steps */
#s-picks .h2{margin-bottom:28px}
.cy-more{display:flex;gap:22px;margin-top:22px}
/* booking */
.cy-book-sec{background:var(--ink2)}



/* era panel: stats, share of all homes, neighborhoods, floor cross-section */
.cy-era-h{font:600 1.9rem/1.1 var(--serif);margin:0 0 14px}
.cy-stats{display:flex;gap:48px}
.cy-stats b{display:block;font:600 3.1rem/1 var(--serif);color:var(--gold)}
.cy-stats span{display:block;margin-top:6px;font-size:.9rem;color:var(--muted)}
.cy-share{display:flex;gap:2px;height:10px;margin:22px 0 10px}
.cy-share i{background:var(--line)}
.cy-share i.on{background:var(--gold)}
.cy-story{font:500 1.15rem/1.45 var(--serif);margin:0 0 24px}
.cy-pl{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}
.cy-pl li{border-top:2px solid var(--gold);padding-top:10px;display:flex;flex-direction:column;gap:3px}
.cy-pl-y{font:600 1.45rem/1.1 var(--serif);color:var(--gold)}
.cy-pl b{font-weight:700;line-height:1.3}
.cy-pl small{color:var(--muted);font-size:.86rem;line-height:1.4}
.cy-xsec{border:1px solid var(--line)}
.cy-l{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:18px;align-items:center;padding:16px 20px;min-height:62px}
.cy-l-k{font:700 .82rem/1.2 var(--sans)}
.cy-l-v{font-size:1rem;line-height:1.35}
.cy-l-new{min-height:78px;color:#f4efe4;background-image:linear-gradient(90deg,rgba(18,13,8,.78),rgba(18,13,8,.25)),var(--wood);background-size:auto,700px auto}
.cy-l-new .cy-l-v{color:#f4efe4;font:600 1.2rem/1.2 var(--serif);text-decoration:underline;text-decoration-color:rgba(219,186,114,.7);text-underline-offset:4px}
.cy-l-old{background:repeating-linear-gradient(135deg,rgba(138,106,36,.13) 0 7px,transparent 7px 14px);border-top:1px dashed var(--muted-2);border-bottom:1px dashed var(--muted-2)}
.cy-l-old .cy-l-v{text-decoration:line-through;text-decoration-color:rgba(160,52,31,.55);text-decoration-thickness:1.5px}
.cy-l-sub{color:#17130e}
.cy-sub-slab{background-color:#cfc9bd;background-image:radial-gradient(rgba(40,32,22,.16) 1px,transparent 1.6px),radial-gradient(rgba(255,255,255,.45) 1px,transparent 1.6px);background-size:9px 9px,14px 14px;background-position:0 0,4px 6px}
.cy-sub-wood{background:repeating-linear-gradient(0deg,#cfae7c 0 4px,#c39f6c 4px 9px)}
.cy-sub-mixed{background:linear-gradient(90deg,#cfc9bd 0 50%,#cfae7c 50% 100%)}
.cy-call{display:flex;gap:12px;align-items:flex-start;margin:16px 0 0;font-size:.95rem;line-height:1.5}
.cy-call .cy-ic{flex:0 0 24px;width:24px;height:24px}

/* heat: chart and three plain facts */
.cy-heat-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;align-items:center;margin-top:36px}
.cy-months{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;height:280px;align-items:end}
.cy-m{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:6px}
.cy-t{font-size:.72rem;color:var(--muted)}
.cy-col{width:100%;height:calc(var(--h) * 78%);min-height:6px;background:linear-gradient(180deg,rgba(201,168,92,.42),rgba(201,168,92,.1));
  display:flex;flex-direction:column-reverse;flex-wrap:wrap;align-content:center;gap:3px;padding:5px 0}
.cy-m.hot .cy-col{background:linear-gradient(180deg,#DBBA72,rgba(201,168,92,.4))}
.cy-m.hot .cy-t{color:var(--paper);font-weight:700}
.cy-col i{width:7px;height:7px;border-radius:50%;background:#16120d}
.cy-m b{font:600 .78rem/1 var(--sans);color:var(--muted-2)}
.cy-cal{margin:0}
.cy-cal figcaption{margin-top:14px}
.cy-hfacts{list-style:none;padding:0;margin:0;display:grid;gap:28px}
.cy-hfacts li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;align-items:start}
.cy-hfacts .cy-ic{margin-top:6px}
.cy-hfacts b{display:block;font:600 2.2rem/1 var(--serif);color:var(--gold)}
.cy-hf-l{display:block;margin-top:4px;font-weight:700;font-size:.92rem}
.cy-hfacts p{margin:6px 0 0;color:var(--muted);font-size:.95rem;line-height:1.5}

/* hero promises: four plain facts under the hero */
.cy-promise{margin-top:56px;border-top:1px solid var(--line);background:rgba(0,0,0,.18)}
.cy-promise ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:20px;padding-bottom:20px;margin:0 auto}
.cy-promise li{font:600 .98rem/1.35 var(--sans);color:var(--paper);padding-left:18px;border-left:2px solid var(--gold)}

/* installation services */
.cy-sub{font-size:1.08rem;color:var(--muted);margin:14px 0 32px}
.cy-svc-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:auto auto;gap:18px}
.cy-svc{position:relative;display:block;overflow:hidden;color:#f4efe4;text-decoration:none;min-height:260px;background:#2a231a}
.cy-svc-big{grid-row:1/3;min-height:540px}
.cy-svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.cy-svc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,11,8,0) 35%,rgba(14,11,8,.82) 100%)}
.cy-svc:hover img{transform:scale(1.03)}
.cy-svc:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.cy-svc-t{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:22px 24px;display:flex;flex-direction:column;gap:6px}
.cy-svc-t b{font:600 1.55rem/1.15 var(--serif)}
.cy-svc-big .cy-svc-t b{font-size:2.1rem}
.cy-svc-t span{font:700 .95rem/1.3 var(--sans);color:#DBBA72}
.cy-svc-t small{font-size:.9rem;line-height:1.45;color:rgba(244,239,228,.85);max-width:46ch}
.cy-h3{font:700 1.05rem/1.3 var(--sans);margin:44px 0 16px}
.cy-extras{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;margin:0 0 14px;border-top:1px solid var(--line)}
.cy-extras div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line-soft)}
.cy-extras dt{font-weight:600}
.cy-extras dd{margin:0;color:var(--muted);text-align:right}

/* what every install includes */
.cy-incl-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center}
.cy-incl-ph{margin:0}
.cy-incl-ph img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cy-incl-list{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:26px 32px}
.cy-incl-list li{display:grid;grid-template-columns:30px 1fr;gap:4px 14px}
.cy-ic{color:var(--gold);grid-row:1/3}
.cy-incl-list b{font:700 1rem/1.3 var(--sans)}
.cy-incl-list span{color:var(--muted);font-size:.92rem;line-height:1.5}

/* service area */
.cy-area-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:stretch}
.cy-map{position:relative;min-height:440px;background:var(--ink2);border:1px solid var(--line)}
.cy-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.85)}
.cy-area-txt p{margin:14px 0 6px;color:var(--muted)}
.cy-area-txt .cy-h3{margin:28px 0 12px;color:var(--gold)}
.cy-nb{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 24px}
.cy-near{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.cy-near li a,.cy-near li span{display:block;padding:7px 14px;border:1px solid var(--line);font-weight:600;font-size:.92rem;color:inherit;text-decoration:none}
.cy-near li a{border-color:var(--gold-deep);color:var(--gold)}
.cy-near li a:hover,.cy-near li a:focus-visible{background:rgba(201,168,92,.1)}

/* about */
.cy-about-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px}
.cy-about-txt p{margin:0 0 18px;line-height:1.7;font-size:1.05rem}

/* closing block */
.cy-book-in{max-width:780px}
.cy-book-in p{color:var(--muted)}
.cy-book-acts{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 16px}
.btn .cy-ic{width:20px;height:20px;flex:0 0 20px}

/* sticky Call / Get a quote: floating pair on desktop, full-width bar on phones */
.cy-sticky{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;gap:8px;padding:8px;background:#16120d;
  border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.4);opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity .25s,transform .25s}
.cy-sticky.on{opacity:1;transform:none;pointer-events:auto}
.cy-sticky .btn{padding:14px 22px}

/* quote dialog */
.cy-q{margin:auto;border:1px solid var(--line);padding:0;background:var(--ink2);color:var(--paper);width:min(540px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);overflow:auto}
.cy-q::backdrop{background:rgba(10,8,5,.74)}
.cy-q[open]{animation:cy-q-in .22s cubic-bezier(.16,1,.3,1)}
@keyframes cy-q-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cy-q-form{position:relative;padding:34px 32px 28px}
.cy-q-x{position:absolute;top:10px;right:10px;background:none;border:0;color:var(--muted);padding:8px;cursor:pointer;line-height:0}
.cy-q-x:hover,.cy-q-x:focus-visible{color:var(--paper)}
.cy-q-h{font:600 2rem/1.1 var(--serif);margin:0 0 8px}
.cy-q-sub{color:var(--muted);margin:0 0 24px;font-size:.95rem}
.cy-q .field{margin-bottom:18px}
.cy-q .field .opt{text-transform:none;letter-spacing:0;color:var(--muted-2);font-weight:500}
.cy-q fieldset.field{border:0;padding:0;margin:0 0 18px;min-width:0}
.cy-q legend{font:600 .72rem/1 var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--gold);margin-bottom:10px;padding:0}
.cy-q-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cy-q-via,.cy-q-floor{display:flex;flex-wrap:wrap;gap:6px}
.cy-q-via legend,.cy-q-floor legend{width:100%}
.cy-q .cy-q-via label,.cy-q .cy-q-floor label{position:relative;flex:1 1 auto;display:block;margin:0;font:inherit;text-transform:none;letter-spacing:0;color:var(--paper)}
.cy-q-via input,.cy-q-floor input{position:absolute;opacity:0;inset:0}
.cy-q-via span,.cy-q-floor span{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 12px;border:1px solid var(--line);font:600 .9rem/1 var(--sans);cursor:pointer}
.cy-q-via .cy-ic{width:18px;height:18px}
.cy-q-via input:checked+span,.cy-q-floor input:checked+span{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.cy-q-via input:focus-visible+span,.cy-q-floor input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.cy-q-err{color:var(--err);font-size:.85rem;margin:7px 0 0}
.cy-q-err:empty{display:none}
.cy-q-est{margin:0 0 18px;padding-left:12px;border-left:2px solid var(--gold);font-size:.92rem}
.cy-q-go{width:100%;justify-content:center}
.cy-q-done{text-align:center;padding:16px 0 4px}
.cy-q-done .cy-ic{width:60px;height:60px;color:var(--gold);margin:0 auto 12px;display:block}
.cy-q-done p{color:var(--muted);margin:0 auto 22px;max-width:36ch}

@media (max-width:980px){
  .cy-promise ul{grid-template-columns:1fr 1fr}
  .cy-svc-grid{grid-template-columns:1fr}
  .cy-svc-big{grid-row:auto;min-height:380px}
  .cy-extras{grid-template-columns:1fr}
  .cy-incl-in,.cy-area-in,.cy-about-in,.cy-heat-in{grid-template-columns:1fr;gap:32px}
  .cy-map{min-height:0;aspect-ratio:4/3}
}
@media (max-width:640px){
  .cy-promise{margin-top:32px}
  .cy-promise ul{gap:14px}
  .cy-promise li{font-size:.88rem;padding-left:12px}
  .cy-svc,.cy-svc-big{min-height:300px}
  .cy-svc-big .cy-svc-t b{font-size:1.6rem}
  .cy-incl-list{grid-template-columns:1fr;gap:20px}
}

@media (max-width:980px){
  .cy-head,.cy-two,.cy-house-in,.cy-check{grid-template-columns:1fr;gap:28px}
  .cy-est{position:static}
  .cy-dr{grid-template-columns:1fr auto}
  .cy-dots{grid-column:1/-1;grid-row:2}
}
@media (max-width:640px){
  .cy-sticky{left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-width:1px 0 0;box-shadow:none}
  .cy-sticky .btn{flex:1;justify-content:center;padding:14px 10px}
  .cy-q{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-width:1px 0 0}
  .cy-q[open]{animation:cy-q-up .26s cubic-bezier(.16,1,.3,1)}
  .cy-q-form{padding:28px 20px calc(22px + env(safe-area-inset-bottom))}
  .cy-q-h{font-size:1.7rem}
  .cy-q-row{grid-template-columns:1fr}
  .cy-hero{padding:28px 0 28px}
  .cy-photo{order:-1;margin:0 -24px}
  .cy-photo img{aspect-ratio:16/10;box-shadow:none}
  .cy-ph::after{display:none}
  .cy-photo figcaption{padding:0 24px;margin-top:10px}
  .cy-chart{margin-top:36px}
  /* phones: one row per era, bar length = homes (same scale in every row) */
  .cy-eras{flex-direction:column;gap:4px}
  .cy-era{flex:none;display:flex;flex-direction:column;gap:10px;padding:12px;border-top-width:1px}
  .cy-lbl{flex-direction:row;justify-content:space-between;align-items:baseline;order:1}
  .cy-bars{order:2;height:12px;gap:2px;align-items:stretch}
  .cy-bar{flex:0 0 calc(var(--h) * 55%);height:100%}
  .cy-bar::before{height:100%;min-height:0}
  .cy-bar i,.cy-bar b{display:none}
  .cy-dots i{width:10px;height:10px}
  .cy-stats{gap:28px}
  .cy-stats b{font-size:2.4rem}
  .cy-l{grid-template-columns:1fr;gap:4px;padding:12px 14px}
  .cy-months{height:210px;gap:3px}
  .cy-col i{width:5px;height:5px}
}
@keyframes cy-q-up{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.cy-q[open]{animation:none}}
@media (prefers-reduced-motion:reduce){.cy *{transition:none!important}}
