/* ==========================================================================
   Bright Star Joinery — main stylesheet
   Tokens taken from the live site's Elementor kit.
   ========================================================================== */
:root{
	--c-primary:#DDC79F;      /* gold */
	--c-secondary:#252735;    /* page background */
	--c-text:#C8C8CC;
	--c-accent:#333646;       /* panels */
	--c-panel:#424657;        /* accordion / credit bar */
	--c-light:#E9E9EB;        /* headings, links */
	--c-ghost:#2A2C3A;
	--f-head:"Playfair Display",Georgia,serif;
	--f-body:"Plus Jakarta Sans",system-ui,sans-serif;
	--f-ui:var(--f-body);
	--container:1140px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;background:var(--c-secondary);color:var(--c-text);font-family:var(--f-ui);font-size:1rem;font-weight:400;line-height:1.5}
img,video,iframe{max-width:100%;display:block}
img{height:auto}
a{color:var(--c-light);text-decoration:none;transition:color .3s}
a:hover{color:var(--c-primary)}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;color:var(--c-light);font-family:var(--f-ui);font-weight:600;text-transform:uppercase;line-height:1.2}
h1{font-size:5rem}h2{font-size:2rem;letter-spacing:1px}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem;font-weight:500}h6{font-size:.9375rem;font-weight:500}
p{margin:0 0 .9em;font-family:var(--f-body)}
ul{padding:0;margin:0 0 1em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:focus{clip-path:none;width:auto;height:auto;margin:0;left:10px;top:10px;padding:12px 18px;background:var(--c-primary);color:var(--c-accent);z-index:1000}

.bs-container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:20px}
.bs-section{padding-top:120px}

/* ---- Buttons ----------------------------------------------------------- */
.bs-btn,.wp-block-button__link,.forminator-button-submit{display:inline-block;background:transparent;color:var(--c-primary);font-family:var(--f-ui);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:4px;line-height:1;border:1px solid var(--c-primary);border-radius:0;padding:18px 30px;cursor:pointer;transition:background .3s,color .3s}
.bs-btn:hover,.wp-block-button__link:hover,.forminator-button-submit:hover{background:var(--c-primary);color:var(--c-accent)}
.bs-btn--dark{background:var(--c-secondary);border-color:var(--c-secondary);font-family:var(--f-body);font-weight:400}
.bs-btn--dark:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-primary)}

/* ---- Header ------------------------------------------------------------ */
.bs-header{position:relative;z-index:99;padding:2px}
.bs-header__inner{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin-inline:auto;padding:0 20px;min-height:40px}
.bs-logo{display:block;width:19.3%;min-width:130px;max-width:270px}
.bs-logo img{width:150px;height:auto}
.bs-nav{flex:1}
.bs-menu{list-style:none;margin:0;padding:0;display:flex;justify-content:flex-end;flex-wrap:wrap}
.bs-menu li{position:relative}
.bs-menu a{display:block;padding:13px 20px;color:var(--c-text);font-family:var(--f-head);font-size:.9375rem;font-weight:600;text-transform:uppercase}
.bs-menu a:hover,.bs-menu .current-menu-item>a,.bs-menu .current-menu-ancestor>a,.bs-menu .current_page_item>a{color:var(--c-primary)}
.bs-menu .menu-item-has-children>a::after{content:"\f078";font-family:'bs-fa';font-weight:900;font-size:.6em;margin-left:8px;vertical-align:middle}
.bs-menu .sub-menu{list-style:none;margin:0;padding:0;position:absolute;left:0;top:100%;min-width:260px;background:var(--c-accent);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.bs-menu li:hover>.sub-menu,.bs-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.bs-menu .sub-menu a{color:var(--c-light);padding:12px 20px;font-size:.8125rem}
.bs-menu .sub-menu a:hover{background:var(--c-panel);color:var(--c-primary)}
.bs-menu .sub-menu .sub-menu{left:100%;top:0}
.bs-menu .sub-menu .menu-item-has-children>a::after{content:"\f054";float:right;margin-top:4px}
.bs-menu>li:nth-last-child(-n+2)>.sub-menu{left:auto;right:0}
.bs-menu>li:nth-last-child(-n+2) .sub-menu .sub-menu{left:auto;right:100%}
.bs-menu .sub-menu{max-height:80vh;overflow-y:auto}
.bs-nav-toggle{display:none;background:none;border:0;color:var(--c-primary);font-size:1.5rem;padding:10px;cursor:pointer}

/* ---- Hero -------------------------------------------------------------- */
.bs-hero{position:relative;min-height:80vh;display:flex;align-items:center;padding:5%;overflow:hidden}
.bs-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bs-hero__overlay{position:absolute;inset:0;background:var(--c-secondary);opacity:.85}
.bs-hero__inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;max-width:1300px}
.bs-eyebrow{margin:0 0 20px;color:var(--c-primary);font-family:var(--f-ui);font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:1px}
.bs-hero h1{font-family:var(--f-head);font-size:2.6rem;line-height:1.2em;margin-bottom:20px}
.bs-hero__copy>p:not(.bs-eyebrow){margin-bottom:25px}
.bs-rating{margin-top:25px;display:flex;align-items:center;font-family:var(--f-body)}
.bs-stars{color:var(--c-primary);font-size:24px;display:inline-flex;gap:4px}
.bs-hero__work-title{font-family:var(--f-ui);font-size:1.1rem;font-weight:400;text-align:center;letter-spacing:1px;margin-bottom:20px}

/* ---- Carousel (replaces Swiper) --------------------------------------- */
.bs-carousel{position:relative;--slides:2}
.bs-carousel{--gap:10px}
.bs-carousel__track{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.bs-carousel__track::-webkit-scrollbar{display:none}
.bs-carousel__slide{flex:0 0 calc((100% - var(--gap)*(var(--slides) - 1))/var(--slides));scroll-snap-align:start}
.bs-carousel__slide img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover}
.bs-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:rgba(255,255,255,.9);font-size:1.4rem;padding:12px;cursor:pointer;text-shadow:0 0 6px rgba(0,0,0,.6);z-index:2}
.bs-carousel__arrow--prev{left:-8px}.bs-carousel__arrow--next{right:-8px}
.bs-carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.bs-carousel__dots button{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:var(--c-text);opacity:.5;cursor:pointer}
.bs-carousel__dots button[aria-current="true"]{opacity:1;background:var(--c-primary)}

/* ---- Section titles with ghost word ------------------------------------ */
.bs-section-title{position:relative;text-align:center;margin-bottom:40px;padding-top:30px}
.bs-section-title h2{position:relative;margin:0;color:var(--c-primary);font-family:var(--f-head);font-size:2rem;font-weight:600;letter-spacing:1px}
.bs-ghost{position:absolute;left:0;right:0;top:-8px;font-family:var(--f-ui);font-size:80px;font-weight:600;line-height:1;color:var(--c-ghost);white-space:nowrap;overflow:hidden;text-overflow:clip;text-transform:uppercase;pointer-events:none;user-select:none}
.bs-about__text .bs-section-title{text-align:left;padding-top:20px}
.bs-about__text .bs-ghost{left:0;right:auto;max-width:100%}

