/* Editorial inner pages inherit the approved home type, colour and control system. */
.page-skip{position:absolute;left:16px;top:-80px;z-index:20;padding:12px;background:var(--surface)}.page-skip:focus{top:8px}
.service-page{padding:0 var(--gutter);overflow:clip}
.service-page :is(h1,h2,h3,p,figure){margin:0}
.service-page img{display:block;width:100%;height:100%;object-fit:cover}
.page-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.service-page section{scroll-margin-top:32px}
.page-intro{padding:clamp(48px,5vw,100px) 0 clamp(56px,5vw,96px);align-items:end}
.intro-title{grid-column:1/span 6}
html body .page-intro h1{font-size:clamp(48px,6vw,104px);line-height:1.02;letter-spacing:-.025em;margin-top:28px;text-wrap:balance}
.intro-copy{grid-column:8/span 5;max-width:49ch;padding-bottom:4px}
.service-page p{line-height:1.55}
.intro-copy>p+p{margin-top:16px}.intro-copy .button{margin-top:24px}
.page-cover{aspect-ratio:2.1/1;overflow:hidden}.page-cover img{object-position:center 55%}
.page-jumps{display:flex;flex-wrap:wrap;gap:16px 40px;padding:20px 0;border-bottom:1px solid var(--line)}
.page-jumps a{display:flex;align-items:center;min-height:44px;font-size:14px;padding:0 8px;border-radius:2px}
.page-jumps a:hover{background:var(--soft)}
.editorial-split{padding-block:clamp(80px,8vw,160px);align-items:center}
.editorial-copy{grid-column:1/span 4;max-width:44ch}
.editorial-copy h2{margin:24px 0}.editorial-copy p+p{margin-top:20px}.editorial-copy .button{margin-top:24px}
.editorial-media{grid-column:7/span 6;aspect-ratio:1.15;overflow:hidden}
.reverse .editorial-media{grid-column:1/span 5;grid-row:1}
.reverse .editorial-copy{grid-column:8/span 5;grid-row:1}
.editorial-media.portrait{aspect-ratio:4/5;max-height:760px}
.editorial-split+.editorial-split{padding-top:0}
.service-details,.page-faq{padding-block:clamp(64px,6vw,120px)}
.section-label{grid-column:1/span 5}.section-label h2{margin-top:24px}.section-label .button{margin-top:24px}
.detail-rows,.faq-items,.visit-copy{grid-column:7/span 6}
.detail-rows article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;border-top:1px solid var(--line);padding:24px 0}
.detail-rows article:last-child{border-bottom:1px solid var(--line)}
html body .detail-rows h3{font-size:23px}.detail-rows p{font-size:15px}
.faq-items details{border-top:1px solid var(--line)}.faq-items details:last-child{border-bottom:1px solid var(--line)}
.faq-items summary{display:flex;justify-content:space-between;align-items:center;gap:24px;list-style:none;min-height:72px;padding:20px 0;cursor:pointer}
.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{font-size:24px;flex-shrink:0;font-weight:400}
.faq-items details[open] summary span{transform:rotate(45deg)}.faq-items details>p{padding:0 24px 24px 0;max-width:55ch}
.page-outro{margin:clamp(64px,6vw,120px) calc(-1 * var(--gutter)) 0;padding:clamp(64px,7vw,120px) var(--gutter);background:var(--soft);align-items:center}
html body .page-outro h2{grid-column:1/span 6;font-size:clamp(40px,4.2vw,72px);font-weight:220;line-height:1.08}
.page-outro>div{grid-column:8/span 4}.page-outro .button{margin-top:24px}
.contact-intro{padding-bottom:clamp(64px,7vw,120px)}
.contact-route{padding:40px 0;border-top:1px solid var(--line);align-items:center}
.contact-route:last-child{border-bottom:1px solid var(--line)}
.contact-route h2{grid-column:1/span 4}.contact-route p{grid-column:6/span 4;max-width:42ch}
.contact-route>.button{grid-column:10/span 3;justify-self:end}
.service-page address{font-style:normal;line-height:1.65;margin:24px 0}
.contact-location .editorial-media{grid-column:1/span 6}
.contact-location .editorial-copy{grid-column:8/span 4}
.workshop-cover{aspect-ratio:2.2/1}.workshop-cover img{object-position:center 45%}
.workshop-statement{padding:clamp(80px,8vw,160px) 0 0;align-items:start}
.workshop-statement>.eyebrow{grid-column:1/span 3}
html body .workshop-statement h2{grid-column:7/span 6;font-size:clamp(32px,3vw,52px);font-weight:220;line-height:1.15}
.workshop-finished{aspect-ratio:2.3/1}.visit-copy>p{max-width:45ch}.visit-copy .button{margin-top:16px}
.compact-heading{margin-bottom:32px}.compact-heading h2{margin-top:20px}
.occasion-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gutter)}
.occasion-grid a{display:block;min-width:0}.occasion-grid img{aspect-ratio:4/5;height:auto;object-fit:cover}
html body .occasion-grid h3{font:400 18px/1.4 Inter;margin-top:14px}
.hire-pieces{padding-top:clamp(80px,8vw,160px)}
.section-headline{align-items:end;margin-bottom:40px}.section-headline>div{grid-column:1/span 5}.section-headline h2{margin-top:24px}.section-headline>p{grid-column:7/span 5;max-width:48ch}
.piece-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter)}
.piece-link{display:block;min-width:0;outline-offset:6px}
.piece-link:focus-visible{outline:2px solid var(--olive)}
.piece-link:is(:hover,:focus-visible) h3{color:var(--olive)}
.piece-link img{transition:transform .5s ease}
.piece-link:is(:hover,:focus-visible) img{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.piece-link img{transition:none}.piece-link:is(:hover,:focus-visible) img{transform:none}}
.piece-photo{aspect-ratio:4/3;position:relative;width:100%;flex:none;overflow:hidden;background:var(--soft)}
.service-page .piece-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.piece-photo>span{position:absolute;bottom:12px;left:12px;padding:4px 8px;background:var(--surface);font-size:11px}
.piece-placeholder{display:grid;place-items:center}.piece-placeholder svg{width:65%;fill:none;stroke:#7d8073;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pieces-heading{display:flex;flex-direction:column;align-items:flex-start;gap:24px;max-width:44ch;margin-bottom:40px}
html body .piece-grid h3{font-size:20px;line-height:1.2;margin-top:12px}
.pieces-notes{display:flex;justify-content:space-between;gap:16px 40px;margin-top:28px;color:var(--muted)}
.pieces-notes p{font-size:12px;line-height:1.5;max-width:52ch}
@media(min-width:1920px){html body .page-intro h1{font-size:112px}.intro-copy{grid-column:8/span 4}.editorial-copy h2{font-size:40px}.page-cover{aspect-ratio:2.4/1}}
@media(max-width:1023px){
 .page-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 16px}
 .intro-title{grid-column:1/-1}.intro-copy{grid-column:2/span 3;max-width:50ch;margin-top:16px}
 html body .page-intro h1{font-size:clamp(48px,8vw,76px)}
 .editorial-copy{grid-column:1/span 2}.editorial-media{grid-column:3/span 2}
 .reverse .editorial-media{grid-column:1/span 2}.reverse .editorial-copy{grid-column:3/span 2}
 .section-label{grid-column:1/span 2}.detail-rows,.faq-items,.visit-copy{grid-column:3/span 2}
 .detail-rows article{grid-template-columns:1fr;gap:12px}
 .page-outro>h2{grid-column:1/span 2!important}.page-outro>div{grid-column:3/span 2}
 .contact-route h2{grid-column:1/span 2}.contact-route p{grid-column:3/span 2}.contact-route>.button{grid-column:3/span 2;justify-self:start}
 .contact-location .editorial-media{grid-column:1/span 2}.contact-location .editorial-copy{grid-column:3/span 2}
 .workshop-statement>.eyebrow{grid-column:1/-1}html body .workshop-statement h2{grid-column:2/span 3}
 .occasion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 16px}
 .section-headline>div{grid-column:1/span 2}.section-headline>p{grid-column:3/span 2}
}
@media(max-width:649px){
 .page-intro{padding-top:32px;padding-bottom:48px;gap:24px}
 html body .page-intro h1{font-size:48px;margin-top:20px;line-height:1.05}
 .intro-copy{grid-column:1/-1;margin:0;max-width:40ch}.intro-copy .button{margin-top:16px}
 .service-page .eyebrow{font-size:12px}
 .page-cover{aspect-ratio:4/5}.page-cover img{object-position:center}
 .page-jumps{gap:0 12px;padding-block:12px}.page-jumps a{font-size:12px}
 .editorial-split{padding-block:64px;gap:32px}
 .editorial-copy,.editorial-media,.reverse .editorial-copy,.reverse .editorial-media{grid-column:1/-1;grid-row:auto;max-width:none}
 .reverse .editorial-media{order:2}.editorial-media{aspect-ratio:5/4}.editorial-media.portrait{aspect-ratio:4/5;max-height:500px}
 .editorial-copy h2{margin-block:20px}.editorial-copy p+p{margin-top:16px}
 .service-details,.page-faq{padding-block:48px;gap:32px}
 .section-label,.detail-rows,.faq-items,.visit-copy{grid-column:1/-1}.section-label h2{margin-top:20px}
 .detail-rows article{grid-template-columns:1fr;gap:12px;padding-block:20px}
 .page-outro{padding-block:56px;margin-top:48px;gap:24px}
 .page-outro>h2,.page-outro>div{grid-column:1/-1!important}html body .page-outro h2{font-size:40px}
 .contact-route{padding:28px 0;gap:16px}.contact-route h2,.contact-route p,.contact-route>.button{grid-column:1/-1;justify-self:start}
 .contact-route p{max-width:40ch}.contact-location .editorial-media,.contact-location .editorial-copy{grid-column:1/-1}
 .workshop-statement{padding-top:64px;gap:24px}html body .workshop-statement h2{grid-column:1/-1;font-size:32px}
 .workshop-finished{aspect-ratio:4/3}
 .occasion-grid{grid-template-columns:1fr;gap:0}.occasion-grid a{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--line)}
 .occasion-grid a:last-child{border-bottom:1px solid var(--line)}.occasion-grid img{aspect-ratio:1}.occasion-grid h3{margin-top:0!important}
 .hire-pieces{padding-top:64px}.section-headline{gap:24px;margin-bottom:32px}.section-headline>div,.section-headline>p{grid-column:1/-1}
 .piece-grid{grid-template-columns:1fr;gap:40px}.piece-photo{aspect-ratio:3/2}.piece-grid h3{margin-top:12px!important}.pieces-heading{gap:20px;margin-bottom:32px}.pieces-notes{flex-direction:column;gap:8px;margin-top:24px}
 .faq-items summary{font-size:15px;min-height:64px}.faq-items details>p{padding-right:0}
}
@media(max-width:360px){html body .page-intro h1{font-size:42px}}

