/*
 * SILK CMS — PUBLIC DESIGN SYSTEM & RESPONSIVE 1.3.5
 * Scoped to public pages only. Does not replace legacy style.css.
 * Breakpoints: 1280, 1100, 900, 768, 600, 430, 360.
 */
:root {
  --silk-forest: #123e30;
  --silk-forest-deep: #0e3025;
  --silk-leaf: #487d5b;
  --silk-sand: #f7f8f4;
  --silk-paper: #fff;
  --silk-stroke: #dde7df;
  --silk-copy: #263d33;
  --silk-subtle: #65786f;
  --silk-radius: 16px;
  --silk-shadow: 0 12px 34px rgba(14, 48, 37, .065);
}
html { box-sizing: border-box; width: 100%; max-width: 100%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: inherit; }
body { width: 100%; min-width: 0; max-width: 100%; margin: 0; font-family: 'Open Sans', Roboto, Arial, sans-serif; font-size: 15px; line-height: 1.7; letter-spacing: 0; overflow-wrap: break-word; }
body, input, button, select, textarea { -webkit-font-smoothing: antialiased; }
main, header, footer, section, article, aside, nav { min-width: 0; }
main, .site-main, .page-wrap, .site-wrapper, .content-wrapper { max-width: 100%; min-width: 0; }
img, picture, svg, canvas, video, iframe { max-width: 100%; }
img { height: auto; }
iframe { border: 0; }
hr { max-width: 100%; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a { text-underline-offset: 3px; }
a, button { touch-action: manipulation; }
button, input, select, textarea { font: inherit; letter-spacing: normal; }
button { cursor: pointer; }
input, select, textarea { min-width: 0; max-width: 100%; }
textarea { resize: vertical; }
[hidden] { display: none !important; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #85b993; outline-offset: 3px; }

/* Global containment and genuine fluid containers, not only hidden overflow. */
.container, .container-fluid, .site-container, .wrap, .section-inner {
  width: min(100% - 48px, 1220px) !important;
  min-width: 0 !important;
  max-width: 1220px !important;
  margin-inline: auto !important;
}
.container.content { max-width: 850px !important; }
.container.narrow-contact { max-width: 1040px !important; }
.container > *, .grid > *, .hero-grid > *, .product-detail > *, .feature-split > *,
.contact-page-grid > *, .contact-info-panel, .context-form > *, .form-grid > *,
.gallery-v13-grid > *, .album-public-grid > *, .album-home-grid > *,
.footer-grid > *, .footer-inner > * { min-width: 0; max-width: 100%; }
.grid, .hero-grid, .product-detail, .feature-split, .contact-page-grid,
.form-grid, .trust-grid, .footer-grid, .footer-inner, .album-public-grid,
.album-home-grid, .gallery-v13-grid, .gallery-v122-grid, .gallery-masonry {
  min-width: 0 !important;
  max-width: 100% !important;
}
.grid { display: grid; gap: 22px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid img, .grid video, .album-home-grid img, .album-public-grid img { display: block; }

/* Type scale and section spacing */
h1,h2,h3,h4,h5,h6 { overflow-wrap: break-word; letter-spacing: -.025em; line-height: 1.28; }
h1 { font-size: clamp(32px, 4vw, 56px); }
h2 { font-size: clamp(27px, 3vw, 40px); }
h3 { font-size: clamp(19px, 1.9vw, 25px); }
p, li { overflow-wrap: anywhere; }
.section { padding-block: clamp(44px, 6vw, 86px); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.section-head > * { min-width: 0; max-width: 100%; }
.section-head p { max-width: 480px; }
.section-head h2 { margin: 6px 0 0; }
.page-hero { padding-block: clamp(52px, 7vw, 104px); min-width: 0; max-width: 100%; }
.page-hero .container { min-width: 0; }
.page-hero h1 { max-width: 100%; margin: 12px 0 18px; font-size: clamp(32px, 4.3vw, 55px); line-height: 1.2; overflow-wrap: break-word; }
.page-hero p { max-width: 660px; margin: 0; font-size: clamp(14px, 1.6vw, 18px); line-height: 1.75; }
.eyebrow { display: inline-block; font-size: 11px; line-height: 1.5; letter-spacing: .08em; }

/* Header/navigation: navbar must stay within the viewport */
.topbar, .top-bar, .header-top, .site-header, .header-main, .header-inner, .navbar,
.site-nav, .main-nav, .nav-inner, .header-content { max-width: 100%; min-width: 0; }
.topbar .container, .top-bar .container, .header-top .container { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; }
.site-header .container, .header-main .container, .navbar .container { min-width: 0; }
.site-header .container, .header-content, .header-inner { gap: 16px; }
.site-header .brand, .brand, .brand-link, .site-logo, .logo { min-width: 0; max-width: 100%; }
.site-header .brand img, .brand img, .logo img { max-height: 62px; width: auto; }
.site-header .brand-text, .brand-name, .brand-title { min-width: 0; overflow-wrap: break-word; }
.main-nav a, .site-nav a, .navbar a { text-decoration: none; }
.menu-toggle, .nav-toggle, .mobile-menu-toggle { flex: 0 0 auto; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; }

/* Hero / storytelling / feature split */
.hero { padding-block: clamp(45px, 6vw, 90px); }
.hero-grid, .feature-split, .product-detail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(28px, 4vw, 62px); }
.hero-grid h1 { font-size: clamp(33px, 4.7vw, 62px); line-height: 1.16; }
.hero-grid p, .feature-copy p, .product-info .lead { max-width: 58ch; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.hero-visual, .hero-photo-main, .hero-photo-small, .feature-image, .product-image { min-width: 0; max-width: 100%; }
.hero-visual { position: relative; isolation: isolate; }
.hero-photo-main img, .hero-photo-small img, .feature-image img, .product-image img { display: block; width: 100%; max-width: 100%; object-fit: cover; }
.hero-note { max-width: min(100%, 330px); }
.trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.trust-item { min-width: 0; }

/* Controls and cards */
.btn, .hero-actions .btn, .cta-band .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 11px 20px; border-radius: 11px; font-weight: 700; line-height: 1.45; white-space: normal; text-align: center; text-decoration: none; }
.btn:where(:hover,:focus-visible) { text-decoration: none; }
.card, .album-public-card, .album-home-card { min-width: 0; overflow: hidden; }
.card-media, .album-public-cover, .album-home-cover { position: relative; overflow: hidden; }
.card-media img, .album-public-cover img, .album-home-cover img { width: 100%; height: 100%; object-fit: cover; }
.card .card-body, .album-public-body { min-width: 0; }
.card h3, .card p, .album-public-card h3, .album-public-card p { overflow-wrap: anywhere; }
.card-media { aspect-ratio: 4 / 3; }
.card-media img { aspect-ratio: 4 / 3; }
.category-card .card-body { min-height: 170px; }
.video-wrap, .video-wrap iframe, .video-wrap video { min-width: 0; max-width: 100%; }
.video-wrap iframe, .video-wrap video { width: 100%; aspect-ratio: 16 / 9; }

/* Public gallery: thumbnails, albums and lightbox */
.album-public-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.album-home-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.gallery-v13-grid, .gallery-v122-grid, .gallery-masonry { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 11px !important; }
.gallery-v13-card, .gallery-v122-card, .gallery-tile { display: block; width: 100%; min-width: 0; max-width: 100%; padding: 0; text-align: left; overflow: hidden; border-radius: 12px; }
.gallery-v13-thumb, .gallery-v122-thumb, .gallery-tile-media { display: block; position: relative; width: 100%; height: auto !important; aspect-ratio: 1 / 1; overflow: hidden; background: #eff2ef; }
.gallery-v13-thumb img, .gallery-v13-thumb video, .gallery-v122-thumb img, .gallery-v122-thumb video,
.gallery-tile-media img, .gallery-tile-media video { display: block; width: 100% !important; height: 100% !important; max-width: none; max-height: none; object-fit: cover; }
.gallery-v13-caption, .gallery-v122-caption, .gallery-tile-caption { min-width: 0; max-width: 100%; }
.gallery-v13-caption b, .gallery-v122-caption b, .gallery-tile-caption b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gallery-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; }
.gallery-filters { display: flex; max-width: 100%; flex-wrap: wrap; }
.gallery-filters a { flex: 0 1 auto; }
.lightbox, .media-modal { max-width: 100%; }
.lightbox-panel, .media-modal-panel { max-width: calc(100vw - 24px) !important; }
.lightbox-media img, .lightbox-media video { max-width: 100% !important; max-height: 75vh !important; width: auto !important; height: auto !important; object-fit: contain; }
.album-public-cover { aspect-ratio: 16 / 10; height: auto; }
.album-home-card { display: grid; grid-template-columns: minmax(0, 145px) minmax(0, 1fr); }
.album-home-cover { min-height: 160px; }

/* Content pages: rich text pasted from Word/HTML must not stretch the screen */
.content, .article-content, .prose, .rich-content, .product-description, .page-content { min-width: 0; max-width: 100%; }
.content img, .prose img, .rich-content img, .product-description img,
article img { max-width: 100% !important; height: auto !important; }
.content pre, article pre, .rich-content pre { max-width: 100%; overflow-x: auto; overflow-wrap: normal; white-space: pre-wrap; word-break: break-word; }
.content code, article code { overflow-wrap: anywhere; }
.content table, article table, .rich-content table { max-width: 100%; }
.content blockquote, article blockquote { max-width: 100%; margin-inline: 0; }
.content iframe, article iframe { width: 100%; }

/* Enquiry and contact forms: the screenshot's biggest source of horizontal overflow */
.contact-page-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); align-items: start; gap: clamp(28px, 4vw, 64px); }
.contact-page-grid > div, .contact-info-panel, .context-form, .form-card { min-width: 0 !important; max-width: 100% !important; }
.contact-info-panel { position: static; }
.contact-info-panel h2, .context-form h2 { overflow-wrap: anywhere; }
.contact-info-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.contact-info-list div { min-width: 0; overflow-wrap: anywhere; }
.context-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.14fr); gap: clamp(20px, 2.5vw, 38px); padding: clamp(22px, 3vw, 38px); border-radius: 22px; }
.context-form.standalone { grid-template-columns: minmax(0, 1fr); }
.context-form-copy, .dynamic-contact-form { min-width: 0; width: 100%; }
.dynamic-contact-form { max-width: 100%; }
.form-grid, .dynamic-contact-form .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.form-grid .form-field, .dynamic-contact-form .form-field { min-width: 0; width: 100%; }
.form-grid .full, .form-field.full { grid-column: 1 / -1; }
.dynamic-contact-form label, .form-card label { display: block; max-width: 100%; }
.dynamic-contact-form :is(input,textarea,select), .form-card :is(input,textarea,select),
.context-form :is(input,textarea,select) { display: block; width: 100% !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box; }
.dynamic-contact-form input:not([type='checkbox']):not([type='radio']), .dynamic-contact-form select,
.form-card input:not([type='checkbox']):not([type='radio']), .form-card select { min-height: 46px; }
.dynamic-contact-form textarea, .form-card textarea { min-height: 130px; }
.dynamic-contact-form .btn, .form-card .btn { margin-top: 18px; }