/* ---- About ------------------------------------------------------------- */
.bs-about__grid{display:grid;grid-template-columns:40% 60%;gap:20px;align-items:start}
.bs-about__image{min-height:500px;background-size:cover;background-position:center;position:relative}
.bs-about__badge{position:absolute;left:22px;bottom:22px;background:var(--c-secondary);box-shadow:0 0 15px rgba(0,0,0,.35);padding:22px 30px;margin:22px}
.bs-years{display:block;color:var(--c-primary);font-family:var(--f-ui);font-size:80px;font-weight:600;letter-spacing:3px;line-height:1}
.bs-about__badge h3{margin:10px 0 0;color:var(--c-text);font-family:var(--f-head);font-size:1.25rem}
.bs-about__text{padding:10px 10px 10px 30px}
.bs-lead{font-family:var(--f-body);font-weight:400;font-size:1.25rem;margin-bottom:20px}
.bs-list{list-style:none}
.bs-list li{padding:5px 0;font-family:var(--f-body)}
.bs-about .bs-list li::before{content:"\f054";font-family:'bs-fa';font-weight:900;font-size:.8rem;color:var(--c-primary);margin-right:10px}
.bs-about .bs-btn{margin-top:10px}

/* ---- Why choose us ----------------------------------------------------- */
.bs-why__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.bs-why__image img{width:100%;height:100%;object-fit:cover}
.bs-why__boxes{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--c-accent);margin:60px 0 0 -20px;position:relative}
.bs-iconbox{padding:30px}
.bs-iconbox__icon{display:block;margin-bottom:14px;color:var(--c-primary);font-size:35px;line-height:1}
.bs-iconbox h3{margin-bottom:16px;color:var(--c-primary);font-family:var(--f-head);font-size:1.25rem;line-height:1.2}
.bs-iconbox p{margin:0;color:var(--c-text)}
.bs-iconbox .fa,.bs-iconbox .fas,.bs-iconbox .far{font-size:inherit}
.bs-iconbox i.fa{font-family:'bs-fa'}
.bs-iconbox i.far{font-family:'bs-fa'}

/* ---- Counters ---------------------------------------------------------- */
.bs-counters{background:var(--c-accent);margin:120px 0;padding:30px 0}
.bs-counters__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.bs-counter__num{color:var(--c-primary);font-family:var(--f-head);font-size:69px;font-weight:600;line-height:1.1}
.bs-counter__title{color:var(--c-text);font-family:var(--f-ui);font-size:17px;font-weight:600;letter-spacing:1px}

/* ---- Gallery ----------------------------------------------------------- */
.bs-recent{padding-top:0}
.bs-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.bs-gallery__item{display:block;overflow:hidden}
.bs-gallery__item img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .4s}
.bs-gallery__item:hover img{transform:scale(1.04)}

/* ---- Services ---------------------------------------------------------- */
.bs-services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.bs-iconbox--card{padding:0 0 20px}
.bs-readmore{display:inline-block;margin-top:14px;color:var(--c-primary);font-family:var(--f-body);font-size:.9375rem;text-transform:uppercase}
.bs-readmore:hover{color:var(--c-light)}
.bs-services{padding-bottom:120px}

/* ---- FAQ --------------------------------------------------------------- */
.bs-faq{background-size:cover;background-position:center;display:grid;grid-template-columns:1fr 1fr}
.bs-faq__panel{grid-column:2;background:rgba(51,54,70,.93);padding:30px}
.bs-faq__panel h2{color:var(--c-primary);font-family:var(--f-head)}
.bs-accordion__item{margin-bottom:6px}
.bs-accordion__item h3{margin:0;font-size:1rem}
.bs-accordion__title{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;background:var(--c-panel);color:var(--c-primary);border:0;padding:15px 20px;font-family:var(--f-head);font-size:1rem;font-weight:600;text-transform:uppercase;cursor:pointer}
.bs-accordion__title i{font-size:.8rem;flex:none}
.bs-accordion__title[aria-expanded="true"] i::before{content:"\f068"}
.bs-accordion__content{padding:15px 20px}
.bs-accordion__content p{margin:0}

/* ---- CTA band & credit ------------------------------------------------- */
.bs-cta-band{background:var(--c-primary);color:var(--c-accent);padding:30px 0}
.bs-cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.bs-cta-band h2{margin:0;color:var(--c-accent);font-family:var(--f-head)}
.bs-credit{background:var(--c-panel);text-align:center;padding:27px 0 14px;margin-top:0}
.bs-credit p{margin:0 0 14px;color:var(--c-primary);font-size:17px}
.bs-credit a{color:var(--c-primary)}

/* ---- Footer ------------------------------------------------------------ */
.bs-footer{background:var(--c-secondary);padding:50px 0}
.bs-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:20px}
.bs-footer__col h3{color:var(--c-primary);font-family:var(--f-head)}
.bs-footer__col .bs-logo-img{width:150px;margin-bottom:10px}
.bs-footer .bs-list li{padding:5px 0}
.bs-footer .bs-list li::before{content:"\f054";font-family:'bs-fa';font-weight:900;font-size:.8rem;color:var(--c-primary);margin-right:10px}
.bs-footer a{color:var(--c-text)}.bs-footer a:hover{color:var(--c-primary)}
.bs-social{list-style:none;display:flex;gap:12px;margin:0;padding:0}
.bs-social a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--c-primary);color:var(--c-accent)!important;font-size:16px}
.bs-social a:hover{background:var(--c-light)}
.bs-social--center{justify-content:center}

/* ---- Inner pages ------------------------------------------------------- */
.bs-banner{background-size:cover;background-position:center;padding:90px 0;text-align:center}
.bs-banner h1{margin:0;font-family:var(--f-head);font-size:3rem;color:var(--c-light)}
.bs-page-content{padding-bottom:0}
.bs-page-content img{height:auto}
.bs-page-content .wp-block-columns{gap:40px;align-items:center;margin-bottom:60px}
.bs-page-content .wp-block-image img{width:100%}
.bs-page-content .wp-block-button{margin-top:10px}
.bs-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.bs-post-card h2{font-size:1.25rem;font-family:var(--f-head)}

/* Contact page */
.bs-contact{padding-bottom:80px}
.bs-contact__intro{max-width:760px;margin:0 auto 50px;text-align:center}
.bs-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:60px}
.bs-contact__map iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(.4) contrast(1.05)}
.bs-contact__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}
.bs-contact__cols h3{color:var(--c-primary);font-family:var(--f-head)}
.bs-contact__cols h4{font-family:var(--f-ui)}
.bs-notice{padding:14px 18px;background:var(--c-accent);border-left:4px solid var(--c-primary)}

/* ---- Forminator skin (the one global form) ----------------------------- */
.bs-form .forminator-ui .forminator-label{color:var(--c-light);font-family:var(--f-body);font-weight:600}
.bs-form .forminator-ui .forminator-input,.bs-form .forminator-ui .forminator-textarea,.bs-form .forminator-ui select{background:var(--c-accent)!important;border:1px solid var(--c-panel)!important;color:var(--c-light)!important;border-radius:0!important;font-family:var(--f-body);padding:14px 16px}
.bs-form .forminator-ui .forminator-input:focus,.bs-form .forminator-ui .forminator-textarea:focus{border-color:var(--c-primary)!important;outline:0}
.bs-form .forminator-ui ::placeholder{color:var(--c-text);opacity:.7}
.bs-form .forminator-ui .forminator-error-message{color:#f0a0a0}
.bs-form .forminator-ui .forminator-response-message{background:var(--c-accent)!important;color:var(--c-light)!important;border-radius:0}
.bs-form .forminator-ui .forminator-button-submit{background:transparent!important;color:var(--c-primary)!important;border:1px solid var(--c-primary)!important;border-radius:0!important}
.bs-form .forminator-ui .forminator-button-submit:hover{background:var(--c-primary)!important;color:var(--c-accent)!important}

/* ---- Scroll reveal ----------------------------------------------------- */
.js .bs-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.js .bs-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .bs-reveal{opacity:1;transform:none;transition:none}.bs-carousel__track{scroll-behavior:auto}}