/* Bar hire: title first, then supporting copy; one owner for each section gap. */
.service-bar-hire{--hire-section-gap:clamp(96px,9vw,160px);--hire-heading-gap:40px}
.service-bar-hire .page-intro{align-items:start;row-gap:32px;padding-bottom:var(--hire-section-gap)}
.service-bar-hire .intro-title{grid-column:1/span 8}
.service-bar-hire .intro-copy{grid-column:7/span 6;grid-row:2;max-width:52ch;margin-top:0;padding-bottom:0}
.service-bar-hire .compact-heading,.service-bar-hire .section-headline{margin-bottom:var(--hire-heading-gap)}
.service-bar-hire .hire-pieces{padding-top:var(--hire-section-gap)}
.service-bar-hire .service-details,.service-bar-hire .page-faq{padding-top:var(--hire-section-gap);padding-bottom:0}
.service-bar-hire .page-outro{margin-top:var(--hire-section-gap);padding-block:var(--hire-section-gap)}
html body .service-bar-hire .page-outro .bb-cta{--control-bg:var(--bb-action);--control-fg:var(--bb-action-text)}
html body .service-bar-hire .page-outro .bb-cta:is(:hover,:focus-visible){--control-bg:var(--bb-action-hover);--control-fg:var(--bb-action-text)}
@media(max-width:1023px){
 .service-bar-hire .intro-title{grid-column:1/-1}
 .service-bar-hire .intro-copy{grid-column:2/span 3}
}
@media(max-width:649px){
 .service-bar-hire{--hire-section-gap:72px;--hire-heading-gap:32px}
 .service-bar-hire .page-intro{row-gap:28px}
 .service-bar-hire .intro-copy{grid-column:1/-1}
 .service-bar-hire .page-outro{padding-block:64px}
}

