/* Visible choices and a stable content area keep browsing in place. */
.content-browser{position:relative;scroll-margin-top:0;overflow-anchor:none}
.browser-toolbar{position:sticky;top:var(--header-height);z-index:60;padding-block:0 18px;background:var(--browser-background,var(--page));margin-bottom:8px}
.browser-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin:0}
.browser-tab{display:flex;align-items:center;min-width:0;min-height:68px;padding:12px 4px;background:transparent;border:0;border-bottom:2px solid var(--line);border-radius:0;color:var(--muted);font-size:14px;font-weight:500;line-height:1.4;text-align:left;transition:border-color .18s,color .18s}
.browser-tab:hover{border-bottom-color:var(--muted);color:var(--ink)}
.browser-tab[aria-selected=true]{border-bottom-color:var(--blue);color:var(--blue);font-weight:600}
.browser-tab:focus-visible{outline-offset:3px}
.browser-label-compact{display:none}
.service-media,.comparison-media{position:relative;min-width:0;align-self:start}
.service-media{grid-area:photo}
.comparison-media{width:100%}
.browser-stage{display:grid;min-width:0}
.browser-stage>[data-browser-panel]{grid-area:1/1;min-width:0}
.gallery-panels>[data-browser-panel]{display:block}
.service-panel{--panel-layout:grid}
/* Inactive panels share a grid track so switching cannot change page height. */
.content-browser [data-browser-panel][hidden]{display:var(--panel-layout,block)!important;visibility:hidden;pointer-events:none}
.content-browser [data-browser-panel]{scroll-margin-top:calc(var(--header-height) + 128px)}

.services-section{--browser-background:var(--surface);background:var(--surface);padding-block:64px}
.services-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:30px}
.services-heading h2{font-size:clamp(30px,3vw,42px)}
.services-heading .eyebrow{margin-bottom:14px}
.services-heading>p{max-width:360px;font-size:15px;line-height:1.8;padding-bottom:3px}
.service-workspace{background:var(--page);border:1px solid var(--line)}
.service-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:'photo title' 'photo intro' 'photo detail';grid-template-rows:auto auto 1fr;gap:16px 36px;min-width:0;padding:28px}
.service-panel h3{grid-area:title;font-size:27px;margin:0;align-self:start}
.service-photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;align-self:start}
.service-intro{grid-area:intro;min-width:0}
.service-detail{grid-area:detail;min-width:0;align-self:start}
.service-intro>p,.service-detail>p:not(.material-label){font-size:15px;line-height:1.8}
.material-label{font-size:11px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--ink);margin-top:21px;margin-bottom:9px}
.materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;padding:0;margin:0;list-style:none;font-size:12px;line-height:1.5;color:var(--muted)}
.materials>li{padding:6px 10px;border:1px solid var(--line)}
.service-panel .text-link{margin-top:22px;font-size:13px}

.gallery-section .section-heading{margin-bottom:30px}
.gallery-browser .comparison-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.gallery-browser .ba-slider{aspect-ratio:3/2;min-height:0;align-self:start}
.gallery-browser .comparison-copy{padding:clamp(24px,3vw,40px)}

