/* Ivory Studio: a presentation layer over the existing Studio templates. */
body.lb-ivory-studio {
  --lbiv-green:#025444; --lbiv-ivory:#f8f1e4; --lbiv-ink:#153e35;
  --lbiv-muted:#56685f; --lbiv-line:#dce3da; --lbiv-paper:#fcfcf8;
  --lbiv-shell:1320px; --lbiv-gutter:clamp(22px,4vw,58px);
  margin:0!important; padding:0!important; background:var(--lbiv-paper)!important;
  color:var(--lbiv-ink); font-family:Inter,Arial,Helvetica,sans-serif; line-height:1.65;
}

/* Mobile page chrome should reach both screen edges. A reserved document
 * scrollbar makes the header and otherwise equal photo gutters look offset.
 * Suppress only the mobile document's scrollbar, retaining native scrolling
 * and the separate gallery filter/lightbox scroll containers. */
@media(max-width:700px){
  html:has(> body.lb-ivory-studio){scrollbar-width:none;scrollbar-gutter:auto}
  html:has(> body.lb-ivory-studio)::-webkit-scrollbar{display:none;width:0;height:0}
}

/* 1.0.6: keep the inherited gallery breakout inside the child page shell.
 * Its old left:50%/100vw treatment clips mobile photos after filtering. */
body.lb-ivory-studio #lbStudioMain .bg-gallery-outer .bg-section{
  left:auto!important;right:auto!important;transform:none!important;
  width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;
}
body.lb-ivory-studio #lbStudioMain .bg-balloon-gallery{
  width:100%!important;max-width:100%!important;min-width:0!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.lb-ivory-studio #lbStudioMain .bg-item{min-width:0!important;max-width:100%!important}
