:root { --color-bg:#080808; --color-bg-secondary:#101010; --color-card:#181818; --color-text:#fff; --color-text-muted:#aaa; --color-accent:#e52b72; --color-border:#292929; --color-footer:#0d0d0d; --container-width:1180px; --border-radius:10px; }
* ,*::before,*::after { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; overflow-x:hidden; background:var(--color-bg); color:var(--color-text); font-family:Inter,Arial,Helvetica,sans-serif; line-height:1.6; } img { max-width:100%; height:auto; } a { color:inherit; text-decoration:none; } button { font:inherit; } .container { width:min(100% - 3.75rem,var(--container-width)); margin-inline:auto; } .screen-reader-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { background:var(--color-footer); border-bottom:1px solid rgba(255,255,255,.06); } .site-nav { display:flex; align-items:center; justify-content:space-between; min-height:7rem; gap:1rem; padding-block:.55rem; } .site-logo { font-size:1.12rem; font-weight:700; letter-spacing:-.055em; } .nav-links,.site-footer ul { padding:0; margin:0; list-style:none; } .nav-links { display:flex; align-items:center; gap:2.25rem; } .nav-links a { color:#aaa; font-size:.95rem; font-weight:500; } .nav-links a.active,.nav-links a:hover { color:var(--color-text); } .menu-toggle { display:none; color:var(--color-text); background:transparent; border:1px solid var(--color-border); border-radius:6px; padding:.5rem .75rem; }
.section-label { margin:0 0 1rem; color:#969696; font-size:.76rem; font-weight:700; letter-spacing:.15em; line-height:1.2; text-transform:uppercase; }
.home-hero { padding:1.25rem 0 0; } .hero-layout { position:relative; display:grid; grid-template-columns:53% 47%; min-height:31rem; align-items:center; } .hero-content { position:relative; z-index:2; padding:2rem 0 4.5rem; } .hero-eyebrow { margin-bottom:1.45rem; color:var(--color-accent); } .hero-eyebrow span { padding-inline:.2rem; } .hero-content h1 { max-width:680px; margin:0; font-size:clamp(2.65rem,4.3vw,3.75rem); font-weight:700; letter-spacing:-.055em; line-height:1.13; } .hero-content h1 span { display:block; } .hero-intro { max-width:630px; margin:1.25rem 0 2rem; color:#bababa; font-size:1rem; line-height:1.75; } .button { display:inline-flex; align-items:center; justify-content:center; min-height:3rem; padding:.75rem 1.5rem; border:1px solid transparent; border-radius:7px; font-weight:700; transition:background-color .2s ease,border-color .2s ease,color .2s ease; } .button-primary { background:var(--color-accent); color:white; } .button-primary:hover { background:#c91f5e; } .hero-portrait-wrap { position:absolute; z-index:1; right:-1.3rem; bottom:0; width:52%; height:100%; overflow:hidden; } .hero-glow { position:absolute; z-index:-1; right:0; bottom:-15%; width:105%; aspect-ratio:1; background:radial-gradient(circle,rgba(229,43,114,.22),transparent 66%); } .hero-portrait { display:block; width:100%; height:100%; object-fit:cover; object-position:center 18%; filter:brightness(.91) contrast(1.04); mask-image:linear-gradient(to bottom,#000 86%,transparent 100%); }
.section-divider { height:1px; margin:0; border:0; background:var(--color-border); } .section-space { padding:2.25rem 0 2.75rem; } .logo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; } .logo-card { display:flex; align-items:center; justify-content:center; height:5.8rem; padding:.65rem; overflow:hidden; background:var(--color-card); border-radius:9px; } .logo-card img { max-width:92%; max-height:4.35rem; object-fit:contain; }
.service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; } .service-card { min-height:10rem; padding:1.65rem; background:var(--color-card); border-radius:var(--border-radius); } .service-card i { color:var(--color-accent); font-size:1.75rem; } .service-card h3 { margin:1rem 0 .25rem; font-size:1.04rem; letter-spacing:-.035em; } .service-card p { margin:0; color:var(--color-text-muted); font-size:.88rem; } .home-cta { position:relative; margin-top:2.5rem; padding:2rem 1rem 2.15rem; overflow:visible; background:var(--color-card); border-radius:var(--border-radius); text-align:center; } .home-cta h2 { margin:0; font-size:1.25rem; letter-spacing:-.04em; } .home-cta p { margin:.25rem 0 1.25rem; color:var(--color-text-muted); font-size:.92rem; } .button-outline { min-height:2.85rem; border-color:var(--color-accent); background:transparent; } .button-outline:hover { background:var(--color-accent); } .cta-arrow { position:absolute; left:50%; bottom:-1.25rem; display:grid; width:2.5rem; height:2.5rem; transform:translateX(-50%); place-items:center; background:#1b1b1b; border:1px solid #3c3c3c; border-radius:50%; color:#ddd; }
.site-footer { margin-top:3.75rem; padding-top:2.2rem; background:var(--color-footer); border-top:1px solid var(--color-border); color:var(--color-text-muted); } .footer-grid { display:grid; grid-template-columns:1.35fr .8fr 1.2fr 1.1fr; gap:2rem; padding-bottom:2.5rem; } .footer-logo { display:block; width:145px; max-height:52px; margin-bottom:1rem; object-fit:contain; object-position:left center; } .footer-brand p { max-width:210px; margin:0; font-size:.8rem; line-height:1.7; } .site-footer h2 { margin:0 0 .8rem; color:#bbb; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; } .site-footer li { font-size:.82rem; line-height:1.45; } .site-footer li+li { margin-top:.55rem; } .site-footer a:hover { color:var(--color-accent); } .footer-contact li { display:flex; align-items:flex-start; gap:.55rem; } .footer-contact li i { width:.8rem; padding-top:.18rem; color:var(--color-accent); } .follow-heading { margin-top:1.45rem!important; } .social-links { display:flex; flex-wrap:wrap; gap:1rem; } .social-links li+li { margin:0; } .social-links a { color:var(--color-accent); font-size:1.18rem; } .footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding-block:1rem; border-top:1px solid var(--color-border); font-size:.75rem; } .footer-bottom p { margin:0; } .footer-bottom a { color:var(--color-accent); }
/* ABOUT HERO */
.about-hero { padding:1.6rem 0 2.7rem; }
.about-hero-layout { display:grid; grid-template-columns:40% 60%; align-items:center; min-height:28.5rem; }
.about-portrait-wrap { position:relative; align-self:stretch; min-height:28.5rem; overflow:hidden; }
.about-portrait-glow { position:absolute; z-index:-1; left:-18%; top:12%; width:115%; aspect-ratio:1; background:radial-gradient(circle at 45% 52%,rgba(229,43,114,.30),rgba(229,43,114,.10) 35%,transparent 67%); }
.about-portrait-wrap::after { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,transparent 54%,var(--color-bg) 100%),linear-gradient(0deg,var(--color-bg) 0%,transparent 22%); }
.about-portrait { display:block; width:100%; height:100%; object-fit:cover; object-position:center 15%; filter:brightness(.92) contrast(1.04); mask-image:linear-gradient(to bottom,#000 88%,transparent 100%); }
.about-intro { padding:2rem 0 1.5rem 1.5rem; }
.about-eyebrow { color:var(--color-accent); }
.about-intro h1 { max-width:650px; margin:0; font-size:clamp(2.35rem,3.5vw,3rem); letter-spacing:-.055em; line-height:1.18; }
.about-intro > p:not(.section-label) { max-width:640px; margin:1.45rem 0 1.7rem; color:#bababa; font-size:1rem; line-height:1.85; }
/* CERTIFICATION */
.certification-card { display:flex; align-items:center; gap:1rem; max-width:555px; min-height:4.1rem; padding:1rem 1.2rem; background:var(--color-card); border:1px solid #202020; border-radius:var(--border-radius); color:#c5c5c5; font-size:.9rem; }
.certification-card i { color:#eabf35; font-size:1.5rem; }
/* PARTNER BENEFITS */
.partner-section h2 { margin:0 0 1.75rem; font-size:clamp(1.65rem,2.6vw,2.1rem); letter-spacing:-.05em; }
.benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4rem; max-width:1050px; }
.benefit-grid ul { display:grid; gap:1.25rem; padding:0; margin:0; list-style:none; }
.benefit-grid li { display:flex; align-items:flex-start; gap:1rem; color:#c3c3c3; font-size:.96rem; }
.benefit-grid i { margin-top:.35rem; color:var(--color-accent); font-size:.85rem; }
/* WORKED WITH */
.worked-section { padding-bottom:1.5rem; }

/* PORTFOLIO HERO */
.portfolio-hero { padding:1.1rem 0 1.55rem; }
.portfolio-eyebrow { color:var(--color-accent); margin-bottom:.9rem; }
.portfolio-hero h1 { margin:0; font-size:clamp(2.45rem,4vw,3.25rem); letter-spacing:-.06em; line-height:1.14; }
.portfolio-hero > .container > p:not(.section-label) { max-width:610px; margin:.5rem 0 1.8rem; color:var(--color-text-muted); font-size:1rem; line-height:1.55; }
/* PORTFOLIO FILTERS */
.portfolio-filters { display:flex; flex-wrap:wrap; gap:.8rem; }
.filter-button { min-height:2.3rem; padding:.45rem 1.25rem; border:0; border-radius:999px; background:#1a1a1a; color:#d2d2d2; cursor:pointer; font:inherit; font-size:.82rem; font-weight:600; transition:background-color .2s ease,color .2s ease; }
.filter-button:hover,.filter-button.is-active { background:var(--color-accent); color:#fff; }
/* PORTFOLIO GRID */
.portfolio-section { padding:0 0 1.5rem; }
.portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
/* PORTFOLIO CARD */
.portfolio-card { overflow:hidden; background:var(--color-card); border:1px solid #202020; border-radius:var(--border-radius); transition:border-color .2s ease; }
.portfolio-card[hidden] { display:none; }
.portfolio-card:hover { border-color:#3a3a3a; }
.portfolio-image { aspect-ratio:16/8.6; overflow:hidden; background:#111; }
.portfolio-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.portfolio-card:hover .portfolio-image img { transform:scale(1.025); }
.portfolio-card-body { min-height:8.1rem; padding:1rem 1.2rem 1.15rem; }
.portfolio-card-body p { margin:0 0 .25rem; color:var(--color-accent); font-size:.76rem; font-weight:600; }
.portfolio-card-body h2 { margin:0; font-size:1.05rem; letter-spacing:-.045em; line-height:1.35; }
.portfolio-card-body span { display:block; margin-top:.25rem; color:var(--color-text-muted); font-size:.87rem; }
/* VIEW MORE */
.portfolio-more-wrap { position:relative; display:flex; justify-content:center; padding:1.2rem 0 1.3rem; }
.portfolio-more { min-height:2.65rem; padding:.55rem 1.55rem; border-color:#3d3d3d; font-size:.82rem; }
.portfolio-more[hidden] { display:none; }
.portfolio-more-wrap .cta-arrow { bottom:-.15rem; }

/* SERVICES PAGE */
.services-page-intro { padding:1.1rem 0 1.75rem; }
.services-eyebrow { color:var(--color-accent); margin-bottom:.9rem; }
.services-page-intro h1 { margin:0; font-size:clamp(2.45rem,4vw,3.25rem); letter-spacing:-.06em; line-height:1.14; }
.services-page-intro > .container > p:not(.section-label) { max-width:640px; margin:.55rem 0 0; color:var(--color-text-muted); font-size:1rem; line-height:1.6; }
.services-list-section { padding:0 0 1.45rem; }
.services-list { display:grid; gap:.9rem; }
/* SERVICE CARDS */
.services-page-card { display:grid; grid-template-columns:5.1rem minmax(0,1fr); align-items:center; gap:1.25rem; min-height:10rem; padding:1.55rem; background:var(--color-card); border:1px solid #202020; border-radius:var(--border-radius); }
.services-page-card h2 { margin:0 0 .42rem; font-size:1.12rem; letter-spacing:-.045em; line-height:1.35; }
.services-page-card p { max-width:900px; margin:0; color:#b3b3b3; font-size:.94rem; line-height:1.75; }
/* SERVICE ICONS */
.service-icon { display:grid; width:4.55rem; height:4.55rem; place-items:center; border-radius:10px; background:rgba(231,44,115,.09); color:var(--color-accent); }
.service-icon i { font-size:1.8rem; }
/* SERVICES CTA */
.services-cta { position:relative; margin-top:1.3rem; padding:1.85rem 1rem 2.1rem; overflow:visible; background:var(--color-card); border:1px solid #202020; border-radius:var(--border-radius); text-align:center; }
.services-cta h2 { margin:0; font-size:1.22rem; letter-spacing:-.045em; }
.services-cta p { margin:.3rem 0 1.1rem; color:var(--color-text-muted); font-size:.9rem; }
.services-cta .button { min-height:2.8rem; padding:.65rem 1.4rem; }

/* CONTACT PAGE */
.contact-page { padding:2.6rem 0 2.4rem; }
/* CONTACT INTRO */
.contact-intro { max-width:560px; }
.contact-eyebrow { color:var(--color-accent); margin-bottom:1.05rem; }
.contact-intro h1 { margin:0; font-size:clamp(2.65rem,4.3vw,3.75rem); letter-spacing:-.06em; line-height:1.12; }
.contact-intro h1 span { display:block; }
.contact-intro > p:not(.section-label) { max-width:520px; margin:1.35rem 0 2.8rem; color:var(--color-text-muted); font-size:1rem; line-height:1.75; }
.contact-layout { display:grid; grid-template-columns:39% 61%; gap:1.6rem; align-items:start; }
/* CONTACT METHODS */
.contact-methods { display:grid; gap:1rem; margin:0; font-style:normal; }
.contact-method-card { display:flex; align-items:center; min-height:6.55rem; gap:1.25rem; padding:1.15rem 1.35rem; background:var(--color-card); border:1px solid #202020; border-radius:var(--border-radius); }
a.contact-method-card:hover { border-color:#3d3d3d; }
.contact-method-card > i { width:2.3rem; color:var(--color-accent); font-size:1.85rem; text-align:center; }
.contact-method-card span { display:grid; gap:.05rem; }
.contact-method-card small { color:var(--color-text-muted); font-size:.82rem; }
.contact-method-card strong { color:var(--color-text); font-size:1rem; line-height:1.35; }
/* CONTACT SOCIALS */
.contact-socials { display:flex; flex-wrap:wrap; gap:.9rem; padding-top:.8rem; }
.contact-socials a { display:grid; width:3.8rem; height:3.8rem; place-items:center; background:var(--color-card); border:1px solid #202020; border-radius:9px; color:#ddd; font-size:1.45rem; transition:background-color .2s ease,color .2s ease; }
.contact-socials a:hover { background:#242424; color:var(--color-accent); }
/* CONTACT FORM */
.contact-form-card { display:grid; gap:1.25rem; padding:1.7rem; background:var(--color-card); border:1px solid #202020; border-radius:14px; }
.form-field { display:grid; gap:.45rem; }
.form-field label { color:#c1c1c1; font-size:.88rem; }
.form-field input,.form-field textarea { width:100%; border:1px solid #454545; border-radius:8px; outline:0; background:#070707; color:#fff; font:inherit; font-size:1rem; }
.form-field input { height:3.65rem; padding:0 1rem; }
.form-field textarea { min-height:10.5rem; padding:1rem; resize:vertical; }
.form-field input:focus,.form-field textarea:focus { border-color:var(--color-accent); box-shadow:0 0 0 2px rgba(229,43,114,.15); }
.contact-form-card .button { width:100%; min-height:4rem; font-size:1rem; }

/* Final targeted refinements */
.site-logo { display:flex; flex:0 0 auto; align-items:center; height:auto; }
.site-logo img { display:block; width:128px; max-height:2.45rem; object-fit:contain; object-position:left center; }
.footer-logo { width:150px; height:48px; object-fit:contain; object-position:left center; }
.hero-portrait-wrap::after { position:absolute; z-index:2; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,rgba(8,8,8,.76) 0%,rgba(8,8,8,.42) 31%,rgba(8,8,8,.08) 62%,transparent 100%),linear-gradient(0deg,rgba(8,8,8,.42),transparent 32%); }
.hero-portrait { position:relative; z-index:1; }
.service-support-image { height:8rem; margin:0; overflow:hidden; border:1px solid #202020; border-radius:var(--border-radius); background:var(--color-card); }
.service-support-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(.8); }
.contact-form-stack { display:grid; gap:1.1rem; }
.contact-visual { height:9.5rem; margin:0; overflow:hidden; border:1px solid #202020; border-radius:14px; background:var(--color-card); }
.contact-visual { position:relative; }
.contact-visual::after { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,rgba(8,8,8,.14),transparent 58%),linear-gradient(0deg,rgba(8,8,8,.20),transparent 48%); }
.contact-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 12%; filter:brightness(.97); }

/* Contact image placement correction */
.contact-page-grid { display:grid; grid-template-columns:39% 61%; column-gap:1.6rem; row-gap:1.6rem; align-items:start; }
.contact-page-grid .contact-intro { grid-column:1; grid-row:1; }
.contact-page-grid .contact-visual { grid-column:2; grid-row:1; height:26rem; }
.contact-page-grid .contact-methods { grid-column:1; grid-row:2; }
.contact-page-grid .contact-form-card { grid-column:2; grid-row:2; }
.contact-page-grid .contact-visual img { width:100%; height:100%; object-fit:cover; object-position:center 6%; }

/* Content-completion additions */
.home-intro h2,.selected-experience h2 { margin:0 0 1rem; font-size:clamp(1.75rem,3vw,2.25rem); letter-spacing:-.05em; }
.home-intro-copy { max-width:820px; color:var(--color-text-muted); }
.home-intro-copy p { margin:0 0 1rem; }
.home-section-action { display:flex; justify-content:center; margin-top:1.35rem; }
.section-intro { max-width:660px; margin:0 0 1.4rem; color:var(--color-text-muted); }
.home-experience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.experience-card { overflow:hidden; background:var(--color-card); border:1px solid #202020; border-radius:var(--border-radius); }
.experience-card img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.experience-card h3 { margin:0; padding:1rem; font-size:.95rem; letter-spacing:-.035em; }
.home-cta p + p { max-width:650px; margin:.25rem auto 1.25rem; }
.about-biography { max-width:650px; color:#bababa; }
.about-biography p { margin:0 0 .85rem; font-size:.94rem; line-height:1.7; }
.partner-intro { max-width:760px; margin:0 0 1.65rem; color:var(--color-text-muted); }
.portfolio-image--placeholder { display:grid; place-items:center; padding:1.5rem; background:linear-gradient(135deg,#161616,#242424); color:#fff; text-align:center; font-size:1.15rem; font-weight:700; }
.confidential-statement { margin-top:1.25rem; padding:1.15rem 1.35rem; border:1px solid #202020; border-radius:var(--border-radius); background:var(--color-card); color:var(--color-text-muted); font-size:.92rem; line-height:1.7; }

/* Festival of Eventing ZA fallback visual */
.portfolio-image--placeholder { position:relative; overflow:hidden; background:radial-gradient(circle at 50% 42%,rgba(229,43,114,.20),transparent 48%),linear-gradient(135deg,#151515,#252025); }
.portfolio-image--placeholder::after { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(0deg,rgba(8,8,8,.25),transparent 60%); }
.portfolio-placeholder-content { position:relative; z-index:1; display:grid; justify-items:center; gap:.35rem; color:#fff; text-align:center; }
.portfolio-placeholder-content i { margin-bottom:.25rem; color:var(--color-accent); font-size:1.65rem; }
.portfolio-placeholder-content strong { font-size:1.05rem; letter-spacing:-.035em; }
.portfolio-placeholder-content span { color:#c8c8c8; font-size:.78rem; }

/* Client feedback: service content imagery */
.service-inline-media { display:grid; grid-template-columns:minmax(0,1fr); gap:.55rem; margin-top:1rem; }
.service-inline-media--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.service-inline-media img { display:block; width:100%; height:6.25rem; object-fit:cover; object-position:center; border-radius:8px; }

/* Verified-asset fallback for an unavailable DBN logo/photo */
.logo-card-fallback { color:#dedede; font-size:.72rem; font-weight:700; line-height:1.35; text-align:center; }
.experience-card--placeholder > div { display:grid; min-height:0; aspect-ratio:16/9; place-items:center; padding:1rem; background:linear-gradient(135deg,#161616,#252025); color:#fff; font-size:.9rem; font-weight:700; text-align:center; }
.service-inline-media--two { grid-template-columns:repeat(2,minmax(0,1fr)); }

/* Shared Tebatso logo path fix */
.site-logo img { display:block; width:110px; height:auto; max-width:none; max-height:none; object-fit:contain; }
.footer-logo { display:block; width:150px; height:auto; max-width:none; max-height:none; object-fit:contain; }
.site-logo img,.footer-logo { background:transparent; border:0; box-shadow:none; filter:invert(1); mix-blend-mode:lighten; }

/* Final client asset placement */
.home-intro-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(3rem,5vw,4.4rem); align-items:stretch; }
.home-intro-layout .home-intro-copy { max-width:none; }
.home-intro-portrait { position:relative; width:100%; height:100%; min-height:27rem; max-height:31rem; margin:0; overflow:hidden; border-radius:var(--border-radius); background:var(--color-card); }
.home-intro-portrait::after { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,rgba(8,8,8,.14),transparent 50%),linear-gradient(0deg,rgba(8,8,8,.20),transparent 42%); }
.home-intro-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 14%; }

/* ADDITIONAL PORTFOLIO EXPERIENCE */
.additional-experience { margin-top:2.5rem; }
.additional-experience h2 { margin:0 0 .35rem; font-size:clamp(1.45rem,2.5vw,1.85rem); letter-spacing:-.05em; }
.additional-experience-intro { margin:0 0 1.25rem; color:var(--color-text-muted); font-size:.92rem; }
.additional-experience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.additional-experience-card { display:grid; grid-template-columns:2rem minmax(0,1fr); align-items:start; gap:.9rem; padding:1.15rem 1.2rem; background:var(--color-card); border:1px solid #202020; border-radius:var(--border-radius); }
.additional-experience-card > i { padding-top:.18rem; color:var(--color-accent); font-size:1rem; }
.additional-experience-card p { margin:0 0 .2rem; color:var(--color-accent); font-size:.75rem; font-weight:600; }
.additional-experience-card h3 { margin:0; color:var(--color-text); font-size:1rem; letter-spacing:-.04em; line-height:1.35; }
.additional-experience-card span { display:block; margin-top:.2rem; color:var(--color-text-muted); font-size:.84rem; }
.portfolio-lower-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:clamp(1.5rem,2.5vw,2.25rem); margin-top:1.25rem; }
.portfolio-lower-layout .additional-experience { margin-top:0; }
.portfolio-lower-layout .additional-experience-grid { grid-template-columns:1fr; }
.partner-logo-slider.additional-experience-slider { --partner-visible:2; margin-top:1rem; }
.additional-experience-slider .partner-logo-slide { padding-inline:.35rem; }
.additional-experience-slider .partner-logo-slide:first-child { padding-left:0; }
.additional-experience-slider .partner-logo-slide:last-child { padding-right:0; }
.additional-experience-slider img { display:block; width:100%; height:12.5rem; border-radius:10px; object-fit:cover; object-position:center; }

/* PORTFOLIO SLIDERS */
.portfolio-slider { position:relative; }
.portfolio-slider-track { display:flex; width:100%; height:100%; transition:transform .5s ease; will-change:transform; }
.portfolio-slide { flex:0 0 100%; min-width:100%; height:100%; }
.portfolio-slider .portfolio-slide img { display:block; width:100%; height:100%; object-fit:cover; transform:none; }
.portfolio-slider-control { position:absolute; z-index:2; top:50%; display:grid; width:2.25rem; height:2.25rem; padding:0; transform:translateY(-50%); place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:rgba(8,8,8,.58); color:#fff; cursor:pointer; font-size:.72rem; transition:background-color .2s ease,color .2s ease; }
.portfolio-slider-control:hover,.portfolio-slider-control:focus-visible { background:var(--color-accent); color:#fff; }
.portfolio-slider-prev { left:.75rem; }
.portfolio-slider-next { right:.75rem; }
.portfolio-slider-dots { position:absolute; z-index:2; right:0; bottom:.7rem; left:0; display:flex; justify-content:center; gap:.4rem; }
.portfolio-slider-dots button { width:.45rem; height:.45rem; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.48); cursor:pointer; transition:background-color .2s ease,transform .2s ease; }
.portfolio-slider-dots button[aria-pressed="true"] { background:var(--color-accent); transform:scale(1.2); }
.portfolio-slider-dots button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .portfolio-slider-track { transition:none; } }
/* Final client image-gallery refinements */
.service-support-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; padding:0; }
.service-support-gallery img { min-width:0; height:100%; object-fit:cover; }

/* HOME TRUSTED BY LOGO PRESENTATION */
.trusted-section .logo-card,.worked-section .logo-card { height:6rem; padding:.1rem; overflow:visible; background:transparent; border:0; border-radius:0; box-shadow:none; }
.trusted-section .logo-card img,.worked-section .logo-card img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; }
/* PARTNER LOGO SECTION HEADINGS */
.trusted-section > .container > .section-label,.worked-section > .container > .section-label { margin:0 0 1.8rem; color:var(--color-accent); font-size:.9rem; font-weight:700; letter-spacing:.15em; text-align:center; }
.service-editorial-row--safety .service-support-image img { object-position:center 70%; }

/* ABOUT PARTNER LOGO SLIDER */
.worked-section.section-space { padding-top:1.75rem; padding-bottom:1.75rem; }
.partner-logo-slider { --partner-visible:3; overflow:hidden; width:100%; }
.partner-logo-track { display:flex; transition:transform .5s ease; will-change:transform; }
.partner-logo-slide { flex:0 0 calc(100% / var(--partner-visible)); min-width:0; padding-inline:.65rem; }
.partner-logo-slide:first-child { padding-left:0; }
.partner-logo-slide:last-child { padding-right:0; }
.partner-logo-slide .logo-card { width:100%; }
@media (prefers-reduced-motion:reduce) { .partner-logo-track { transition:none; } }