/* Contact uses the same title-first editorial rhythm as the hire page. */
.service-contact{--contact-section-gap:clamp(96px,9vw,160px);--contact-row-space:clamp(48px,4.2vw,72px);--contact-action-width:244px}
.service-contact .page-intro{align-items:start;row-gap:32px;padding-bottom:var(--contact-section-gap)}
.service-contact .intro-title{grid-column:1/span 8}
.service-contact .intro-copy{grid-column:7/span 6;grid-row:2;max-width:none;margin-top:0;padding-bottom:0}
.service-contact .intro-copy>p{max-width:52ch}
.service-contact .contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.service-contact .contact-actions>a{margin:0}
html body .service-contact :is(.bb-cta,.bb-utility){
 width:min(100%,var(--contact-action-width));
 min-height:52px;
 padding:14px 18px;
 font:500 16px/22px Inter,Arial,sans-serif;
 text-align:center;
 overflow-wrap:anywhere;
}
.service-contact .contact-route{align-items:start;padding-block:var(--contact-row-space)}
.service-contact .contact-route h2{grid-column:1/span 5}
.contact-route-copy{grid-column:7/span 6;display:flex;flex-direction:column;align-items:flex-start;gap:24px;max-width:46ch}
.contact-route-copy p{max-width:46ch;text-wrap:balance}
.service-contact .contact-location{padding-block:var(--contact-section-gap)}
.service-contact .contact-location .editorial-copy{grid-column:7/span 5}
html body .service-contact .contact-route:first-child .bb-cta{--control-bg:var(--bb-action);--control-fg:var(--bb-action-text)}
html body .service-contact .contact-route:first-child .bb-cta:is(:hover,:focus-visible){--control-bg:var(--bb-action-hover)}
@media(max-width:1023px){
 .service-contact .intro-title{grid-column:1/-1}
 .service-contact .intro-copy{grid-column:2/span 3}
 .service-contact .contact-route h2{grid-column:1/span 2}
 .contact-route-copy{grid-column:3/span 2}
 .service-contact .contact-location .editorial-copy{grid-column:3/span 2}
}
@media(max-width:649px){
 .service-contact{--contact-section-gap:72px;--contact-row-space:36px;--contact-action-width:320px}
 .service-contact .page-intro{row-gap:28px}
 .service-contact .contact-actions{flex-direction:column;align-items:flex-start;margin-top:20px}
 .service-contact .intro-copy,.service-contact .contact-route h2,.contact-route-copy,.service-contact .contact-location .editorial-copy{grid-column:1/-1}
 .service-contact .contact-route{row-gap:20px}
 .contact-route-copy{gap:20px}
}