@media(max-width:900px){
  body.lb-ivory-studio #lbStudioMain .bg-balloon-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  body.lb-ivory-studio #lbStudioMain .bg-balloon-gallery{grid-template-columns:minmax(0,1fr)!important}
}
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo a:focus-visible{
  outline:2px solid var(--lbiv-ivory)!important;outline-offset:4px!important;
}
body.lb-ivory-studio *,body.lb-ivory-studio *::before,body.lb-ivory-studio *::after{box-sizing:border-box}
body.lb-ivory-studio .lb-studio-main {
  position:relative!important; inset:auto!important; width:100%!important; max-width:none!important;
  margin:0!important; padding:0!important; transform:none!important; min-height:0;
}
body.lb-ivory-studio .lbiv-shell,body.lb-ivory-studio .lb-page-shell{
  width:100%;max-width:var(--lbiv-shell);margin-left:auto;margin-right:auto;
  padding-left:var(--lbiv-gutter);padding-right:var(--lbiv-gutter);
}
body.lb-ivory-studio .lb-skip-link{z-index:100000}
body.lb-ivory-studio .lbiv-header{position:relative;background:var(--lbiv-green);color:var(--lbiv-ivory);isolation:isolate;z-index:50}
/* Let the logo row scroll away; keep the navigation row in its natural flow. */
@media(min-width:701px){
  body.lb-ivory-studio{--lbiv-toolbar-offset:0px}
  body.lb-ivory-studio.admin-bar{--lbiv-toolbar-offset:32px}
  body.lb-ivory-studio .lbiv-header{position:sticky;top:calc(var(--lbiv-toolbar-offset) - var(--lbiv-brand-height,96px))}
  body.lb-ivory-studio .lbiv-header:has(.lbiv-brand-row :focus-visible){top:var(--lbiv-toolbar-offset)}
  body.lb-ivory-studio #lbStudioMain,body.lb-ivory-studio #lbStudioMain [id]{scroll-margin-top:calc(78px + var(--lbiv-toolbar-offset))}
}
@media(min-width:701px) and (max-width:1050px){body.lb-ivory-studio .lbiv-header{--lbiv-brand-height:88px}}
@media(min-width:701px) and (max-width:782px){body.lb-ivory-studio.admin-bar{--lbiv-toolbar-offset:46px}}
body.lb-ivory-studio .lbiv-header a,body.lb-ivory-studio .lbiv-footer a{color:inherit;text-decoration:none}
body.lb-ivory-studio .lbiv-brand-row{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:96px}
body.lb-ivory-studio .lbiv-logo{width:250px;max-width:24.5%;display:block;flex-shrink:1;padding:20px 0;line-height:0}
body.lb-ivory-studio .lbiv-logo img{width:100%;height:auto;display:block;object-fit:cover;object-position:center;aspect-ratio:2172/276}
body.lb-ivory-studio .lbiv-header-actions{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:500}
body.lb-ivory-studio .lbiv-text-link{display:inline-flex;align-items:center;gap:11px;min-height:44px}
body.lb-ivory-studio .lbiv-header-actions i{font-size:12px}
body.lb-ivory-studio .lbiv-pill{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:13px 21px;min-height:48px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:500;line-height:1.35;text-align:center}
body.lb-ivory-studio a.lbiv-pill-light{background:var(--lbiv-ivory);color:var(--lbiv-green)}
body.lb-ivory-studio .lbiv-pill:hover{background:#fff8ec}
body.lb-ivory-studio .lbiv-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;min-height:58px}
body.lb-ivory-studio .lbiv-nav{display:flex;align-items:center;gap:clamp(17px,2vw,29px)}
body.lb-ivory-studio .lbiv-nav a{display:flex;align-items:center;min-height:58px;font-size:13px;line-height:1.3;border-bottom:2px solid transparent;padding-top:2px}
body.lb-ivory-studio .lbiv-nav a.is-active{border-bottom-color:var(--lbiv-ivory)}
body.lb-ivory-studio .lbiv-nav a:hover,body.lb-ivory-studio .lbiv-text-link:hover{color:#d9e2c3}
body.lb-ivory-studio .lbiv-phone{display:flex;align-items:center;gap:9px;min-height:44px;font-size:12px;white-space:nowrap}
body.lb-ivory-studio .lbiv-phone i{font-size:11px}
body.lb-ivory-studio .lbiv-menu-toggle{display:none;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;padding:10px;width:44px;min-width:44px;height:44px;min-height:44px;flex:none;align-items:center;justify-content:center;cursor:pointer}
body.lb-ivory-studio .lbiv-menu-toggle:hover{color:#d9e2c3;background:transparent}
body.lb-ivory-studio .lbiv-menu-close{display:none}
body.lb-ivory-studio .lbiv-menu-open .lbiv-menu-bars{display:none}
body.lb-ivory-studio .lbiv-menu-open .lbiv-menu-close{display:block}

/* Typography and photography. Keep the original content and image sources. */
body.lb-ivory-studio #lbStudioMain h1,body.lb-ivory-studio #lbStudioMain h2,
body.lb-ivory-studio #lbStudioMain h3,body.lb-ivory-studio #lbStudioMain .lb-display{
  font-family:Inter,Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.045em;text-transform:none;
}
body.lb-ivory-studio #lbStudioMain h1{font-size:clamp(38px,4.5vw,60px);line-height:1.07}
body.lb-ivory-studio #lbStudioMain h2{font-size:clamp(29px,3.2vw,42px);line-height:1.13}
body.lb-ivory-studio #lbStudioMain .lb-section-kicker{font-family:Inter,Arial,sans-serif;font-size:11px;line-height:1.5;letter-spacing:.15em;font-weight:600;text-transform:uppercase;margin-bottom:13px}
body.lb-ivory-studio #lbStudioMain img,
body.lb-ivory-studio .lb-home-hero__media,
body.lb-ivory-studio .lb-home-hero__slide,
body.lb-ivory-studio .lb-work-card,
body.lb-ivory-studio .lb-work-card__image,
body.lb-ivory-studio .lb-style-card,
body.lb-ivory-studio .lb-style-card__image,
body.lb-ivory-studio .lb-experience-hero__media,
body.lb-ivory-studio .lb-experience-gallery figure,
body.lb-ivory-studio .lb-seasonal-promo__card,
body.lb-ivory-studio .bg-item,body.lb-ivory-studio .bg-thumb,
body.lb-ivory-studio .bg-lightbox-image-wrapper{border-radius:0!important}
body.lb-ivory-studio .lb-section{padding-top:clamp(35px,4vw,58px);padding-bottom:clamp(35px,4vw,58px)}
/* Mobile homepage sections need breathing room without doubling desktop-sized gaps. */
@media(max-width:700px){
  body.lb-ivory-studio #lbStudioMain .lb-home-studio > .lb-section:not(.is-fullscreen){
    padding-top:32px!important;
    padding-bottom:32px!important;
  }
}
body.lb-ivory-studio .lb-section--soft{background:#edf0e6}
body.lb-ivory-studio .lb-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 20px;border:1px solid transparent;border-radius:999px;background:var(--lbiv-green);color:var(--lbiv-ivory);font-family:Inter,Arial,sans-serif;font-size:13px;line-height:1.4;font-weight:500;letter-spacing:0;text-transform:none;text-align:center}
body.lb-ivory-studio .lb-button:hover{background:#08634f;color:var(--lbiv-ivory)}
body.lb-ivory-studio .lb-link-arrow{font-size:13px;font-weight:500;text-transform:none;letter-spacing:0}
body.lb-ivory-studio .lb-section-heading-row{gap:25px;align-items:flex-end;margin-bottom:26px}

/* The original homepage and its real enquiries remain in the parent theme. */
body.lb-ivory-studio .lb-home-hero{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(28px,4vw,54px);align-items:center;width:100%;max-width:var(--lbiv-shell);margin:0 auto;padding:38px var(--lbiv-gutter) 30px;min-height:0}
body.lb-ivory-studio .lb-home-hero__copy{padding:0;max-width:580px}
body.lb-ivory-studio .lb-home-hero h1{margin:0 0 23px}
body.lb-ivory-studio .lb-home-hero__intro{max-width:480px;font-size:15px;line-height:1.75;color:var(--lbiv-muted);margin-bottom:23px}
body.lb-ivory-studio .lb-home-hero__actions{display:flex;gap:17px;flex-wrap:wrap;align-items:center}
body.lb-ivory-studio .lb-home-visualise-cta{padding:0;background:transparent;border:0;box-shadow:none;display:inline-flex;gap:12px;align-items:center;color:var(--lbiv-ink);font-size:13px}
body.lb-ivory-studio .lb-home-visualise-cta__icon{display:none}
body.lb-ivory-studio .lb-home-visualise-cta__copy strong{font-size:13px;font-weight:500}
body.lb-ivory-studio .lb-home-visualise-cta__copy small{font-size:11px;color:var(--lbiv-muted)}
/* The inherited CTA expects a filled hover surface; this child uses a text link. */
body.lb-ivory-studio #lbStudioMain .lb-home-visualise-cta:is(:hover,:focus-visible){
  color:var(--lbiv-green)!important;background:transparent!important;
}
body.lb-ivory-studio #lbStudioMain .lb-home-visualise-cta:is(:hover,:focus-visible) .lb-home-visualise-cta__copy strong,
body.lb-ivory-studio #lbStudioMain .lb-home-visualise-cta:is(:hover,:focus-visible) .lb-home-visualise-cta__arrow{
  color:var(--lbiv-green)!important;
}
body.lb-ivory-studio #lbStudioMain .lb-home-visualise-cta:is(:hover,:focus-visible) .lb-home-visualise-cta__copy small{
  color:var(--lbiv-muted)!important;
}
body.lb-ivory-studio #lbStudioMain .lb-home-visualise-cta:is(:hover,:focus-visible) .lb-home-visualise-cta__arrow{
  background:transparent!important;
}
body.lb-ivory-studio #lbStudioMain .lb-home-visualise-cta:is(:hover,:focus-visible) .lb-home-visualise-cta__copy strong{
  text-decoration:underline;text-underline-offset:3px;
}
body.lb-ivory-studio #lbStudioMain .lb-home-visualise-cta:focus-visible{
  outline:2px solid var(--lbiv-green)!important;outline-offset:4px;
}
body.lb-ivory-studio .lb-home-hero__media{aspect-ratio:1.22;min-height:0;max-height:550px;overflow:hidden;background:#e3e9df}
body.lb-ivory-studio .lb-home-hero__media img{width:100%;height:100%;object-fit:cover}
body.lb-ivory-studio .lb-home-clients-strip{background:transparent;border:0;padding:9px 0 25px}
body.lb-ivory-studio .lb-home-clients-strip .lb-page-shell{gap:clamp(16px,3vw,40px);justify-content:space-between;flex-wrap:wrap}
body.lb-ivory-studio .lb-home-clients-strip a{color:var(--lbiv-green);font-size:23px;font-weight:600;letter-spacing:-.045em}
body.lb-ivory-studio .lb-home-callback{border:0;border-top:1px solid var(--lbiv-line);border-bottom:1px solid var(--lbiv-line);border-radius:0;background:#edf0e6;max-width:var(--lbiv-shell);margin:0 auto}
body.lb-ivory-studio .lb-home-callback>summary{padding:18px var(--lbiv-gutter);font-size:14px}
body.lb-ivory-studio .lb-home-callback .lb-callback-body{padding:12px var(--lbiv-gutter) 25px}
body.lb-ivory-studio .lb-home-work .lb-work-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 21px}
body.lb-ivory-studio .lb-work-card{background:transparent;border:0;box-shadow:none;min-width:0}
body.lb-ivory-studio .lb-work-card__image{aspect-ratio:1.32;overflow:hidden}
body.lb-ivory-studio .lb-work-card__image img{display:block;width:100%;height:100%;object-fit:cover}
body.lb-ivory-studio .lb-work-card__meta{padding:14px 0 0;background:transparent}
body.lb-ivory-studio .lb-work-card__meta strong{font-size:17px;line-height:1.3;font-weight:500;letter-spacing:-.025em}
body.lb-ivory-studio .lb-work-card__meta p{font-size:12px;line-height:1.65;color:var(--lbiv-muted)}
body.lb-ivory-studio .lb-work-card__meta em{font-size:11px;font-style:normal;font-weight:500;letter-spacing:0;text-transform:none}
body.lb-ivory-studio .lb-seasonal-promo__card{background:var(--lbiv-green);color:var(--lbiv-ivory);overflow:hidden}
body.lb-ivory-studio .lb-seasonal-promo__copy{padding:clamp(26px,4vw,43px)}
body.lb-ivory-studio .lb-seasonal-promo__copy h2{color:var(--lbiv-ivory)}
body.lb-ivory-studio .lb-seasonal-promo__copy p{color:#dbe4d7}
body.lb-ivory-studio .lb-seasonal-promo .lb-button{background:var(--lbiv-ivory);color:var(--lbiv-green)}
body.lb-ivory-studio .lb-seasonal-promo .lb-link-arrow{color:var(--lbiv-ivory)}
body.lb-ivory-studio .lb-home-styles{background:#edf0e6}
body.lb-ivory-studio .lb-style-card{box-shadow:none;background:transparent;border:0}
body.lb-ivory-studio .lb-style-card__text{padding:13px 0 0;background:transparent}
body.lb-ivory-studio .lb-style-card__text strong{font-size:16px;font-weight:500;letter-spacing:-.025em}
body.lb-ivory-studio .lb-home-events-studio{background:var(--lbiv-paper)}
body.lb-ivory-studio .lb-message-section{background:var(--lbiv-paper)}
body.lb-ivory-studio .lb-message-preview{background:#edf0e6;color:var(--lbiv-ink);border:0;border-radius:5px;padding:27px}
body.lb-ivory-studio .lb-message-fields input,body.lb-ivory-studio .lb-message-fields select,
body.lb-ivory-studio .lb-message-fields textarea,body.lb-ivory-studio .lb-enquiry-grid input{background:#fff;color:var(--lbiv-ink);border:1px solid #cbd4ca;border-radius:5px;box-shadow:none}
body.lb-ivory-studio .lb-home-contact-strip{background:transparent;border-top:1px solid var(--lbiv-line);color:var(--lbiv-ink)}
body.lb-ivory-studio .lb-faq-list details{border:0;border-bottom:1px solid var(--lbiv-line);background:transparent;border-radius:0;box-shadow:none}
body.lb-ivory-studio .lb-faq-list summary{padding:20px 0;font-size:15px;font-weight:500;letter-spacing:0}

/* Existing collections and service templates continue to render all records. */
body.lb-ivory-studio.lbiv-work-index .lb-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:31px 25px}
body.lb-ivory-studio.lbiv-work-index .lb-work-card__meta strong{font-size:24px}
body.lb-ivory-studio .lb-experience-hero{width:100%;max-width:var(--lbiv-shell);margin:0 auto;display:grid;grid-template-columns:1fr 1.08fr;gap:45px;padding:38px var(--lbiv-gutter) 32px;align-items:center;min-height:0}
body.lb-ivory-studio .lb-experience-hero__copy{padding:0}
body.lb-ivory-studio .lb-experience-hero__intro{font-size:15px;line-height:1.75;color:var(--lbiv-muted)}
body.lb-ivory-studio .lb-experience-hero__media{min-height:0;aspect-ratio:1.14}
body.lb-ivory-studio .lb-experience-hero__media img{width:100%;height:100%;object-fit:cover}
body.lb-ivory-studio .lb-experience-proof{background:#edf0e6;border:0;border-radius:0;box-shadow:none}
body.lb-ivory-studio .lb-experience-proof strong{font-size:14px;font-weight:500}
body.lb-ivory-studio .lb-experience-proof small{font-size:11px;color:var(--lbiv-muted)}
body.lb-ivory-studio .lb-info-card{border:0;border-bottom:1px solid var(--lbiv-line);border-radius:0;box-shadow:none;background:transparent;padding:23px 0}
body.lb-ivory-studio .lb-info-card strong{font-size:23px;font-weight:500;letter-spacing:-.025em}
body.lb-ivory-studio .lb-project-cta{background:#edf0e6;color:var(--lbiv-ink)}

/* Compact gallery heading and existing plugin controls, with real photo records. */
body.lb-ivory-studio.lbiv-gallery-page #lbStudioMain .bg-page-wrapper{width:100%!important;max-width:var(--lbiv-shell)!important;margin-left:auto!important;margin-right:auto!important;padding:0 var(--lbiv-gutter)!important}
body.lb-ivory-studio.lbiv-gallery-page #lbStudioMain .hero-heading-full{width:100%!important;max-width:var(--lbiv-shell)!important;margin:0 auto!important;padding:35px var(--lbiv-gutter) 13px!important;background:transparent!important;color:var(--lbiv-ink)!important;font-family:Inter,Arial,sans-serif;font-weight:500;font-size:clamp(38px,4.3vw,55px);line-height:1.12;letter-spacing:-.04em;text-transform:none}
body.lb-ivory-studio.lbiv-gallery-page #lbStudioMain .bg-page-wrapper .hero-heading-full{max-width:none!important;padding-left:0!important;padding-right:0!important}
body.lb-ivory-studio.lbiv-gallery-page .balloon-intro{padding:0!important;margin:0 0 20px!important;background:transparent;font-size:14px;line-height:1.7;max-width:750px;color:var(--lbiv-muted)}
body.lb-ivory-studio.lbiv-gallery-page .balloon-intro p{margin:0 0 8px}
body.lb-ivory-studio .bg-tabs{gap:7px;margin:20px 0 22px;border-top:1px solid var(--lbiv-line);border-bottom:1px solid var(--lbiv-line);padding:11px 0}
body.lb-ivory-studio .bg-tab{font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--lbiv-ink);padding:10px 14px;min-height:42px;box-shadow:none}
body.lb-ivory-studio .bg-tab.active,body.lb-ivory-studio .bg-tab[aria-pressed=true]{background:var(--lbiv-green);color:var(--lbiv-ivory);border-color:transparent}
body.lb-ivory-studio .bg-balloon-gallery{gap:20px}
body.lb-ivory-studio .bg-item,body.lb-ivory-studio .bg-item-trigger{box-shadow:none;border:0}
body.lb-ivory-studio .bg-lightbox-title{font-family:Inter,Arial,sans-serif;font-size:clamp(25px,3vw,39px);line-height:1.13;font-weight:500;letter-spacing:-.035em;text-transform:none}
body.lb-ivory-studio .bg-lightbox-text{padding:clamp(24px,4vw,52px)}

/* Footer is replaced as a template; WordPress and plugin footer hooks remain. */
body.lb-ivory-studio .lbiv-footer{background:var(--lbiv-green);color:var(--lbiv-ivory);margin:0;padding:45px 0 22px}
body.lb-ivory-studio .lbiv-footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:50px;padding-bottom:32px}
body.lb-ivory-studio .lbiv-footer-brand img{display:block;width:325px;max-width:100%;height:auto;margin:0 0 23px;object-fit:cover;object-position:center;aspect-ratio:2172/276}
body.lb-ivory-studio .lbiv-footer-brand p{font-size:13px;line-height:1.8;color:#d2ded1;max-width:320px;margin:0}
body.lb-ivory-studio .lbiv-footer-nav{display:grid;gap:1px;align-content:start;font-size:12px}
body.lb-ivory-studio .lbiv-footer-nav a{display:flex;align-items:center;min-height:33px}
body.lb-ivory-studio .lbiv-footer a:hover{text-decoration:underline;text-underline-offset:4px}
body.lb-ivory-studio .lbiv-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px;overflow-wrap:anywhere}
body.lb-ivory-studio .lbiv-footer-contact>span{color:#d2ded1;font-size:11px;margin:7px 0}
body.lb-ivory-studio .lbiv-footer-contact .lbiv-pill{margin-top:5px;font-size:12px}
body.lb-ivory-studio .lbiv-footer-contact .lbiv-callback-link{font-size:11px;margin-top:5px}
body.lb-ivory-studio .lbiv-footer-base{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;padding-top:22px;font-size:11px;color:#d2ded1}
body.lb-ivory-studio .lbiv-footer-base>div{display:flex;gap:22px}

@media(max-width:1050px){
  body.lb-ivory-studio .lbiv-logo{width:210px}
  body.lb-ivory-studio .lbiv-brand-row{min-height:88px}
  body.lb-ivory-studio .lbiv-header-actions{gap:17px;font-size:12px}
  body.lb-ivory-studio .lbiv-pill{font-size:12px;padding:12px 17px}
  body.lb-ivory-studio .lbiv-nav{gap:20px}
  body.lb-ivory-studio .lbiv-phone{display:none}
  body.lb-ivory-studio .lbiv-footer-grid{gap:30px}
  body.lb-ivory-studio .lb-home-work .lb-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  body.lb-ivory-studio .lbiv-header-actions>.lbiv-text-link{display:none}
  body.lb-ivory-studio .lbiv-logo{max-width:28.5%}
  body.lb-ivory-studio .lbiv-nav a{font-size:12px}
  body.lb-ivory-studio .lb-home-hero__intro,body.lb-ivory-studio .lb-experience-hero__intro{font-size:14px}
}
@media(max-width:700px){
  body.lb-ivory-studio{--lbiv-gutter:22px}
  body.lb-ivory-studio .lbiv-brand-row{min-height:0;flex-wrap:wrap;gap:0 15px;padding:10px 0 14px}
  body.lb-ivory-studio .lbiv-logo{width:145px;max-width:calc(100% - 74px);padding:16px 0 19px}
  body.lb-ivory-studio .lbiv-menu-toggle{display:inline-flex}
  body.lb-ivory-studio .lbiv-header-actions{width:100%;justify-content:space-between;gap:10px;border-top:1px solid #ffffff30;padding-top:14px}
  body.lb-ivory-studio .lbiv-header-actions>.lbiv-text-link{display:inline-flex;font-size:11px;gap:7px}
  body.lb-ivory-studio .lbiv-header-actions>.lbiv-pill{font-size:11px;min-height:44px;padding:10px 14px}
  body.lb-ivory-studio .lbiv-navigation{padding:10px 0 16px}
  body.lb-ivory-studio.lbiv-js .lbiv-navigation{display:none}
  body.lb-ivory-studio.lbiv-js .lbiv-menu-open .lbiv-navigation{display:flex}
  body.lb-ivory-studio .lbiv-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;width:100%}
  body.lb-ivory-studio .lbiv-nav a{min-height:46px;font-size:13px}
  body.lb-ivory-studio .lb-home-hero,body.lb-ivory-studio .lb-experience-hero{grid-template-columns:1fr;gap:27px;padding-top:29px;padding-bottom:25px}
  body.lb-ivory-studio #lbStudioMain h1{font-size:clamp(38px,8vw,48px)}
  body.lb-ivory-studio .lb-home-hero__media{aspect-ratio:1.3;max-height:440px}
  body.lb-ivory-studio .lb-home-clients-strip .lb-page-shell{justify-content:flex-start;gap:12px 25px}
  body.lb-ivory-studio .lb-home-clients-strip a{font-size:20px}
  body.lb-ivory-studio .lb-home-clients-strip .lb-page-shell>span{width:100%}
  body.lb-ivory-studio .lb-home-work .lb-work-grid,body.lb-ivory-studio.lbiv-work-index .lb-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}
  body.lb-ivory-studio .lb-work-card__meta strong,body.lb-ivory-studio.lbiv-work-index .lb-work-card__meta strong{font-size:17px}
  body.lb-ivory-studio .lb-work-card__meta p{font-size:12px}
  body.lb-ivory-studio .lb-section-heading-row{align-items:flex-start;gap:17px}
  body.lb-ivory-studio .lb-section-heading-row>.lb-link-arrow{max-width:110px;font-size:11px;flex-shrink:0}
  body.lb-ivory-studio .lb-message-fields input,body.lb-ivory-studio .lb-message-fields select,body.lb-ivory-studio .lb-message-fields textarea,body.lb-ivory-studio .lb-enquiry-grid input{font-size:16px}
  body.lb-ivory-studio .lb-experience-hero__media{aspect-ratio:1.25}
  body.lb-ivory-studio .bg-balloon-gallery{gap:15px}
  body.lb-ivory-studio .bg-tab{min-height:44px;font-size:11px;padding:9px 11px}
  body.lb-ivory-studio .lbiv-footer-grid{grid-template-columns:1fr 1fr;gap:30px 23px}
  body.lb-ivory-studio .lbiv-footer-brand{grid-column:1/-1}
  body.lb-ivory-studio .lbiv-footer-brand img{width:280px}
  body.lb-ivory-studio .lbiv-footer-nav a{min-height:40px}
  body.lb-ivory-studio .lbiv-footer-base{flex-wrap:wrap}
}
@media(max-width:380px){
  body.lb-ivory-studio{--lbiv-gutter:17px}
  body.lb-ivory-studio .lbiv-header-actions>.lbiv-text-link{font-size:10px}
  body.lb-ivory-studio .lbiv-header-actions>.lbiv-pill{font-size:10px;padding:10px 11px}
  body.lb-ivory-studio .lbiv-header-actions i{font-size:10px}
  body.lb-ivory-studio .lbiv-footer-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){body.lb-ivory-studio .lbiv-header *{transition:none!important}}

/* Contrast corrections, 1.0.1.
 * The parent bundle uses !important on button/link colours and hover fills.
 * Override each foreground/background pair together, scoped to this child.
 */
body.lb-ivory-studio .lb-button{
  background:var(--lbiv-green)!important;
  border-color:var(--lbiv-green)!important;
  color:var(--lbiv-ivory)!important;
}
body.lb-ivory-studio .lb-button:hover,
body.lb-ivory-studio .lb-button:focus-visible{
  background:#08634f!important;
  border-color:#08634f!important;
  color:var(--lbiv-ivory)!important;
}
body.lb-ivory-studio .lb-seasonal-promo .lb-button{
  background:var(--lbiv-ivory)!important;
  border-color:var(--lbiv-ivory)!important;
  color:var(--lbiv-green)!important;
}
body.lb-ivory-studio .lb-seasonal-promo .lb-button:hover,
body.lb-ivory-studio .lb-seasonal-promo .lb-button:focus-visible{
  background:#fff8ec!important;
  border-color:#fff8ec!important;
  color:var(--lbiv-green)!important;
}
body.lb-ivory-studio .lb-link-arrow{color:var(--lbiv-green)!important}
body.lb-ivory-studio .lb-seasonal-promo .lb-link-arrow,
body.lb-ivory-studio .lb-seasonal-promo .lb-link-arrow:hover,
body.lb-ivory-studio .lb-seasonal-promo .lb-link-arrow:focus-visible{
  color:var(--lbiv-ivory)!important;
}
body.lb-ivory-studio .lb-work-card__meta span{color:var(--lbiv-muted)!important}
body.lb-ivory-studio .lbiv-header a:focus-visible,
body.lb-ivory-studio .lbiv-footer a:focus-visible,
body.lb-ivory-studio .lbiv-menu-toggle:focus-visible,
body.lb-ivory-studio .lb-seasonal-promo a:focus-visible{
  outline:2px solid var(--lbiv-ivory);
  outline-offset:4px;
}

/* Site-wide section rhythm: override inherited desktop padding on inner pages.
 * Keep horizontal gutters, image dimensions and controls intact. */
body.lb-ivory-studio:not(.lbiv-home){--lbiv-section-space:48px}
body.lb-ivory-studio:not(.lbiv-home) #lbStudioMain :is(
  .lb-section:not(.is-fullscreen),.lb-locations-directory,.lb-info-grid-section,
  .lb-article-layout,.lb-contact-form-section,.lb-business-profile,
  .lb-standard-hero__inner,.lb-contact-hero,
  .lb-project-hero__copy,.lb-style-hero__copy,.lb-location-hero__copy
){padding-top:var(--lbiv-section-space)!important;padding-bottom:var(--lbiv-section-space)!important}
body.lb-ivory-studio:not(.lbiv-home) #lbStudioMain .lb-project-cta > .lb-page-shell{
  padding-top:var(--lbiv-section-space)!important;padding-bottom:var(--lbiv-section-space)!important;
}
body.lb-ivory-studio:not(.lbiv-home) #lbStudioMain .lb-index-hero{padding-top:48px!important;padding-bottom:28px!important}
body.lb-ivory-studio:not(.lbiv-home) #lbStudioMain .lb-index-grid{padding-top:32px!important;padding-bottom:48px!important}
body.lb-ivory-studio:not(.lbiv-home) #lbStudioMain .lb-index-seo{margin-bottom:48px!important}
@media(max-width:700px){
  body.lb-ivory-studio:not(.lbiv-home){--lbiv-section-space:32px}
  body.lb-ivory-studio:not(.lbiv-home) #lbStudioMain .lb-index-hero{padding-top:32px!important;padding-bottom:24px!important}
  body.lb-ivory-studio:not(.lbiv-home) #lbStudioMain .lb-index-grid{padding-top:24px!important;padding-bottom:32px!important}
  body.lb-ivory-studio:not(.lbiv-home) #lbStudioMain .lb-index-seo{margin-bottom:32px!important}
  body.lb-ivory-studio:not(.lbiv-home) #lbStudioMain :is(.lb-style-detail__inner,.lb-location-overview__grid,.lb-contact-hero){row-gap:28px!important}
  body.lb-ivory-studio #lbStudioMain .lb-article-layout :is(h2,h3){margin-top:32px!important;margin-bottom:16px!important}
  body.lb-ivory-studio #lbStudioMain .lb-article-layout :is(h2,h3):first-child{margin-top:0!important}
  body.lb-ivory-studio.lbiv-gallery-page #lbStudioMain :is(.message-builder-wrapper,.breadcrumbs){margin-top:32px!important;margin-bottom:32px!important}
  body.lb-ivory-studio #lbStudioMain .lbv-app{padding-bottom:32px!important}
  body.lb-ivory-studio #lbStudioMain .lbv-section{padding-bottom:28px!important;margin-bottom:28px!important}
  body.lb-ivory-studio #lbStudioMain .lbv-seo-copy{margin-top:32px!important;padding-top:28px!important}
  /* Long client/place names must not force a mobile hero wider than its column. */
  body.lb-ivory-studio #lbStudioMain :is(.lb-project-hero,.lb-style-hero,.lb-location-hero,.lb-experience-hero){
    grid-template-columns:minmax(0,1fr)!important;min-width:0!important;max-width:100%!important;
  }
  body.lb-ivory-studio #lbStudioMain :is(.lb-project-hero__copy,.lb-style-hero__copy,.lb-location-hero__copy,.lb-experience-hero__copy,.lb-experience-hero__media){
    min-width:0!important;max-width:100%!important;
  }
  body.lb-ivory-studio #lbStudioMain :is(h1,h2,h3){overflow-wrap:anywhere}
}

/* 1.0.2: edge-to-edge hero, with spacing on the copy only.
 * Explicitly supersede the parent's desktop and mobile !important rules.
 */
body.lb-ivory-studio #lbStudioMain .lb-home-studio{margin-top:0!important;padding-top:0!important}
body.lb-ivory-studio #lbStudioMain .lb-home-hero{
  display:grid!important;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;
  gap:0!important;align-items:stretch!important;width:100%!important;max-width:none!important;
  margin:0!important;padding:0!important;height:auto!important;min-height:560px!important;
}
body.lb-ivory-studio #lbStudioMain .lb-home-hero__copy{
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  order:0!important;min-width:0!important;max-width:none!important;margin:0!important;
  padding:clamp(36px,4vw,64px) var(--lbiv-gutter)!important;
  padding-left:max(var(--lbiv-gutter),calc((100vw - var(--lbiv-shell))/2 + var(--lbiv-gutter)))!important;
}
body.lb-ivory-studio #lbStudioMain .lb-home-hero__copy h1{
  width:100%!important;max-width:none!important;margin:0 0 24px!important;
  font-size:clamp(40px,4.2vw,60px)!important;font-weight:500!important;line-height:1.07!important;
  letter-spacing:-.045em!important;overflow-wrap:normal;text-wrap:balance;
}
body.lb-ivory-studio #lbStudioMain .lb-home-hero__intro{max-width:36em!important;margin:0 0 26px!important}
body.lb-ivory-studio #lbStudioMain .lb-home-hero__actions{
  display:flex!important;flex-wrap:wrap!important;gap:16px!important;width:100%!important;padding:0!important;
}
body.lb-ivory-studio #lbStudioMain .lb-home-hero__actions>.lb-button,
body.lb-ivory-studio #lbStudioMain .lb-home-hero__actions>.lb-home-visualise-cta{
  flex:1 1 210px!important;min-width:0!important;max-width:100%!important;
}
body.lb-ivory-studio #lbStudioMain .lb-home-hero__media{
  position:relative!important;order:0!important;align-self:stretch!important;
  width:100%!important;max-width:none!important;height:auto!important;min-height:560px!important;
  max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;
}
body.lb-ivory-studio #lbStudioMain .lb-home-hero__slide{margin:0!important}
body.lb-ivory-studio #lbStudioMain .lb-home-hero__media img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;display:block!important;
}

