/* Step 2: BM homepage colour and heading hierarchy. Content remains in Beqeek Fields. */
.canvas:has(.bm-home-hero) {
 --bm-heading:#28203f;
 --bm-blue:#1663cb;
 --bm-violet:#7530b5;
 --bm-accent:#6534b5;
 --bm-heading-gradient:linear-gradient(110deg,var(--bm-blue) 5%,#5941c8 52%,var(--bm-violet) 95%);
}
.canvas .bm-home-hero h1 {
 color:var(--bm-heading);font-weight:700;line-height:1.16;letter-spacing:-.045em;
 font-size:clamp(38px,4.3vw,66px);text-wrap:balance;
}
.canvas .bm-home-hero h1 em {
 display:block;font-style:normal;color:var(--bm-violet);
 background:var(--bm-heading-gradient);background-clip:text;-webkit-background-clip:text;
 -webkit-text-fill-color:transparent;padding-bottom:.1em;
}
.canvas:has(.bm-home-hero) :is(#projects,#services,#process,#about,#journal,#contact) h2 {
 color:var(--bm-heading);font-size:clamp(32px,3.6vw,52px);font-weight:700;
 line-height:1.22;letter-spacing:-.04em;text-wrap:balance;max-width:24ch;
 margin-block:0 24px;overflow-wrap:break-word;
}
.canvas:has(.bm-home-hero) :is(#projects,#services,#process,#journal) h2::before {
 content:"";display:block;width:48px;height:4px;border-radius:var(--bm-radius-small);
 background:var(--bm-heading-gradient);margin-bottom:20px;
}
.canvas:has(.bm-home-hero) .heading h2 {margin-bottom:0}
.canvas:has(.bm-home-hero) :is(#hero,#about,#contact) .eyebrow {
 color:var(--bm-accent);font-size:12px;font-weight:600;line-height:1.7;letter-spacing:.075em;
}
.canvas:has(.bm-home-hero) #contact h2 {
 color:var(--bm-violet);background:var(--bm-heading-gradient);
 background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
 padding-bottom:.08em;max-width:19ch;
}
.canvas:has(.bm-home-hero) :is(.hero-cta,.contact-submit) {
 background:var(--bm-heading-gradient);color:#fff;border-color:transparent;
 box-shadow:0 8px 24px #6534b51a;
}
.canvas:has(.bm-home-hero) :is(.hero-cta,.contact-submit):hover {filter:brightness(.94)}
.canvas:has(.bm-home-hero) .project-filters button[aria-pressed=true] {
 background:var(--bm-heading-gradient);border-color:transparent;color:white;
}
.canvas:has(.bm-home-hero) .steps button[aria-pressed=true] {
 color:#54268e;border-color:#c6b1e5;background:#f0e9fa;font-weight:600;
}
.canvas:has(.bm-home-hero) .service > .bm-icon {color:var(--bm-blue)}
.canvas:has(.bm-home-hero) :is(.service h3,.process-panel h3) {color:var(--bm-heading);font-weight:600}
.canvas:has(.bm-home-hero) .text-action {font-size:14px;font-weight:600;color:var(--bm-accent)}
.canvas:has(.bm-home-hero) .service-action {color:var(--bm-accent)}
@media(max-width:740px) {
 .canvas .bm-home-hero h1 {font-size:clamp(34px,8.7vw,48px);line-height:1.2;letter-spacing:-.035em}
 .canvas:has(.bm-home-hero) :is(#projects,#services,#process,#about,#journal,#contact) h2 {
  font-size:clamp(30px,7.6vw,38px);line-height:1.25;letter-spacing:-.035em;max-width:100%;
 }
 .canvas:has(.bm-home-hero) :is(#projects,#services,#process,#journal) h2::before {width:36px;height:3px;margin-bottom:16px}
 .canvas:has(.bm-home-hero) .hero-secondary {margin-left:16px!important}
}
@media(forced-colors:active) {
 .canvas .bm-home-hero h1 em,.canvas:has(.bm-home-hero) #contact h2 {background:none;-webkit-text-fill-color:CanvasText;color:CanvasText}
}

/* Contact joins the preceding section without WordPress block margin. */
.canvas #contact.section { margin:0; }

/* Continuous light surfaces: white boundaries keep adjacent sections seamless. */
.canvas:has(.bm-home-hero) { --bm-lavender:#f8f6fc; --bm-ice:#f5f9ff; --bm-warm:#fcfbfe; }
.canvas:has(.bm-home-hero) :is(#projects,#services,#process,#about,#journal,#contact).section {
 border-bottom:0;margin-block:0;
}
.canvas:has(.bm-home-hero) #projects {
 background:radial-gradient(ellipse 55% 240px at 5% 130px,#eee7fb80,transparent 85%),#fff;
}
.canvas:has(.bm-home-hero) #services {
 background:linear-gradient(180deg,#fff 0%,var(--bm-lavender) 22%,var(--bm-lavender) 78%,#fff 100%);
}
.canvas:has(.bm-home-hero) #services .service {border-color:#e5dfed99;transition:background-color .22s ease;}
.canvas:has(.bm-home-hero) #services .service:hover {background:#ffffffb8;}
.canvas:has(.bm-home-hero) #process {
 background:linear-gradient(180deg,#fff,var(--bm-ice) 25%,var(--bm-ice) 75%,#fff);
}
.canvas:has(.bm-home-hero) .process-preview {
 background-image:radial-gradient(circle,#798db526 .8px,transparent 1px);
 background-size:16px 16px;
}
.canvas:has(.bm-home-hero) #about {
 background:radial-gradient(ellipse at 78% 50%,#e7e0f76b,transparent 52%),linear-gradient(#fff,var(--bm-warm) 35%,var(--bm-warm) 65%,#fff);
}
.canvas:has(.bm-home-hero) #journal {background:#fff;}
.canvas:has(.bm-home-hero) #contact {
 background:radial-gradient(ellipse at 85% 62%,#e5edff90,transparent 46%),linear-gradient(180deg,#fff 0%,#f7f4fc 24%,#f7f4fc 100%);
}
.canvas:has(.bm-home-hero) .contact-portrait::before {
 background:radial-gradient(ellipse at 65% 42%,#cce2fb99,transparent 64%),radial-gradient(ellipse at 40% 64%,#d9c9f2aa,transparent 70%);
 animation:bm-contact-glow 22s ease-in-out infinite alternate;
}
.canvas:has(.bm-home-hero) #footer {
 background:linear-gradient(180deg,#f7f4fc,#fcfbfe 65%);border:0;
}
.canvas:has(.bm-home-hero) .footer-bottom {border-top-color:#ded7e980;}
@keyframes bm-contact-glow {
 from {transform:translate3d(-1%,1%,0) scale(.97);}
 to {transform:translate3d(2%,-2%,0) scale(1.03);}
}
@media(max-width:740px) {
 .canvas:has(.bm-home-hero) #projects {background:radial-gradient(ellipse 100% 190px at 0 80px,#eee7fb66,transparent 90%),#fff;}
 .canvas:has(.bm-home-hero) #about {background:linear-gradient(#fff,#fcfbfe 40%,#f4f0fa 72%,#fff);}
}
@media(prefers-reduced-motion:reduce) {
 .canvas:has(.bm-home-hero) .contact-portrait::before {animation:none;}
 .canvas:has(.bm-home-hero) #services .service {transition:none;}
}
