/* DEPLOY NOTE: loaded as a second stylesheet by /consulting/rochester-historic-commercial-walk/ only.
Not appended to /css/style.css, because the rules below override global selectors (body, .wrap,
h1, h2, p, .eyebrow, .note) and add a site-wide dark mode. Appending would restyle every page on
the domain. Scope these selectors, then move the file into the estate stylesheet to close the
single-stylesheet rule in Section 3. */
/* Endure Web System: selectors for the Rochester walking guide.
Estate tokens paper, ink, ink-soft, line, hover and the advisory site token
address are declared once on :root in the estate stylesheet. The three page
tokens --pillar, --panel and --measure-wide still need a decision: promote
them to the estate table in section 3, or leave them scoped to this page. */

:root{
--paper:#f3f3e9;
--ink:#403428;
--ink-soft:#6f6354;
--line:#ddd6c7;
--hover:#8a5a34;
--address:#a48440;
--pillar:#1f3329;
--panel:#e9e8da;
--measure:40rem;
}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){
--paper:#1f1a14;
--ink:#f3f3e9;
--ink-soft:#b8a893;
--line:#5c4a38;
--hover:#c08a55;
--address:#c9a663;
--pillar:#6b8c7a;
--panel:#2a2218;
}
}
:root[data-theme="dark"]{
--paper:#1f1a14; --ink:#f3f3e9; --ink-soft:#b8a893; --line:#5c4a38;
--hover:#c08a55; --address:#c9a663; --pillar:#6b8c7a; --panel:#2a2218;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
font-family:Georgia,"Times New Roman",serif;
font-size:1.0625rem;line-height:1.62;-webkit-text-size-adjust:100%}
.wrap{max-width:var(--measure);margin:0 auto;padding:2.5rem 1.25rem 5rem}
a{color:var(--hover)}
a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.eyebrow{font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;
color:var(--ink-soft);margin:0 0 0.75rem}
h1{font-size:2rem;line-height:1.16;margin:0 0 0.75rem;font-weight:normal}
.stand{font-size:1.125rem;line-height:1.55;color:var(--ink-soft);margin:0 0 2rem}
h2{font-size:1.25rem;line-height:1.3;margin:0;font-weight:normal}
p{margin:0 0 0.9rem}
strong{font-weight:bold}
details.sect{border-top:1px solid var(--line);margin:0 0 0.5rem;padding:0}
details.sect>summary{list-style:none;cursor:pointer;padding:1.4rem 0 0.9rem;
display:flex;align-items:baseline;gap:0.6rem}
details.sect>summary::-webkit-details-marker{display:none}
details.sect>summary::before{content:"+";color:var(--address);
font-size:1.1rem;line-height:1;width:0.9rem;flex:0 0 auto}
details.sect[open]>summary::before{content:"\2212"}
details.sect>summary:hover h2{color:var(--hover)}
.sect-body{padding:0 0 1.2rem}
details.card{background:var(--panel);border:1px solid var(--line);
border-radius:0.4rem;margin:0 0 0.75rem;scroll-margin-top:1rem}
details.card>summary{list-style:none;cursor:pointer;padding:0.95rem 1.1rem;
display:flex;align-items:baseline;gap:0.65rem}
details.card>summary::-webkit-details-marker{display:none}
details.card[open]>summary{border-bottom:1px solid var(--line)}
details.card>summary:hover .st-name{color:var(--hover)}
details.card:target{border-color:var(--address);border-width:2px}
.n{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
min-width:1.75rem;height:1.75rem;border-radius:50%;background:var(--pillar);
color:var(--paper);font-size:0.8125rem}
.st-name{font-size:1.125rem;line-height:1.3}
.st-addr{display:block;font-size:0.8125rem;color:var(--ink-soft);
margin:0.2rem 0 0}
.in{padding:1rem 1.1rem 0.4rem}
.in>p:last-child{margin-bottom:0.6rem}
.see{background:var(--paper);border-left:2px solid var(--pillar);
border-radius:0.2rem;padding:0.7rem 0.85rem;margin:0.9rem 0 0.9rem;
font-size:0.9375rem}
.see p{margin:0}
.leg{font-size:0.8125rem;letter-spacing:0.14em;text-transform:uppercase;
color:var(--ink-soft);margin:1.5rem 0 0.8rem;padding-left:0.15rem}
.mapwrap{background:var(--panel);border:1px solid var(--line);
border-radius:0.4rem;padding:0.7rem;margin:0 0 1.25rem;overflow-x:auto}
svg{display:block;width:100%;height:auto;max-width:100%}
svg a{cursor:pointer}
svg a:hover .pin{fill:var(--hover)}
.cap{font-size:0.8125rem;color:var(--ink-soft);margin:0.6rem 0.2rem 0;
line-height:1.45}
.routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));
gap:0.5rem;margin:0 0 0.6rem}
.routes a{text-align:center;text-decoration:none;border:1px solid var(--line);
color:var(--ink);border-radius:0.35rem;padding:0.6rem 0.5rem;
font-size:0.875rem;line-height:1.3}
.routes a:hover{border-color:var(--hover);color:var(--hover)}
.routes b{display:block;font-weight:normal;font-size:0.75rem;
letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft)}
.note{font-size:0.9375rem;color:var(--ink-soft)}
.tools{display:flex;gap:0.5rem;margin:0 0 1.5rem}
.tools button{flex:1 1 auto;font-family:Georgia,serif;font-size:0.8125rem;
letter-spacing:0.1em;text-transform:uppercase;background:none;
border:1px solid var(--line);color:var(--ink-soft);border-radius:0.35rem;
padding:0.5rem;cursor:pointer}
.tools button:hover{border-color:var(--hover);color:var(--hover)}
footer{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.4rem;
font-size:0.875rem;color:var(--ink-soft)}
@media print{
details{open:true}
details>summary{list-style:none}
.tools,.routes{display:none}
}
/* COLLISION FIX: the estate stylesheet uses .card for the centered person-card
(max-width 24rem, text-align center, padding 3rem 1.5rem) and .note with a
left rule and large margins. The guide reuses both class names, so the
inherited geometry is reset here. */
details.card{max-width:none;padding:0;text-align:left}
details.card .in{text-align:left}
.note{margin:0 0 0.9rem;padding:0;border-left:0}
html,body{overflow-x:hidden}
/* MEASURE FIX: the deploy HTML closes .wrap after stop 2, so every stop card,
leg heading and closing section from stop 3 onward is a direct child of body
rather than of the wrapper. Left alone they run the full window width on a
desktop and sit hard against the screen edge on a phone, because their own
margin shorthands zero the auto side margins. The rule below holds the
reading measure and the 1.25rem gutter for whatever escapes, and is scoped
to body's direct children so it cannot reach anything inside .wrap. Delete
this block once the deploy HTML keeps every element inside one .wrap. */
body>details.card,body>details.sect,body>.leg,body>footer{
width:calc(100% - 2.5rem);max-width:calc(var(--measure) - 2.5rem);
margin-left:auto;margin-right:auto}