/* Local vector client artwork; original case-study links and text fallback stay intact. */
body.lb-ivory-studio .lb-home-clients-strip{padding:0!important;border-bottom:1px solid var(--lbiv-line)}
body.lb-ivory-studio .lb-home-clients-strip>.lb-page-shell{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  flex-wrap:wrap!important;gap:20px 28px!important;padding:25px var(--lbiv-gutter)!important;
}
body.lb-ivory-studio .lb-home-clients-strip a{
  display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;
  color:var(--lbiv-green)!important;
}
body.lb-ivory-studio #lbStudioMain .lb-home-clients-strip .lbiv-client-logo{
  position:static;display:block;width:120px!important;height:44px!important;max-width:100%!important;
  margin:0!important;object-fit:contain!important;opacity:1;
}
body.lb-ivory-studio .lb-home-clients-strip a:focus-visible{outline:2px solid var(--lbiv-green);outline-offset:6px}
@media(max-width:980px){
  body.lb-ivory-studio #lbStudioMain .lb-home-hero{grid-template-columns:minmax(0,1fr)!important;min-height:0!important}
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__media{
    order:-1!important;min-height:0!important;height:auto!important;aspect-ratio:4/3!important;
  }
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__copy{padding:36px var(--lbiv-gutter)!important}
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__copy h1{font-size:clamp(36px,6vw,52px)!important;max-width:19ch!important}
  body.lb-ivory-studio .lb-home-clients-strip>.lb-page-shell{justify-content:center!important;gap:20px 32px!important}
  body.lb-ivory-studio .lb-home-clients-strip .lb-page-shell>span{flex-basis:100%;text-align:center}
}
@media(max-width:600px){
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__copy{padding:30px var(--lbiv-gutter)!important}
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__actions{flex-direction:column!important;align-items:stretch!important}
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__actions>.lb-button,
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__actions>.lb-home-visualise-cta{flex:0 1 auto!important;width:100%!important}
  body.lb-ivory-studio #lbStudioMain .lb-home-clients-strip .lbiv-client-logo{width:100px!important;height:38px!important}
}
body.lb-ivory-studio #lbStudioMain .lb-home-hero__media::before,
body.lb-ivory-studio #lbStudioMain .lb-home-hero__media::after{display:none!important}

