/* Search-entry pages: shared Nobile Stone typography, palette and navigation. */
.search-landing { background:var(--bone); }
.entry-skip { position:fixed;top:-100px;left:20px;z-index:1500;padding:12px 18px;background:var(--ink);color:var(--paper); }
.entry-skip:focus { top:10px; }
.search-landing :is(a,button,summary):focus-visible { outline:2px solid var(--brass-deep);outline-offset:5px; }
.search-landing main { padding-top:76px; }
.search-landing :is(section,article,details,[id]) { scroll-margin-top:100px; }
.entry-hero { padding-block:32px 0; }
.entry-crumb { font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--stone);margin-bottom:32px; }
.entry-crumb a { border-bottom:1px solid var(--line-strong); }
.entry-hero-grid { display:grid;grid-template-columns:1fr 1.18fr;gap:clamp(28px,5vw,70px);align-items:center; }
.entry-hero h1 { font-size:clamp(2.6rem,4.7vw,4.4rem);line-height:1.06;max-width:13ch;margin:24px 0; }
.entry-hero .lede { font-size:clamp(1rem,1.4vw,1.16rem);max-width:37ch; }
.entry-actions { display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:28px; }
.entry-actions .btn { background:var(--brass-deep);border-color:var(--brass-deep); }
.entry-actions .btn:hover { background:var(--ink);border-color:var(--ink);color:var(--paper); }
.entry-small { color:var(--stone);font-size:.78rem;line-height:1.55;margin-top:16px; }
.entry-hero-photo { margin:0; }
.entry-hero-photo img { width:100%;height:auto;aspect-ratio:1.1;object-fit:cover; }
.entry-hero-photo figcaption { padding-top:12px;font-size:.74rem;color:var(--stone); }
.entry-hero-photo a { border-bottom:1px solid var(--line-strong); }
.entry-promise { display:flex;gap:20px 42px;flex-wrap:wrap;padding-block:26px;border-block:1px solid var(--line);margin-top:40px;list-style:none;font-size:.77rem;letter-spacing:.07em;text-transform:uppercase; }
.entry-promise li { display:flex;gap:10px;align-items:center; }
.entry-promise li::before { content:'✓';font-size:.95rem;color:var(--brass-deep); }
.entry-section { padding-block:clamp(56px,7vw,96px); }
.entry-section h2 { font-size:clamp(2rem,3.4vw,3rem);max-width:23ch;margin-top:14px; }
.entry-section-head { display:flex;gap:28px;align-items:end;justify-content:space-between;margin-bottom:34px; }
.entry-section-head>p { max-width:31ch;color:var(--stone);font-size:.94rem; }
.entry-projects { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px; }
.entry-project .gallery { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.entry-project .gallery figure { grid-column:auto;aspect-ratio:1.65;position:relative;border-radius:0;overflow:hidden; }
.entry-project .gallery figure:first-child { grid-column:1/-1;aspect-ratio:1.35; }
.entry-project .gallery img { width:100%;height:100%;object-fit:cover;cursor:zoom-in; }
.entry-project .gallery .lb-zoom { opacity:1;width:44px;height:44px;bottom:8px;right:8px;background:rgba(27,26,23,.77);color:#fff; }
.entry-project h3 { margin:20px 0 8px;font-size:clamp(1.45rem,2vw,1.85rem); }
.entry-project p { color:var(--stone);font-size:.86rem;line-height:1.55; }
.entry-project>.arrowlink { font-size:.69rem;margin-top:16px; }
.entry-gallery-note { color:var(--stone);font-size:.78rem;margin-bottom:22px; }
.entry-section-tail { margin-top:34px; }
.entry-services { background:var(--paper);border-block:1px solid var(--line); }
.entry-services-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px; }
.entry-service img { width:100%;height:auto;aspect-ratio:1.75;object-fit:cover; }
.entry-service h3 { margin:20px 0 10px;font-size:1.65rem; }
.entry-service p { color:var(--stone);font-size:.9rem; }
.entry-service .arrowlink { margin-top:16px;font-size:.69rem; }
.entry-service-note { display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--line);padding-top:26px;margin-top:36px; }
.entry-service-note p { font-size:.9rem;max-width:65ch;color:var(--stone); }
.entry-material-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px; }
.entry-material { display:block; }
.entry-material img { width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;transition:transform .3s; }
.entry-material h3 { font-size:1.4rem;margin-top:14px; }
.entry-material p { font-size:.76rem;color:var(--stone);margin-top:6px; }
.entry-material:hover h3 { color:var(--brass-deep); }
.entry-process { background:var(--ink-panel);color:var(--paper); }
.entry-process h2,.entry-process h3 { color:var(--paper); }
.entry-process .eyebrow { color:#C9A96A; }
.entry-process .entry-section-head>p { color:#d3cec4; }
.entry-steps { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px;list-style:none;margin-top:40px; }
.entry-steps li { border-top:1px solid #5b5141;padding-top:22px; }
.entry-step-number { font-family:var(--f-serif);font-size:1.6rem;color:#C9A96A; }
.entry-steps h3 { font-size:1.5rem;margin:18px 0 12px; }
.entry-steps p { font-size:.84rem;line-height:1.65;color:#d3cec4; }
.entry-process .arrowlink { color:var(--paper); }
.entry-reviews .testi-grid { margin-top:32px; }
.entry-reviews .testi { padding:0 24px 0 0;background:transparent;border:0;border-right:1px solid var(--line); }
.entry-reviews .testi:last-child { border-right:0; }
.entry-reviews .testi blockquote { font-size:1.12rem;line-height:1.65; }
.entry-reviews .testi footer { margin-top:22px; }
.entry-reviews .testi .who b { display:block; }
.entry-reviews .testi .who span { display:block; }
.entry-local { border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:60px; }
.entry-local p { color:var(--stone);font-size:.94rem;margin-top:18px; }
.entry-faq details { border-bottom:1px solid var(--line);padding-block:18px; }
.entry-faq summary { cursor:pointer;font-size:1rem;list-style:none;padding-right:26px;position:relative; }
.entry-faq summary::after { content:'+';position:absolute;right:0;color:var(--brass-deep); }
.entry-faq details[open] summary::after { content:'−'; }
.entry-faq summary::-webkit-details-marker { display:none; }
.entry-faq p { font-size:.88rem;margin-top:14px; }
.entry-finish { background:#e9e1d2;padding:clamp(36px,5vw,68px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px; }
.entry-finish h2 { margin:0;max-width:22ch; }
.entry-finish p { color:var(--stone);font-size:.95rem;margin-top:16px;max-width:48ch; }
.entry-finish .entry-actions { flex-direction:column;align-items:stretch;margin:0;text-align:center;gap:16px; }
.entry-finish .btn { justify-content:center; }
.entry-related { padding:28px 0 52px;display:flex;gap:12px 24px;flex-wrap:wrap;font-size:.78rem;color:var(--stone); }
.entry-related a { border-bottom:1px solid var(--line-strong); }
.entry-mobile-actions { display:none; }
@media(max-width:1040px){
 .search-landing main{padding-top:70px}
 .entry-hero-grid{grid-template-columns:1fr 1fr;gap:28px}
 .entry-hero h1{font-size:clamp(2.35rem,5vw,3.7rem)}
 .entry-hero-photo img{aspect-ratio:.88}
 .entry-promise{gap:14px 24px}
 .entry-projects,.entry-services-grid{gap:18px}
 .entry-material-grid{gap:12px}
 .entry-steps{gap:18px}
 .entry-finish{grid-template-columns:1fr}
 .entry-finish .entry-actions{flex-direction:row;align-items:center;text-align:left;flex-wrap:wrap}
}
@media(max-width:760px){
 .entry-hero{padding-top:22px}
 .entry-crumb{font-size:.64rem;margin-bottom:28px}
 .entry-hero-grid{grid-template-columns:1fr}
 .entry-hero h1{font-size:clamp(2.5rem,8vw,3.6rem);max-width:16ch;margin:18px 0}
 .entry-hero .lede{max-width:46ch}
 .entry-hero-photo img{aspect-ratio:1.38}
 .entry-promise{display:grid;grid-template-columns:1fr 1fr;font-size:.65rem;margin-top:26px;padding-block:20px;gap:14px}
 .entry-section-head{display:block}
 .entry-section-head>p{margin-top:18px;max-width:44ch}
 .entry-projects{grid-template-columns:1fr;gap:44px}
 .entry-project .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .entry-project .gallery figure:first-child{aspect-ratio:1.5}
 .entry-project .gallery figure:not(:first-child){aspect-ratio:2}
 .entry-services-grid{grid-template-columns:1fr;gap:34px}
 .entry-service{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
 .entry-service img{height:100%;aspect-ratio:1.1;object-fit:cover}
 .entry-service h3{margin-top:0;font-size:1.4rem}
 .entry-service p{font-size:.83rem}
 .entry-service-note{display:block}
 .entry-service-note .arrowlink{margin-top:18px}
 .entry-material-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 14px}
 .entry-material h3{font-size:1.25rem}
 .entry-steps{grid-template-columns:1fr;gap:0;margin-top:20px}
 .entry-steps li{display:grid;grid-template-columns:38px 1fr;column-gap:18px;padding:20px 0}
 .entry-steps h3{margin:0 0 8px}
 .entry-steps p{grid-column:2}
 .entry-step-number{grid-row:1/3;font-size:1.4rem}
 .entry-reviews .testi-grid{grid-template-columns:1fr;gap:30px}
 .entry-reviews .testi{border-right:0;border-bottom:1px solid var(--line);padding:0 0 26px}
 .entry-local{grid-template-columns:1fr;gap:24px}
 .entry-finish{padding:32px 24px}
 .entry-finish .entry-actions{align-items:stretch;flex-direction:column}
 .entry-mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:880;background:var(--paper);border-top:1px solid var(--line-strong);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:12px;align-items:center;box-shadow:0 -6px 24px rgba(27,26,23,.06)}
 .entry-mobile-actions .btn{flex:1;justify-content:center;padding:13px 12px;font-size:.72rem}
 .entry-mobile-actions>a:first-child{font-size:.79rem;padding:10px 8px}
 .search-landing .wa-fly{bottom:calc(86px + env(safe-area-inset-bottom));left:14px}
 .search-landing .site-footer{padding-bottom:120px}
 .search-landing .mobile-panel.open~.entry-mobile-actions{visibility:hidden}
 html.ns-consent-open .entry-mobile-actions{visibility:hidden}
}
@media(max-width:380px){
 .entry-hero h1{font-size:2.35rem}
 .entry-actions{gap:18px}
 .entry-actions .btn{font-size:.73rem;padding-inline:1.4em}
 .entry-material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .entry-service{grid-template-columns:1fr}
 .entry-service img{aspect-ratio:1.75}
}
@media(prefers-reduced-motion:reduce){.search-landing *{scroll-behavior:auto!important;transition:none!important}}
