@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Source+Sans+3:wght@400;500;600;700;800&display=swap');

:root{--color-primary:#1C5A73;--color-secondary:#103A4C;--color-accent: #E08A2C;--color-background: #FAFBFB;--color-surface: #EAF1F3;--color-text: #17282E;--color-muted: #66797F;--nav-fg: #ffffff;--logo-filter: none;--font-heading: Manrope, Arial, sans-serif;--font-body: 'Source Sans 3', Arial, sans-serif;--section-padding:76px 20px;--max-width:1200px;--border-radius:20px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;scroll-behavior:smooth}body{overflow-x:clip;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--color-text);background:var(--color-background)}p,li,a,span,label,input,textarea,button{font-family:var(--font-body)}p{margin-bottom:1rem}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.15}img{max-width:100%;height:auto}.container{max-width:var(--max-width);margin:auto;padding:0 20px}.site-header,header{position:sticky;top:0;z-index:1000;background:var(--color-primary);box-shadow:0 3px 18px #103a4c30}.nav-inner{max-width:var(--max-width);margin:auto;padding:8px 20px;display:flex;justify-content:space-between;align-items:center;min-height:70px}.logo{max-height:54px;max-width:min(220px,38vw);display:block}.brand{display:flex;align-items:center}.nav-inner nav{display:flex;align-items:center}.nav-inner ul{display:flex;align-items:center;gap:20px;list-style:none}.nav-inner a,.nav-more-trigger{color:var(--nav-fg);text-decoration:none;font-weight:600}.nav-more{position:relative}.nav-more-trigger{background:none;border:0;cursor:pointer;font-size:1rem}.sub-nav{display:none!important;position:absolute;right:0;top:30px;background:var(--color-secondary);padding:14px!important;border-radius:12px;min-width:210px;box-shadow:0 12px 30px #0004}.nav-more:hover .sub-nav,.nav-more.open .sub-nav{display:block!important}.sub-nav li{margin:8px}.nav-cta a{background:var(--color-accent);color:#17282e!important;padding:10px 16px;border-radius:12px}.nav-cta-first a{background:#fff}.section{padding:var(--section-padding)}section:nth-of-type(even){background:#faf5ef}section h2{color:var(--color-primary);font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:1.3rem;text-align:center}section h2:after{content:'';display:block;width:54px;height:4px;background:var(--color-accent);margin:12px auto;border-radius:4px}.hero-split{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 70px)}.hero-split-text{background:var(--color-primary);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:70px clamp(28px,7vw,100px);position:relative;overflow:hidden}.hero-split-text:after{content:'';position:absolute;width:260px;height:260px;border:3px solid #f8ca24;border-radius:50%;right:-120px;bottom:-90px}.hero-split h1{font-size:clamp(2.2rem,5vw,4.8rem);max-width:650px}.hero-split p{font-size:1.35rem;letter-spacing:.12em;color:#f8ca24;margin-top:22px}.hero-split .hero-copy{font-size:1.05rem;letter-spacing:0;max-width:510px;color:#fff}.hero-split-image{background-image:linear-gradient(#103a4c35,#103a4c35),url('hero-800x400.jpg?v=1791532700539');background-size:cover;background-position:center}.eyebrow{color:#f8ca24;text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.8rem;margin-bottom:20px}.cta-button,.btn{display:inline-block;padding:13px 24px;border:2px solid var(--color-secondary);border-radius:12px;text-decoration:none;font-weight:700;color:var(--color-secondary);background:transparent;transition:.25s}.hero-split .cta-button{margin-top:15px;border-color:#f8ca24;color:#fff}.cta-button:hover,.btn:hover{background:var(--color-secondary);color:#fff;transform:translateY(-2px)}.hero-split .cta-button:hover{background:#f8ca24;color:var(--color-secondary)}.about-photo{width:100%;height:300px;object-fit:cover;border-radius:var(--border-radius);margin:10px 0 25px;box-shadow:0 10px 30px #103a4c20}.about-photo~p{max-width:900px;margin-left:auto;margin-right:auto}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:30px}.card{background:#fff;padding:25px;border-radius:var(--border-radius);box-shadow:0 4px 20px #0000001a;transition:.3s;text-align:left;overflow:hidden}.card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #0000002e}.card-photo{width:calc(100% + 50px);height:180px;object-fit:cover;margin:-25px -25px 20px;display:block}.card-icon,.contact-icon-circle{width:52px;height:52px;border-radius:50%;background:#f8ca24;display:flex;align-items:center;justify-content:center;margin-bottom:15px}.card-icon i{color:var(--color-secondary);font-size:1.3rem}.card h3{color:var(--color-primary);margin-bottom:8px}.outcomes{background:var(--color-secondary)!important;color:#fff}.outcomes h2{color:#fff}.outcome-grid,.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.outcome-grid div{padding:22px;text-align:center;border:1px solid #ffffff40;border-radius:var(--border-radius)}.outcome-grid strong{display:block;font:700 2.5rem var(--font-heading);color:#f8ca24}.outcome-grid span,.team-card span{display:block}.story{text-align:center}.story p{max-width:760px;margin:0 auto 24px}.involvement .card{text-align:center}.involvement .btn{margin-top:10px}.team-card{background:#fff;padding:22px;border-radius:var(--border-radius);box-shadow:0 4px 18px #0001}.team-card strong{color:var(--color-primary);font-family:var(--font-heading);display:block}.testimonials{background:#eaf1f3!important}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.testimonial-card{background:#fff;padding:26px;border-radius:var(--border-radius);box-shadow:0 4px 20px #0001;border-left:5px solid var(--color-accent)}blockquote{font-style:italic}.testimonial-card cite{display:block;margin-top:18px;color:var(--color-primary);font-style:normal;font-weight:700}.sh-testimonial-feature{background:var(--color-primary);color:#fff;padding:80px 20px;text-align:center}.sh-feature-quote{font:600 clamp(1.5rem,3vw,2.5rem) var(--font-heading);max-width:850px;margin:auto}.sh-feature-cite{display:block;color:#f8ca24;margin-top:20px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item img{width:100%;height:250px;object-fit:cover;border-radius:var(--border-radius)}details{max-width:800px;margin:12px auto;background:#fff;padding:20px 24px;border-radius:14px;box-shadow:0 3px 14px #0001}summary{font:700 1.05rem var(--font-heading);cursor:pointer;color:var(--color-primary)}.contact{text-align:center}.contact-details-row{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin:25px 0}.contact-item{display:flex;align-items:center;gap:12px}.contact-icon-circle{margin:0;background:var(--color-primary);color:#fff}.contact-item a{color:var(--color-secondary)}.social-links{display:flex;justify-content:center;gap:12px}.social-circle{width:42px;height:42px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center}.form-wrapper{max-width:700px;margin:32px auto 0;overflow:hidden;border-radius:var(--border-radius);box-shadow:0 4px 20px #0001}.sh-ftr{background:var(--color-secondary);color:#fff;padding:35px 20px}.sh-ftr-inner{max-width:var(--max-width);margin:auto}.sh-ftr-cols{display:flex;justify-content:space-between;gap:25px}.sh-ftr-name{font:700 1.3rem var(--font-heading)}.sh-ftr h4{color:#f8ca24}.sh-ftr ul{list-style:none}.sh-ftr a{color:#fff}.sh-ftr-bar{border-top:1px solid #ffffff35;margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;gap:15px}.sh-ftr-legal a{color:#f8ca24}@media(max-width:767px){.nav-inner nav{position:static}.nav-inner ul#nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--color-primary);flex-direction:column;align-items:stretch;gap:0;padding:12px 22px}.nav-inner ul#nav-links.open{display:flex}.nav-inner ul#nav-links li{padding:8px 0}.nav-inner ul#nav-links a,.nav-more-trigger{display:block;min-height:44px;padding:9px 0}.sub-nav{position:static!important;background:transparent!important;box-shadow:none!important;padding-left:15px!important}.nav-cta a{padding:9px}.nav-inner>#hamburger{display:block;background:none;border:0;color:#fff;font-size:1.5rem;min-width:44px;min-height:44px}.hero-split{grid-template-columns:1fr}.hero-split-text{min-height:70vh}.hero-split-image{min-height:42vh}.section{padding:55px 16px}.outcome-grid,.team-grid,.testimonials-grid,.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:230px}.sh-ftr-cols,.sh-ftr-bar{flex-direction:column}.contact-details-row{align-items:center;flex-direction:column}.card-photo{height:170px}}
@media(min-width:768px){#hamburger{display:none}}
/* ── SiteHub nav token enforcement (post-processed) ── */
:root{--sitehub-header-nav-fg:#1C5A73;--sitehub-on-primary-fg:#ffffff;}

/* ── SiteHub canvas enforcement (post-processed) ── */
body{background:var(--color-background) !important;}

/* ── SiteHub global navigation enforcement (post-processed) ── */
header{position:sticky;top:0;z-index:1000;background:var(--sitehub-header-bg,rgba(255,255,255,.98)) !important;border-bottom:1px solid rgba(0,0,0,.1) !important;box-shadow:0 10px 24px rgba(15,23,42,.08) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}header .nav-inner{max-width:min(1380px,calc(100vw - 32px));margin:0 auto;padding:0 18px;display:flex !important;justify-content:space-between;align-items:center;gap:22px;min-height:84px}header img.logo{max-height:72px;max-width:min(260px,34vw);width:auto;height:auto;display:block;object-fit:contain;filter:none !important;background:transparent !important;padding:0 !important;border-radius:0 !important;box-shadow:none !important;position:relative;z-index:1}.brand{display:flex;align-items:center;gap:14px;min-width:0;text-decoration:none;position:relative}.brand-name{color:var(--sitehub-header-nav-fg,var(--nav-fg,var(--color-primary,#111827)));font-family:var(--font-heading);font-size:1.02rem;font-weight:700;white-space:normal;letter-spacing:.01em;max-width:clamp(180px,32vw,360px);line-height:1.12;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;position:relative;z-index:1}nav{display:flex;align-items:center;justify-content:flex-end;flex:1 1 auto;min-width:0}nav #nav-links{display:flex !important;flex-direction:row !important;align-items:center;justify-content:flex-end;flex-wrap:nowrap;list-style:none !important;gap:22px;padding:0;margin:0;background:transparent !important;position:static !important}nav #nav-links li{padding:0;border:none;flex:0 0 auto}nav #nav-links a,nav #nav-links .nav-more-trigger{color:var(--sitehub-header-nav-fg,var(--nav-fg,var(--color-primary,#111827)));text-decoration:none;font-weight:600;font-family:var(--font-body);font-size:.83rem;letter-spacing:.015em;white-space:nowrap;line-height:1.1}nav #nav-links a:hover,nav #nav-links .nav-more-trigger:hover{opacity:.78}nav #nav-links li.nav-more{position:relative;padding-bottom:14px;margin-bottom:-14px}nav #nav-links .nav-more::after{content:'';position:absolute;left:0;right:0;top:100%;height:16px}nav #nav-links .nav-more-trigger{background:transparent;border:0;cursor:pointer;padding:0}nav #nav-links .nav-more-trigger::after{content:' ▾';font-size:.78em}nav #nav-links .sub-nav{display:none;list-style:none;position:absolute;top:calc(100% + 2px);right:0;min-width:200px;padding:14px 16px;margin:0;background:rgba(255,255,255,.98) !important;border:1px solid rgba(0,0,0,.1);border-radius:14px;box-shadow:0 18px 36px rgba(15,23,42,.12);z-index:1002}nav #nav-links .sub-nav li+li{margin-top:10px}nav #nav-links .sub-nav a{display:block;white-space:nowrap;color:var(--sitehub-menu-panel-fg,#1f2937) !important}nav #nav-links .nav-more:hover .sub-nav,nav #nav-links .nav-more:focus-within .sub-nav,nav #nav-links .nav-more.open .sub-nav{display:block}header+section,header+main,header+main>section:first-of-type{margin-top:0 !important;padding-top:0 !important}#hamburger{display:none;background:none;border:none;color:var(--sitehub-header-nav-fg,var(--nav-fg,var(--color-primary,#111827)));font-size:1.5rem;cursor:pointer;font-family:inherit}@media (max-width:1320px){header .nav-inner{padding:0 16px;gap:16px}nav #nav-links{gap:16px}nav #nav-links a,nav #nav-links .nav-more-trigger{font-size:.79rem}}@media (max-width:1024px){#hamburger{display:block !important}header .nav-inner{min-height:78px}nav{position:static !important}header img.logo{max-height:64px;max-width:min(230px,52vw)}nav #nav-links{display:none !important;flex-direction:column !important;justify-content:flex-start !important;align-items:stretch;gap:0 !important;position:absolute !important;top:78px;left:0 !important;right:0 !important;width:auto !important;max-width:none !important;min-width:0 !important;box-sizing:border-box !important;background:rgba(255,255,255,.99) !important;padding:10px 20px calc(env(safe-area-inset-bottom, 0px) + 24px);z-index:999;border-top:1px solid rgba(0,0,0,.1);box-shadow:0 16px 32px rgba(15,23,42,.12);max-height:calc(100dvh - 78px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}nav #nav-links.open{display:flex !important}nav #nav-links li{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08)}nav #nav-links li.nav-more{padding-bottom:10px;margin-bottom:0}nav #nav-links .nav-more::after{display:none}nav #nav-links a{font-size:1rem;padding:8px 0;display:flex;align-items:center;min-height:44px;color:var(--sitehub-menu-panel-fg,#1f2937) !important}nav #nav-links .nav-more-trigger{width:100%;min-height:44px;text-align:left;padding:8px 0;color:var(--sitehub-menu-panel-fg,#1f2937) !important}nav #nav-links .sub-nav{display:none;position:static;min-width:0;padding:0 0 0 14px;margin-top:6px;background:transparent;border:0;border-radius:0;box-shadow:none}nav #nav-links .nav-more.open .sub-nav{display:block}nav #nav-links .nav-more.open .nav-more-trigger::after{transform:rotate(180deg);display:inline-block}nav #nav-links .sub-nav li{border-bottom:0;padding:6px 0}nav #nav-links .sub-nav a{min-height:36px;font-size:.98rem;opacity:.92;color:var(--sitehub-menu-panel-fg,#1f2937) !important}}@media (max-width:520px){.cards-grid,.card-grid,.cards,.services-grid,.service-grid,.services-cards,.features-grid,.feature-grid,.value-cards,.info-cards,[class*="cards-grid"],[class*="services-grid"],[class*="features-grid"]{grid-template-columns:1fr !important}}
/* ── SiteHub buttons all follow the site button colour (post-processed) ── */
#nav-links > li.nav-cta > a{background:#1C5A73;color:#ffffff !important;border-color:#1C5A73;}
#nav-links > li.nav-cta:not(.nav-cta-first) > a{background:transparent;color:#1C5A73 !important;border-color:#1C5A73;}
html #hero .cta-button{background:#ffffff !important;color:#1C5A73 !important;border-color:transparent !important;}

/* ── SiteHub font enforcement (post-processed) ── */
body, p, li, a, span, div, button, input, textarea, label, select, td, th, blockquote, figcaption, nav, ul, ol, dl, dt, dd, address, small, strong, em, b, footer, header, main, section, article, aside, figure, details, summary { font-family: 'Source Sans 3', Arial, sans-serif !important; }
h1, h2, h3, h4, h5, h6, .brand-name, .stat-number { font-family: Manrope, Arial, sans-serif !important; }

/* ── SiteHub layout polish (post-processed) ── */
html{scroll-behavior:smooth}body{overflow-x:clip}main>section:not(#hero),body>section:not(#hero),main>.section:not(#hero),body>.section:not(#hero){margin-top:0 !important;margin-bottom:0 !important;padding-top:clamp(30px,3.6vw,54px) !important;padding-bottom:clamp(30px,3.6vw,54px) !important}main>section:not(#hero) .container,body>section:not(#hero) .container,main>.section:not(#hero) .container,body>.section:not(#hero) .container{width:min(1200px,calc(100% - 40px));margin-inline:auto}section h2,.section h2{margin:0 0 .8rem;line-height:1.08;text-wrap:balance}section:not(#hero) h1{margin-bottom:clamp(.5rem,1.4vw,1rem)}section h3,.section h3{line-height:1.14}section p:last-child,.section p:last-child{margin-bottom:0}.sitehub-section-intro,.section-intro,section .lead,.section .lead{max-width:58rem;margin:0 auto 1rem;line-height:1.6}.about-grid,.cards-grid,.gallery-grid,.testimonials-grid,.shop-showcase-grid{row-gap:clamp(14px,2vw,24px) !important}.about-grid{align-items:center}.about-photo,.card img,.shop-showcase-card img,.team-photo,.team-card img,.team-card .team-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(180px,240px)) !important;justify-content:center;gap:14px !important}.gallery-item{margin:0 !important}.gallery-item img{display:block;width:100%;height:170px !important;object-fit:cover;border-radius:var(--border-radius)}section .card,section .shop-showcase-shell,section .testimonial-card,section .blog-card{margin-top:0 !important}@media (max-width:767px){main>section:not(#hero),body>section:not(#hero),main>.section:not(#hero),body>.section:not(#hero){padding-top:30px !important;padding-bottom:30px !important}.sitehub-section-intro,.section-intro,section .lead,.section .lead{margin-bottom:.9rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.gallery-item img{height:150px !important}.about-photo,.card img,.shop-showcase-card img,.team-photo,.team-card img{aspect-ratio:16/10}}.card>.card-icon:first-child{margin-top:clamp(14px,1.8vw,22px) !important}header,.site-header,header .nav-inner,header .sh-hdr-tools,header .sh-site-search{overflow:visible !important}header{position:sticky;z-index:1200 !important}nav #nav-links .sub-nav,.sh-site-search-results{z-index:1300 !important}.sh-timeline{list-style:none;margin:2rem auto;padding:0;position:relative;max-width:820px}.sh-timeline::before{content:"";position:absolute;left:114px;top:10px;bottom:12px;width:2px;background:linear-gradient(var(--color-primary,#0a7),transparent);opacity:.35}.sh-tl-item{position:relative;display:grid;grid-template-columns:100px 1fr;gap:36px;padding:0 0 26px}.sh-tl-year{font-weight:800;color:var(--color-primary,#0a7);text-align:right;font-size:1.02rem;line-height:1.4;position:relative}.sh-tl-year::after{content:"";position:absolute;right:-20px;top:7px;width:13px;height:13px;border-radius:50%;background:var(--color-primary,#0a7);box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(0,0,0,.06)}.sh-tl-title{margin:.1rem 0 .45rem;font-size:1.1rem}.sh-tl-content>*{margin-top:0}@media(max-width:640px){.sh-timeline::before{left:7px}.sh-tl-item{grid-template-columns:1fr;gap:6px}.sh-tl-year{text-align:left;padding-left:26px}.sh-tl-year::after{right:auto;left:1px;top:7px}}article.section p{line-height:1.75;margin:0 0 1.15em}article.section ul,article.section ol,article.section blockquote{max-width:none}article.section>.container{max-width:min(1160px,calc(100% - 40px)) !important;width:auto !important}@media(max-width:767px){article.section>.container{max-width:100% !important;padding-inline:16px}}article.section figure{margin:1.6rem auto !important;max-width:min(100%,1000px);border-radius:12px;overflow:hidden}article.section figure img{width:100%;height:auto;display:block}article.section h2,article.section h3{margin:1.5em 0 .55em;line-height:1.2;text-wrap:balance}.sitehub-blog-landing p{line-height:1.7}/* Blog index cards: even-height, image-topped, no empty icon puck, sane title size */.sitehub-blog-landing .cards-grid,.sitehub-blog-landing .blog-grid,.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(18px,2.4vw,28px);align-items:stretch}.blog-card{display:flex !important;flex-direction:column;height:100%;overflow:hidden;padding:0 !important}.blog-card>.card-icon,.blog-card .card-icon,.sitehub-blog-landing .card>.card-icon{display:none !important}.blog-card>img,.blog-card>a>img{width:100%;aspect-ratio:16/10;object-fit:cover;margin:0 !important;border-radius:0}.blog-card h2,.blog-card h3{font-size:clamp(1.15rem,1.5vw,1.5rem) !important;line-height:1.24;margin:1.1rem clamp(16px,2vw,22px) .55rem !important;text-wrap:balance}.blog-card p{margin:0 clamp(16px,2vw,22px) 1rem !important;flex:1 0 auto;font-size:.96rem}.blog-card>a.text-link,.blog-card .text-link{margin:0 clamp(16px,2vw,22px) clamp(18px,2vw,22px);align-self:flex-start}.sitehub-blog-landing .cta-button,.sitehub-blog-landing a.cta-button{background:var(--color-primary) !important;color:#fff !important;border:1px solid transparent}.sitehub-cta-band{background:color-mix(in srgb,var(--color-primary,#0a7) 8%,#fff);text-align:center;padding:clamp(38px,5vw,66px) 0}.sitehub-cta-band h2{margin:0 0 1rem;line-height:1.1;text-wrap:balance}.sitehub-cta-band-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.sitehub-cta-band .cta-button{background:var(--color-cta-bg,var(--color-primary,#0a7)) !important;color:#fff !important;border:1px solid transparent !important;text-decoration:none}.card h2 a,.card h3 a,.card h4 a,.blog-card h2 a,.blog-card h3 a{color:inherit;text-decoration:none}.card h2 a:hover,.card h3 a:hover,.card h4 a:hover,.blog-card a:hover{color:var(--color-accent,var(--color-primary))}a.text-link{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;font-weight:600}a.text-link:hover{color:var(--color-accent,var(--color-primary))}.sh-faq-q{font-size:clamp(1.05rem,1.7vw,1.32rem);margin:1.5em 0 .4em;line-height:1.3;color:var(--color-primary);text-wrap:balance}#hero .hero-actions .btn-secondary,.hero .hero-actions .btn-secondary,.hero-actions a.btn-secondary,#hero .hero-actions .btn.btn-secondary{color:#fff !important;background:rgba(15,15,15,.34) !important;border:2px solid rgba(255,255,255,.9) !important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-decoration:none;font-weight:600}#hero .hero-actions .btn-secondary:hover,.hero .hero-actions .btn-secondary:hover,.hero-actions a.btn-secondary:hover{background:#fff !important;color:var(--color-primary,#0a7) !important;border-color:#fff !important}html #hero.hero-split .hero-split-text .hero-content .hero-actions>.btn.btn-secondary,html #hero.hero-split .hero-actions>.btn.btn-secondary{background:rgba(15,15,15,.6) !important;color:#fff !important;border:2px solid rgba(255,255,255,.92) !important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:var(--border-radius,8px) !important}html #hero.hero-split .hero-split-text .hero-content .hero-actions>.btn.btn-secondary:hover,html #hero.hero-split .hero-actions>.btn.btn-secondary:hover{background:#fff !important;color:var(--color-primary,#0a7) !important;border-color:#fff !important}.sh-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.1rem 0}.sh-table-scroll table{width:100%;border-collapse:collapse}@media(max-width:767px){.sh-table-scroll table{min-width:460px}.sh-table-scroll th,.sh-table-scroll td{white-space:normal;word-break:normal;overflow-wrap:break-word}}#page-hero h1,#page-hero h2,#page-hero h3,#page-hero h4,#page-hero p,#page-hero li,#page-hero .eyebrow,#page-hero [class*=eyebrow]{color:#fff !important}#page-hero .cta-button{background:var(--color-primary,#0a7) !important;color:#fff !important;border:1px solid transparent !important}#page-hero .btn-secondary{color:#fff !important;background:rgba(15,15,15,.34) !important;border:2px solid rgba(255,255,255,.9) !important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#hero .hero-content,#hero>.hero-content.container{margin-left:auto !important;margin-right:auto !important}.blog-card,.card.sh-card-link{position:relative;cursor:pointer}.blog-card a.text-link::after,.card.sh-card-link a.text-link::after{content:"";position:absolute;inset:0;z-index:1}.blog-card:hover,.card.sh-card-link:hover{box-shadow:0 12px 30px rgba(15,23,42,.12)}.cards-grid,.card-grid,.services-grid,.service-grid,.features-grid,.feature-grid,.info-cards,.value-cards,.sitehub-info-grid,[class*="cards-grid"],[class*="services-grid"],[class*="features-grid"]{grid-template-columns:repeat(auto-fit,minmax(clamp(240px,26%,320px),1fr)) !important;justify-content:center}@media(max-width:640px){.cards-grid,.card-grid,.services-grid,.features-grid,.info-cards,.sitehub-info-grid,[class*="cards-grid"]{grid-template-columns:1fr !important}}
.about-photo{width:min(100%,720px) !important;max-height:min(460px,60vh) !important;margin-left:auto !important;margin-right:auto !important;object-position:center 30%}


/* ── SiteHub enrichment components (art-directed, Phase 2) ── */
.sh-enrichment { padding: var(--section-padding, 72px) 0; }
.sh-enrichment .container { max-width: var(--max-width, 1160px); margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.sh-enrichment .section-title { font-family: var(--font-heading, inherit); color: var(--color-text, #1a1a1a); margin-bottom: 28px; }

/* Tables (comparison + spec) */
.sh-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.sh-table { width: 100%; border-collapse: collapse; background: var(--color-surface, #fff); border-radius: var(--border-radius, 10px); overflow: hidden; font-family: var(--font-body, inherit); }
.sh-table th, .sh-table td { padding: 14px 18px; text-align: left; border-bottom: 1px solid color-mix(in srgb, var(--color-muted, #888) 28%, transparent); vertical-align: top; }
.sh-table thead th { background: var(--color-primary, #222); color: var(--sitehub-on-primary-fg, #fff); font-family: var(--font-heading, inherit) !important; font-weight: 600; }
.sh-table tbody th[scope="row"] { font-weight: 600; color: var(--color-text, #1a1a1a); }
.sh-table tbody tr:last-child th, .sh-table tbody tr:last-child td { border-bottom: 0; }
.sh-table.sh-table-2col th[scope="row"] { width: 38%; background: color-mix(in srgb, var(--color-primary, #222) 6%, var(--color-surface, #fff)); }

/* Stat band */
.sh-stat-band { background: var(--color-primary, #222); }
.sh-stat-band .sh-stats { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-around; }
.sh-stat { flex: 1 1 160px; text-align: center; color: var(--sitehub-on-primary-fg, #fff); }
.sh-stat-num { display: block; font-family: var(--font-heading, inherit) !important; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; line-height: 1.05; color: var(--color-accent, #fff); }
.sh-stat-label { display: block; margin-top: 6px; font-size: 0.95rem; opacity: 0.9; letter-spacing: 0.02em; }

/* Process steps */
.sh-process { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); counter-reset: sh-step; }
.sh-step { background: var(--color-surface, #fff); border-radius: var(--border-radius, 10px); padding: 26px 22px; border: 1px solid color-mix(in srgb, var(--color-muted, #888) 22%, transparent); }
.sh-step-num { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--color-primary, #222); color: var(--sitehub-on-primary-fg, #fff); font-family: var(--font-heading, inherit) !important; font-weight: 700; margin-bottom: 14px; }
.sh-step h3 { font-family: var(--font-heading, inherit); color: var(--color-text, #1a1a1a); margin: 0 0 8px; }
.sh-step p { color: var(--color-muted, #555); margin: 0; }

/* FAQ */
.sh-faq-list { display: grid; gap: 12px; max-width: 820px; }
.sh-faq-item { background: var(--color-surface, #fff); border: 1px solid color-mix(in srgb, var(--color-muted, #888) 22%, transparent); border-radius: var(--border-radius, 10px); padding: 4px 20px; }
.sh-faq-item summary { cursor: pointer; padding: 16px 0; font-family: var(--font-heading, inherit) !important; font-weight: 600; color: var(--color-text, #1a1a1a); list-style: none; position: relative; padding-right: 28px; }
.sh-faq-item summary::-webkit-details-marker { display: none; }
.sh-faq-item summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); color: var(--color-accent, var(--color-primary, #222)); font-size: 1.4rem; line-height: 1; }
.sh-faq-item[open] summary::after { content: "\2212"; }
.sh-faq-item p { color: var(--color-muted, #555); margin: 0 0 16px; }

/* Pricing tiers */
.sh-pricing { display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.sh-tier { background: var(--color-surface, #fff); border: 1px solid color-mix(in srgb, var(--color-muted, #888) 22%, transparent); border-radius: var(--border-radius, 10px); padding: 28px 24px; display: flex; flex-direction: column; }
.sh-tier h3 { font-family: var(--font-heading, inherit); color: var(--color-text, #1a1a1a); margin: 0 0 8px; }
.sh-tier-price { font-family: var(--font-heading, inherit) !important; font-size: 1.9rem; font-weight: 700; color: var(--color-primary, #222); margin: 0 0 16px; }
.sh-tier-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sh-tier-list li { color: var(--color-muted, #555); padding-left: 24px; position: relative; }
.sh-tier-list li::before { content: "\2713"; position: absolute; left: 0; color: var(--color-accent, var(--color-primary, #222)); font-weight: 700; }

/* Featured testimonial */
.sh-testimonial-feature .container { max-width: 900px; text-align: center; }
.sh-feature-quote { font-family: var(--font-heading, inherit) !important; font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.35; color: var(--color-text, #1a1a1a); margin: 0 0 18px; quotes: "\201C" "\201D"; }
.sh-feature-cite { color: var(--color-muted, #555); font-style: normal; font-weight: 600; }

/* Bar chart — CSS-only; fill heights are % of the largest value */
.sh-bars { display: flex; align-items: flex-end; justify-content: space-around; gap: 14px; height: 260px; padding: 26px 4px 0; border-bottom: 2px solid color-mix(in srgb, var(--color-muted, #94a3b8) 30%, transparent); }
.sh-bar { flex: 1 1 0; min-width: 0; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.sh-bar-fill { position: relative; width: 66%; max-width: 78px; min-height: 4px; max-height: 100%; background: linear-gradient(180deg, var(--color-primary, #222), color-mix(in srgb, var(--color-primary, #222) 78%, var(--color-background, #fff))); border-radius: 10px 10px 0 0; }
.sh-bar-value { position: absolute; top: -24px; left: 50%; transform: translateX(-50%); font-family: var(--font-heading, inherit) !important; font-weight: 700; font-size: .95rem; color: var(--color-text, #1a1a1a); white-space: nowrap; }
.sh-bar-label { margin-top: 12px; font-size: .85rem; color: var(--color-muted, #555); text-align: center; line-height: 1.2; }

/* Donut chart — conic-gradient ring + legend */
.sh-donut-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: clamp(24px, 5vw, 56px); }
.sh-donut { position: relative; width: clamp(160px, 40vw, 220px); aspect-ratio: 1; border-radius: 50%; flex: 0 0 auto; }
.sh-donut::after { content: ""; position: absolute; inset: 27%; background: var(--color-background, #fff); border-radius: 50%; }
.sh-donut-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sh-donut-legend li { display: flex; align-items: center; gap: 10px; color: var(--color-text, #1a1a1a); font-size: .95rem; }
.sh-donut-legend .sh-dot { width: 14px; height: 14px; border-radius: 4px; flex: 0 0 auto; }

/* Progress bars — labelled horizontal % bars */
.sh-progress-list { display: grid; gap: 20px; max-width: 720px; }
.sh-progress-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.sh-progress-head span:first-child { color: var(--color-text, #1a1a1a); font-weight: 600; }
.sh-progress-num { font-family: var(--font-heading, inherit) !important; font-weight: 700; color: var(--color-primary, #222); }
.sh-progress-track { height: 12px; border-radius: 999px; background: color-mix(in srgb, var(--color-muted, #94a3b8) 24%, transparent); overflow: hidden; }
.sh-progress-fill { height: 100%; max-width: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--color-primary, #222), var(--color-accent, var(--color-primary, #222))); }

@media (max-width: 640px) {
  .sh-stat-band .sh-stats { gap: 16px; }
  .sh-stat { flex-basis: 40%; }
  /* A 2-col spec table in a horizontal scroller hides its value column off-screen on a phone — stack each
     row (label above value, full width) instead so both are readable without sideways scrolling. */
  .sh-table.sh-table-2col, .sh-table.sh-table-2col tbody, .sh-table.sh-table-2col tr { display: block; width: 100%; }
  .sh-table.sh-table-2col th[scope="row"] { display: block; width: auto; background: transparent; border-bottom: 0; padding: 12px 16px 2px; color: var(--color-primary, #222); }
  .sh-table.sh-table-2col td { display: block; width: auto; padding: 0 16px 14px; border-bottom: 1px solid color-mix(in srgb, var(--color-muted, #888) 22%, transparent); }
  .sh-table.sh-table-2col tr:last-child td { border-bottom: 0; }
}


/* ── SiteHub content-grid resilience (post-processed) ── */
.content-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr)}
.content-grid>*{min-width:0}
.content-grid table,.content-grid .sh-table{width:100%;max-width:100%;table-layout:fixed}
.content-grid table td,.content-grid table th,.content-grid .sh-table td,.content-grid .sh-table th{overflow-wrap:anywhere;word-break:normal}
@media(max-width:820px){.content-grid{grid-template-columns:1fr}}

/* ── SiteHub mobile nav enforcement (post-processed) ── */
@media (max-width: 767px) {
  nav #nav-links, #nav-links { background: rgba(255,255,255,.99) !important; }
  nav #nav-links a, #nav-links a { color: #4b2e1f !important; }
}

/* ── SiteHub inner hero overlay (post-processed) ── */
.sitehub-inner-hero{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:clamp(300px,44vh,460px);overflow:hidden;text-align:center}.sitehub-inner-hero.sitehub-inner-hero--image{background-image:linear-gradient(180deg,rgba(15,23,42,.58),rgba(15,23,42,.48)),url('hero-800x400.jpg?v=1791532700539');background-position:center 25%;background-size:cover}.sitehub-inner-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.22) 0%,rgba(15,23,42,.1) 38%,rgba(15,23,42,.28) 100%);opacity:0;transition:opacity .2s ease;z-index:0}.sitehub-inner-hero.sitehub-inner-hero--image::before{opacity:1}.sitehub-inner-hero>.container,.sitehub-inner-hero .sitehub-inner-hero-content{position:relative;z-index:1}.sitehub-inner-hero.sitehub-inner-hero--image .page-title,.sitehub-inner-hero.sitehub-inner-hero--image .lead,.sitehub-inner-hero.sitehub-inner-hero--image p,.sitehub-inner-hero.sitehub-inner-hero--image a{color:#fff !important;text-shadow:0 2px 20px rgba(0,0,0,.24)}.sitehub-inner-hero.sitehub-inner-hero--image .text-link{text-decoration-color:rgba(255,255,255,.85)}@media (max-width:767px){.sitehub-inner-hero{min-height:clamp(240px,34vh,320px)}}

/* ── SiteHub editorial split hero enhancement (post-processed) ── */
#hero.hero-split{position:relative;min-height:clamp(540px,78svh,760px);margin-top:0 !important;padding-top:0 !important;display:grid !important;grid-template-columns:minmax(320px,.92fr) minmax(320px,1.08fr);align-items:stretch;background:none !important;color:white;text-align:left}#hero.hero-split::before{display:none !important}#hero.hero-split .hero-split-text{position:relative;display:flex;align-items:stretch;justify-content:flex-start;padding-top:0 !important;background:linear-gradient(155deg,color-mix(in srgb,var(--color-primary,#0f172a) 88%,#000) 0%,color-mix(in srgb,var(--color-primary,#0f172a) 70%,var(--color-secondary,#c08457) 30%) 100%);overflow:hidden}#hero.hero-split .hero-split-text::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(255,255,255,.14),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.06),transparent 35%)}#hero.hero-split .hero-content{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-content:center;max-width:560px;padding:clamp(16px,2.6vw,34px) clamp(24px,4vw,52px) clamp(20px,3vw,38px);text-align:left}#hero.hero-split h1{width:100%;font-size:clamp(2.15rem,4vw,4rem);line-height:.94;margin:0 0 .75rem;text-wrap:balance}#hero.hero-split p{width:100%;font-size:clamp(.98rem,1.3vw,1.08rem);line-height:1.58;max-width:31rem;margin:0 0 1.15rem;color:rgba(255,255,255,.86)}#hero.hero-split .cta-button{margin:0 .65rem .65rem 0;padding:12px 22px;box-shadow:0 14px 28px rgba(0,0,0,.18)}#hero.hero-split .hero-split-image{position:relative;min-height:100%;margin-top:0 !important;padding-top:0 !important;background-image:linear-gradient(180deg,rgba(15,23,42,.02),rgba(15,23,42,.18)),url('hero-800x400.jpg?v=1791532700539');background-size:cover;background-position:center}#hero.hero-split .hero-split-image::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.18) 0%,transparent 22%,transparent 100%),radial-gradient(circle at center,transparent 45%,rgba(15,23,42,.18) 100%)}@media(max-width:860px){#hero.hero-split{grid-template-columns:1fr;min-height:auto}#hero.hero-split .hero-split-text{order:1;min-height:clamp(320px,56svh,560px)}#hero.hero-split .hero-split-image{order:2;min-height:clamp(240px,38svh,420px)}#hero.hero-split .hero-content{text-align:center;justify-content:center;padding:24px 22px 22px;max-width:min(100%,32rem)}#hero.hero-split h1{font-size:clamp(1.9rem,9vw,3rem);line-height:1}#hero.hero-split p{font-size:clamp(.98rem,3.6vw,1.05rem);line-height:1.55;margin-left:auto;margin-right:auto;margin-bottom:.95rem}#hero.hero-split .cta-button{margin:0 .5rem .75rem;padding:12px 20px}}@media(max-width:640px){#hero.hero-split .hero-split-text{min-height:clamp(300px,52svh,500px)}#hero.hero-split .hero-split-image{min-height:clamp(220px,34svh,320px)}#hero.hero-split .hero-content{padding:22px 18px 18px}#hero.hero-split .hero-actions{display:flex;flex-direction:column;align-items:center;gap:10px}#hero.hero-split .hero-actions>.cta-button,#hero.hero-split .hero-actions>.btn.btn-secondary{width:auto;max-width:min(440px,100%);margin:0}}#hero.hero-split .hero-split-text:not(:has(> .hero-content)){flex-direction:column;justify-content:center;padding:clamp(24px,4vw,56px) clamp(24px,4vw,52px)}#hero.hero-split .hero-split-text > .cta-button,#hero.hero-split .hero-split-text > .btn{align-self:flex-start;width:auto;display:inline-flex}html #hero.hero-split .hero-split-text > .hero-content{margin-top:auto !important;margin-bottom:auto !important}@media(max-width:860px){#hero.hero-split .hero-split-text > .cta-button,#hero.hero-split .hero-split-text > .btn{align-self:center}}html #hero.hero-split{padding:0 !important}html #hero.hero-split .hero-split-text,html #hero.hero-split .hero-split-image{overflow:hidden !important}

/* ── SiteHub Art-Director corrective overrides (post-build, self-checked) ── */
.hero-split-text .hero-content{width:100%;max-width:var(--max-width);padding:0}.hero-split h1{line-height:1.08;letter-spacing:-.03em}.hero-split .hero-copy{line-height:1.55}.section .container>p{max-width:760px;margin-left:auto;margin-right:auto}.section .container>p:last-child{margin-bottom:0}.about-photo{margin-top:4px;margin-bottom:30px}.about-photo~p{max-width:780px;margin-bottom:1.15rem}.cards-grid{align-items:stretch;gap:28px;margin-top:34px}.card{padding:28px}.card-photo{width:calc(100% + 56px);margin:-28px -28px 22px}.card h3{font-size:1.25rem;line-height:1.2;margin-bottom:10px}.card p{line-height:1.55}.outcome-grid,.team-grid{gap:22px}.testimonials-grid{gap:26px}.testimonial-card{padding:28px}.gallery-grid{gap:22px}.gallery-item img{display:block}.contact-details-row{row-gap:18px}@media(max-width:767px){.section{padding:56px 20px}.hero-split{display:grid;grid-template-columns:1fr;min-height:0}.hero-split-text{padding:64px 28px 58px}.hero-split-image{min-height:54vw;max-height:360px;background-size:cover!important}.hero-split h1{font-size:clamp(2.25rem,11vw,3.7rem)}.hero-split p{font-size:1.05rem;letter-spacing:.08em}.cards-grid,.outcome-grid,.team-grid,.testimonials-grid,.gallery-grid{grid-template-columns:1fr;gap:20px}.card{padding:24px}.card-photo{width:calc(100% + 48px);margin:-24px -24px 20px}.outcome-grid div{padding:20px}.gallery-item img{height:220px}.section h2{font-size:clamp(1.65rem,8vw,2.2rem);line-height:1.12;margin-bottom:1.1rem}}

/* ── SiteHub readable text on brand-coloured sections and links (post-processed) ── */
section h2:after, section h2:after :is(h1,h2,h3,h4,h5,h6,p,blockquote,cite,small,figcaption,q){color:#111827 !important}
.outcomes :is(cite,small,figcaption){color:#ffffff !important;opacity:.9}
.sh-testimonial-feature :is(cite,small,figcaption){color:#ffffff !important;opacity:.9}
.contact-icon-circle :is(cite,small,figcaption){color:#ffffff !important;opacity:.9}
.social-circle :is(cite,small,figcaption){color:#ffffff !important;opacity:.9}
.sh-table thead th, .sh-table thead th :is(h1,h2,h3,h4,h5,h6,p,blockquote,cite,small,figcaption,q){color:#ffffff !important}
/* Stat band */
.sh-stat-band, /* Stat band */
.sh-stat-band :is(h1,h2,h3,h4,h5,h6,p,blockquote,cite,small,figcaption,q){color:#ffffff !important}
.sh-step-num, .sh-step-num :is(h1,h2,h3,h4,h5,h6,p,blockquote,cite,small,figcaption,q){color:#ffffff !important}

/* === SITEHUB ART-DIRECTOR HERO FIT === */
@media (min-width: 861px) {
  #hero.hero-split .hero-split-text .hero-content > h1,
  #hero.hero-split .hero-split-text .hero-content > .sitehub-hero-heading,
  #hero.hero-split .hero-split-text .hero-content > .hero-title,
  #hero.hero-split .hero-split-text h1,
  #hero:not(.hero-split) .hero-content h1,
  #hero:not(.hero-split) h1 {
    font-size: clamp(1.39rem, 1.97vw, 2.31rem) !important;
    line-height: 1.03 !important;
    text-wrap: balance !important;
  }
}
/* === END ART-DIRECTOR HERO FIT === */

/* === SITEHUB COLOURS === */
:root{--color-primary:#1C5A73 !important;--primary-color:#1C5A73 !important;--color-secondary:#103A4C !important;--secondary-color:#103A4C !important;--accent-color:#E08A2C !important;--color-accent:#E08A2C !important}
a, .accent, .highlight { color: #E08A2C !important; }
html nav #nav-links .nav-more-trigger, html nav #nav-links .nav-more-trigger:hover, html nav #nav-links .nav-more-trigger:focus, html nav #nav-links .nav-more-trigger:focus-visible { border: 0 !important; outline: none !important; box-shadow: none !important; background: transparent !important; }
html nav #nav-links .nav-more-trigger:hover { color: inherit !important; }
html nav #nav-links a:focus, html nav #nav-links a:focus-visible { outline: none !important; box-shadow: none !important; }
html nav #nav-links a:focus-visible, html nav #nav-links .nav-more-trigger:focus-visible { text-decoration: underline !important; text-decoration-color: currentColor !important; text-underline-offset: 6px !important; text-decoration-thickness: 2px !important; }
.cta-button, #hero .cta-button, .btn:not(.btn-secondary), button.cta-button { background: #103A4C !important; border-color: transparent !important; }
html #hero.hero-split .hero-split-text .hero-content > .cta-button, html #hero.hero-split .hero-split-text .hero-content .hero-actions > .cta-button, html #hero .cta-button { background: #103A4C !important; border-color: transparent !important; color: #ffffff !important; }
/* === END SITEHUB COLOURS === */


/* ===== SiteHub premium refinements (auto-appended) ===== */
:root{--sh-shadow:0 8px 20px rgba(15,23,42,.13);--sh-shadow-hover:0 14px 30px rgba(15,23,42,.2)}
html{-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img{max-width:100%}
a{transition:color .15s ease,opacity .15s ease}
:where(a,button,[role="button"]):focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
::selection{background:color-mix(in srgb,var(--color-primary,#0ea5e9) 20%,#ffffff)}
.cta-button,a.cta-button,button.cta-button,.btn,button.btn,a.btn{
  border-radius:clamp(10px,var(--border-radius,12px),16px);
  box-shadow:var(--sh-shadow);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.cta-button:hover,.btn:hover{transform:translateY(-2px);box-shadow:var(--sh-shadow-hover);filter:brightness(1.04)}
.cta-button:active,.btn:active{transform:translateY(0);box-shadow:0 6px 16px rgba(15,23,42,.16)}
@media(prefers-reduced-motion:reduce){.cta-button,.btn,a{transition:none}.cta-button:hover,.btn:hover{transform:none}}
/* Split hero: STACK to a single column on phones/tablets. The generated split-hero rule sets a 2-column grid
   with !important, which overrides the non-!important stack rule — so on a ~412px phone each column is ~198px
   and long headings clip. This mobile-only override (loaded last, also !important) restores the stack. */
@media(max-width:860px){#hero.hero-split{grid-template-columns:1fr !important}#hero.hero-split .hero-split-text .hero-content{width:min(100%,32rem) !important}}
/* Angled section edges: the AI sometimes clips sections with clip-path:polygon() for a diagonal look. The %
   offsets are relative to the section's OWN height, so on a tall+narrow phone the slant becomes STEEP and slices
   into the section's heading/first line (headings appear "covered"). Flatten these decorative clips on small
   screens so nothing is cut off. Loaded last + !important so it beats the generated (non-!important) clip. */
@media(max-width:768px){section,[class*="hero"],[class*="banner"],[class*="cta-section"],[class*="angle"],[class*="slant"],[class*="diagonal"]{clip-path:none !important}}

/* === SITEHUB HEADER FIT === */
@media (min-width:1025px){
header .nav-inner{flex-wrap:nowrap}
header nav #nav-links{flex-wrap:nowrap !important}
header .sh-hdr-tools{flex:0 1 auto;min-width:0}
header .sh-site-search{flex:0 1 auto;min-width:0}
header .sh-site-search form{min-width:0}
header .sh-site-search input{min-width:0}
}
/* === END SITEHUB HEADER FIT === */
/* === SITEHUB CUSTOM STYLING === */
/* Auto-generated from user styling preferences */

:root {
  --color-primary: #1C5A73 !important;
  --primary-color: #1C5A73 !important;
  --primary-blue: #1C5A73 !important;
  --color-secondary: #103A4C !important;
  --secondary-color: #103A4C !important;
  --secondary-blue: #103A4C !important;
  --accent-color: #E08A2C !important;
  --text-color: #17282E !important;
  --background-color: #FAFBFB !important;
  --nav-fg: #1C5A73 !important;
  --sitehub-header-nav-fg: #1C5A73 !important;
  --logo-filter: none !important;
  --sitehub-logo-max-height: 160px !important;
  --sitehub-hero-section-bg: #ffffff !important;
  --sitehub-hero-panel-bg: var(--color-primary, #5baed3) !important;
  --sitehub-hero-text: #ffffff !important;
  --font-heading: Manrope, Arial, sans-serif !important;
  --heading-font: Manrope, Arial, sans-serif !important;
  --font-body: 'Source Sans 3', Arial, sans-serif !important;
  --body-font: 'Source Sans 3', Arial, sans-serif !important;
}

nav #nav-links a, nav #nav-links .nav-more-trigger, nav #nav-links .sub-nav a, .brand-name, #hamburger { color: #1C5A73 !important; }

#hero.hero-split .cta-button, #hero .cta-button { background: #E08A2C !important; border-color: transparent !important; }

#hero.hero-split .cta-button, #hero .cta-button { color: #1C5A73 !important; }
#hero.hero-split .btn.btn-secondary, #hero .btn.btn-secondary { color: #1C5A73 !important; border-color: #1C5A7366 !important; }

#hero.hero-split .hero-actions { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; align-items: stretch !important; }
#hero.hero-split .hero-actions > .cta-button, #hero.hero-split .hero-actions > .btn.btn-secondary { display: inline-flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; min-height: 48px !important; width: auto !important; max-width: 100% !important; padding: 12px 20px !important; line-height: 1.2 !important; white-space: normal !important; border-width: 1px !important; border-style: solid !important; border-radius: 9999px !important; flex: 1 1 180px !important; }
#hero.hero-split .hero-actions > .cta-button { border-color: transparent !important; }

#hero.hero-split { background-image: none !important; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
#hero.hero-split::before, #hero.hero-split::after { display: none !important; background: none !important; background-image: none !important; }
#hero.hero-split .hero-split-text { position: relative !important; z-index: 2 !important; }
#hero.hero-split .hero-split-text .hero-content { max-width: none !important; width: 100% !important; margin: 0 !important; position: relative !important; z-index: 3 !important; }
#hero.hero-split .hero-split-image { display: block !important; min-height: clamp(520px, 72svh, 760px) !important; position: relative !important; z-index: 1 !important; background-image: url('entrepreneurs-network-cape-town/hero-800x400.jpg?v=1791532700539'); background-position: 50% 50% !important; background-size: auto 100%; background-repeat: no-repeat !important; }
.sitehub-hero-motion .sitehub-hero-motion-media video { object-position: 50% 50% !important; transform: scale(1.00) !important; transform-origin: 50% 50% !important; }
@media (max-width: 860px) { #hero.hero-split { min-height: auto !important; } #hero.hero-split .hero-split-text { min-height: clamp(320px, 56svh, 560px) !important; padding: clamp(20px, 6vw, 32px) !important; } #hero.hero-split .hero-content { max-width: min(100%, 32rem) !important; } #hero.hero-split h1 { font-size: clamp(1.9rem, 9vw, 3rem) !important; line-height: 1 !important; } #hero.hero-split p { font-size: clamp(.98rem, 3.6vw, 1.05rem) !important; line-height: 1.55 !important; margin-bottom: .95rem !important; } #hero.hero-split .eyebrow { font-size: .72rem !important; letter-spacing: .16em !important; margin-bottom: .75rem !important; } #hero.hero-split .hero-split-image { min-height: clamp(240px, 38svh, 420px) !important; } }
@media (max-width: 860px) { #hero.hero-split { grid-template-columns: 1fr !important; } #hero.hero-split .hero-split-text .hero-content { width: min(100%, 32rem) !important; } }
@media (max-width: 640px) { #hero.hero-split .hero-split-text { min-height: clamp(300px, 52svh, 500px) !important; } #hero.hero-split .hero-split-image { min-height: clamp(220px, 34svh, 320px) !important; } #hero.hero-split .hero-actions { flex-direction: column !important; align-items: center !important; gap: 10px !important; } #hero.hero-split .hero-actions > .cta-button, #hero.hero-split .hero-actions > .btn.btn-secondary { width: auto !important; max-width: min(440px, 100%) !important; flex: 0 1 auto !important; } }
#hero.hero-split .hero-split-text .hero-content > .cta-button, #hero.hero-split .hero-split-text .hero-content .hero-actions > .cta-button { background: rgba(16, 58, 76, 1) !important; color: #ffffff !important; border: 1px solid transparent !important; border-radius: 999px !important; }
#hero.hero-split .hero-split-text .hero-content > .btn.btn-secondary, #hero.hero-split .hero-split-text .hero-content .hero-actions > .btn.btn-secondary { background: rgba(0, 0, 0, 0) !important; color: #ffffff !important; border: 1px solid #ffffff !important; border-radius: 999px !important; }

.sitehub-hero-motion .sitehub-hero-motion-media video { object-position: 50% 50% !important; transform: scale(1.00) !important; transform-origin: 50% 50% !important; }

@media (max-width: 1024px) { #hamburger { display: block !important; } header .nav-inner { min-height: 78px !important; } header img.logo { max-height: 64px !important; max-width: min(230px, 52vw) !important; } nav #nav-links { display: none !important; flex-direction: column !important; align-items: stretch !important; gap: 0 !important; position: absolute !important; top: 78px; left: 0; right: 0; background: rgba(255,255,255,.99) !important; padding: 10px 20px !important; z-index: 999 !important; border-top: 1px solid rgba(0,0,0,.1) !important; box-shadow: 0 16px 32px rgba(15,23,42,.12) !important; } nav #nav-links.open { display: flex !important; } nav #nav-links li { width: 100% !important; } nav #nav-links a, nav #nav-links .nav-more-trigger { display: flex !important; width: 100% !important; justify-content: space-between !important; padding: 12px 0 !important; } header .brand-name { max-width: min(70vw, 340px) !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; display: block !important; line-height: 1.12 !important; font-size: clamp(0.72rem, 3.2vw, 1.05rem) !important; } }

@media (max-width: 860px) { #hero.hero-split { min-height: auto !important; } #hero.hero-split .hero-split-text { min-height: clamp(320px, 56svh, 560px) !important; padding: clamp(20px, 6vw, 32px) !important; } #hero.hero-split .hero-content { max-width: min(100%, 32rem) !important; } #hero.hero-split h1 { font-size: clamp(1.9rem, 9vw, 3rem) !important; line-height: 1 !important; } #hero.hero-split p { font-size: clamp(.98rem, 3.6vw, 1.05rem) !important; line-height: 1.55 !important; margin-bottom: .95rem !important; } #hero.hero-split .eyebrow { font-size: .72rem !important; letter-spacing: .16em !important; margin-bottom: .75rem !important; } #hero.hero-split .hero-split-image { min-height: clamp(240px, 38svh, 420px) !important; } }

@media (max-width: 640px) { #hero.hero-split .hero-split-text { min-height: clamp(300px, 52svh, 500px) !important; } #hero.hero-split .hero-split-image { min-height: clamp(220px, 34svh, 320px) !important; } #hero.hero-split .hero-actions { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; } #hero.hero-split .hero-actions > .cta-button, #hero.hero-split .hero-actions > .btn.btn-secondary { width: 100% !important; max-width: none !important; flex: 1 1 auto !important; } }

body, p:not(#hero *), li:not(#hero *), td { color: #17282E !important; }

a, .accent, .highlight { color: #E08A2C !important}
a, .accent, .highlight { color: #E08A2C !important; }

body { background-color: #FAFBFB !important; }

#hero.hero-split .hero-split-text .hero-content > .cta-button, #hero.hero-split .hero-split-text .hero-content .hero-actions > .cta-button { background: rgba(16, 58, 76, 1) !important; color: #ffffff !important; border: 1px solid transparent !important; border-radius: 999px !important; }
#hero.hero-split .hero-split-text .hero-content > .btn.btn-secondary, #hero.hero-split .hero-split-text .hero-content .hero-actions > .btn.btn-secondary { background: rgba(0, 0, 0, 0) !important; color: #ffffff !important; border: 1px solid #ffffff !important; border-radius: 999px !important; }
header img.logo, .logo, .site-logo { max-height: var(--sitehub-logo-max-height) !important; width: auto !important; }

header img.logo, header .logo img, header .site-logo, header img[alt*="logo" i], img.logo, .site-logo { filter: var(--logo-filter, none) !important; }

/* === END CUSTOM STYLING === */

/* ── SiteHub brand name (start) ── */
html a.brand:has(img) .brand-name, html .brand:has(img.logo) .brand-name { display: none !important; }
/* ── SiteHub brand name (end) ── */
