@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{--color-primary:#111827;--color-secondary:#c8a96a;--color-accent: #e9ae49;--color-background: #f5f6f6;--color-surface: #ecedee;--color-text: #1A1A22;--color-muted: #6B7280;--nav-fg: #ffffff;--logo-filter: none;--font-heading: Manrope, Arial, sans-serif;--font-body: 'Source Sans 3', Arial, sans-serif;--section-padding:86px 20px;--max-width:1100px;--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)}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)}header .nav-inner{max-width:var(--max-width);margin:auto;padding:8px 20px;display:flex!important;justify-content:space-between;align-items:center;min-height:70px}.logo{max-height:54px;max-width:min(220px,38vw);object-fit:contain}.brand{display:flex;align-items:center}.primary-nav{display:flex;align-items:center}#nav-links{display:flex;align-items:center;gap:22px;list-style:none}#nav-links a,#nav-links button{color:var(--nav-fg);text-decoration:none;font-size:.9rem;font-weight:600;background:none;border:0;cursor:pointer}#nav-links a:hover{color:var(--color-secondary)}.nav-cta a{background:var(--color-secondary);padding:10px 16px;border-radius:0!important;text-transform:uppercase;letter-spacing:.1em}.nav-more{position:relative}.sub-nav{display:none;position:absolute;right:0;top:28px;background:var(--color-primary);padding:14px 18px;list-style:none;min-width:150px;border:1px solid #394050}.nav-more:hover .sub-nav{display:block}#hamburger{display:none;color:white;background:none;border:0;font-size:1.5rem}.section{padding:var(--section-padding)}.section-heading{text-align:center;margin-bottom:25px}.eyebrow{color:var(--color-accent);font-size:.72rem;font-weight:700;letter-spacing:.16em}.section h2{color:var(--color-primary);font-size:clamp(1.7rem,3vw,2.4rem);margin-top:8px}.section h2:after{content:'';display:block;width:48px;height:3px;background:var(--color-secondary);margin:12px auto 0;border-radius:2px}.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;align-items:center;padding:70px}.hero-content{max-width:560px}.hero-content h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1.05;margin:18px 0}.hero-content p{font-size:1.2rem;color:#f4f1e8}.hero-split-image{background:linear-gradient(90deg,rgba(17,24,39,.15),rgba(17,24,39,.05)),url('hero-800x400.jpg?v=1787090554345') center/cover}.cta-button{display:inline-block;background:var(--color-secondary);color:#111827;padding:15px 28px;border-radius:0;text-transform:uppercase;letter-spacing:.1em;font-weight:700;text-decoration:none}.cta-button:hover{background:#e2c27d;box-shadow:4px 4px 0 var(--color-accent)}#about{background:#fff}#about p{max-width:850px;margin:0 auto 20px;text-align:center;font-size:1.08rem}#offerings{background:#f1ede4}.section>p,.container>p{text-align:center;max-width:760px;margin:0 auto 20px}.cards-grid,.testimonials-grid,.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:32px}.card{background:#fff;border:1px solid #e0e0e0;border-radius:var(--border-radius);box-shadow:0 4px 14px rgba(17,24,39,.06);overflow:hidden;padding-bottom:24px;transition:.25s}.card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(17,24,39,.13)}.card-photo{width:100%;height:180px;object-fit:cover;display:block;margin-bottom:20px}.card-icon{width:56px;height:56px;border-radius:50%;background:#f4ead5;display:flex;align-items:center;justify-content:center;margin:0 auto 15px}.card-icon i{color:var(--color-accent);font-size:1.3rem}.card h3,.card p{padding:0 24px;text-align:center}.card h3{margin-bottom:8px}.testimonial-card{background:#fff;border:1px solid #e0e0e0;border-radius:var(--border-radius);padding:25px;box-shadow:0 3px 12px #1118270d}.testimonial-card blockquote{font-style:italic;margin-bottom:15px}.testimonial-card cite{font-size:.85rem;color:var(--color-muted)}#gallery{background:#fff}.gallery-item{overflow:hidden;border-radius:var(--border-radius)}.gallery-item img{width:100%;height:260px;object-fit:cover;display:block;transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.contact-details-row{display:flex;justify-content:center;gap:35px;flex-wrap:wrap;margin:30px 0}.contact-item{display:flex;gap:10px;align-items:center}.contact-item a{color:var(--color-text)}.contact-icon-circle{width:42px;height:42px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center}.form-wrapper{overflow:hidden;border-radius:var(--border-radius);border:1px solid #ddd;box-shadow:0 4px 18px #11182712}.sh-ftr{background:var(--color-primary);color:#fff;padding:42px 20px}.sh-ftr-inner{max-width:var(--max-width);margin:auto}.sh-ftr-cols{display:flex;justify-content:space-between;gap:30px}.sh-ftr-name{font-family:var(--font-heading);font-size:1.3rem;font-weight:700}.sh-ftr h4{color:var(--color-secondary);margin-bottom:8px}.sh-ftr ul{list-style:none}.sh-ftr a{color:#fff}.sh-ftr-bar{border-top:1px solid #ffffff2b;margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;font-size:.85rem}.sh-ftr-legal a{color:var(--color-secondary)}@media(max-width:767px){header .nav-inner{min-height:70px}.primary-nav{margin-left:auto}#hamburger{display:block!important;margin-left:16px;min-width:44px;min-height:44px}#nav-links{display:none!important;position:absolute;top:70px;left:0;right:0;flex-direction:column!important;align-items:stretch;gap:0!important;background:var(--color-primary)!important;padding:12px 20px;z-index:999}#nav-links.open{display:flex!important}#nav-links li{border-bottom:1px solid #ffffff1c;padding:7px 0}#nav-links a,#nav-links button{display:flex;align-items:center;min-height:44px;color:var(--nav-fg)!important}.sub-nav{display:block;position:static;background:transparent;border:0;padding-left:15px}.hero-split{grid-template-columns:1fr;min-height:0}.hero-split-text{padding:70px 25px;min-height:65vh}.hero-split-image{min-height:42vh}.section{padding:65px 16px}.cards-grid,.testimonials-grid,.gallery-grid{grid-template-columns:1fr}.sh-ftr-cols,.sh-ftr-bar{flex-direction:column;gap:20px}.sh-ftr-bar{margin-top:24px}}@media(min-width:768px){.cards-grid{grid-template-columns:repeat(2,1fr)}.testimonials-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.cards-grid{grid-template-columns:repeat(4,1fr)}}
/* ── SiteHub nav token enforcement (post-processed) ── */
:root{--sitehub-header-nav-fg:#111827;--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 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(1140px,calc(100% - 32px));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;max-width:70ch}article.section>.container{max-width:min(760px,calc(100% - 32px))}article.section figure{margin:1.6rem auto !important;max-width:min(100%,760px);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}.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}#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}


/* ── 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=1787090554345');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=1787090554345');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}}


/* ── SiteHub Art-Director corrective overrides (post-build, self-checked) ── */
header .nav-inner{min-height:84px}
.hero-split{min-height:calc(100vh - 84px)}
.hero-split-text{padding:clamp(48px,6vw,78px)}
.hero-content h1{letter-spacing:-.035em}
.hero-content p{max-width:48ch;margin-bottom:1.5rem}
.section{padding:clamp(64px,7vw,86px) 20px}
.section-heading{margin-bottom:32px}
.section>p,.container>p{line-height:1.7}
.cards-grid,.testimonials-grid,.gallery-grid{gap:28px;margin-top:36px}
.card{padding-bottom:28px}
.card h3{font-size:1.15rem;line-height:1.3;color:var(--color-primary)}
.card p{line-height:1.55;color:var(--color-muted)}
.testimonial-card{padding:28px}
.contact-details-row{row-gap:18px}
@media(max-width:767px){.hero-split{min-height:0}.hero-split-text{padding:56px 20px 64px}.hero-content h1{font-size:clamp(2.35rem,11vw,3.4rem)}.hero-content p{font-size:1.08rem}.section{padding:58px 16px}.section-heading{margin-bottom:26px}.cards-grid,.testimonials-grid,.gallery-grid{gap:20px;margin-top:28px}.card-photo{height:170px}.container{padding:0 4px}}

/* === 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.93rem, 2.73vw, 3.22rem) !important;
    line-height: 1.03 !important;
    text-wrap: balance !important;
  }
}
/* === END ART-DIRECTOR HERO FIT === */


/* ===== 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}}

.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}

/* === SITEHUB CUSTOM STYLING === */
/* Auto-generated from user styling preferences */

:root {
  --logo-filter: none !important;
  --sitehub-logo-max-height: 40px !important;
  --sitehub-hero-section-bg: #ffffff !important;
  --sitehub-hero-panel-bg: #5baed3 !important;
  --sitehub-hero-text: #ffffff !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; 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; }
#hero.hero-split .hero-split-text { display: flex !important; align-items: center !important; justify-content: center !important; min-height: clamp(520px, 72svh, 760px) !important; padding: clamp(32px, 6vw, 72px) !important; position: relative !important; z-index: 2 !important; overflow: hidden !important; }
#hero.hero-split .hero-split-text .hero-content { width: min(84%, 560px) !important; max-width: 560px !important; margin: 0 auto !important; padding: 0 !important; display: block !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('hero-800x400.jpg'); background-position: 50% 50%; 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(245, 158, 11, 1) !important; color: #111827 !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; } }

#hero.hero-split .hero-split-text .hero-content > .cta-button, #hero.hero-split .hero-split-text .hero-content .hero-actions > .cta-button { background: rgba(245, 158, 11, 1) !important; color: #111827 !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; }

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

/* === SITEHUB COLOURS === */
:root{--color-primary:#27386b !important;--primary-color:#27386b !important;--color-secondary:#ffffff !important;--secondary-color:#ffffff !important;--accent-color:#27386b !important;--color-accent:#27386b !important;--text-color:#27386b !important;--color-text:#27386b !important;--nav-fg:#27386b !important;--sitehub-header-nav-fg:#27386b !important;--heading-color:#27386b !important;--footer-bg:#cfd0d3 !important;--color-surface:#ecedee !important;--surface-color:#ecedee !important;--color-muted:#6B7280 !important;--muted-color:#6B7280 !important;--sitehub-hero-text:#ffffff !important;--font-heading:'Montserrat', sans-serif !important;--heading-font:'Montserrat', sans-serif !important;--font-body:'Montserrat', sans-serif !important;--body-font:'Montserrat', sans-serif !important;--background-color:#f5f6f6 !important}
html header nav #nav-links a, html .site-header nav #nav-links a, html nav #nav-links a, html nav #nav-links .nav-more-trigger, html nav #nav-links .sub-nav a, html .brand-name, html #hamburger { color: #27386b !important; }
h1, h2, h3, h4, h5, h6, .section-heading, .section-title { color: #27386b !important; }
footer, .site-footer, .main-footer { background: #cfd0d3 !important; }
header, .site-header, .main-header, nav.site-nav { font-family: var(--font-heading, inherit) !important; }
header, .site-header, .main-header { border-bottom: 1px solid rgba(0,0,0,0.08) !important; }
body { background-color: #f5f6f6 !important; }
body, p, li, td { color: #27386b !important; }
a, .accent, .highlight { color: #27386b !important; }
#hero h1, #hero p, #hero .hero-title, #hero .hero-subtitle, #hero .hero-tagline, #hero .hero-content h1, #hero .hero-content p, #hero .eyebrow { color: #ffffff !important; }
html header nav #nav-links a:hover, html header nav #nav-links .nav-more-trigger:hover { color: #7d0909 !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: #7d0909 !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: #7d0909 !important; text-underline-offset: 6px !important; text-decoration-thickness: 2px !important; }
.cta-button, #hero .cta-button, .btn:not(.btn-secondary), button.cta-button { background: transparent !important; border: 2px solid #27386b !important; color: #27386b !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: transparent !important; border: 2px solid #27386b !important; color: #27386b !important; }
.cta-button, #hero .cta-button, .btn:not(.btn-secondary), button.cta-button { transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease !important; }
.cta-button:hover, #hero .cta-button:hover, .btn:not(.btn-secondary):hover, button.cta-button:hover { background: #7b7474 !important; border-color: #7b7474 !important; }
.cta-button:active, #hero .cta-button:active, .btn:not(.btn-secondary):active, button.cta-button:active { transform: translateY(1px) scale(0.99) !important; }
/* === END SITEHUB COLOURS === */
/* === 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 === */
