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

:root{--color-primary:#3F5B4C;--color-secondary:#2B3D34;--color-accent: #BE7548;--color-background: #F5F0E7;--color-surface: #ECE4D7;--color-text: #2E2A25;--color-muted: #857B6D;--nav-fg: #ffffff;--logo-filter: none;--font-heading: "Fraunces", "Cormorant Garamond", "Libre Baskerville", Georgia, serif;--font-body: "Nunito Sans", "Jost", "Karla", sans-serif;--section-padding:88px 20px;--max-width:1200px;--border-radius:2px}*,*: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:15px;line-height:1.7;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);font-weight:500;line-height:1.15}img{max-width:100%;height:auto}.container{max-width:var(--max-width);margin:auto;padding:0 20px}.narrow{max-width:760px}.site-header{position:sticky;top:0;z-index:10;background:var(--color-primary);color:#fff}.nav-inner{max-width:var(--max-width);margin:auto;padding:0 20px;min-height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.logo{width:44px;height:44px;object-fit:contain}.brand-name{color:#fff;font:600 1.25rem var(--font-heading)}nav #nav-links{display:flex;list-style:none;gap:22px;align-items:center}nav a{color:#fff;text-decoration:none;font-size:.86rem}nav a:hover{color:#f0c5a7}.nav-cta a{border:1px solid rgba(255,255,255,.7);padding:11px 15px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.nav-cta a:hover{background:#fff;color:var(--color-primary)}#hamburger{display:none;background:none;border:0;color:#fff;font-size:1.5rem;min-height:44px}.section{padding:var(--section-padding)}.eyebrow{display:block;color:var(--color-accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;margin-bottom:16px}.section h2{font-size:clamp(2rem,4vw,3.25rem);color:var(--color-primary);margin-bottom:20px}.section-intro{max-width:650px}.hero-split{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 76px)}.hero-split-text{background:var(--color-primary);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:70px clamp(30px,7vw,100px)}.hero-split-text h1{font-size:clamp(3rem,6vw,5.8rem);max-width:600px;margin-bottom:24px}.hero-split-text p{font-size:1.15rem;max-width:510px}.hero-split-image{background:linear-gradient(rgba(43,61,52,.18),rgba(43,61,52,.18)),url('img/c868888d5e6a1911.jpg') center/cover}.cta-button{display:inline-block;width:max-content;background:var(--color-accent);color:#fff;padding:15px 25px;border-radius:0;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:700;margin:15px 0}.reassurance{border-top:1px solid rgba(255,255,255,.35);margin-top:35px;padding-top:18px;display:flex;gap:12px;max-width:460px;font-size:.82rem}.reassurance i{color:#e4b494}.trust{padding:24px 20px;background:var(--color-secondary);color:#fff}.trust-row{display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;font-size:.8rem;letter-spacing:.03em}.trust i{color:#d59a73;margin-right:8px}.problem{background:#e6ddd0}.problem h2{font-size:clamp(2.2rem,5vw,4rem)}.about{background:var(--color-background)}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.about-photo{width:100%;height:470px;object-fit:cover;filter:saturate(.8)}.text-link{color:var(--color-primary);font-weight:700;text-decoration:none;border-bottom:1px solid var(--color-accent);padding-bottom:4px}.offerings{background:var(--color-surface)}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.card{background:var(--color-background);border:1px solid #d8cec0;padding:27px 22px;min-height:220px;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:0 12px 25px #2b3d341c;border-color:var(--color-accent)}.card-icon{width:45px;height:45px;border:1px solid var(--color-accent);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:20px}.card h3{font-size:1.35rem;margin-bottom:10px}.card p{font-size:.87rem}.quote-band{background:var(--color-primary);color:#fff;text-align:center}.quote-band h2{color:#fff}.quote-band p{max-width:650px;margin:auto}.quote-mark{font-size:2rem;color:#d7a27e;margin-bottom:20px}.process{background:var(--color-background)}.sh-process{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;gap:22px;margin-top:40px}.sh-step{border-top:1px solid var(--color-accent);padding-top:18px}.sh-step-num{display:block;color:var(--color-accent);font:1.8rem var(--font-heading);margin-bottom:20px}.sh-step h3{font-size:1.35rem;margin-bottom:10px}.sh-step p{font-size:.88rem}.resources{background:var(--color-surface)}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:35px 0}.resource-card{background:var(--color-background);padding:30px;text-decoration:none;color:var(--color-text);border:1px solid #d8cec0}.resource-card span{color:var(--color-accent);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.resource-card h3{color:var(--color-primary);font-size:1.55rem;margin:15px 0}.faq{background:var(--color-background)}details{border-top:1px solid #cfc4b5;padding:20px 0}details:last-of-type{border-bottom:1px solid #cfc4b5}summary{cursor:pointer;font:1.25rem var(--font-heading);color:var(--color-primary)}details p{padding-top:15px}.contact{text-align:center;background:#e6ddd0}.contact h2{font-size:clamp(2.4rem,5vw,4rem)}.contact-details-row{display:flex;justify-content:center;flex-wrap:wrap;gap:30px;margin:35px 0 15px}.contact-item{display:flex;align-items:center;gap:10px}.contact-item a{color:var(--color-text)}.contact-icon-circle{width:38px;height:38px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center}.social-links{display:flex;justify-content:center;margin:15px}.social-circle{display:flex;width:40px;height:40px;background:var(--color-primary);color:#fff;align-items:center;justify-content:center;text-decoration:none}.map-wrapper{margin:35px 0;overflow:hidden}.form-wrapper{overflow:hidden;border:1px solid #d5cbbb;background:#fff}.sh-ftr{background:var(--color-secondary);color:#fff;padding:38px 20px}.sh-ftr-inner{max-width:var(--max-width);margin:auto}.sh-ftr-cols{display:flex;justify-content:space-between}.sh-ftr-name{font:1.8rem var(--font-heading)}.sh-ftr h4{margin-bottom:12px}.sh-ftr ul{list-style:none}.sh-ftr a{color:#fff}.sh-ftr-bar{border-top:1px solid #ffffff33;margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;font-size:.8rem}@media(max-width:900px){nav #nav-links{gap:12px}.cards-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:30px}}@media(max-width:767px){.nav-inner{min-height:68px}#hamburger{display:block}nav #nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--color-primary);flex-direction:column;align-items:stretch;gap:0;padding:10px 20px}nav #nav-links.open{display:flex}nav #nav-links li{border-bottom:1px solid #ffffff22}nav #nav-links a{display:flex;align-items:center;min-height:44px;color:var(--nav-fg)}.nav-cta a{border:0;padding:0;text-transform:none;letter-spacing:0}.hero-split{grid-template-columns:1fr;min-height:0}.hero-split-text{min-height:72vh;padding:55px 25px}.hero-split-image{min-height:48vh}.section{padding:65px 16px}.container{padding:0 10px}.cards-grid,.sh-process,.resource-grid,.about-grid{grid-template-columns:1fr}.about-photo{height:360px}.contact-details-row{flex-direction:column;align-items:center}.sh-ftr-cols,.sh-ftr-bar{flex-direction:column;gap:18px}.sh-ftr-bar{align-items:center;text-align:center}}

/* ── SiteHub nav token enforcement (post-processed) ── */
:root{--sitehub-header-nav-fg:#3F5B4C;--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:#3F5B4C;color:#ffffff !important;border-color:#3F5B4C;}
#nav-links > li.nav-cta:not(.nav-cta-first) > a{background:transparent;color:#3F5B4C !important;border-color:#3F5B4C;}
html #hero .cta-button{background:#ffffff !important;color:#3F5B4C !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: "Nunito Sans", "Jost", "Karla", sans-serif !important; }
h1, h2, h3, h4, h5, h6, .brand-name, .stat-number { font-family: "Fraunces", "Cormorant Garamond", "Libre Baskerville", Georgia, 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 Art-Director corrective overrides (post-build, self-checked) ── */
.sh-cred-strip{padding:14px 20px;background:var(--color-surface);border-bottom:1px solid rgba(63,91,76,.18)}.sh-cred-inner{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:center}.sh-cred-chip{display:inline-flex;align-items:center;padding:7px 14px;border:1px solid var(--color-accent);border-radius:var(--border-radius);color:var(--color-primary);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.section h2{max-width:820px}.section-intro{margin-bottom:0}.cards-grid{gap:22px}.card{padding:28px 24px}.card p{line-height:1.6}.resource-card{transition:border-color .2s,box-shadow .2s}.resource-card:hover{border-color:var(--color-accent);box-shadow:0 8px 20px rgba(43,61,52,.1)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}@media(max-width:900px){.cards-grid{gap:20px}.hero-split-text{padding-left:clamp(30px,5vw,70px);padding-right:clamp(30px,5vw,70px)}}@media(max-width:767px){.sh-cred-strip{padding:12px 16px}.hero-split-text{min-height:0;padding:72px 25px 62px}.hero-split-text h1{font-size:clamp(2.8rem,13vw,4.2rem);margin-bottom:20px}.hero-split-text p{font-size:1.05rem}.reassurance{margin-top:28px}.section{padding-top:60px;padding-bottom:60px}.cards-grid{gap:16px}.card{min-height:0;padding:24px 20px}.card-icon{margin-bottom:16px}.contact-details-row{gap:20px}}

/* ── SiteHub readable text on brand-coloured sections and links (post-processed) ── */
.trust :is(cite,small,figcaption){color:#ffffff !important;opacity:.9}
.quote-band :is(cite,small,figcaption){color:#ffffff !important;opacity:.9}
.sh-step-num, .sh-step-num :is(h1,h2,h3,h4,h5,h6,p,blockquote,cite,small,figcaption,q){color:#ffffff !important}
.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}

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

/* ── 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) ── */

/* === SITEHUB COLOURS === */
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; }
/* === 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}}
/* ...and the one column may shrink to the screen: "1fr" never goes below its widest content, and a text block still
   carrying the desktop's side margin held Ubuntu Dawn's hero at 915px on a 397px phone, the words off the edge
   (2026-10-12). minmax(0,1fr), shrinkable halves and no desktop side margin keep it on the screen. */
@media(max-width:860px){html #hero.hero-split{grid-template-columns:minmax(0,1fr) !important;max-width:100vw;overflow-x:hidden}html #hero.hero-split>.hero-split-text,html #hero.hero-split>.hero-split-image{min-width:0 !important;max-width:100% !important;width:auto !important}html #hero.hero-split .hero-split-text .hero-content{margin-left:auto !important;margin-right:auto !important;max-width:100% !important;min-width:0 !important}html #hero.hero-split .hero-split-text .hero-content>*{min-width:0;max-width:100%;overflow-wrap:break-word}}
/* 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: #3F5B4C !important;
  --primary-color: #3F5B4C !important;
  --primary-blue: #3F5B4C !important;
  --color-secondary: #2B3D34 !important;
  --secondary-color: #2B3D34 !important;
  --secondary-blue: #2B3D34 !important;
  --accent-color: #BE7548 !important;
  --text-color: #2E2A25 !important;
  --background-color: #F5F0E7 !important;
  --nav-fg: #3F5B4C !important;
  --sitehub-header-nav-fg: #3F5B4C !important;
  --logo-filter: none !important;
  --sitehub-logo-max-height: 80px !important;
  --sitehub-hero-section-bg: #ffffff !important;
  --sitehub-hero-panel-bg: var(--color-primary, #5baed3) !important;
  --sitehub-hero-text: #ffffff !important;
  --font-heading: "Fraunces", "Cormorant Garamond", "Libre Baskerville", Georgia, serif !important;
  --heading-font: "Fraunces", "Cormorant Garamond", "Libre Baskerville", Georgia, serif !important;
  --font-body: "Nunito Sans", "Jost", "Karla", sans-serif !important;
  --body-font: "Nunito Sans", "Jost", "Karla", sans-serif !important;
}

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

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

#hero.hero-split .cta-button, #hero .cta-button { color: #3F5B4C !important; }
#hero.hero-split .btn.btn-secondary, #hero .btn.btn-secondary { color: #3F5B4C !important; border-color: #3F5B4C66 !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-color: #ffffff !important; }
#hero.hero-split .hero-split-text { background-color: var(--color-primary, #5baed3) !important; background-image: none; }
#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 { 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-text .eyebrow, #hero.hero-split .hero-split-text h1, #hero.hero-split .hero-split-text .hero-tagline, #hero.hero-split .hero-split-text .hero-subtitle, #hero.hero-split .hero-split-text p { color: #ffffff !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(43, 61, 52, 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: #3F5B4C !important; border: 1px solid #3F5B4C !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: #fff !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: #2E2A25 !important; }

a:not(:where(footer a, .site-footer a, .main-footer a, .sh-ftr a, .cta-button, .btn, .button, [class*="btn-"], .nav-cta a, .shwa-order-btn, .shwa-book-btn)), .accent, .highlight { color: #3F5B4C !important; }

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

:root { --sitehub-hero-section-bg: #ffffff !important; }
#hero.hero-split { background-color: var(--sitehub-hero-section-bg) !important; }

:root { --sitehub-hero-panel-bg: var(--color-primary, #5baed3) !important; }
#hero.hero-split .hero-split-text { background-color: var(--sitehub-hero-panel-bg) !important; }
#hero.hero-split .hero-split-text::before { display: none !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(43, 61, 52, 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: #3F5B4C !important; border: 1px solid #3F5B4C !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 === */