/* ---- Responsive -------------------------------------------------------- */
@media (max-width:1024px){
	h1{font-size:3rem}
	.bs-section{padding-top:80px}
	.bs-hero__inner,.bs-about__grid,.bs-why__grid,.bs-contact__grid,.bs-faq{grid-template-columns:1fr}
	.bs-faq__panel{grid-column:1}
	.bs-why__boxes{margin:-60px 20px 0}
	.bs-about__text{padding:30px 0 0}
	.bs-services__grid,.bs-posts{grid-template-columns:repeat(2,1fr)}
	.bs-counters__grid{grid-template-columns:repeat(2,1fr);row-gap:30px}
	.bs-footer__grid{grid-template-columns:1fr 1fr}
	.bs-nav-toggle{display:block}
	.bs-nav{position:absolute;left:0;right:0;top:100%;background:var(--c-accent);display:none;max-height:80vh;overflow:auto}
	.bs-nav.is-open{display:block}
	.bs-menu{display:block}
	.bs-menu a{padding:14px 24px}
	.bs-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none;background:rgba(0,0,0,.15)}
	.bs-menu li.is-open>.sub-menu{display:block}
	.bs-menu .sub-menu a{padding-left:40px}
	.bs-menu .sub-menu .sub-menu a{padding-left:56px}
}
@media (max-width:767px){
	.bs-hero{padding:40px 0}
	.bs-hero h1{font-size:2rem}
	.bs-ghost{font-size:16px;position:static;display:block;margin-bottom:6px}
	.bs-section-title{padding-top:0}
	.bs-section{padding-top:60px}
	.bs-why__boxes,.bs-services__grid,.bs-posts,.bs-contact__cols,.bs-footer__grid{grid-template-columns:1fr}
	.bs-gallery{grid-template-columns:1fr 1fr;gap:12px}
	.bs-counters{margin:60px 0}
	.bs-counter__num{font-size:44px}
	.bs-about__image{min-height:320px}
	.bs-years{font-size:50px}
	.bs-banner h1{font-size:2rem}
	.bs-cta-band__inner{justify-content:center;text-align:center}
	.bs-cta-band h2{font-size:1.4rem}
	.bs-carousel{--slides:1}
}

/* ---- Migrated page content (block editor output) ----------------------- */
.bs-page-content .bs-block-icon{margin:0 0 27px;color:var(--c-primary);font-size:40px;line-height:1}
.bs-gallery-block{margin:40px 0}
.bs-gallery-block.wp-block-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bs-gallery-block.wp-block-gallery .wp-block-image{margin:0}
.bs-gallery-block.wp-block-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover}
.bs-details-list{display:grid;gap:6px}
.bs-details summary{background:var(--c-panel);color:var(--c-primary);font-family:var(--f-head);font-weight:600;text-transform:uppercase;padding:15px 20px;cursor:pointer}
.bs-details>*:not(summary){padding:15px 20px}
.bs-testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin:40px 0}
.bs-quote{margin:0;padding:30px;background:var(--c-accent);border-left:3px solid var(--c-primary)}
.bs-quote cite{display:block;color:var(--c-primary);font-family:var(--f-head);font-style:normal;text-transform:uppercase}
.bs-page-content .wp-block-columns:last-child{margin-bottom:0}
@media (max-width:1024px){.bs-gallery-block.wp-block-gallery{grid-template-columns:repeat(2,1fr)}}

/* ---- Mobile parity tweaks (checked against live at 375px) --------------- */
@media (max-width:767px){
	.bs-counters__grid{grid-template-columns:1fr;row-gap:30px}
	.bs-gallery{grid-template-columns:1fr;gap:30px}
	.bs-gallery__item img{aspect-ratio:auto}
	.bs-cta-band{padding:40px 0}
	.bs-cta-band__inner{flex-direction:column;gap:30px}
	.bs-faq__panel{padding:40px 20px}
	.bs-hero{padding:30px 0}
	.bs-hero__inner{gap:40px}
}

/* ---- Tablet parity tweaks (checked against live at 768px) --------------- */
@media (min-width:768px) and (max-width:1024px){
	.bs-services__grid{grid-template-columns:repeat(3,1fr);gap:20px}
	.bs-faq{padding-top:330px}
	.bs-cta-band h2{font-size:1.5rem}
	.bs-cta-band__inner{flex-wrap:nowrap}
	.bs-counters__grid{grid-template-columns:repeat(4,1fr)}
	.bs-counter__num{font-size:48px}
	.bs-counter__title{font-size:14px}
}
@media (max-width:767px){ .bs-faq{padding-top:120px} }
@media (max-width:767px){
	.bs-counters__grid{row-gap:50px}
	.bs-counter{padding:10px 0}
	.bs-cta-band{padding:55px 0}
}

/* ==========================================================================
   Converted Elementor content (block output) — mirrors the live site
   ========================================================================== */
/* typography / colour helpers emitted by the converter */
.bs-t-primary{font-family:var(--f-head);font-weight:600;text-transform:uppercase}
.bs-t-secondary{font-family:var(--f-body);font-weight:400}
.bs-t-text{font-family:var(--f-ui);font-weight:400}
.bs-t-accent{font-family:var(--f-ui);font-weight:500}
.bs-ff-playfair{font-family:var(--f-head)}.bs-ff-raleway{font-family:var(--f-body)}.bs-ff-heebo{font-family:var(--f-ui)}
.bs-c-primary{color:var(--c-primary)}.bs-c-secondary{color:var(--c-secondary)}.bs-c-text{color:var(--c-text)}.bs-c-accent{color:var(--c-accent)}
.bs-ta-center{text-align:center}.bs-ta-right{text-align:right}

/* rhythm: Elementor widgets sit 20px apart, paragraphs of one editor 14.4px */
.bs-page-content h1,.bs-page-content h2,.bs-page-content h3,.bs-page-content h4{margin:0 0 20px}
.bs-page-content h1{font-size:5rem;line-height:1}
.bs-page-content h2{line-height:1}
.bs-page-content h3{line-height:1}
.bs-page-content p{margin:0 0 14.4px;font-family:var(--f-ui)}
.bs-page-content p:not(:has(+ p)){margin-bottom:34.4px}
.bs-page-content p.bs-t-secondary{font-family:var(--f-body)}
.bs-page-content .wp-block-image,.bs-page-content .wp-block-buttons{margin:0 0 20px}
.bs-page-content .wp-block-image img{display:block;width:100%;height:auto}
.bs-page-content .wp-block-image img[style*="object-fit"]{width:100%}
.bs-page-content .wp-block-list{padding-left:1.2em;margin:0 0 20px}