/* Remaining editorial pages share the reviewed title and section rhythm. */
:is(.service-custom-builds,.service-our-workshop){--editorial-section-gap:clamp(96px,9vw,160px)}
:is(.service-custom-builds,.service-our-workshop) .page-intro{align-items:start;row-gap:32px;padding-bottom:var(--editorial-section-gap)}
:is(.service-custom-builds,.service-our-workshop) .intro-title{grid-column:1/span 8}
:is(.service-custom-builds,.service-our-workshop) .intro-copy{grid-column:7/span 6;grid-row:2;max-width:52ch;margin:0;padding-bottom:0}
:is(.service-custom-builds,.service-our-workshop) :is(.editorial-split,.service-details,.page-faq,.workshop-statement){padding-top:var(--editorial-section-gap);padding-bottom:0}
.service-our-workshop .workshop-finished{margin-top:var(--editorial-section-gap)}
.workshop-spread{grid-column:7/span 6}
.workshop-spread-photos{
 display:grid;
 grid-template-columns:minmax(0,2fr) minmax(0,1fr);
 gap:clamp(8px,1vw,16px);
}
.workshop-spread .bar-rotation-photo{aspect-ratio:1}
.workshop-spread-details{
 display:grid;
 grid-template-rows:minmax(0,1.2fr) minmax(0,1fr);
 gap:clamp(8px,1vw,16px);
}
.workshop-spread-details figure{position:relative;overflow:hidden;background:var(--soft)}
.workshop-spread-details img{position:absolute;inset:0}
.workshop-spread .bar-rotation-controls{margin-top:12px;padding-top:4px}
:is(.service-custom-builds,.service-our-workshop) .page-outro{margin-top:var(--editorial-section-gap);padding-block:var(--editorial-section-gap)}
html body :is(.service-custom-builds,.service-our-workshop) .page-outro .bb-cta{--control-bg:var(--bb-action);--control-fg:var(--bb-action-text)}
html body :is(.service-custom-builds,.service-our-workshop) .page-outro .bb-cta:is(:hover,:focus-visible){--control-bg:var(--bb-action-hover)}
.editorial-copy>p:first-of-type:not(.eyebrow),.editorial-copy h2+p,.visit-copy>p{ text-wrap:balance }
@media(max-width:1023px){
 :is(.service-custom-builds,.service-our-workshop) .intro-title{grid-column:1/-1}
 :is(.service-custom-builds,.service-our-workshop) .intro-copy{grid-column:2/span 3}
 .workshop-craft .editorial-copy,.workshop-spread{grid-column:1/-1}
}
@media(max-width:649px){
 :is(.service-custom-builds,.service-our-workshop){--editorial-section-gap:72px}
 :is(.service-custom-builds,.service-our-workshop) .page-intro{row-gap:28px}
 :is(.service-custom-builds,.service-our-workshop) .intro-copy{grid-column:1/-1}
 :is(.service-custom-builds,.service-our-workshop) .page-outro{padding-block:64px}
 .workshop-spread-photos{grid-template-columns:minmax(0,1fr)}
 .workshop-spread-details{
  grid-template-columns:minmax(0,3fr) minmax(0,2fr);
  grid-template-rows:minmax(0,1fr);
  aspect-ratio:2.55;
 }
}