/* CTA and footer */
.cta-band { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px 32px; min-width: 0; }
.cta-band > div { min-width: 0; flex: 1 1 440px; }
.footer-grid, .footer-inner, .footer-columns { display: grid; grid-template-columns: minmax(0,1.25fr) repeat(3,minmax(0,1fr)); gap: 30px; }
footer, .site-footer { min-width: 0; max-width: 100%; }
footer a, .site-footer a { overflow-wrap: anywhere; }
footer .container, .site-footer .container { max-width: 1220px !important; }

/* Tablet landscape / small laptops */
@media (max-width: 1280px) {
  .container, .container-fluid, .site-container, .wrap, .section-inner { width: min(100% - 40px, 1160px) !important; }
  .grid-4, .trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-v13-grid, .gallery-v122-grid, .gallery-masonry { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .album-home-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1100px) {
  .hero-grid, .feature-split, .product-detail { gap: 30px; }
  .contact-page-grid { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 26px; }
  .context-form { grid-template-columns: minmax(0,1fr); }
  .gallery-v13-grid, .gallery-v122-grid, .gallery-masonry { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  .footer-grid, .footer-inner, .footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Tablet portrait: never force a desktop two-column form */
@media (max-width: 900px) {
  .container, .container-fluid, .site-container, .wrap, .section-inner { width: min(100% - 36px, 820px) !important; }
  .grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-grid, .feature-split, .product-detail, .contact-page-grid { grid-template-columns: minmax(0,1fr) !important; }
  .hero-grid { gap: 34px; }
  .hero-visual, .feature-image { width: 100%; }
  .feature-image img { max-height: 460px; }
  .contact-info-panel { position: static !important; }
  .contact-page-grid { gap: 30px; }
  .album-public-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gallery-v13-grid, .gallery-v122-grid, .gallery-masonry { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  /* Desktop navigation stops at tablet: long brand names require a collapsed menu. */
  .site-header, .header-main, .navbar { position: relative; z-index: 120; }
  .site-header .container, .header-inner, .header-content { display: flex; justify-content: space-between; align-items: center; flex-wrap: nowrap; }
  .brand, .brand-link, .site-logo { flex: 1 1 auto; min-width: 0; }
  .menu-toggle, .nav-toggle, .mobile-menu-toggle { display: inline-flex !important; flex: 0 0 44px; }
  .main-nav:not(.open):not(.is-open):not([data-open='true']), .site-nav:not(.open):not(.is-open):not([data-open='true']) { display: none; }
  .main-nav.open, .main-nav.is-open, .main-nav[data-open='true'], .site-nav.open, .site-nav.is-open, .site-nav[data-open='true'] {
    display: flex !important; position: absolute; flex-direction: column; align-items: stretch;
    left: 12px; right: 12px; top: calc(100% - 1px);
    width: auto !important; min-width: 0 !important; max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 100px); overflow-y: auto; padding: 12px;
    border: 1px solid var(--silk-stroke); border-radius: 0 0 14px 14px;
    background: #fff; box-shadow: 0 20px 45px rgba(14,48,37,.16); z-index: 200;
  }
  .main-nav.open a, .site-nav.open a { display: block; width: 100%; padding: 12px 14px; border-radius: 8px; color: var(--silk-forest); }
  .main-nav.open a:hover, .site-nav.open a:hover { background: #f1f6f2; }
}
@media (max-width: 768px) {
  .container, .container-fluid, .site-container, .wrap, .section-inner { width: calc(100% - 32px) !important; }
  .page-hero { padding-block: 50px !important; }
  .page-hero h1, .hero-grid h1 { font-size: clamp(30px, 6.3vw, 44px); }
  .section { padding-block: 52px; }
  .site-header, .header-main, .navbar { position: relative; z-index: 120; }
  .site-header .container, .header-inner, .header-content { display: flex; justify-content: space-between; align-items: center; flex-wrap: nowrap; }
  .brand, .brand-link, .site-logo { flex: 1 1 auto; min-width: 0; }
  .menu-toggle, .nav-toggle, .mobile-menu-toggle { display: inline-flex !important; flex: 0 0 44px; }
  .main-nav, .site-nav { min-width: 0; max-width: 100vw; }
  .main-nav:not(.open):not(.is-open):not([data-open='true']), .site-nav:not(.open):not(.is-open):not([data-open='true']) { display: none; }
  .main-nav.open, .main-nav.is-open, .main-nav[data-open='true'],
  .site-nav.open, .site-nav.is-open, .site-nav[data-open='true'] {
    display: flex !important; position: absolute; flex-direction: column; align-items: stretch;
    left: 12px; right: 12px; top: calc(100% - 1px);
    width: auto !important; min-width: 0 !important; max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 100px); overflow-y: auto; padding: 12px;
    border: 1px solid var(--silk-stroke); border-radius: 0 0 14px 14px;
    background: #fff; box-shadow: 0 20px 45px rgba(14,48,37,.16); z-index: 200;
  }
  .main-nav.open a, .site-nav.open a { display: block; width: 100%; padding: 12px 14px; border-radius: 8px; color: var(--silk-forest); }
  .main-nav.open a:hover, .site-nav.open a:hover { background: #f1f6f2; }
  .hero-note { position: static !important; max-width: 100% !important; margin-top: 14px; }
  .hero-photo-small { max-width: 36%; }
  .form-grid, .dynamic-contact-form .form-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .form-field.full { grid-column: auto !important; }
  .context-form, .context-form.standalone { grid-template-columns: minmax(0,1fr) !important; }
  .contact-page-grid { grid-template-columns: minmax(0,1fr) !important; }
  .album-home-grid { grid-template-columns: minmax(0,1fr); }
  .album-home-card { grid-template-columns: minmax(0,135px) minmax(0,1fr); }
  .footer-grid, .footer-inner, .footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  .content table, article table, .rich-content table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 600px) {
  .container, .container-fluid, .site-container, .wrap, .section-inner { width: calc(100% - 32px) !important; }
  .section { padding-block: 42px; }
  .grid-2, .grid-3, .grid-4, .trust-grid, .album-public-grid, .footer-grid, .footer-inner, .footer-columns { grid-template-columns: minmax(0,1fr) !important; }
  .page-hero { padding-block: 43px !important; }
  .page-hero h1, .hero-grid h1 { font-size: clamp(29px, 8vw, 38px); line-height: 1.2; }
  h2, .section-head h2 { font-size: clamp(24px, 6.5vw, 31px); }
  h3 { font-size: clamp(18px, 5.2vw, 22px); }
  .hero-actions { align-items: stretch; }
  .hero-actions .btn { flex: 1 1 100%; }
  .hero-note { margin-top: 10px; }
  .hero-photo-small { display: none; }
  .card-media { aspect-ratio: 16/10; }
  .category-card .card-body { min-height: 0; }
  .album-public-cover { aspect-ratio: 16/10; }
  .gallery-v13-grid, .gallery-v122-grid, .gallery-masonry { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 9px !important; }
  .gallery-toolbar { display: flex; flex-direction: column; align-items: stretch; }
  .gallery-filters { width: 100%; }
  .gallery-filters a { flex: 1 1 0; text-align: center; padding: 8px 6px; }
  .context-form { padding: 22px !important; border-radius: 16px; gap: 18px; }
  .context-form h2 { margin-top: 7px; }
  .form-grid, .dynamic-contact-form .form-grid { gap: 0 !important; }
  .dynamic-contact-form .btn { width: 100%; }
  .contact-info-list { gap: 9px; }
  .contact-info-list div { padding: 12px 14px; }
  .cta-band { padding: 24px; }
  .cta-band > div { flex-basis: 100%; }
  .cta-band .btn { width: 100%; }
  .footer-grid, .footer-inner, .footer-columns { gap: 20px; }
  footer, .site-footer { padding-block: 44px !important; overflow-wrap: anywhere; }
}
@media (max-width: 430px) {
  .container, .container-fluid, .site-container, .wrap, .section-inner { width: calc(100% - 28px) !important; }
  .topbar .container, .top-bar .container { font-size: 10px; justify-content: center; }
  .brand-name, .brand-title, .brand-text, .site-header .brand { font-size: clamp(14px,4vw,17px); }
  .site-header .brand img, .brand img, .logo img { max-height: 46px; }
  .page-hero h1, .hero-grid h1 { font-size: clamp(28px, 8.5vw, 34px); }
  .hero { padding-block: 36px; }
  .gallery-v13-caption, .gallery-v122-caption, .gallery-tile-caption { padding: 7px !important; }
  .gallery-v13-caption b, .gallery-v122-caption b, .gallery-tile-caption b { font-size: 11px; }
  .album-home-card { grid-template-columns: minmax(0, 105px) minmax(0,1fr); }
  .album-home-cover { min-height: 135px; }
  .album-home-card > div:last-child { padding: 12px; }
  .album-home-card h3 { font-size: 17px; }
  .context-form { padding: 18px !important; }
  .page-hero p { font-size: 14px; }
}
@media (max-width: 360px) {
  .container, .container-fluid, .site-container, .wrap, .section-inner { width: calc(100% - 24px) !important; }
  .context-form { padding: 15px !important; }
  .hero-actions .btn { padding-inline: 10px; }
  .gallery-v13-grid, .gallery-v122-grid, .gallery-masonry { gap: 7px !important; }
}

/* Defensive guard against 3rd-party copy-pasted elements setting fixed width. */
@media (max-width: 900px) {
  html, body { overflow-x: clip; }
  .content :is(div,span,p,img,video,iframe,table),
  article :is(div,span,p,img,video,iframe,table) { max-width: 100%; }
  .content [style*='width:'], article [style*='width:'] { max-width: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* v1.3.6 safe navigation + sticky layer */
/* SILK CMS v1.3.6 — navigation + sticky header, layered AFTER v1.3.5 */
:root { --silk-nav-green: #123a2b; --silk-nav-text: #183e2d; }
.silk-sticky-header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1100 !important;
  background-color: #fff;
  isolation: isolate;
  overflow: visible !important;
  width: 100%;
  max-width: 100%;
  box-shadow: 0 1px 0 rgba(24, 55, 40, .07);
}
.silk-sticky-header.silk-is-fixed {
  position: fixed !important;
  inset: 0 0 auto !important;
  width: 100% !important;
  z-index: 1100 !important;
  box-shadow: 0 5px 28px rgba(10, 42, 28, .12);
}
.silk-header-placeholder { display: block !important; width: 0; height: 0; padding: 0; margin: 0; border: 0; pointer-events: none; }
.silk-header-placeholder.silk-placeholder-active { display: block !important; width: 100%; }
.silk-sticky-header .silk-header-row { min-width: 0; max-width: 100%; }
.silk-mobile-toggle { box-sizing: border-box; }
.silk-site-nav a { text-decoration: none !important; }

@media (max-width: 1024px) {
  .silk-sticky-header .silk-header-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    position: relative;
    overflow: visible !important;
  }
  .silk-sticky-header .brand, .silk-sticky-header .brand-link,
  .silk-sticky-header .site-logo, .silk-sticky-header .logo,
  .silk-sticky-header .brand-text, .silk-sticky-header .brand-name {
    flex: 1 1 auto;
    min-width: 0 !important;
    max-width: calc(100% - 66px) !important;
    overflow-wrap: anywhere;
  }
  .silk-sticky-header .silk-mobile-toggle {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 0 0 auto !important;
    border: 1px solid #d8e4db !important;
    border-radius: 12px !important;
    background: #f7faf8 !important;
    color: var(--silk-nav-green) !important;
    cursor: pointer;
    z-index: 1102 !important;
    position: relative !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: visible !important;
  }
  .silk-sticky-header .silk-mobile-toggle:hover,
  .silk-sticky-header .silk-mobile-toggle[aria-expanded="true"] {
    background: #e8f1eb !important;
    border-color: #a9c7b1 !important;
  }
  .silk-sticky-header .silk-mobile-toggle:focus-visible {
    outline: 3px solid #90ba9f !important;
    outline-offset: 2px !important;
  }
  .silk-mobile-toggle .silk-menu-glyph { display: flex !important; flex-direction: column; gap: 5px; width: 23px; pointer-events: none; }
  .silk-mobile-toggle .silk-menu-glyph span {
    display: block; width: 23px; height: 2.5px; background: currentColor;
    border-radius: 2px; transition: transform .2s ease, opacity .2s ease;
  }
  .silk-mobile-toggle[aria-expanded="true"] .silk-menu-glyph span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
  .silk-mobile-toggle[aria-expanded="true"] .silk-menu-glyph span:nth-child(2) { opacity: 0; }
  .silk-mobile-toggle[aria-expanded="true"] .silk-menu-glyph span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
  .silk-sticky-header .silk-site-nav:not(.silk-menu-open) { display: none !important; visibility: hidden !important; }
  .silk-sticky-header .silk-site-nav.silk-menu-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    z-index: 1101 !important;
    top: calc(100% + 7px) !important;
    right: 0 !important;
    left: auto !important;
    width: min(330px, calc(100vw - 28px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 28px) !important;
    max-height: min(78dvh, 620px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid #d8e4db !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 22px 54px rgba(10, 42, 28, .20) !important;
    transform: none !important;
  }
  .silk-sticky-header .silk-site-nav.silk-menu-open a {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    width: 100% !important;
    padding: 12px 13px !important;
    margin: 0 !important;
    border-radius: 9px !important;
    color: var(--silk-nav-text) !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .silk-sticky-header .silk-site-nav.silk-menu-open a:hover,
  .silk-sticky-header .silk-site-nav.silk-menu-open a:focus-visible { background: #edf5ef !important; }
  .silk-sticky-header .silk-site-nav.silk-menu-open a.nav-cta { background: var(--silk-nav-green) !important; color: #fff !important; justify-content: center; }
}
@media (min-width: 1025px) {
  .silk-sticky-header .silk-mobile-toggle { display: none !important; }
  .silk-sticky-header .silk-site-nav { visibility: visible !important; }
}
@media (max-width: 430px) {
  .silk-sticky-header .silk-header-row { gap: 8px !important; }
  .silk-sticky-header .brand, .silk-sticky-header .brand-link,
  .silk-sticky-header .site-logo, .silk-sticky-header .logo { max-width: calc(100% - 57px) !important; }
  .silk-sticky-header .silk-site-nav.silk-menu-open { right: 0 !important; width: min(310px, calc(100vw - 24px)) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .silk-mobile-toggle .silk-menu-glyph span { transition: none !important; }
}