/* sections */
.bs-page-content>.bs-blk:not(.alignfull),.bs-page-content>.bs-cols{max-width:var(--container);margin-inline:auto;box-sizing:content-box;width:auto}
.bs-page-content>.bs-blk.alignfull:not(.bs-full)>*,.bs-section-cover:not(.bs-full) .wp-block-cover__inner-container>*{max-width:var(--container);margin-inline:auto;width:100%}
.bs-section-cover{padding:0}
.bs-section-cover .wp-block-cover__inner-container{width:100%;padding:0}
.bs-page-content .wp-block-group.alignfull,.bs-page-content .wp-block-cover.alignfull{max-width:none;width:100%}
.bs-page-content .wp-block-columns.bs-cols{gap:0;margin:0 auto;flex-wrap:nowrap}
.bs-cols>.wp-block-column{padding:10px;min-width:0;margin-top:0;margin-bottom:0}
.bs-cols>.wp-block-column.bs-col-wrapped{padding:0}
.bs-colwrap>*:last-child{margin-bottom:0}
.bs-page-content .wp-block-column>*:last-child{margin-bottom:0}
@media (max-width:767px){.bs-page-content .wp-block-columns.bs-cols{flex-wrap:wrap!important}.bs-cols>.wp-block-column{flex-basis:100%!important;margin:0!important}}
@media (min-width:768px) and (max-width:781px){.bs-page-content .wp-block-columns.bs-cols{flex-wrap:nowrap!important}.bs-cols>.wp-block-column{flex-basis:0!important;flex-grow:1!important}}

/* buttons */
.bs-page-content .wp-block-button__link{background:transparent;color:var(--c-primary);border:1px solid var(--c-primary);border-radius:0;font-family:var(--f-body);font-size:.8125rem;font-weight:400;letter-spacing:4px;text-transform:uppercase;padding:18px 30px;line-height:1}
.bs-page-content .wp-block-button__link.has-background{border-color:transparent}
.bs-page-content .bs-btn-solid .wp-block-button__link{background:var(--c-primary);color:var(--c-secondary);border-color:var(--c-primary);font-family:var(--f-ui)}
.bs-page-content .wp-block-button.bs-t-text .wp-block-button__link,.bs-page-content .wp-block-button.bs-t-accent .wp-block-button__link{font-family:var(--f-ui)}
.bs-page-content .wp-block-button__link:hover{background:var(--c-primary);color:var(--c-accent)}

/* full-width carousel (service pages) */
.bs-carousel--full{margin:0;width:100%}
.bs-carousel--full{--gap:0px}
.bs-carousel--full .bs-carousel__slide img{aspect-ratio:3/4}

/* accordion in converted FAQ blocks */
.bs-page-content .bs-accordion__content p{margin:0}
.bs-accordion--plain .bs-accordion__title{font-family:var(--f-ui);text-transform:none}
.bs-page-content .bs-accordion__item h3{margin:0}

/* title banner: header floats over it, as on the live site */
body:not(.home) .bs-header{position:absolute;left:0;right:0;top:0}
.bs-banner{display:flex;align-items:center;justify-content:center;min-height:340px;padding:0 0 26px}
.bs-banner h1{font-size:5rem;line-height:1;font-family:var(--f-head);text-transform:uppercase}
@media (max-width:1024px){.bs-banner h1,.bs-page-content h1{font-size:3rem}}
@media (max-width:767px){.bs-banner{min-height:240px}.bs-banner h1,.bs-page-content h1{font-size:2rem}}

/* ---- Header / footer parity with live (1140 container) ----------------- */
.bs-header__inner{max-width:var(--container);padding:0}
.bs-logo{width:19.33%;min-width:0;max-width:none;margin-left:-8px}
.bs-logo img{width:106px;height:auto}
.bs-nav{flex:0 0 80%;max-width:80%}
.bs-menu{margin-right:0}
.bs-menu a{font-size:1rem;padding:13px 20px;line-height:20px}
.bs-menu .sub-menu{min-width:156px}
.bs-menu .sub-menu a{font-size:.8125rem;line-height:1.5}
.bs-footer{padding:50px 0}
.bs-footer__grid{grid-template-columns:repeat(4,1fr);gap:0}
.bs-footer__col{padding:10px}
.bs-footer__col h3{font-size:1.25rem;line-height:1;margin:0 0 20px;text-transform:uppercase}
.bs-footer__logo{display:block;margin:0 0 20px -15px}
.bs-footer__col .bs-logo-img{width:213px;max-width:none;margin:0}
.bs-footer__about p{margin:0 0 20px}
.bs-footer .bs-list{margin:0}
.bs-footer .bs-list li{padding:5px 0;margin:0}
.bs-footer__contact{line-height:1.5}
.bs-footer__contact a{display:inline}
@media (max-width:1024px){
	.bs-header__inner{padding:0 20px}
	.bs-logo{width:auto}
	.bs-nav{max-width:none}
	.bs-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){.bs-footer__grid{grid-template-columns:1fr}}
.bs-carousel--full .bs-carousel__dots{display:none}
.bs-footer .bs-container{padding-inline:0}
.bs-menu{margin-right:8px}

.bs-footer .bs-social{margin-top:44px}

/* hero cover (pages that carry their own hero), cover text colours, buttons */
.bs-hero-cover{display:flex;align-items:center;justify-content:center;padding:0 0 6px!important;margin-top:0!important}
.bs-section-cover,.bs-section-cover .wp-block-cover__inner-container{color:var(--c-text)}
.bs-page-content .bs-c-primary{color:var(--c-primary)}.bs-page-content .bs-c-accent{color:var(--c-accent)}.bs-page-content .bs-c-secondary{color:var(--c-secondary)}
.bs-page-content .wp-block-button__link:not(.has-background){background-color:transparent!important;color:var(--c-primary)!important;border:1px solid var(--c-primary)!important}
.bs-page-content .wp-block-button__link:not(.has-background):hover{background-color:var(--c-primary)!important;color:var(--c-accent)!important}
.bs-footer__col{padding:10px 25px}
.bs-footer__col:first-child{padding:10px 15px}

.bs-page-content .bs-c-light{color:var(--c-light)}.bs-page-content .bs-c-panel{color:var(--c-panel)}

.bs-accordion__title{line-height:1}
.bs-accordion__item{margin-bottom:0}
.bs-accordion__item h3{line-height:1;margin:0}
.bs-page-content .wp-block-cover.bs-section-cover{padding:0;min-height:0}

.bs-page-content .wp-block-cover .wp-block-cover__inner-container{padding:0;width:100%}




.bs-page-content .wp-block-spacer{margin:0}

/* ---- Landing template (logo only) -------------------------------------- */
.bs-landing-logo{height:138px;display:flex;justify-content:center;padding-top:28px}
.bs-landing-logo img{width:200px;height:auto}
.bs-landing .bs-header{display:none}
.bs-page-content .wp-block-cover.bs-minh{padding:5% 5%}
.bs-landing .wp-block-cover.bs-minh{align-items:center}

/* ---- Page title banner: 30vh + padding, header floats over it, 120px gap below ---- */
.bs-banner{position:relative;min-height:calc(30vh + 70px);margin-bottom:120px;padding:0 0 26px;background:var(--bg) top center/cover no-repeat}
.bs-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#252735 20%,rgba(61,82,234,0) 100%)}
.bs-banner .bs-container{position:relative}
@media (max-width:767px){.bs-banner{min-height:calc(30vh + 40px);margin-bottom:60px}}

/* testimonials */
.bs-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0}
.bs-quote{padding:20px;margin:0;background:none;border:0;color:var(--c-text)}
.bs-quote__text{font-family:var(--f-ui);font-size:1.3rem;font-style:italic;text-align:center;line-height:1.5;margin-bottom:20px}
.bs-quote__footer{display:flex;align-items:center;gap:14px;justify-content:center}
.bs-quote__footer img{width:50px;height:50px;border-radius:50%;object-fit:cover}
.bs-quote__cite{display:flex;flex-direction:column;font-size:14px;line-height:1.5}
.bs-quote__cite b{color:var(--c-primary);font-weight:700}.bs-quote__cite i{font-style:normal}
@media (max-width:767px){.bs-testimonials{grid-template-columns:1fr}}