/* Custom-build chapter index and varied lower-page composition. */
.build-chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter);padding-top:32px}
.build-chapters a{display:flex;gap:20px;align-items:center;min-width:0;outline-offset:5px}
.service-page .build-chapters img{width:64px;height:80px;flex:none;object-fit:cover}
.build-chapters span{font:310 22px/1.2 var(--display)}
.build-chapters small{display:block;font:500 11px/1.3 Inter;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:8px}
.build-chapters a:is(:hover,:focus-visible){color:var(--olive)}
.build-chapters a:focus-visible{outline:2px solid var(--olive)}
.service-custom-builds :is(.build-details,.build-start){padding-top:var(--editorial-section-gap)}
.build-details{align-items:center;row-gap:32px}
.build-detail-copy{grid-column:1/span 4;width:100%;max-width:44ch;min-width:0}
.build-detail-copy>p{max-width:32ch;margin-top:24px;text-wrap:pretty;color:var(--muted)}
html body .service-custom-builds :is(.editorial-copy,.build-detail-copy,.build-project-intro)>h2{font-size:clamp(32px,3vw,52px);line-height:1.12;letter-spacing:-.015em}
.service-custom-builds .editorial-copy h2{margin:0 0 24px}
.build-materials{grid-column:7/span 6;margin-top:0;min-width:0}
.material-gallery{width:100%;min-width:0}
.material-gallery .bar-rotation-stage{min-width:0}
.material-gallery .bar-rotation-photo{width:100%;aspect-ratio:5/4;max-height:1100px}
.material-sidebar{min-width:0}
.material-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%;margin:16px 0 0}
.material-choices[hidden]{display:none}
.material-choices button{display:block;min-width:0;width:100%;padding:4px;border:1px solid transparent;background:transparent;color:var(--muted);font:400 12px/1.4 Inter;cursor:pointer}
.material-thumb{display:block;height:clamp(48px,5vw,100px);overflow:hidden;background:var(--soft);margin-bottom:8px;opacity:.65;transition:opacity .2s ease}
.service-page .material-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.material-choice-label{display:block;min-height:2.8em;text-align:center;padding-inline:2px}
@media(prefers-reduced-motion:reduce){.material-thumb{transition:none}}
.material-choices button[aria-pressed="true"]{border-color:var(--ink);color:var(--ink)}
.material-choices button[aria-pressed="true"] .material-thumb,.material-choices button:hover .material-thumb{opacity:1}
.material-choices button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.material-profile-list{margin-top:32px;border-top:1px solid var(--line)}
.material-profile-list>summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:56px;list-style:none;font-size:14px;cursor:pointer}
.material-profile-list>summary::-webkit-details-marker{display:none}
.material-profile-list>summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.material-profile-list>summary span{font-size:20px;line-height:1}
.material-profile-list[open]>summary span{transform:rotate(45deg)}
.build-material-options{display:grid;grid-template-columns:1fr;gap:24px;padding-top:16px}
html body .build-material-options h3{font:310 23px/1.2 var(--display)}
.build-material-options ul{padding:0;margin:16px 0 0;list-style:none;font-size:14px;line-height:1.65;color:var(--muted)}
.build-material-options li+li{margin-top:6px}
.build-material-note{max-width:65ch;margin-top:24px;font-size:13px;color:var(--muted)}
.build-start{align-items:center}
.build-project-copy{grid-column:1/span 4;max-width:44ch}
.build-project-intro{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.build-project-intro>p:not(.eyebrow){text-wrap:balance}
.build-steps{display:flex;flex-direction:column;gap:16px;padding:0;margin:40px 0 0;list-style:none}
.build-steps li{line-height:1.5;text-wrap:balance}
.build-steps strong{font-weight:500}
.build-project-photo{grid-column:7/span 6;margin-top:0!important;aspect-ratio:1.15;overflow:hidden;max-height:760px}
.service-page .build-project-photo img{object-position:38% center}
@media(max-width:1023px){
 .build-chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
 .build-detail-copy{grid-column:1/span 2}
 .build-materials{grid-column:3/span 2}
 .build-project-copy{grid-column:1/span 2}
 .build-project-photo{grid-column:3/span 2;aspect-ratio:4/5}
}
@media(max-width:649px){
 .build-chapters{gap:24px 16px;padding-top:24px}
 .build-chapters a{gap:12px;align-items:flex-start}
 .service-page .build-chapters img{width:44px;height:60px}
 .build-chapters span{font-size:18px}.build-chapters small{font-size:10px;margin-bottom:6px}
 .build-details{row-gap:24px}
 .build-materials{grid-column:1/-1;margin-top:0}
 .material-gallery .bar-rotation-photo{aspect-ratio:4/3;max-height:none}
 .material-choices{gap:4px;margin-top:12px}
 .material-choices button{padding:3px;font-size:11px;line-height:1.35}
 .material-thumb{height:auto;aspect-ratio:1;margin-bottom:6px}
 .material-choice-label{min-height:2.7em;padding:0}
 .material-profile-list{margin-top:20px}
 .build-material-options{grid-template-columns:1fr;gap:24px;padding-top:24px}
 .build-material-options ul{margin-top:12px}
 .build-detail-copy,.build-project-copy,.build-project-photo{grid-column:1/-1}
 .build-detail-copy>p{margin-top:16px}
 .service-custom-builds .editorial-copy h2{margin-bottom:20px}
 .build-project-intro{gap:20px}
 .build-steps{margin-top:32px;gap:16px}
 .build-start{row-gap:40px}
 .build-project-photo{margin-top:0!important;aspect-ratio:5/4;max-height:none}
}

/* Quiet disclosure feedback; native details/summary retains keyboard behaviour. */
:is(.faq,.faq-items) summary{transition:color .22s ease}
:is(.faq,.faq-items) summary>span{position:relative;display:block;width:28px;height:28px;flex:none;font-size:0;border-radius:50%;color:var(--ink);transition:transform .25s ease,background-color .22s ease,color .22s ease}
:is(.faq,.faq-items) summary>span:before,:is(.faq,.faq-items) summary>span:after{content:'';position:absolute;left:8px;top:13px;width:12px;height:1.5px;background:currentColor;transform-origin:center;transition:transform .25s ease,opacity .2s ease}
:is(.faq,.faq-items) summary>span:after{transform:rotate(90deg)}
:is(.faq,.faq-items) details[open] summary>span{transform:none;background:var(--olive);color:var(--surface)}
:is(.faq,.faq-items) details[open] summary>span:after{transform:rotate(90deg) scaleX(0);opacity:0}
:is(.faq,.faq-items) summary:focus-visible{color:var(--olive)}
:is(.faq,.faq-items) summary:focus-visible>span{background:var(--olive);color:var(--surface)}
@media(hover:hover){
 :is(.faq,.faq-items) summary:hover{color:var(--olive)}
 :is(.faq,.faq-items) summary:hover>span{background:var(--olive);color:var(--surface);transform:rotate(90deg)}
 :is(.faq,.faq-items) details[open] summary:hover>span{transform:none}
}
@media(prefers-reduced-motion:reduce){
 :is(.faq,.faq-items) summary,:is(.faq,.faq-items) summary>span,:is(.faq,.faq-items) summary>span:before,:is(.faq,.faq-items) summary>span:after{transition:none}
 :is(.faq,.faq-items) summary:hover>span{transform:none}
}

/* Close editorial pages with the same focused composition as the homepage. */
.service-page .page-faq{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:800px;margin-inline:auto;row-gap:48px}
.service-page .page-faq>.section-label,.service-page .page-faq>.faq-items{grid-column:1/-1}
.service-page .page-faq>.section-label{text-align:center;margin-bottom:0}
.service-page .page-faq>.faq-items{text-align:left}
.service-page .page-outro{grid-template-columns:minmax(0,1fr);row-gap:24px;text-align:center}
html body .service-page .page-outro>h2{grid-column:1/-1!important;justify-self:center;max-width:22ch}
.service-page .page-outro>div{grid-column:1/-1;justify-self:center;width:100%;max-width:48ch}
.service-page .page-outro>div>p{text-wrap:balance}
@media(max-width:649px){.service-page .page-faq{row-gap:32px}}

/* Contact is the dark counterpart of the shared editorial system. */
html body[data-bb-inner="contact/index.html"]{--surface:#20211e;--paper:#20211e;--ink:#f1ede5;--soft:#363831;--muted:#c9c6bc;--line:#50534a;background:var(--surface);color:var(--ink);color-scheme:dark}
html body[data-bb-inner="contact/index.html"] .service-contact :is(.intro-copy p,.contact-route-copy p,.editorial-copy>p:not(.eyebrow),address){color:#d3cfc5}
html body[data-bb-inner="contact/index.html"] .bb-footer{background:var(--surface);color:var(--ink);border-top:1px solid var(--line)}
html body[data-bb-inner="contact/index.html"] .bb-footer-legal{color:var(--muted)}
html body[data-bb-inner="contact/index.html"] .bb-cta{--control-bg:#353e30;--control-fg:#f1ede5}
html body[data-bb-inner="contact/index.html"] .contact-route:first-child .bb-cta{--control-bg:#d3ddc3;--control-fg:#283321}
html body[data-bb-inner="contact/index.html"] .bb-cta:is(:hover,:focus-visible){--control-bg:#e1e8d6;--control-fg:#283321}
html body[data-bb-inner="contact/index.html"] :is(a,button,summary):focus-visible{outline-color:#f1ede5}
html body[data-bb-inner="contact/index.html"] .bb-menu-panel{background:#282a25}
html body[data-bb-inner="contact/index.html"] .bb-menu-dialog::backdrop{background:#0009}
html body[data-bb-inner="contact/index.html"] .bb-menu-dialog nav a:hover{color:#d3cfc5}
html body[data-bb-inner="contact/index.html"] .text-link:is(:hover,:focus-visible){color:#fff}
html body[data-bb-inner="contact/index.html"] .bb-utility:is(:hover,:focus-visible){background:#48543e;color:#f1ede5}

html body[data-bb-inner="contact/index.html"]{--bb-secondary:#353e30;--bb-secondary-hover:#48543e;--bb-secondary-text:#f1ede5;--bb-action-border:#879578;--bb-focus:#d3ddc3}