/* 1.0.3: the parent applies !important colours to headings and all paragraphs.
 * These dark surfaces need their own explicit foreground colours.
 */
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__copy h1,
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__copy h2,
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__copy h3,
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__copy h4,
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__copy h5,
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__copy h6,
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__copy .lb-section-kicker{
  color:var(--lbiv-ivory)!important;
}
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__copy p:not(.lb-section-kicker),
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__copy li{
  color:#dbe4d7!important;
}
body.lb-ivory-studio .lbiv-footer p,
body.lb-ivory-studio .lbiv-footer li,
body.lb-ivory-studio .lbiv-footer dd,
body.lb-ivory-studio .lbiv-footer dt{
  color:#d2ded1!important;
}

/* 1.0.4: clean carousel presentation; retain a keyboard-accessible pause. */
body.lb-ivory-studio .lb-home-hero__dots.lbiv-carousel-access{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body.lb-ivory-studio .lb-home-hero__dots.lbiv-carousel-access:focus-within{width:auto;height:auto;margin:0;padding:6px;clip-path:none;overflow:visible;left:14px;bottom:14px;background:var(--lbiv-green)}
body.lb-ivory-studio .lbiv-carousel-access button:focus-visible{outline:2px solid var(--lbiv-ivory);outline-offset:2px}
body.lb-ivory-studio .lbiv-menu-icon{display:block;flex:none;fill:none;stroke:currentColor}

/* Browser QA: readable secondary text and one consistent mobile input size. */
body.lb-ivory-studio #lbStudioMain .breadcrumbs,
body.lb-ivory-studio #lbStudioMain .breadcrumbs a,
body.lb-ivory-studio #lbStudioMain .breadcrumbs span,
body.lb-ivory-studio #lbStudioMain .lb-info-card__eyebrow,
body.lb-ivory-studio #lbStudioMain .lb-contact-hero__actions small,
body.lb-ivory-studio #lbStudioMain .lb-contact-form-card__head>span,
body.lb-ivory-studio #lbStudioMain .lb-contact-more small,
body.lb-ivory-studio #lbStudioMain .lb-contact-field small,
body.lb-ivory-studio #lbStudioMain .lb-contact-reassurance__grid small{color:#555a56!important}
body.lb-ivory-studio #lbStudioMain .lb-contact-hero__actions small,
body.lb-ivory-studio #lbStudioMain .lb-contact-reassurance__grid small{font-size:10px!important}
body.lb-ivory-studio #lbStudioMain .lb-contact-form-card__head>span,
body.lb-ivory-studio #lbStudioMain .lb-contact-more small,
body.lb-ivory-studio #lbStudioMain .lb-contact-field small{font-size:12px!important;line-height:1.5}
@media(max-width:700px){
 body.lb-ivory-studio #lbStudioMain .lb-enquiry-grid textarea,
 body.lb-ivory-studio #lbStudioMain .lb-enquiry-grid select{font-size:16px!important}
 body.lb-ivory-studio #lbStudioMain .lb-contact-more summary{flex-wrap:wrap;gap:8px}
}

/* Visualiser: retain the plugin's selection state over the parent's general icon display rule. */
body.lb-ivory-studio #lbStudioMain .lbv-design-card:not(.is-selected) .lbv-design-card__image > i.fa-check{
  display:none!important;
}
body.lb-ivory-studio #lbStudioMain .lbv-design-card.is-selected .lbv-design-card__image > i.fa-check{
  display:flex!important;
}