.bs-counters--about .bs-counter__num{font-family:var(--f-ui);font-size:55px;font-weight:700}
.bs-page-content>.bs-counters{margin:120px 0}
.bs-page-content .bs-testimonials{grid-template-columns:repeat(3,1fr);gap:50px;padding:0 48px}
@media (max-width:767px){.bs-page-content .bs-testimonials{grid-template-columns:1fr;padding:0;gap:20px}}


/* ==========================================================================
   Home page — geometry copied from the live Elementor layout (1140 container,
   10px column padding, 120px section rhythm)
   ========================================================================== */
.bs-container{padding-inline:10px}
.bs-footer .bs-container{padding-inline:0}

/* hero: 80vh content box + 5% padding, 40/60 columns */
.bs-hero{box-sizing:content-box;min-height:80vh;padding:5%}
.bs-hero__inner{max-width:1140px;margin-inline:auto;grid-template-columns:40% 60%;gap:0;padding:0}
.bs-hero__copy,.bs-hero__work{padding:10px;min-width:0}
.bs-hero h1{font-size:2em;line-height:1.2;margin:0 0 20px}
.bs-eyebrow{margin:0 0 20px;line-height:1}
.bs-hero__copy>p:not(.bs-eyebrow){margin:0 0 20px}
.bs-hero__copy>p:not(.bs-eyebrow):nth-of-type(2){margin-bottom:20px}
.bs-rating{margin-top:20px}
.bs-hero__work-title{line-height:1;margin:0 0 20px}
.bs-carousel__slide img{aspect-ratio:327/339}

/* section titles: h2 (32px) + 20px, ghost word floats behind */
.bs-section-title{position:relative;text-align:center;margin:0;padding:10px 0 0;height:auto}
.bs-section-title h2{margin:0 0 20px;line-height:1}
.bs-ghost{top:-36px;line-height:80px}
.bs-title-wrap{padding-bottom:10px}
.bs-about__text .bs-section-title{text-align:left;padding:0;margin:0 0 20px}
.bs-about__text .bs-section-title h2{margin:0 0 20px}
.bs-about__text .bs-section-title .bs-ghost{top:-46px}

/* about */
.bs-section{padding-top:120px}
.bs-about__grid{grid-template-columns:50% 50%;gap:0;padding:0}
.bs-about__image{min-height:546px;margin:0}
.bs-about__badge{left:calc(50% + 22px);bottom:22px;margin:0;width:calc(50% - 44px);padding:30px;box-shadow:0 0 15px rgba(0,0,0,.35)}
.bs-about__badge h3{margin:20px 0 0;line-height:1;font-size:1.25rem}
.bs-years{font-size:80px;line-height:1;letter-spacing:3px}
.bs-about__text{padding:10px 10px 10px 30px}
.bs-lead{margin:0 0 20px;line-height:1;font-size:1.25rem;font-weight:400}
.bs-about__text p{margin:0 0 14.4px}
.bs-about__text .bs-list{margin:20px 0}
.bs-about__text .bs-list li{padding:5px 0}

/* why choose us */
.bs-why{padding-top:120px}
.bs-why .bs-container{padding:0 10px}
.bs-why__grid{max-width:1140px;margin-inline:auto;grid-template-columns:50% 50%;gap:0;align-items:start}
.bs-why__image{margin-left:12px;margin-right:-12px}
.bs-why__image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.bs-why__boxes{margin:60px 0 0 -20px;background:var(--c-accent);width:calc(100% + 0px)}
.bs-iconbox{padding:30px}
.bs-iconbox h3{margin:0 0 16px;line-height:1.2}
.bs-iconbox__icon{margin-bottom:0;font-size:35px;line-height:1.2}
.bs-iconbox__icon+h3{margin-top:14px}

/* counters */
.bs-counters{margin:120px 0}
.bs-counters__grid{gap:0;max-width:1140px;margin-inline:auto}
.bs-counter{padding:10px}
.bs-counter__num{line-height:1}
.bs-counter__title{margin-top:20px;line-height:1.4}

/* recent work gallery: natural aspect ratios, 3 columns, 30px gutters */
.bs-recent{padding-top:0;padding-bottom:0}
.bs-recent .bs-container{padding-bottom:10px}
.bs-gallery{grid-template-columns:repeat(3,1fr);gap:30px;align-items:start}
.bs-gallery__item img{aspect-ratio:auto;height:auto}

/* services: 3 columns, boxes 360 wide, 50px between rows */
.bs-services{padding-bottom:120px}
.bs-services__grid{grid-template-columns:repeat(3,1fr);gap:50px 0}
.bs-iconbox--card{padding:10px}
.bs-services__grid .bs-iconbox h3{margin-top:14px;margin-bottom:16px}
.bs-readmore{margin-top:20px;font-size:.9375rem;line-height:1}

/* FAQ: two halves, right half is the panel */
.bs-faq__panel{padding:30px;background:rgba(51,54,70,.93)}
.bs-faq__panel h2{margin:0 0 20px;line-height:1}

/* CTA band */
.bs-cta-band__inner{display:grid;grid-template-columns:66.66% 33.33%;align-items:center;gap:0}
.bs-cta-band__inner h2{padding:10px;line-height:1;margin:0}
.bs-cta-band__btn{padding:10px;text-align:right}
.bs-credit{padding:27px 0}
.bs-credit p{margin:0}
@media (max-width:1024px){
	.bs-hero__inner,.bs-about__grid,.bs-why__grid{grid-template-columns:1fr}
	.bs-about__badge{left:22px;width:auto}
	.bs-why__image{margin:0}
	.bs-why__boxes{margin:-60px 20px 0}
	.bs-cta-band__inner{grid-template-columns:1fr}
	.bs-cta-band__btn{text-align:left}
	.bs-services__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:767px){
	.bs-services__grid,.bs-gallery{grid-template-columns:1fr}
	.bs-about__image{min-height:320px}
}
.bs-hero__copy>p:not(.bs-eyebrow){margin:0 0 34.4px}
.bs-hero__copy>.bs-btn{margin-bottom:0}
.bs-carousel__slide img{aspect-ratio:327/318}
.bs-section-title{padding-bottom:10px}
.bs-about__text .bs-section-title{padding-bottom:0}
.bs-recent .bs-gallery{margin-top:10px}
.bs-why .bs-container,.bs-services .bs-container{padding-inline:0}
.bs-services .bs-section-title{padding-inline:10px}
.bs-rating{height:44px;margin-top:20px}
.bs-services__grid{max-width:1140px;margin-inline:auto}
.bs-iconbox--card{display:grid;grid-template-columns:35px 1fr;column-gap:15px;align-items:start}
.bs-iconbox--card .bs-iconbox__icon{margin:0}
.bs-iconbox--card .bs-iconbox__icon+h3,.bs-services__grid .bs-iconbox h3{margin-top:0}
.bs-iconbox--card h3{margin:8px 0 16px}
.bs-iconbox--card .bs-iconbox__body p{margin:0 0 20px}
.bs-iconbox--card .bs-readmore{margin-top:0}

