@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-ccce59465a.woff2) format('woff2');
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-a8eefb873b.woff2) format('woff2');
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-7022da390e.woff2) format('woff2');
}
@font-face{font-family:Matter;font-weight:400;src:local('Matter Regular'),local('Matter-Regular'),local('Matter')}
@font-face{font-family:Matter;font-weight:500;src:local('Matter Medium'),local('Matter-Medium')}
@font-face{font-family:'Geist Fallback';src:local('Arial');size-adjust:104%;ascent-override:96.6%;descent-override:28.4%;line-gap-override:0%}
/* Layout only. Colours and type inherit Elementor Site Settings globals. */
:root{--gutter:clamp(24px,4vw,56px)}
.elementor .bassey-privacy-link a{display:inline-flex;align-items:center;min-height:28px;font-size:12px;line-height:1.5;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;-webkit-font-smoothing:antialiased}
.elementor{--ink:var(--e-global-color-primary);--accent:var(--e-global-color-secondary);--muted:var(--e-global-color-text);--blue:var(--e-global-color-accent);--wash:var(--e-global-color-wash);--line:var(--e-global-color-line);--paper:var(--e-global-color-paper)}
.elementor .native-node{display:block;min-width:0;gap:0;padding:0}.elementor .elementor-widget{min-width:0;margin-bottom:0}.elementor p{margin:0}.elementor .native-text{color:var(--muted)}.elementor .native-heading .elementor-heading-title{color:var(--ink)}.elementor .elementor-heading-title{padding:0;margin:0}.elementor a{text-decoration:none}.elementor .wrap{max-width:1440px;margin-inline:auto;width:100%;padding-inline:var(--gutter)}.elementor .section{padding-block:88px}
.elementor .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:24px;color:var(--ink);font:500 12px/1.5 'Geist Mono',monospace;letter-spacing:.09em;text-transform:uppercase}.elementor .eyebrow:before{content:'';width:6px;height:6px;flex:none;background:var(--blue)}.elementor .mono{font:400 11px/1.5 'Geist Mono',monospace;letter-spacing:.04em}.elementor .native-button{width:auto}.elementor .secondary .elementor-button{background:transparent;color:var(--ink);border:1px solid var(--line)}.elementor .secondary .elementor-button:hover{background:var(--wash)}.elementor .native-link .elementor-button{background:none;color:var(--ink);border:0;padding:0;border-radius:0}.elementor .actions{display:flex;gap:12px;flex-wrap:wrap}.elementor a:focus-visible,.elementor button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.elementor .site-header{height:88px;position:sticky;top:0;z-index:100;background:var(--paper)}.admin-bar .elementor .site-header{top:32px}.elementor .header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;gap:20px}.elementor .brand{display:flex;align-items:center;gap:11px;width:auto}.elementor .brand-mark{border:1px solid var(--ink);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;flex:none}.elementor .brand-mark .elementor-heading-title{font-size:25px;line-height:1}.elementor .brand-title .elementor-heading-title{font-size:21px;line-height:1.2;letter-spacing:-.04em}.elementor .brand-subtitle .elementor-heading-title{font-size:9px;letter-spacing:.14em;line-height:1.9}.elementor .nav{display:flex;flex-direction:row;align-items:center;width:auto;background:var(--wash);border-radius:99px;padding:5px}.elementor .nav .elementor-button{padding:9px 15px;font-size:14px;font-weight:500}.elementor .menu-toggle,.elementor .mobile-cta{display:none}
.elementor .hero{padding-top:36px;padding-bottom:0}.elementor .hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:stretch}.elementor .hero-copy{display:flex;flex-direction:column;align-items:start}.elementor .hero-portrait{border-radius:22px;overflow:hidden;position:relative;min-height:640px;background:var(--wash)}.elementor .hero-portrait>.native-image{position:absolute;inset:0;height:100%;width:100%}.elementor .hero-portrait .elementor-widget-container{height:100%}.elementor .hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.elementor .hero-portrait>.image-caption{position:absolute;bottom:0;left:0;right:0;padding:28px 24px;color:white;background:linear-gradient(transparent,#071a3166);font:11px 'Geist Mono',monospace}.elementor .hero-portrait .image-caption p{display:flex;justify-content:space-between}.elementor .availability{display:inline-block;width:auto;border:1px solid var(--line);border-radius:99px;padding:7px 12px;background:var(--wash);font-size:12px;color:var(--ink);margin-bottom:24px}.elementor .availability p:before{content:'●';color:var(--accent);font-size:8px;margin-right:8px}.elementor .hero h1 em{font-style:normal;color:var(--accent)}.elementor .hero-platforms{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;margin-bottom:24px}.elementor .hero-platforms>.native-text{width:auto;background:var(--e-global-color-pale);border:1px solid var(--line);border-radius:99px;padding:7px 14px;font-size:14px;font-weight:600;color:var(--ink)}.elementor .hero-summary{width:100%;margin-top:auto;display:flex;flex-direction:column;gap:22px;padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--wash)}.elementor .hero-summary>.native-text{font-size:18px;line-height:1.6;color:var(--ink)}.elementor .hero-summary>.hero-experience{font-size:14px;line-height:1.6;color:var(--muted)}
.elementor .section-top{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:48px}.elementor .section-top>.native-node{max-width:740px}.elementor .section-top>.native-text{max-width:360px;font-size:15px}.elementor .work-grid{display:grid;gap:28px}.elementor .work-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:20px;background:white}.elementor .project-copy{padding:12px 8px}.elementor .project-meta{display:flex;align-items:center;gap:18px;margin-bottom:22px}.elementor .tag{width:auto;border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:11px}.elementor .project-meta .mono{font-size:10px;width:auto}.elementor .work-card h3{font-size:32px}.elementor .project-description{margin-top:24px;font-size:16px;line-height:1.6}.elementor .project-visit{margin-top:28px}.elementor .project-image{overflow:hidden;border-radius:12px;min-height:0;background:var(--e-global-color-pale)}.elementor .project-image img{display:block;width:100%;height:auto}.elementor .project-image:not(:has(img)){min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.elementor .project-image:not(:has(img)) .native-text{width:auto}
.elementor .reviews{border-top:1px solid var(--line)}.elementor .reviews-lede{margin:22px 0 32px}.elementor .review-screenshots{display:grid;grid-template-columns:1fr 1fr;gap:20px;grid-auto-rows:1fr;margin-top:32px}.elementor .review-shot{padding:20px;border:1px solid var(--line);border-radius:16px;background:white;display:flex;align-items:center;height:100%}.elementor .review-shot img{display:block;width:100%;height:auto;filter:brightness(1.08)}.elementor .review-link,.elementor .client-reviews>.native-button{margin-top:32px;width:100%;text-align:center}.elementor .client-reviews>.native-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;line-height:1.4}
.elementor .service-grid{display:block}.elementor .service{display:grid;grid-template-columns:100px .9fr 1.3fr;gap:30px;padding:36px 0;border-top:1px solid var(--line)}.elementor .service-number{font:12px 'Geist Mono',monospace;color:var(--accent)}.elementor .service h3{font-size:30px}.elementor .service>.native-text:not(.service-number){grid-column:3;grid-row:1;font-size:16px}.elementor .service>.native-node:last-child{grid-column:3;display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:8px}.elementor .service .native-list-item{font-size:12px;width:auto;color:var(--muted)}.elementor .service .native-list-item p:before{content:'+';color:var(--accent);margin-right:8px}
.elementor .process-record{padding:26px;border:1px solid var(--line);border-radius:16px;margin-top:36px}.elementor .record-bar{display:flex;justify-content:space-between;gap:12px;padding-bottom:24px;border-bottom:1px solid var(--line)}.elementor .chip{width:auto;border-radius:99px;padding:4px 10px;background:var(--e-global-color-pale);font-size:11px;color:var(--accent)}.elementor .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding-top:30px}.elementor .steps .native-list-item{position:relative}.elementor .step-dot{width:26px;height:26px;border-radius:50%;background:var(--e-global-color-pale);display:grid;place-items:center;font:10px 'Geist Mono',monospace;color:var(--accent)}.elementor .steps h3{font-size:20px;margin:20px 0 10px}.elementor .steps .native-text{font-size:13px}.elementor .steps .mono{margin-top:18px;font-size:10px}.elementor .project-breakdown{margin-top:64px}.elementor .breakdown-heading{display:flex;gap:40px;justify-content:space-between;align-items:end;margin-bottom:36px}.elementor .breakdown-heading>.native-text{max-width:560px}.elementor .breakdown-heading h3{font-size:36px}.elementor .project-slide{display:none;grid-template-columns:1.35fr 1fr;gap:40px;align-items:center}.elementor .project-slide.is-active{display:grid}.elementor .slideshow-screen{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--e-global-color-pale);aspect-ratio:auto;display:block}.elementor .slideshow-screen .native-image{width:100%;height:auto;line-height:0}.elementor .slideshow-screen .elementor-widget-container{height:auto}.elementor .slideshow-screen img{display:block;width:100%;height:auto}.elementor .image-caption{font:10px 'Geist Mono',monospace;margin-top:14px}.elementor .slide-copy h4{font-size:34px;margin:20px 0}.elementor .slide-copy>.native-text{margin-bottom:26px}.elementor .slide-placeholder{padding:32px;text-align:center}.elementor .slide-placeholder .native-strong{font-size:44px;color:var(--ink);margin:24px 0}.elementor .slideshow-controls{display:flex;gap:16px;align-items:center;margin-top:28px}.elementor .slide-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;flex:1}.elementor .slide-tabs>.native-link{width:auto}.elementor .slide-tabs .elementor-button{border:1px solid var(--line);padding:12px 18px;border-radius:99px}.elementor .slide-choice.is-active .elementor-button{background:var(--ink);color:white}.elementor .slide-arrow{width:44px;flex:none}.elementor .slide-arrow .elementor-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:22px}
.elementor .metric,.elementor .contact{margin-inline:12px;width:calc(100% - 24px);border-radius:26px}.elementor .metric{background:var(--ink);color:white}.elementor .metric .native-heading .elementor-heading-title,.elementor .metric .native-text{color:white}.elementor .metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.elementor .metric p{opacity:.85}.elementor .metric .note{margin-top:24px}.elementor .performance-copy{display:flex;flex-direction:column;gap:24px}.elementor .metric .native-link .elementor-button{color:white}.elementor .metric h3{font-size:32px}.elementor .about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:13%;align-items:center}.elementor .about-card{padding:34px;border:1px solid var(--line);border-radius:20px;background:var(--wash)}.elementor .about-stat{display:flex;align-items:center;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.elementor .about-stat .native-strong{font-size:60px;line-height:1;width:auto;letter-spacing:-.05em;color:var(--ink)}.elementor .about-stat .native-text:not(.native-strong){font-size:13px}.elementor .about-location{margin-top:24px;font-size:14px}.elementor .about-copy>.native-text{margin-top:24px}.elementor .signature{font-size:13px}
.elementor .faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;border-top:1px solid var(--line);align-items:start}.elementor .faq-heading>.native-text:last-child{margin-top:24px;max-width:360px}.elementor .native-faq .elementor-accordion-item{border:0;border-top:1px solid var(--line)}.elementor .native-faq .elementor-accordion-item:last-child{border-bottom:1px solid var(--line)}.elementor .native-faq .elementor-tab-title{padding:24px 40px 24px 0;position:relative;font-family:inherit;font-size:18px;line-height:1.5;color:var(--ink)}.elementor .native-faq .elementor-tab-title:after{content:'+';position:absolute;right:0;top:24px;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;text-align:center;line-height:26px;font-weight:400}.elementor .native-faq .elementor-tab-title.elementor-active:after{content:'−'}.elementor .native-faq .elementor-tab-content{padding:0 32px 24px 0;border:0;font-family:inherit;line-height:1.7;color:var(--muted)}
.elementor .contact{background:var(--e-global-color-pale)}.elementor .contact-inner{max-width:740px;text-align:center;margin:auto}.elementor .contact .eyebrow{justify-content:center}.elementor .contact-inner>.native-text:not(.eyebrow){max-width:460px;margin:24px auto 28px}.elementor .contact .reassurance{font-size:12px}.elementor .contact-details{border-top:1px solid var(--line);padding-top:24px;font-size:13px}.elementor .site-footer{padding-block:40px 24px}.elementor .footer-main,.elementor .footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center}.elementor .footer-links{display:flex;flex-wrap:wrap;gap:24px}.elementor .footer-links .elementor-button,.elementor .footer-bottom .elementor-button{font-size:12px}.elementor .footer-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.elementor .footer-bottom>.native-text{font:10px 'Geist Mono',monospace;width:auto}
@media(max-width:1024px){.elementor .hero-grid{grid-template-columns:.8fr 1.2fr;gap:24px}.elementor .hero-summary{padding:24px}.elementor .hero-summary>.native-text{font-size:16px}.elementor .hero-summary>.hero-experience{font-size:13px}.elementor .service{grid-template-columns:80px .9fr 1.2fr;gap:24px}.elementor .hero-portrait{min-height:600px}.elementor .nav .elementor-button{padding:9px 10px}.elementor .work-card{gap:24px}.elementor .about-grid{gap:8%}}
@media(max-width:767px){.elementor .section{padding-block:64px}.elementor .site-header{height:76px}.elementor .header-cta{display:none}.elementor .menu-toggle{display:block;width:auto}.elementor .menu-toggle .elementor-button{border:1px solid var(--line);padding:10px 16px;border-radius:99px;font-size:13px}.elementor .nav{position:absolute;top:68px;left:24px;right:24px;display:none;flex-direction:column;align-items:stretch;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:16px}.elementor .nav.open{display:flex}.elementor .nav .elementor-button{display:block;padding:12px 16px;text-align:left}.elementor .nav .mobile-cta{display:block}.elementor .hero-grid{grid-template-columns:1fr;gap:28px}.elementor .hero-portrait{min-height:0;aspect-ratio:4/5}.elementor .hero-summary{padding:24px;gap:20px}.elementor .hero-copy{display:flex}.elementor .hero-platforms{gap:8px}.elementor .hero-platforms>.native-text{font-size:12px;padding:7px 12px}.elementor .section-top,.elementor .breakdown-heading{display:block}.elementor .section-top>.native-text,.elementor .breakdown-heading>.native-text{margin-top:24px;max-width:none}.elementor .work-card{grid-template-columns:1fr;padding:18px;gap:24px}.elementor .project-copy{padding:8px 4px}.elementor .work-card h3{font-size:28px}.elementor .project-description{font-size:15px;margin-top:18px}.elementor .review-screenshots{grid-template-columns:1fr;gap:16px}.elementor .review-shot{padding:16px}.elementor .service{grid-template-columns:1fr;gap:18px}.elementor .service>.native-text:not(.service-number),.elementor .service>.native-node:last-child{grid-column:auto;grid-row:auto}.elementor .service h3{font-size:28px}.elementor .steps{grid-template-columns:1fr;gap:28px}.elementor .steps .native-list-item{padding-left:40px}.elementor .steps .step-dot{position:absolute;left:0;top:0}.elementor .steps h3{margin-top:0}.elementor .project-slide.is-active{grid-template-columns:1fr;gap:24px}.elementor .slide-copy h4{font-size:28px}.elementor .slide-tabs{gap:6px}.elementor .slide-tabs .elementor-button{font-size:11px;padding:9px 10px}.elementor .slideshow-controls{gap:8px}.elementor .metric-grid,.elementor .about-grid,.elementor .faq{grid-template-columns:1fr;gap:36px}.elementor .metric-grid{gap:40px}.elementor .metric h2{font-size:36px}.elementor .about-card{padding:28px}.elementor .native-faq .elementor-tab-title{font-size:16px}.elementor .contact h2{font-size:36px}.elementor .footer-main,.elementor .footer-bottom{flex-direction:column;align-items:start}.elementor .footer-links{gap:16px}.elementor .header-inner{gap:12px}.admin-bar .elementor .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Explicit row direction overrides Elementor's container column default. */
.elementor .header-inner,.elementor .brand,.elementor .actions,.elementor .hero-platforms,.elementor .section-top,.elementor .project-meta,.elementor .record-bar,.elementor .breakdown-heading,.elementor .slideshow-controls,.elementor .slide-tabs,.elementor .about-stat,.elementor .footer-main,.elementor .footer-links,.elementor .footer-bottom{flex-direction:row}
.elementor .header-inner>.native-node,.elementor .header-inner>.elementor-widget{flex-shrink:0;width:auto}.elementor .hero-platforms>.elementor-widget{flex:0 0 auto;width:auto;align-self:auto}.elementor .actions>.elementor-widget{width:auto;flex:0 0 auto}.elementor .project-meta p{display:flex;align-items:center;gap:18px}.elementor .about-stat p{display:flex;gap:22px;align-items:center}.elementor .about-stat strong{font-size:60px;font-weight:500;line-height:1;color:var(--ink)}.elementor .about-stat span{font-size:13px}.elementor .record-bar p{display:flex;justify-content:space-between;width:100%}.elementor .record-bar>.elementor-widget-container{width:100%}
@media(max-width:767px){.elementor .footer-main,.elementor .footer-bottom{flex-direction:column}.elementor .header-inner>.nav{width:auto}.elementor .hero-platforms{flex-direction:row}}
html{scroll-behavior:auto}
.elementor .native-heading em{font-style:normal;color:var(--accent)}
.elementor .hero-copy>.availability{margin-bottom:24px}.elementor .project-copy>.project-meta{margin-bottom:22px}.elementor .eyebrow.elementor-widget{margin-bottom:24px}.elementor .reviews>.native-text:not(.eyebrow){margin-top:24px}
.elementor .review-shot{flex-direction:row;justify-content:center}.elementor .service>.native-node:last-child{flex-direction:row}.elementor .contact-details .elementor-button{font-size:13px}.elementor .footer-links>.elementor-widget{width:auto;flex:none}
.elementor .brand{flex-wrap:nowrap}.elementor .brand-name{width:auto;flex:0 0 auto}.elementor .header-inner{flex-wrap:nowrap}
.elementor .service>.native-node:last-child>.native-text{font-size:12px;width:auto}.elementor .service>.native-node:last-child>.native-text p:before{content:'+';color:var(--accent);margin-right:8px}
@media(max-width:767px){.elementor .brand{gap:9px}.elementor .brand-mark{width:32px;height:32px}.elementor .brand-mark .elementor-heading-title{font-size:21px}.elementor .brand-title .elementor-heading-title{font-size:19px}.elementor .brand-subtitle .elementor-heading-title{font-size:8px}.elementor .header-inner>.brand{max-width:calc(100% - 78px)}.elementor .brand-name{min-width:0}}
.elementor .about-facts{padding:34px;border:1px solid var(--line);border-radius:20px;background:var(--wash)}.elementor .about-facts>.native-text:has(strong){padding:24px 0;border-bottom:1px solid var(--line)}.elementor .about-facts>.native-text:has(strong) p{display:flex;gap:22px;align-items:center}.elementor .about-facts strong{font-size:60px;font-weight:500;line-height:1;color:var(--ink)}.elementor .about-facts span{font-size:13px}.elementor .about-facts>.native-text:last-child{margin-top:24px;font-size:14px}

/* Editorial typography: natural line masks are temporary, then removed. */
.elementor .type-mask{display:inline-block;overflow:clip;vertical-align:top;padding-block:.12em;margin-block:-.12em}
.elementor .type-ink{display:block}
.elementor .elementor-button{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,transform 140ms cubic-bezier(.22,1,.36,1)}
.elementor .elementor-button:focus-visible{transition:none}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .elementor .native-button .elementor-button:active:not(:focus-visible){transform:scale(.985)}
}
/* Overlap native slides in one grid track to keep controls and following content still. */
.elementor .motion-carousel{display:grid}
.elementor .motion-carousel>.breakdown-heading{grid-area:1 / 1}
.elementor .motion-carousel>.project-slide{grid-area:2 / 1;display:grid;align-self:start;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 160ms ease,visibility 0s linear 260ms}
.elementor .motion-carousel>.project-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 260ms ease,visibility 0s}
.elementor .motion-carousel .slide-copy{transform:translateX(8px);transition:transform 260ms cubic-bezier(.22,1,.36,1)}
.elementor .motion-carousel>.project-slide.is-active .slide-copy{transform:translateX(0)}
.elementor .motion-carousel>.slideshow-controls{grid-area:3 / 1}
.elementor .motion-carousel[data-transition="off"]>.project-slide,
.elementor .motion-carousel[data-transition="off"] .slide-copy{transition:none}
@media(max-width:767px){.elementor .motion-carousel>.project-slide{grid-template-columns:1fr;gap:24px}}
@media(prefers-reduced-motion:reduce){
 .elementor .elementor-button,.elementor .motion-carousel>.project-slide,.elementor .motion-carousel .slide-copy{transition:none;transform:none}
}