/* Christmas panel: matches Place Keys homepage #7a2638. */
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__card{background:#7a2638!important;border-color:#7a2638!important}
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo .lb-button,
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo .lb-button:hover,
body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo .lb-button:focus-visible{color:#7a2638!important}

/* Mobile refinements: show the project label below the full photograph. */
@media(max-width:700px){
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__media{
    display:grid!important;aspect-ratio:auto!important;overflow:hidden!important;
  }
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__slide{
    position:relative!important;inset:auto!important;grid-area:1 / 1;
    display:grid!important;grid-template-rows:auto 1fr!important;align-self:stretch!important;
    width:100%!important;height:auto!important;min-width:0!important;
  }
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__slide img{
    position:static!important;inset:auto!important;aspect-ratio:4 / 3!important;
    width:100%!important;height:auto!important;min-height:0!important;
  }
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__caption{
    position:relative!important;inset:auto!important;transform:none!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;gap:4px 16px!important;align-content:center!important;
    width:100%!important;max-width:none!important;min-height:72px!important;
    margin:0!important;padding:12px var(--lbiv-gutter)!important;
    background:var(--lbiv-ivory)!important;color:var(--lbiv-green)!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;text-decoration:none!important;
  }
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__caption span{
    grid-area:1 / 1!important;color:var(--lbiv-green)!important;
    font-size:9px!important;line-height:1.4!important;letter-spacing:.1em!important;
  }
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__caption strong{
    grid-area:2 / 1!important;color:var(--lbiv-green)!important;
    font-size:14px!important;line-height:1.4!important;overflow-wrap:anywhere;
  }
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__caption i{
    position:static!important;inset:auto!important;transform:none!important;
    grid-column:2!important;grid-row:1 / 3!important;align-self:center!important;
  }
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__caption:hover{background:#eee6d7!important}
  body.lb-ivory-studio #lbStudioMain .lb-home-hero__caption:focus-visible{
    outline:2px solid var(--lbiv-green)!important;outline-offset:-5px!important;
  }

  /* Full-width colour panel; keep one consistent internal text gutter. */
  body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo{
    width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
    padding-left:0!important;padding-right:0!important;
  }
  body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__card{
    grid-template-columns:minmax(0,1fr)!important;gap:24px!important;
    width:100%!important;margin:0!important;padding:var(--lbiv-gutter)!important;border:0!important;
  }
  body.lb-ivory-studio #lbStudioMain .lb-seasonal-promo__copy{padding:0!important;min-width:0}
}