/* ---- Call-to-action tiles (location pages) ----------------------------- */
.bs-cta-tile{position:relative;overflow:hidden;border:1px groove #E9E9EB33;margin:0 0 0;color:var(--c-light)}
.bs-cta-tile__bg,.bs-cta-tile__ov{position:absolute;inset:0}
.bs-cta-tile__bg{background-size:cover;background-position:center;transition:transform .5s,filter .5s}
.bs-cta-tile:hover .bs-cta-tile__bg{transform:scale(1.05);filter:blur(4px) brightness(1.2)}
.bs-cta-tile__in{position:relative;padding:35px;display:flex;flex-direction:column;justify-content:center;min-height:inherit;box-sizing:border-box}
.bs-cta-tile__in h2{margin:0 0 45px;color:var(--c-primary);font-family:var(--f-head);font-size:2rem;line-height:1.2;text-transform:uppercase}
.bs-cta-tile__in p{margin:0;font-family:var(--f-ui);color:var(--c-light)}
.bs-site-logo{text-align:center;margin:0 0 20px}
.bs-site-logo img{width:307px;max-width:100%;height:auto;margin-inline:auto}

/* hero covers: custom height in vh + 96px padding - 26px hidden under the header (live: 1vh = 9px at 900px) */
.bs-page-content .wp-block-cover.bs-hero-cover{min-height:calc(50vh + 70px)}
.bs-page-content .wp-block-cover.bs-hero-cover.bs-vh-30{min-height:calc(30vh + 70px)}
.bs-page-content .wp-block-cover.bs-hero-cover.bs-vh-40{min-height:calc(40vh + 70px)}
.bs-page-content .wp-block-cover.bs-hero-cover.bs-vh-50{min-height:calc(50vh + 70px)}
.bs-page-content .wp-block-cover.bs-hero-cover.bs-vh-60{min-height:calc(60vh + 70px)}
.bs-page-content .wp-block-cover.bs-hero-cover.bs-vh-70{min-height:calc(70vh + 70px)}
.bs-page-content .wp-block-cover.bs-hero-cover.bs-vh-80{min-height:calc(80vh + 70px)}
.bs-page-content .bs-site-logo{margin:0 0 20px!important}

.bs-archive{display:grid;grid-template-columns:2fr 1fr;gap:40px;padding-top:0;padding-bottom:80px}
.bs-archive__side h3{color:var(--c-primary);font-family:var(--f-head)}
.bs-posts{grid-template-columns:repeat(2,1fr)}
.bs-post-card h2,.bs-post-card h3{font-size:1.25rem;line-height:1.2;color:var(--c-primary);font-family:var(--f-head)}
.bs-post-card img{width:100%;height:auto}
.bs-archive-list{padding-bottom:120px}
.bs-archive-list .bs-posts{grid-template-columns:repeat(3,1fr)}
.bs-entry{max-width:760px}
.bs-entry h2,.bs-entry h3{font-family:var(--f-head);color:var(--c-primary)}
.bs-postwrap{padding-bottom:80px}
@media (max-width:767px){.bs-archive{grid-template-columns:1fr}.bs-posts,.bs-archive-list .bs-posts{grid-template-columns:1fr}}

/* ---- Blog index / archives (live: 2-up cards 350w, thumb 171h, 30px text padding) ---- */
.bs-archive{grid-template-columns:66.66% 33.33%;gap:0;padding-bottom:80px}
.bs-archive__main{padding:10px}
.bs-archive .bs-posts{grid-template-columns:repeat(2,1fr);gap:30px;max-width:730px}
.bs-post-card{background:var(--c-accent);margin:0}
.bs-post-card__thumb img{width:100%;height:171px;object-fit:cover;display:block}
.bs-post-card__text{padding:30px}
.bs-post-card h3{margin:0 0 20px;font-family:var(--f-head);font-size:21px;line-height:1.2;color:var(--c-primary);text-transform:uppercase}
.bs-post-card h3 a{color:inherit}
.bs-post-card__excerpt{font-family:var(--f-ui);margin-bottom:20px}
.bs-post-card__more{font-size:12px;color:var(--c-primary);text-transform:uppercase;letter-spacing:1px}
.bs-archive__side{padding:10px}
.bs-sidebox{background:var(--c-accent);padding:20px;margin-top:30px}
.bs-sidebox h2{font-size:1.5rem;color:var(--c-primary);font-family:var(--f-head);margin:0 0 20px}
.bs-pagination,.navigation.pagination{margin-top:40px}
.navigation.pagination .page-numbers{display:inline-block;padding:8px 14px;color:var(--c-light);border:1px solid var(--c-panel);margin-right:6px}
.navigation.pagination .page-numbers.current{background:var(--c-primary);color:var(--c-accent)}
@media (max-width:1024px){.bs-archive{grid-template-columns:1fr}}
@media (max-width:767px){.bs-archive .bs-posts{grid-template-columns:1fr}}

/* mobile/tablet parity for converted pages (live: h1 3.2rem, hero padding 4rem 0 1rem) */
@media (max-width:1024px){.bs-banner h1,.bs-page-content h1{font-size:3.2rem}}
@media (max-width:767px){
	.bs-page-content .wp-block-cover.bs-hero-cover{padding:64px 0 16px!important}
	.bs-banner{padding:64px 0 16px}
	.bs-banner h1,.bs-page-content h1{font-size:3.2rem}
}

.bs-divider{padding:15px 0}.bs-divider span{display:block;border-top:1px solid #DDC79F}
.bs-page-content .bs-colwrap{box-sizing:border-box}
.bs-page-content .bs-colwrap>*:last-child{margin-bottom:0!important}
.bs-page-content .bs-colwrap>.wp-block-image:last-child img{margin-bottom:0}
.bs-page-content .bs-colwrap>.wp-block-group__inner-container>*:last-child,.bs-page-content .bs-colwrap>.wp-block-group__inner-container{margin-bottom:0!important}
.bs-page-content .bs-colwrap>.wp-block-group__inner-container>*:first-child{margin-top:0}

.bs-banner{min-height:calc(var(--vh,30)*1vh + var(--pt,48px) + var(--pb,48px) - 26px);margin-bottom:var(--mb,120px);padding:calc(var(--pt,48px) - 26px) 0 var(--pb,48px)}
@media (max-width:767px){.bs-banner{min-height:calc(var(--vh,30)*1vh + 40px);margin-bottom:60px;padding:64px 0 16px}}

/* Pro "gallery" widget: 4-up grid, 3:2 tiles, 10px gap */
.bs-pgallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bs-pgallery__item{display:block;overflow:hidden}
.bs-pgallery__item img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .4s}
.bs-pgallery__item:hover img{transform:scale(1.05)}
@media (max-width:767px){.bs-pgallery{grid-template-columns:repeat(2,1fr)}}
.bs-page-content ul.wp-block-list{margin:0 0 20px;padding-left:1.4em;font-family:var(--f-ui)}
.bs-page-content ul.wp-block-list li{margin:0 0 4px}
.bs-page-content p+ul.wp-block-list,.bs-page-content ul.wp-block-list+p{margin-top:0}
.bs-page-content p:has(+ ul.wp-block-list){margin-bottom:14.4px}

.bs-postlayout{padding-top:0}
.bs-single__thumb{width:100%;height:auto;margin:0 0 30px}
.bs-entry{max-width:none}
.bs-entry p{font-family:var(--f-ui);margin:0 0 14.4px}
.bs-entry h2,.bs-entry h3{margin:30px 0 14px}
.bs-postnav{display:flex;justify-content:space-between;gap:20px;margin-top:40px;font-family:var(--f-body)}
.bs-post-card--mini{margin:0 0 20px}
.bs-post-card--mini .bs-post-card__text{padding:15px 20px}
.bs-post-card--mini h3{font-size:1rem;margin:0}

/* quote panel */
.bs-no-scroll{overflow:hidden}
.bs-quote-panel{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end}
.bs-quote-panel[hidden]{display:none}
.bs-quote-panel__overlay{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.bs-quote-panel__box{position:relative;width:min(480px,100%);height:100%;overflow:auto;background:var(--c-secondary);padding:40px 30px;box-shadow:-10px 0 30px rgba(0,0,0,.4)}
.bs-quote-panel__box h2{color:var(--c-primary);font-family:var(--f-head);margin:0 0 24px}
.bs-quote-panel__close{position:absolute;right:20px;top:16px;background:none;border:0;color:var(--c-primary);font-size:1.6rem;cursor:pointer}
.bs-iconlist{list-style:none;padding:0;margin:0 0 20px}
.bs-iconlist li{display:flex;gap:12px;align-items:baseline;padding:5px 0;font-family:var(--f-body)}
.bs-iconlist i{color:var(--c-primary);font-size:14px;width:16px}
.bs-post-card{border:1px solid var(--c-panel)}

.bs-nav--inline{flex:none;max-width:none;position:static;display:block;background:none}
.bs-canvas .bs-main{display:block}

/* blog posts: content column 760, sidebar 380 (live) */
.bs-postlayout{grid-template-columns:66.66% 33.33%;max-width:1140px;padding-inline:0}
.bs-postlayout .bs-archive__main{padding:10px}
.bs-entry p{font-family:var(--f-body)}
.bs-entry h2,.bs-entry h3,.bs-entry h4{font-family:var(--f-ui);color:var(--c-light);text-transform:uppercase;margin:0 0 20px;line-height:1.2}
.bs-entry h2{font-size:2rem;letter-spacing:1px}
.bs-entry h3{font-size:1.25rem}
.bs-entry ul{font-family:var(--f-body);margin:0 0 20px}
.bs-entry img{max-width:100%;height:auto}
@media (max-width:1024px){.bs-postlayout{grid-template-columns:1fr}}

/* ---- Contact page (geometry from live) --------------------------------- */
.bs-contact-intro .bs-container{max-width:1140px;padding:10px}
.bs-contact-intro__title{position:relative;margin:0 10px 20px}
.bs-contact-intro__title .bs-ghost{position:absolute;left:0;right:auto;top:-65px;font-size:80px;line-height:80px;text-align:left}
.bs-contact-intro__title h2{position:relative;margin:0;color:var(--c-primary);font-family:var(--f-head);line-height:1}
.bs-contact-intro__text{padding:0 10px}
.bs-contact-intro__text p{margin:0}
.bs-contact-main{margin-top:0}
.bs-contact-main__grid{display:grid;grid-template-columns:1fr 2fr;gap:0;max-width:1140px;padding:0}
.bs-contact-main__map,.bs-contact-main__form{padding:10px}
.bs-contact-main__map iframe{width:100%;height:300px;min-height:0;border:0}
.bs-contact-cols{margin-top:120px}
.bs-contact-cols__grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1140px;padding:0}
.bs-contact-cols__grid>div{padding:10px;text-align:center}
.bs-contact-cols h3{font-family:var(--f-ui);color:var(--c-primary);font-size:1.25rem;margin:0 0 20px;line-height:1}
.bs-contact-cols h4{font-family:var(--f-ui);font-size:1.125rem;line-height:1;text-transform:lowercase;color:var(--c-text);margin:0}
.bs-contact-cols .bs-social{justify-content:center;margin-top:20px}
.bs-contact-band{margin-top:120px;background:var(--c-accent);padding:30px 0}
.bs-contact-band__grid{display:grid;grid-template-columns:66.66% 33.33%;align-items:center;max-width:1140px;padding:0}
.bs-contact-band h2{margin:0;padding:10px;color:var(--c-primary);font-family:var(--f-head);font-size:25px;line-height:35px;letter-spacing:1px}
.bs-contact-band__grid>div{padding:10px;text-align:right}
@media (max-width:1024px){.bs-contact-main__grid,.bs-contact-cols__grid,.bs-contact-band__grid{grid-template-columns:1fr}.bs-contact-band__grid>div{text-align:left}}

/* resin tables listing (live: 3 columns of 380, text inset 20) */
.bs-rgrid{max-width:1140px;margin:0 auto;padding:0}
.bs-rgrid__inner{display:grid;grid-template-columns:repeat(3,1fr)}
.bs-rgrid__item{padding:20px}
.bs-rgrid__item h3{margin:0 0 20px;color:var(--c-light);font-family:var(--f-ui);font-size:1.25rem;line-height:1.2;text-transform:uppercase}
.bs-rgrid__text{font-family:var(--f-ui);margin:0 0 20px;font-size:1rem;line-height:1.5}
@media (max-width:767px){.bs-rgrid__inner{grid-template-columns:1fr}}

/* compact form: placeholders carry the labels (as on live), labels stay available to screen readers */
.bs-form .forminator-ui .forminator-label{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.bs-form .forminator-ui .forminator-row{margin-bottom:10px!important}
.bs-form .forminator-ui .forminator-textarea{min-height:110px!important}
.bs-form .forminator-ui .forminator-input,.bs-form .forminator-ui .forminator-textarea{padding:10px 14px!important}
.bs-form .forminator-ui .forminator-button-submit{width:100%}
.bs-entry a{color:var(--c-light);text-decoration:none}
.bs-entry a:hover{color:var(--c-primary)}
.bs-entry h2,.bs-entry h3,.bs-entry h4{font-weight:600;line-height:1.2}

/* single post (live geometry) */
.single-post .bs-banner{min-height:416px;padding:54px 0 0;margin-bottom:130px}
.bs-share{list-style:none;display:flex;gap:6px;margin:0 0 15px;padding:0}
.bs-share a{display:flex;align-items:center;justify-content:center;width:36px;height:30px;background:var(--c-panel);color:#fff;font-size:14px}
.bs-share a:hover{color:var(--c-primary)}
.bs-authorbox{display:flex;gap:20px;align-items:center;border:1px solid var(--c-panel);padding:3%;margin-top:30px}
.bs-authorbox__img img{width:100px;height:100px;border-radius:50%}
.bs-authorbox__name{margin:0 0 8px;font-family:var(--f-ui);font-size:1.125rem;font-weight:600;text-transform:uppercase;line-height:1.2;color:var(--c-light)}
.bs-authorbox p{margin:0 0 8px}
.bs-postlayout .bs-sidebox h2{font-family:var(--f-ui);font-size:1.5rem;line-height:1;text-transform:uppercase}
.bs-postlayout .bs-sidebox{background:none;padding:10px}
.bs-post-card--mini{background:none;border:0;margin:0 0 70px}
.bs-post-card--mini .bs-post-card__thumb img{aspect-ratio:285/162;height:auto;object-fit:cover}
.bs-post-card--mini .bs-post-card__text{padding:20px 0 0}
.bs-post-card--mini h3{font-family:var(--f-body);font-size:18px;font-weight:500;line-height:40px;text-transform:capitalize;color:var(--c-text);margin:0 0 3px}
.bs-post-card--mini .bs-post-card__excerpt{font-family:var(--f-body)}
.bs-post-card--mini .bs-post-card__more{font-family:var(--f-ui);font-weight:500;font-size:16px;text-transform:none;letter-spacing:0}
@media (max-width:767px){.single-post .bs-banner{min-height:240px;margin-bottom:60px;padding:64px 0 16px}}

/* carousels use each photo's natural ratio, as Elementor's did */
.bs-carousel--full .bs-carousel__slide img{aspect-ratio:auto;height:auto}
.bs-carousel--full .bs-carousel__track{align-items:center}
/* blog index and archives: header stays in flow above a 240px banner */
.blog .bs-banner,.archive .bs-banner{min-height:294px;padding:54px 0 0;margin-bottom:80px}
.bs-post-card__text{padding:21px 30px 27px}
.bs-contact-main__form{min-height:442px}
@media (max-width:767px){.blog .bs-banner,.archive .bs-banner{min-height:240px;padding:64px 0 16px;margin-bottom:40px}}

/* archives: content starts 54px lower, sidebar form box as tall as live's */
.blog .bs-archive,.archive .bs-archive{padding-top:54px}
.blog .bs-post-card__text,.archive .bs-post-card__text{padding-bottom:30px}
.blog .bs-archive__side .bs-sidebox,.archive .bs-archive__side .bs-sidebox{min-height:600px}
/* landing-style pages: header stays in flow above the hero */
body.bs-header-flow .bs-header{position:relative}
.bs-canvas .bs-carousel__slide img{aspect-ratio:1/1}
.bs-page-content .bs-iconbox h3.bs-ff-heebo{font-family:var(--f-ui)}.bs-page-content .bs-iconbox h3.bs-ff-playfair{font-family:var(--f-head)}

/* compact hero form on landing pages: name + email only (live shows a two-field callback form) */
.bs-form--compact .forminator-row:has(.forminator-field-phone),.bs-form--compact .forminator-row:has(.forminator-field-textarea){display:none!important}

.bs-carousel--quotes{--gap:50px;padding:0 48px;margin:0}
.bs-carousel--quotes .bs-carousel__track{align-items:flex-start}
.bs-carousel--quotes .bs-quote{padding:20px 0}

/* ---- parity tweaks from the live comparison --------------------------- */
/* archive sidebar heading stays Playfair; post sidebar uses Heebo (see .bs-postlayout) */
.blog .bs-archive,.archive .bs-archive{padding-bottom:224px}
.bs-postlayout .bs-sidebox:nth-child(2){padding:30px 14px}
.bs-post-card--mini .bs-post-card__thumb img{width:100%}
.bs-share{margin-bottom:34px}
.bs-rgrid__item{padding:18px 20px 30px}
.bs-rgrid__item h3{margin:0 0 36px}
.bs-rgrid__text{margin:0 0 35px}

.bs-page-content .bs-iconbox--flat{padding:0;display:block}
.bs-page-content .bs-iconbox--flat .bs-iconbox__icon{margin:0 0 23px;line-height:35px}
.bs-page-content .bs-iconbox--flat h3{margin:0 0 16px;line-height:24px}
.bs-page-content .bs-iconbox--flat p{margin:0}
.bs-counter--inline{padding:0;text-align:left}.bs-counter--inline .bs-counter__num{font-size:80px;font-family:var(--f-ui);line-height:1}
.bs-hero h2.bs-eyebrow{font-family:var(--f-ui);font-size:1rem;font-weight:500;letter-spacing:1px;line-height:1;color:var(--c-primary);text-transform:uppercase;margin:0 0 20px}


/* ==========================================================================
   Two-font system: headings = Playfair Display, everything else = Plus Jakarta Sans
   (kept last so it wins over the per-component rules above)
   ========================================================================== */
body,button,input,select,textarea{font-family:var(--f-body)}
h1,h2,h3,h4,h5,h6,
.bs-ghost,.bs-years,.bs-counter__num,.bs-eyebrow,.bs-section-title,.bs-menu a,
.bs-footer__col h3,.bs-iconbox h3,.bs-accordion__title,.bs-cta-tile__in h2,.bs-quote__cite b{font-family:var(--f-head)!important}
/* helpers emitted by the converter: never leak a heading face onto body copy or a body face onto headings */
p,li,a,span,blockquote,.bs-btn,.wp-block-button__link,.bs-readmore,.bs-post-card__excerpt,.bs-post-card__more,.bs-counter__title{font-family:var(--f-body)}
.bs-menu a,.bs-menu .sub-menu a{font-family:var(--f-head)!important}
.bs-t-primary,.bs-t-secondary,.bs-t-text,.bs-t-accent,.bs-ff-playfair,.bs-ff-raleway,.bs-ff-heebo{font-family:var(--f-body)}
h1.bs-t-primary,h2.bs-t-primary,h3.bs-t-primary,h4.bs-t-primary,h1[class*="bs-ff-"],h2[class*="bs-ff-"],h3[class*="bs-ff-"],h4[class*="bs-ff-"],h1[class*="bs-t-"],h2[class*="bs-t-"],h3[class*="bs-t-"]{font-family:var(--f-head)!important}
.bs-section-title h2,.bs-counter__num{font-family:var(--f-head)!important}
/* third-party UI */
.forminator-ui,.forminator-ui *:not([class*="icon"]):not([class*="forminator-ui-icon"]){font-family:var(--f-body)!important}
.joinchat,.joinchat *{font-family:var(--f-body)!important}
#silktide-wrapper,#silktide-wrapper *{font-family:var(--f-body)!important}
i.fas,i.far{font-family:'bs-fa'!important}
i.fab{font-family:'bs-fa-brands'!important}

h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-family:inherit!important}
#stcm-wrapper,#stcm-wrapper *,[id^="stcm-"],[id^="stcm-"] *,[class^="stcm-"],[class*=" stcm-"]{font-family:var(--f-body)!important}
#stcm-wrapper{--fontFamily:"Plus Jakarta Sans",system-ui,sans-serif}
.depicter-element,.depicter-element *,[class*="depicter-"]{font-family:var(--f-body)!important}
[class*="depicter-"] h1,[class*="depicter-"] h2,[class*="depicter-"] h3,[class*="depicter-"] h1 *,[class*="depicter-"] h2 *,[class*="depicter-"] h3 *{font-family:var(--f-head)!important}
h1 span,h2 span,h3 span,h4 span,h5 span,h6 span{font-family:inherit!important}
#stcm-wrapper h1,#stcm-wrapper h2,#stcm-wrapper h3,#stcm-wrapper h4,[id^="stcm-"] h1,[id^="stcm-"] h2,[id^="stcm-"] h3{font-family:var(--f-head)!important}

/* headings that are really labels (kept out of the document outline for SEO) */
.bs-years-label{margin:20px 0 0;color:var(--c-text);font-family:var(--f-head)!important;font-size:1.25rem;font-weight:600;line-height:1;text-transform:uppercase}
.bs-footer__title{margin:0 0 20px;color:var(--c-primary);font-family:var(--f-head)!important;font-size:1.25rem;font-weight:600;line-height:1;text-transform:uppercase}
.bs-footer__spacer{height:20px;margin:0 0 20px}
.bs-quote-panel__title{margin:0 0 24px;color:var(--c-primary);font-family:var(--f-head)!important;font-size:2rem;font-weight:600;line-height:1.2;letter-spacing:1px;text-transform:uppercase}

.bs-archive .bs-post-card__text h2{margin:0 0 20px;font-family:var(--f-head)!important;font-size:21px;line-height:1.2;color:var(--c-primary);text-transform:uppercase}
.bs-archive .bs-post-card__text h2 a{color:inherit}