/* Image widgets carry their own frames; avoid one-child containers. */
.elementor .slideshow-screen.native-image { width:100%; height:auto; line-height:0; }
.elementor .review-shot.elementor-widget-image > .elementor-widget-container { width:100%; }
.elementor .contact { padding-inline:var(--gutter); }

.elementor .metric .secondary .elementor-button { color:#fff; border-color:#ffffff80; }
.elementor .metric .secondary .elementor-button:hover { background:#ffffff14; }

/* Footer groups size to their content rather than consuming the entire row. */
.elementor .site-footer{padding-block:48px 28px}
.elementor .footer-main{gap:36px;flex-wrap:wrap}
.elementor .footer-main>.brand{width:auto;flex:0 0 auto}
.elementor .footer-links{width:auto;flex:0 0 auto;margin-inline-start:auto;align-items:center;gap:32px}
.elementor .footer-links .elementor-button{font-size:14px;line-height:1.5;padding-block:10px}
.elementor .footer-bottom{gap:24px;flex-wrap:wrap}
@media(max-width:767px){
 .elementor .footer-main{gap:24px;align-items:flex-start}
 .elementor .footer-links{margin-inline-start:0;gap:8px 24px;width:100%;justify-content:flex-start}
 .elementor .footer-bottom{gap:16px;margin-top:24px;padding-top:24px}
}

/* Native, readable testimonials on the main portfolio. */
.elementor .testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;grid-auto-rows:auto;margin-top:36px}
.elementor .testimonial-card{display:flex;flex-direction:column;gap:24px;height:100%;margin:0;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}
.elementor .testimonial-rating{font-size:13px;color:var(--ink)}
.elementor .testimonial-rating p{display:flex;align-items:center;gap:6px}
.elementor .testimonial-rating .review-star{color:#B75811;font-size:19px;line-height:1}
.elementor .testimonial-rating strong{font-weight:600}
.elementor .testimonial-rating .review-source{margin-left:auto;color:var(--muted);font-size:12px}
.elementor .testimonial-quote{color:var(--ink);font-size:15px;line-height:1.65}
.elementor .testimonial-quote blockquote{margin:0;padding:0;border:0;font:inherit;color:inherit}
.elementor .testimonial-quote blockquote p+p{margin-top:14px}
.elementor .testimonial-credit{margin-top:auto;padding-top:24px;border-top:1px solid var(--line)}
.elementor .testimonial-credit .review-project{font-size:14px;font-weight:500;line-height:1.5;color:var(--ink)}
.elementor .testimonial-credit .review-date{margin-top:8px;font-size:11px;line-height:1.6;color:var(--muted)}
.elementor .client-reviews .reviews-intro{margin-top:20px;max-width:740px}
/* A compact vector monogram replaces the original letter-in-a-circle mark. */
.elementor .sb-logo{border:0;border-radius:0;width:44px;height:38px;display:flex;align-items:center;flex:0 0 44px}
.elementor .sb-logo a{display:block;line-height:0}
.elementor .sb-logo img{display:block;width:44px;height:36px;object-fit:contain}
@media(max-width:1024px){.elementor .testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.elementor .testimonial-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:16px;margin-top:28px}.elementor .testimonial-card{padding:24px;gap:22px;min-height:280px}.elementor .sb-logo{width:38px;height:32px;flex-basis:38px}.elementor .sb-logo img{width:38px;height:31px}}

/* Shared project categories wrap without adding nested containers. */
.elementor .project-meta p{flex-wrap:wrap;column-gap:10px;row-gap:8px}
.elementor .project-meta .tag{line-height:1.5;padding:4px 10px}
.elementor .maintenance-work{padding-top:24px}
.elementor .maintenance-work .section-top{margin-top:72px}

/* Keyboard-only helpers remain available without adding visible layout. */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.bassey-skip-link:focus{position:fixed!important;top:12px;left:12px;width:auto!important;height:auto!important;margin:0!important;padding:14px 20px!important;clip:auto!important;overflow:visible!important;background:#071a31;color:#fff;z-index:10000;border-radius:8px;outline:3px solid #81b7ff;outline-offset:3px}
.elementor .native-faq summary{list-style:none;cursor:pointer}
.elementor .bassey-native-accordion summary>.elementor-accordion-title{margin:0;padding:0;font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
.elementor .native-faq summary::-webkit-details-marker{display:none}
.elementor .native-faq details[open]>.elementor-tab-title:after{content:'−'}
.elementor .native-faq details:not([open])>.elementor-tab-content{display:none}
.elementor .native-faq details[open]>.elementor-tab-content{display:block}
.elementor .native-faq summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:767px){.elementor .slide-tabs .elementor-button,.elementor .menu-toggle .elementor-button,.elementor .nav .elementor-button,.elementor .footer-links .elementor-button{min-height:44px;display:flex;align-items:center;justify-content:center}.elementor .nav .elementor-button{justify-content:flex-start}}

/* Native Elementor service-area disclosure; no additional menu runtime. */
.elementor .nav-area-group{position:relative;display:block;width:auto;flex:0 0 auto;overflow:visible}
.elementor .nav-area-toggle .elementor-button{display:flex;align-items:center;gap:8px;white-space:nowrap}
.elementor .nav-area-toggle .elementor-button-text{display:flex;align-items:center;gap:8px}
.elementor .nav-area-toggle .elementor-button-text:after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.elementor .nav-area-group.is-open .nav-area-toggle .elementor-button-text:after{transform:translateY(2px) rotate(225deg)}
.elementor .nav-area-group.has-current>.nav-area-toggle .elementor-button{color:var(--accent)}
.elementor .nav-area-panel{position:absolute;top:calc(100% + 8px);left:0;width:240px;max-width:calc(100vw - 48px);display:none;flex-direction:column;gap:2px;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px rgb(7 26 49 / .08);z-index:101}
.elementor .nav-area-group.is-open>.nav-area-panel{display:flex}
.elementor .nav-area-group:not(.nav-enhanced):is(:hover,:focus-within)>.nav-area-panel{display:flex}
.elementor .nav-area-panel[hidden]{display:none!important}
.elementor .agency-client-section>.native-heading{max-width:28ch;margin:22px 0}
.elementor .agency-client-section h2{font-size:clamp(32px,3.5vw,48px);line-height:1.15;letter-spacing:-.045em}
.elementor .agency-intro{max-width:68ch;color:var(--muted);font-size:17px;line-height:1.7}
.elementor .agency-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.elementor .agency-client-card{min-width:0;padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.elementor .agency-client-card .project-meta{margin-bottom:24px}
.elementor .agency-client-card h3{font-size:28px;line-height:1.25;letter-spacing:-.03em}
.elementor .agency-client-card .project-description{margin:18px 0 24px;font-size:16px;line-height:1.7;color:var(--muted)}
.elementor .agency-client-card .elementor-button{width:fit-content}
@media(max-width:767px){.elementor .agency-client-grid{grid-template-columns:1fr;gap:18px}.elementor .agency-client-card{padding:24px}.elementor .agency-client-section h2{font-size:34px}}
.elementor .nav-area-panel .elementor-button{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px;line-height:1.35;text-align:left}
.elementor .nav-area-panel .elementor-button:is(:hover,:focus-visible,[aria-current="page"]){background:var(--wash);color:var(--accent)}
.elementor .nav-area-panel>.nav-area-link:first-child{margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--line)}
@media(max-width:1024px){
 .elementor .site-header:has(.nav-area-group){height:76px}
 .elementor .header-inner:has(.nav-area-group)>.header-cta{display:none}
 .elementor .header-inner:has(.nav-area-group)>.menu-toggle{display:block;width:auto}
 .elementor .header-inner:has(.nav-area-group)>.menu-toggle .elementor-button{border:1px solid var(--line);padding:10px 16px;border-radius:99px;font-size:13px;min-height:44px}
 .elementor .header-inner:has(.nav-area-group)>.nav{position:absolute;top:68px;left:24px;right:24px;width:auto;display:none;flex-direction:column;align-items:stretch;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:16px;max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}
 .elementor .header-inner:has(.nav-area-group)>.nav.open{display:flex}
 .elementor .header-inner:has(.nav-area-group)>.nav .elementor-button{display:flex;align-items:center;justify-content:flex-start;min-height:44px;padding:12px 16px;text-align:left}
 .elementor .header-inner:has(.nav-area-group)>.nav .mobile-cta{display:block}
 .elementor .nav-area-group{width:100%;flex:none}
 .elementor .nav-area-panel{position:static;width:auto;max-width:none;gap:2px;margin:0 12px 8px;padding:4px 0 4px 12px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
 .elementor .header-inner:has(.nav-area-group)>.nav .nav-area-panel .elementor-button{padding:10px 12px}
}
