html { scroll-behavior: smooth; overflow-x: clip; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.ebe-effects-page { min-width: 0; margin: 0; overflow-x: clip; background: #f7f4ee; color: #171512; font-family: Arial, Helvetica, sans-serif; }
.ebe-effects-page .elementor-widget-html, .ebe-effects-page .elementor-widget-html > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.ebe-effects-page * { min-width: 0; box-sizing: border-box; }
.ebe-effects-page img { display: block; width: 100%; max-width: 100%; }
.ebe-effects-page a { color: inherit; text-decoration: none; }
.ebe-shell { width: min(1420px, calc(100% - 8vw)); margin-inline: auto; }
.ebe-section { padding-block: clamp(5rem, 8vw, 8rem); }
.ebe-effects-page h1, .ebe-effects-page h2, .ebe-effects-page h3 { margin-top: 0; overflow-wrap: break-word; font-family: Georgia, "Times New Roman", serif; font-weight: 400; line-height: 1.03; }
.ebe-effects-page h2 { margin-bottom: 1.6rem; font-size: clamp(2.6rem, 4.4vw, 5rem); letter-spacing: -.035em; }
.ebe-effects-page p { margin-top: 0; line-height: 1.75; }
.ebe-kicker { margin-bottom: 1.2rem !important; font-size: .74rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.ebe-light { color: #f3eee7; }
.ebe-hero { position: relative; min-height: min(900px, 100svh); overflow: hidden; color: #fff; background: #181713; }
.ebe-hero::before { position: absolute; inset: 0; content: ""; background-image: linear-gradient(90deg, rgba(13,12,10,.98), rgba(13,12,10,.76) 37%, rgba(13,12,10,.16) 72%, rgba(13,12,10,.28)), var(--ebe-hero); background-position: center, right center; background-size: cover, min(62vw, 1000px) 100%; background-repeat: no-repeat; }
.ebe-header { position: relative; z-index: 2; display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 2rem; padding-top: 2rem; }
.ebe-brand { display: inline-flex; width: max-content; flex-direction: column; align-items: center; color: #fff !important; line-height: .9; }
.ebe-brand strong { font-family: Georgia, serif; font-size: 2.15rem; font-weight: 400; letter-spacing: .12em; }
.ebe-brand em { margin-top: .15rem; font-family: "Brush Script MT", "Segoe Script", cursive; font-size: 1.55rem; }
.ebe-brand span { margin-top: .75rem; font-size: .54rem; font-style: normal; font-weight: 700; letter-spacing: .31em; text-transform: uppercase; }
.ebe-header nav { display: flex; justify-content: center; gap: clamp(1rem, 2vw, 2.3rem); }
.ebe-header nav a { color: #f3efe8 !important; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.ebe-menu-toggle { display: none; border: 0; background: transparent; color: #fff; }
.ebe-menu-toggle span { display: block; width: 28px; height: 1px; background: currentColor; transition: transform .25s ease; }
.ebe-btn { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: .8rem 1.7rem; border: 1px solid currentColor; font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; transition: .25s ease; }
.ebe-btn-outline { border-color: rgba(255,255,255,.8); color: #fff !important; }
.ebe-btn-outline:hover { background: #fff; color: #171512 !important; }
.ebe-btn-solid { border-color: #fff; background: #fff; color: #171512 !important; }
.ebe-btn-solid:hover { background: transparent; color: #fff !important; }
.ebe-hero-content { position: relative; z-index: 1; display: flex; min-height: 740px; flex-direction: column; justify-content: center; padding-top: 8rem; padding-bottom: 4rem; }
.ebe-hero-content h1 { max-width: 800px; margin-bottom: 2rem; font-size: clamp(4.2rem, 7vw, 8rem); letter-spacing: -.05em; }
.ebe-hero-content > p:not(.ebe-kicker) { max-width: 600px; margin-bottom: 2.6rem; color: #eee9e2; font-size: clamp(1rem, 1.35vw, 1.28rem); }
.ebe-actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.ebe-two-col { display: grid; grid-template-columns: .8fr 1.25fr; align-items: center; gap: clamp(3rem, 8vw, 9rem); }
.ebe-about { background: #fbf9f5; }
.ebe-about .ebe-two-col > div > p:not(.ebe-kicker) { max-width: 620px; margin-bottom: 2rem; color: #4b4741; }
.ebe-about img { aspect-ratio: 1.45; object-fit: cover; box-shadow: 0 22px 60px rgba(48,40,29,.11); }
.ebe-arrow { display: inline-flex; align-items: center; gap: 1.4rem; font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.ebe-arrow span { font-size: 1.2rem; }
.ebe-heading { margin-bottom: 3.8rem; text-align: center; }
.ebe-heading .ebe-kicker { margin-bottom: .7rem !important; }
.ebe-services { background: linear-gradient(180deg, #f8f5ef, #f3f0ea); }
.ebe-services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.ebe-service-card { text-align: center; }
.ebe-service-card img { aspect-ratio: 1.1; object-fit: cover; filter: saturate(.72) contrast(.95); }
.ebe-service-icon { position: relative; display: grid; width: 58px; height: 58px; margin: -29px auto 1.4rem; place-items: center; border: 1px solid #c9c2b8; border-radius: 50%; background: #f7f4ee; color: #81776a; font-family: Georgia, serif; font-size: 1.6rem; }
.ebe-service-card h3 { min-height: 2.2em; margin-bottom: 1rem; font-size: clamp(1.45rem, 2vw, 2rem); }
.ebe-service-card > p { min-height: 5.2em; margin: 0 auto 1rem; padding-inline: 1rem; color: #666159; font-size: .9rem; }
.ebe-portfolio { background: #fbfaf7; }
.ebe-projects-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.ebe-project { position: relative; min-height: 430px; overflow: hidden; color: #fff; }
.ebe-project > img { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ebe-project:hover > img { transform: scale(1.05); }
.ebe-project-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.04) 22%, rgba(16,14,12,.9)); }
.ebe-project-copy { position: absolute; inset: auto 1.7rem 1.8rem; }
.ebe-project-copy p { margin-bottom: 0; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ebe-project-copy h3 { margin-bottom: 1.5rem; font-size: 2.2rem; text-transform: uppercase; }
.ebe-project-copy > span { display: flex; justify-content: space-between; padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.35); color: #fff; font-size: .67rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.ebe-project-copy p,.ebe-project-copy h3,.ebe-project-copy > span { color:#fff !important; }
.ebe-centered { margin-top: 2.5rem; text-align: center; }
.ebe-btn-dark { border-color: #aaa39a; color: #171512 !important; }
.ebe-btn-dark:hover { background: #171512; color: #fff !important; }
.ebe-credentials { padding-block: 3.6rem; background: #272825; color: #e8e3db; }
.ebe-credentials .ebe-shell { display: grid; grid-template-columns: repeat(4, 1fr); }
.ebe-credentials .ebe-shell > div { display: flex; min-height: 100px; flex-direction: column; align-items: center; justify-content: center; gap: .65rem; padding: 0 1rem; text-align: center; border-right: 1px solid #56554f; }
.ebe-credentials .ebe-shell > div:last-child { border-right: 0; }
.ebe-credentials strong { font-family: Georgia, serif; font-size: 1.8rem; font-weight: 400; }
.ebe-credentials span { font-size: .69rem; font-weight: 800; letter-spacing: .13em; line-height: 1.7; text-transform: uppercase; }
.ebe-artist { display: grid; grid-template-columns: 1fr 1fr; background: #f7f4ee; }
.ebe-artist > img { height: 100%; min-height: 600px; object-fit: cover; }
.ebe-artist > div { display: flex; max-width: 760px; flex-direction: column; justify-content: center; padding: clamp(4rem, 7vw, 8rem); }
.ebe-artist > div > p:not(.ebe-kicker) { margin-bottom: 1.2rem; color: #514d46; }
.ebe-process { background: #fcfbf8; }
.ebe-process ol { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem; margin: 0; padding: 0; list-style: none; }
.ebe-process ol::before { position: absolute; top: 29px; right: 5%; left: 5%; height: 1px; content: ""; background: #c9c3ba; }
.ebe-process li { position: relative; padding-top: 5.3rem; }
.ebe-process-number { position: absolute; z-index: 1; top: 0; left: 0; display: grid; width: 60px; height: 60px; place-items: center; border: 1px solid #b9b1a7; border-radius: 50%; background: #fcfbf8; font-family: Georgia, serif; font-size: 1.15rem; }
.ebe-process h3 { margin-bottom: .6rem; font-size: 1.45rem; }
.ebe-process li p { color: #666159; font-size: .9rem; }
.ebe-contact { position: relative; display: grid; min-height: 520px; place-items: center; overflow: hidden; background: #24231f; color: #fff; text-align: center; }
.ebe-contact::before { position: absolute; inset: 0; content: ""; background: linear-gradient(rgba(24,22,18,.72), rgba(24,22,18,.78)), var(--ebe-contact) center/cover; }
.ebe-contact > div { position: relative; z-index: 1; width: min(760px, calc(100% - 3rem)); }
.ebe-contact h2 { margin-bottom: 1.5rem; font-size: clamp(3rem, 5vw, 5.2rem); }
.ebe-contact h2,.ebe-contact .ebe-kicker { color:#fff !important; }
.ebe-contact > div > p:not(.ebe-kicker) { max-width: 580px; margin: 0 auto 2rem; color: #e5dfd6; }
.ebe-footer { padding-block: 2.6rem; background: #171713; color: #ddd7ce; }
.ebe-footer .ebe-shell { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 2rem; }
.ebe-footer p { margin: 0; color: #aaa59d; font-size: .82rem; text-align: center; }
.ebe-footer .ebe-shell > a:last-child { font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
@media (max-width:1100px) {
  body.ebe-menu-open { overflow:hidden; }
  .ebe-header { grid-template-columns:170px 1fr auto; }
  .ebe-header .ebe-brand,.ebe-header-cta,.ebe-menu-toggle { position:relative; z-index:102; }
  .ebe-header nav { position:fixed; z-index:100; inset:0; display:flex; visibility:hidden; flex-direction:column; align-items:center; justify-content:center; gap:.4rem; padding:8rem 2rem 3rem; background:rgba(23,22,18,.985); opacity:0; pointer-events:none; transform:translateY(-12px); transition:opacity .25s ease,transform .25s ease,visibility .25s; }
  .ebe-header.ebe-menu-is-open nav { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0); }
  .ebe-header nav a { padding:.38rem 1rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.9rem,4vw,2.5rem); font-weight:400; letter-spacing:0; text-transform:none; }
  .ebe-header-cta { justify-self:end; }
  .ebe-menu-toggle { z-index:102; display:grid; width:48px; height:48px; place-content:center; gap:7px; padding:0; cursor:pointer; }
  .ebe-menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
  .ebe-menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .ebe-services-grid { grid-template-columns:repeat(2,1fr); row-gap:3rem; }
  .ebe-projects-grid { grid-template-columns:repeat(3,1fr); }
  .ebe-process ol { grid-template-columns:repeat(3,1fr); }
  .ebe-process ol::before { display:none; }
}
@media (max-width:760px) { .ebe-shell { width:min(100% - 2.2rem, 620px); } .ebe-section { padding-block:4.5rem; } .ebe-header { grid-template-columns:1fr auto; padding-top:1.2rem; } .ebe-header-cta { display:none; } .ebe-hero { min-height:780px; } .ebe-hero::before { background-image:linear-gradient(90deg, rgba(13,12,10,.94), rgba(13,12,10,.42)), var(--ebe-hero); background-position:center; background-size:cover; } .ebe-hero-content { min-height:680px; padding-top:7rem; } .ebe-hero-content h1 { font-size:clamp(3.6rem,17vw,5.8rem); } .ebe-actions { flex-direction:column; } .ebe-two-col { grid-template-columns:1fr; } .ebe-two-col img { grid-row:1; } .ebe-services-grid, .ebe-projects-grid, .ebe-process ol { grid-template-columns:1fr; } .ebe-service-card > p { min-height:auto; } .ebe-project { min-height:480px; } .ebe-credentials .ebe-shell { grid-template-columns:1fr 1fr; } .ebe-credentials .ebe-shell > div { border-right:0; border-bottom:1px solid #56554f; } .ebe-artist { grid-template-columns:1fr; } .ebe-artist > img { min-height:430px; } .ebe-artist > div { padding:4rem 1.4rem; } .ebe-process li { padding-top:4.7rem; } .ebe-footer .ebe-shell { grid-template-columns:1fr; justify-items:center; text-align:center; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; } }

/* Complete website pages */
.ebe-effects-page .ebe-header nav a.active { border-bottom:1px solid rgba(255,255,255,.9); }
.ebe-page-hero { position:relative; min-height:690px; overflow:hidden; background:#171612; color:#fff; }
.ebe-page-hero::before { position:absolute; inset:0; content:""; background-image:linear-gradient(90deg,rgba(17,15,12,.95),rgba(17,15,12,.68) 46%,rgba(17,15,12,.2)),var(--ebe-page-hero); background-position:center; background-size:cover; filter:saturate(.72); }
.ebe-page-hero-copy { position:relative; z-index:1; display:flex; min-height:690px; flex-direction:column; justify-content:flex-end; padding-top:13rem; padding-bottom:7rem; }
.ebe-page-hero-copy h1 { max-width:980px; margin-bottom:1.6rem; font-size:clamp(4rem,7vw,7.5rem); letter-spacing:-.05em; }
.ebe-page-hero-copy > p:not(.ebe-kicker) { max-width:680px; margin:0; color:#e7e0d6; font-size:clamp(1rem,1.3vw,1.25rem); }
.ebe-inner-section { padding-block:clamp(5rem,8vw,8.5rem); background:#faf7f1; }
.ebe-inner-stone { background:#f1ede5; }
.ebe-inner-section .ebe-heading > p:not(.ebe-kicker) { max-width:720px; margin-inline:auto; color:#69635a; }
.ebe-story-grid { display:grid; grid-template-columns:.85fr 1fr; align-items:center; gap:clamp(3rem,8vw,9rem); }
.ebe-story-grid > img { aspect-ratio:.84; object-fit:cover; }
.ebe-story-grid > div > p:not(.ebe-kicker) { color:#69635a; }
.ebe-quote { padding:clamp(5rem,8vw,8rem) 5vw; background:#272723; color:#eee8de; text-align:center; }
.ebe-quote p { max-width:1000px; margin:0 auto 1.8rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.6rem,5vw,5rem); line-height:1.15; }
.ebe-quote span { font-size:.66rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.ebe-value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#c9c1b5; }
.ebe-value-grid article { min-height:320px; padding:2.3rem; background:#f1ede5; }
.ebe-value-grid article > span { display:grid; width:54px; height:54px; margin-bottom:2.5rem; place-items:center; border:1px solid #aea397; border-radius:50%; font-family:Georgia,serif; }
.ebe-value-grid article h3 { margin-bottom:1rem; }
.ebe-value-grid article p { margin:0; color:#69635a; font-size:.88rem; }
.ebe-service-rows { background:#fffdf9; }
.ebe-service-row { display:grid; grid-template-columns:1fr 1fr; }
.ebe-service-row.reverse > img { order:2; }
.ebe-service-row > img { height:100%; min-height:650px; object-fit:cover; }
.ebe-service-row > div { position:relative; display:flex; min-height:650px; flex-direction:column; justify-content:center; padding:clamp(4rem,7vw,8rem); }
.ebe-service-row > div > p:not(.ebe-kicker) { max-width:620px; color:#69635a; }
.ebe-service-row > div > strong { max-width:620px; color:#4d4841; font-size:.72rem; letter-spacing:.08em; line-height:1.8; text-transform:uppercase; }
.ebe-big-index { position:absolute; top:3rem; right:3rem; color:#aa9f91; font-family:Georgia,serif; font-size:1.1rem; }
.ebe-gallery-grid { display:grid; grid-auto-rows:350px; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.ebe-gallery-item { position:relative; overflow:hidden; background:#27241f; color:#fff; }
.ebe-gallery-item.wide { grid-column:span 2; }
.ebe-gallery-item > img { height:100%; object-fit:cover; transition:transform .55s ease; }
.ebe-gallery-item:hover > img { transform:scale(1.04); }
.ebe-gallery-item::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,transparent 35%,rgba(16,14,12,.88)); }
.ebe-gallery-item > div { position:absolute; z-index:1; right:1.8rem; bottom:1.7rem; left:1.8rem; }
.ebe-gallery-item p { margin-bottom:.25rem; font-size:.62rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.ebe-gallery-item h3 { margin:0; font-size:clamp(2rem,3vw,3.2rem); }
.ebe-gallery-item > div > span { display:block; margin-top:.55rem; color:#d6cfc5; font-size:.7rem; }
.ebe-gallery-item p,.ebe-gallery-item h3,.ebe-gallery-item > div > span { color:#fff !important; }
.ebe-process-list { max-width:1160px; margin-inline:auto; }
.ebe-process-list article { display:grid; grid-template-columns:95px 1fr 1.25fr; align-items:center; gap:3rem; padding:3rem 0; border-top:1px solid #c9c1b5; }
.ebe-process-list article:last-child { border-bottom:1px solid #c9c1b5; }
.ebe-process-list article > span { display:grid; width:68px; height:68px; place-items:center; border:1px solid #aea397; border-radius:50%; font-family:Georgia,serif; }
.ebe-process-list article h2 { margin:0; font-size:clamp(2.3rem,3.5vw,3.8rem); }
.ebe-process-list article p { margin:0; color:#69635a; }
.ebe-journal-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:4rem 1.5rem; }
.ebe-journal-grid article img { aspect-ratio:1.55; object-fit:cover; }
.ebe-journal-grid article > div { padding:1.7rem .5rem 0; }
.ebe-journal-grid article h3 { margin-bottom:.8rem; font-size:clamp(1.8rem,3vw,2.8rem); }
.ebe-journal-grid article > div > p:not(.ebe-kicker) { color:#69635a; }
.ebe-contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(4rem,8vw,9rem); align-items:start; }
.ebe-contact-grid > div:first-child > p:not(.ebe-kicker), .ebe-contact-points p { color:#69635a; }
.ebe-contact-points { margin-top:2rem; padding-top:2rem; border-top:1px solid #c9c1b5; }
.ebe-contact-points strong { display:block; margin-top:1rem; font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; }
.ebe-enquiry-card { padding:clamp(2.5rem,5vw,5rem); background:#f1ede5; }
.ebe-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem 1.5rem; margin:2rem 0 2.5rem; }
.ebe-field-grid span, .ebe-message-field { display:block; min-height:45px; border-bottom:1px solid #a99f91; font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ebe-message-field { min-height:110px; margin-bottom:2rem; }
.ebe-image-strip { display:grid; grid-template-columns:repeat(3,1fr); }
.ebe-image-strip img { aspect-ratio:1.45; object-fit:cover; }
.ebe-site-footer { padding-block:4.5rem; background:#171713; color:#d9d3ca; }
.ebe-site-footer a { color:#d9d3ca !important; }
.ebe-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:5rem; }
.ebe-footer-grid > div { display:flex; flex-direction:column; gap:.8rem; }
.ebe-footer-grid > div:first-child p { max-width:360px; margin-top:1rem; color:#9f9a91; font-size:.85rem; }
.ebe-footer-grid > div:not(:first-child) strong { margin-bottom:.4rem; color:#8d887f; font-size:.63rem; letter-spacing:.17em; text-transform:uppercase; }
.ebe-footer-grid > div:not(:first-child) a { font-family:Georgia,serif; font-size:1.15rem; }
.ebe-project-detail-hero { position:relative; min-height:780px; overflow:hidden; background:#171510; color:#fff; }
.ebe-project-detail-hero::before { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(14,13,11,.94),rgba(14,13,11,.56) 52%,rgba(14,13,11,.18)),var(--ebe-project-cover) center/cover; filter:saturate(.82); }
.ebe-project-detail-hero .ebe-header { position:relative; }
.ebe-project-detail-copy { position:relative; z-index:1; display:flex; min-height:650px; flex-direction:column; justify-content:flex-end; padding-top:12rem; padding-bottom:6rem; }
.ebe-project-detail-copy h1 { max-width:1040px; margin-bottom:1.5rem; font-size:clamp(4rem,7.2vw,7.8rem); letter-spacing:-.045em; }
.ebe-project-detail-copy > p:not(.ebe-kicker) { max-width:690px; margin-bottom:0; color:#e7e0d6; font-size:clamp(1rem,1.3vw,1.2rem); }
.ebe-page-hero-copy h1,.ebe-page-hero-copy .ebe-kicker,.ebe-project-detail-copy h1,.ebe-project-detail-copy .ebe-kicker { color:#fff !important; }
.ebe-project-back { width:max-content; margin-bottom:2.8rem; padding-bottom:.35rem; border-bottom:1px solid rgba(255,255,255,.35); color:#fff !important; font-size:.65rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ebe-project-back:hover { border-color:#fff; }
.ebe-project-gallery-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:3.5rem; }
.ebe-project-gallery-heading h2 { margin-bottom:0; }
.ebe-project-gallery-heading > p { margin-bottom:.75rem; color:#69635a; font-size:.68rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.ebe-project-gallery { columns:3 320px; column-gap:1.2rem; }
.ebe-project-gallery-image { display:block; width:100%; margin:0 0 1.2rem; break-inside:avoid; overflow:hidden; background:#e5dfd5; cursor:zoom-in; }
.ebe-project-gallery-image img { width:100%; height:auto; transition:transform .5s ease,filter .5s ease; }
.ebe-project-gallery-image:hover img { transform:scale(1.018); filter:saturate(1.05); }
body.ebe-lightbox-open { overflow:hidden; }
.ebe-lightbox { position:fixed; z-index:10000; inset:0; display:grid; place-items:center; padding:3.5rem 6rem; background:rgba(12,11,9,.96); color:#fff; }
.ebe-lightbox[hidden] { display:none; }
.ebe-lightbox img { width:auto; max-width:100%; height:auto; max-height:calc(100svh - 7rem); object-fit:contain; }
.ebe-lightbox button { position:absolute; z-index:2; border:0; background:transparent; color:#fff; cursor:pointer; }
.ebe-lightbox-close { top:1.2rem; right:1.5rem; width:48px; height:48px; font-size:2.2rem; }
.ebe-lightbox-arrow { top:50%; width:50px; height:50px; font-size:1.8rem; transform:translateY(-50%); }
.ebe-lightbox-previous { left:1.1rem; }
.ebe-lightbox-next { right:1.1rem; }
.ebe-lightbox-count { position:absolute; bottom:1.25rem; left:50%; font-size:.65rem; font-weight:800; letter-spacing:.15em; transform:translateX(-50%); }
@media (max-width:1100px) {
  .ebe-value-grid { grid-template-columns:repeat(2,1fr); }
  .ebe-gallery-grid { grid-template-columns:repeat(2,1fr); }
  .ebe-story-grid,.ebe-contact-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .ebe-page-hero,.ebe-page-hero-copy { min-height:620px; }
  .ebe-page-hero-copy { padding-top:10rem; padding-bottom:4.5rem; }
  .ebe-page-hero-copy h1 { font-size:clamp(3.4rem,15vw,5.4rem); }
  .ebe-story-grid,.ebe-service-row { grid-template-columns:1fr; }
  .ebe-story-grid > img { grid-row:1; }
  .ebe-service-row.reverse > img { order:0; }
  .ebe-service-row > img { min-height:400px; }
  .ebe-service-row > div { min-height:auto; padding:4.5rem 1.4rem; }
  .ebe-big-index { top:1.8rem; right:1.4rem; }
  .ebe-value-grid,.ebe-gallery-grid,.ebe-journal-grid,.ebe-field-grid { grid-template-columns:1fr; }
  .ebe-projects-grid,.ebe-gallery-grid { width:100%; min-width:0; }
  .ebe-gallery-grid { grid-auto-rows:auto; }
  .ebe-project,.ebe-gallery-item,.ebe-gallery-item.wide { width:100%; max-width:100%; height:clamp(410px,125vw,600px); min-height:0; grid-column:auto; }
  .ebe-project-copy,.ebe-gallery-item > div { max-width:calc(100% - 2.3rem); overflow-wrap:anywhere; }
  .ebe-process-list article { grid-template-columns:64px 1fr; gap:1.2rem; }
  .ebe-process-list article p { grid-column:2; }
  .ebe-process-list article > span { width:54px; height:54px; }
  .ebe-footer-grid { grid-template-columns:1fr 1fr; gap:3rem 2rem; }
  .ebe-footer-grid > div:first-child { grid-column:1/-1; }
  .ebe-image-strip { grid-template-columns:1fr; }
  .ebe-project-detail-hero { min-height:680px; }
  .ebe-project-detail-copy { min-height:550px; padding-top:10rem; padding-bottom:4.5rem; }
  .ebe-project-detail-copy h1 { font-size:clamp(3.4rem,14vw,5.2rem); }
  .ebe-project-gallery-heading { align-items:flex-start; flex-direction:column; gap:.8rem; }
  .ebe-project-gallery { width:100%; max-width:100%; columns:1; }
  .ebe-project-gallery-image { width:100%; max-width:100%; }
  .ebe-lightbox { padding:4.5rem 1rem; }
  .ebe-lightbox-arrow { top:auto; bottom:.65rem; transform:none; }
}

/* Compact phones: protects the approved layout on narrower Galaxy-class screens. */
@media (max-width:390px) {
  .ebe-shell { width:calc(100% - 1.25rem); }
  .ebe-section,.ebe-inner-section { padding-block:3.75rem; }
  .ebe-effects-page h2 { font-size:clamp(2.2rem,11.5vw,2.85rem); }

  .ebe-header { gap:.5rem; padding-top:max(.9rem,env(safe-area-inset-top)); }
  .ebe-brand strong { font-size:1.72rem; }
  .ebe-brand em { font-size:1.25rem; }
  .ebe-brand span { margin-top:.58rem; font-size:.43rem; letter-spacing:.24em; }
  .ebe-menu-toggle { width:44px; height:44px; }
  .ebe-header nav { max-height:100dvh; padding:6.5rem 1rem max(2rem,env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; }
  .ebe-header nav a { font-size:clamp(1.55rem,7.5vw,2rem); }

  .ebe-hero { min-height:100svh; }
  .ebe-hero-content { min-height:100svh; padding-top:6.5rem; padding-bottom:3rem; }
  .ebe-hero-content h1 { margin-bottom:1.5rem; font-size:clamp(2.9rem,14vw,3.65rem); }
  .ebe-hero-content > p:not(.ebe-kicker) { margin-bottom:2rem; font-size:.96rem; line-height:1.65; }
  .ebe-actions { gap:.75rem; }
  .ebe-actions .ebe-btn { width:100%; min-height:50px; padding-inline:1rem; }

  .ebe-heading { margin-bottom:2.8rem; }
  .ebe-project { height:clamp(390px,125vw,490px); }
  .ebe-project-copy { inset:auto 1.15rem 1.25rem; }
  .ebe-project-copy h3 { margin-bottom:1.1rem; font-size:1.75rem; }
  .ebe-credentials .ebe-shell { grid-template-columns:1fr; }
  .ebe-credentials .ebe-shell > div { min-height:88px; }
  .ebe-artist > img { min-height:360px; }
  .ebe-artist > div,.ebe-service-row > div { padding:3.75rem 1rem; }
  .ebe-contact { min-height:470px; }
  .ebe-contact > div { width:calc(100% - 1.25rem); }
  .ebe-contact h2 { font-size:clamp(2.35rem,12vw,3rem); }

  .ebe-page-hero,.ebe-page-hero-copy { min-height:570px; }
  .ebe-page-hero-copy { padding-top:8.5rem; padding-bottom:3.5rem; }
  .ebe-page-hero-copy h1,.ebe-project-detail-copy h1 { font-size:clamp(2.65rem,13vw,3.35rem); }
  .ebe-quote { padding-inline:.75rem; }
  .ebe-quote p { font-size:clamp(2.05rem,10.5vw,2.65rem); }
  .ebe-value-grid article { min-height:auto; padding:2rem 1.25rem; }
  .ebe-gallery-item,.ebe-gallery-item.wide { height:clamp(390px,125vw,490px); min-height:0; }
  .ebe-gallery-item > div { right:1.15rem; bottom:1.2rem; left:1.15rem; }
  .ebe-gallery-item h3 { font-size:clamp(1.75rem,9vw,2.25rem); }
  .ebe-process-list article { grid-template-columns:52px 1fr; gap:1rem; padding:2.25rem 0; }
  .ebe-process-list article > span { width:48px; height:48px; }
  .ebe-process-list article h2 { font-size:clamp(1.9rem,9.5vw,2.4rem); }
  .ebe-enquiry-card { padding:2.25rem 1rem; }
  .ebe-footer-grid { grid-template-columns:1fr; gap:2.25rem; }
  .ebe-footer-grid > div:first-child { grid-column:auto; }
  .ebe-project-detail-hero { min-height:620px; }
  .ebe-project-detail-copy { min-height:500px; padding-top:8.5rem; padding-bottom:3.5rem; }
  .ebe-project-back { width:auto; max-width:100%; margin-bottom:2rem; }
  .ebe-lightbox { padding:4.25rem .65rem max(4.25rem,env(safe-area-inset-bottom)); }
}

/* Keep the full-screen menu usable on compact landscape and short browser viewports. */
@media (max-width:1100px) and (max-height:720px) {
  .ebe-header nav { justify-content:flex-start; padding-top:5.5rem; overflow-y:auto; }
  .ebe-header nav a { font-size:clamp(1.4rem,5.5vh,2rem); }
}