@media(width < 1200px){
  .content-browser{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:max(240px,calc(100svh - var(--header-height) - 28px))}
  .browser-stage{min-height:0;grid-template-rows:minmax(0,1fr);overflow:hidden}
  .browser-stage>[data-browser-panel]{min-height:0;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-padding-block:20px;overflow-anchor:none}
  .service-panel{align-content:start}
  .browser-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 24px}
  .browser-tab{min-height:56px;padding-block:10px}
  .browser-toolbar{padding-bottom:16px;margin-bottom:4px}
  .service-panel{padding:24px;gap:14px 28px}
  .service-panel h3{font-size:25px}
}
@media(width < 1024px){
  .services-heading{gap:28px}
  .services-heading>p{max-width:310px;font-size:14px}
  .service-panel{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:'photo title' 'photo intro' 'detail detail';grid-template-rows:auto 1fr auto;gap:18px 26px}
  .service-detail{border-top:1px solid var(--line);padding-top:20px}
  .service-intro>p,.service-detail>p:not(.material-label){font-size:14px}
  .materials{display:flex;flex-wrap:wrap;font-size:11px;gap:5px 8px}
  .materials>li{padding:5px 9px}
  .gallery-browser .comparison-layout{display:flex;flex-direction:column}
  .gallery-browser .ba-slider{width:100%;aspect-ratio:3/2;min-height:0}
  .gallery-browser .comparison-copy{display:grid;grid-template-columns:1fr auto;gap:8px 24px;padding:24px}
  .gallery-browser .comparison-copy .eyebrow{grid-column:1/-1;margin:0 0 5px}
  .gallery-browser .comparison-copy h3{grid-column:1;margin:0;font-size:25px}
  .gallery-browser .comparison-copy>p:not(.eyebrow){grid-column:1;margin:0}
  .gallery-browser .comparison-copy>p.comparison-instruction{grid-column:2;grid-row:2;align-self:center;font-size:12px!important;white-space:nowrap}
  .gallery-browser .comparison-copy .text-link{grid-column:2;grid-row:3;align-self:end;justify-self:start;margin:0}
}
@media(width < 640px){
  .browser-toolbar{padding-block:6px 12px;margin-bottom:0}
  .browser-tabs{gap:4px 12px}
  .browser-tab{justify-content:center;min-height:56px;padding:6px 2px;font-size:13px;line-height:1.35;text-align:center}
  .browser-label-full{display:none}
  .browser-label-compact{display:block}

  .services-section.section{padding-block:44px}
  .services-heading{display:block;margin-bottom:24px}
  .services-heading>p{margin-top:16px;max-width:340px}
  .service-workspace{background:transparent;border:0}
  .service-panel{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:'photo title' 'intro intro' 'detail detail';grid-template-rows:auto auto 1fr;gap:16px 18px;padding:16px}
  .service-panel h3{font-size:23px;line-height:1.3;padding:0;align-self:center}
  .service-intro{padding:0}
  .service-detail{padding:0;border:0}
  .material-label{margin-top:18px}
  .gallery-browser .comparison-copy{display:flex;gap:0;padding:22px}
  .gallery-browser .comparison-copy .eyebrow{margin-bottom:12px}
  .gallery-browser .comparison-copy h3{font-size:23px;margin-bottom:10px}
  .gallery-browser .comparison-copy>p.comparison-instruction{align-self:flex-start;margin-block:16px}
  .gallery-browser .comparison-copy .text-link{align-self:flex-start;margin:0}
}
@media(width < 360px){
  .service-panel h3{font-size:22px}
}
@media(640px <= width < 1200px) and (height < 600px){
  .browser-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
  .browser-toolbar{padding-bottom:12px;margin-bottom:0}
  .browser-tab{min-height:52px;padding:6px 2px;font-size:12px}
  .browser-label-full{display:none}
  .browser-label-compact{display:block}
}

@media(640px <= width < 1200px) and (height < 600px){
  .service-panel{grid-template-columns:clamp(100px,calc(100svh - var(--header-height) - 140px),240px) minmax(0,1fr)}
  .gallery-browser .comparison-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .gallery-browser .comparison-media{position:sticky;top:0}
  .gallery-browser .ba-slider{height:auto;aspect-ratio:3/2;max-height:calc(100svh - var(--header-height) - 92px)}
  .gallery-browser .comparison-copy{display:flex;gap:0;padding:16px}
  .gallery-browser .comparison-copy .eyebrow{margin:0 0 8px}
  .gallery-browser .comparison-copy h3{font-size:19px;margin-bottom:8px}
  .gallery-browser .comparison-copy>p:not(.eyebrow){font-size:13px;line-height:1.6}
  .gallery-browser .comparison-copy>p.comparison-instruction{align-self:flex-start;white-space:normal;margin:12px 0}
}
