
/* 25TC Sourcing - GeneratePress, 2026-09-12 */
:root{--tc-navy:#103555;--tc-blue:#086ab8;--tc-ink:#243b4d;--tc-muted:#5c6e7d;--tc-line:#dce5ec;--tc-pale:#f3f7fa}body{background:#fff;color:var(--tc-ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7}a{color:var(--tc-blue)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #1185d5;outline-offset:4px}.site-header{border-bottom:1px solid var(--tc-line)}.inside-header{padding:18px 30px;max-width:1280px}.site-logo img{width:180px;height:auto}.main-navigation{background:#fff}.main-navigation .main-nav ul li a{font-size:14px;font-weight:600;padding:0 13px;color:var(--tc-navy);line-height:46px}.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li.current-menu-item>a{background:#edf4f9;color:var(--tc-blue)}.main-navigation .main-nav ul li.tc-nav-cta>a{background:var(--tc-blue);color:#fff;border-radius:4px;margin-left:12px;padding:0 18px}
.tc-site{color:var(--tc-ink)}.tc-site *{box-sizing:border-box}.tc-wrap{max-width:1240px;margin:auto;padding:0 30px}.tc-section{padding:78px 0}.tc-light{background:var(--tc-pale)}.tc-site h1,.tc-site h2,.tc-site h3,.tc-site h4{color:var(--tc-navy);font-weight:700;letter-spacing:-.025em}.tc-site h1{font-size:clamp(36px,4.4vw,60px);line-height:1.12;margin:16px 0 24px}.tc-site h2{font-size:clamp(29px,3vw,40px);line-height:1.2;margin:12px 0 20px}.tc-site h3{font-size:23px;line-height:1.3;margin:0 0 14px}.tc-site p{margin:0 0 20px}.tc-site img{max-width:100%;height:auto}.tc-kicker{display:block;color:var(--tc-blue);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.tc-lead{font-size:19px;color:var(--tc-muted);max-width:740px}.tc-small{font-size:14px;color:var(--tc-muted)}.tc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tc-split{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}.tc-hero{background:var(--tc-pale);padding:75px 0 68px}.tc-hero .tc-lead{font-size:20px}.tc-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 17px}.tc-btn,.tc-site .tc-btn{display:inline-flex;justify-content:center;align-items:center;background:var(--tc-blue);color:#fff;text-decoration:none;font-size:15px;font-weight:700;line-height:1.4;padding:15px 23px;border:1px solid var(--tc-blue);border-radius:4px;min-height:50px}.tc-btn:hover{background:#07538f;color:#fff}.tc-btn.tc-outline{background:transparent;color:var(--tc-navy);border-color:#b8cad8}.tc-card{background:#fff;border:1px solid var(--tc-line);border-radius:6px;overflow:hidden}.tc-card-body{padding:27px}.tc-card p{color:var(--tc-muted);font-size:16px}.tc-card img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}.tc-card h3 a{color:var(--tc-navy);text-decoration:none}.tc-link{font-size:15px;font-weight:700;text-decoration:none}.tc-panel{padding:32px;background:#fff;border:1px solid var(--tc-line);border-radius:6px;box-shadow:0 20px 55px #163f5810}.tc-panel-label{display:flex;justify-content:space-between;border-bottom:1px solid var(--tc-line);padding-bottom:18px;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.11em;color:var(--tc-muted)}.tc-flow{list-style:none!important;margin:0!important;padding:0!important;counter-reset:flow}.tc-flow li{position:relative;counter-increment:flow;display:grid;grid-template-columns:40px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--tc-line)}.tc-flow li:last-child{border:0}.tc-flow li:before{content:counter(flow,decimal-leading-zero);font-weight:700;color:var(--tc-blue);font-size:16px;padding-top:1px}.tc-flow strong{display:block;color:var(--tc-navy);font-size:17px}.tc-flow span{display:block;font-size:14px;color:var(--tc-muted);margin-top:3px}.tc-proof{padding:23px 0;border-bottom:1px solid var(--tc-line)}.tc-proof .tc-wrap{display:flex;flex-wrap:wrap;gap:15px 42px;justify-content:space-between;font-size:14px}.tc-proof strong{color:var(--tc-navy)}.tc-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:34px}.tc-steps article{border-top:3px solid #c8dbea;padding-top:20px}.tc-steps b{color:var(--tc-blue);font-size:13px}.tc-steps h3{font-size:19px;margin-top:12px}.tc-steps p{font-size:15px;color:var(--tc-muted)}.tc-dark{background:var(--tc-navy);color:#fff}.tc-dark h2,.tc-dark h3{color:#fff}.tc-dark .tc-kicker{color:#86c9f7}.tc-dark p{color:#d8e5ef}.tc-dark .tc-outline{border-color:#7b9ab3;color:#fff}.tc-dark .tc-panel{background:#183f5e;border-color:#44617a}.tc-faq{max-width:900px}.tc-faq details{padding:21px 0;border-bottom:1px solid var(--tc-line)}.tc-faq summary{font-size:18px;font-weight:700;color:var(--tc-navy);cursor:pointer}.tc-faq details p{margin:14px 0 0;color:var(--tc-muted);font-size:16px}.tc-callout{padding:30px;border-left:4px solid var(--tc-blue);background:var(--tc-pale);margin:28px 0}.tc-site ul{margin-left:20px}.tc-site li{margin-bottom:7px}.tc-note{padding-top:20px;border-top:1px solid var(--tc-line);font-size:14px;color:var(--tc-muted)}.tc-table{border-collapse:collapse;width:100%;font-size:16px}.tc-table td,.tc-table th{border:1px solid var(--tc-line);padding:16px;text-align:left;vertical-align:top}.tc-table th{background:var(--tc-pale);color:var(--tc-navy)}.tc-foot{background:#eef3f7;padding:34px 0;font-size:14px}.tc-foot .tc-wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.tc-foot p{margin:0}.tc-foot a{margin-right:18px;text-decoration:none}.tc-foot strong{color:var(--tc-navy)}.tc-form label{font-size:15px;font-weight:600;color:var(--tc-navy);display:block}.tc-form input:not([type=checkbox]):not([type=submit]),.tc-form select,.tc-form textarea{width:100%;background:#fff;border:1px solid #b9cbd8;border-radius:4px;padding:12px;font:inherit;color:var(--tc-ink)}.tc-form .tc-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.tc-form textarea{min-height:160px}.tc-form input[type=submit]{background:var(--tc-blue);border-radius:4px;padding:15px 24px;font-weight:700}.tc-form .wpcf7-not-valid-tip{font-size:14px}.tc-form .wpcf7-response-output{padding:18px!important;margin:20px 0!important}
@media(max-width:1000px){.tc-split{gap:32px}.tc-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.main-navigation .main-nav ul li a{padding:0 9px;font-size:13px}.inside-header{padding:16px 24px}.site-logo img{width:155px}}
@media(max-width:768px){.tc-wrap{padding:0 22px}.tc-section{padding:50px 0}.tc-hero{padding:43px 0}.tc-split,.tc-grid{grid-template-columns:1fr;gap:26px}.tc-site h1{font-size:38px}.tc-site .tc-lead{font-size:18px}.tc-panel{padding:23px}.tc-steps{grid-template-columns:1fr 1fr;gap:24px}.tc-proof .tc-wrap{display:block}.tc-proof span{display:block;margin:7px 0}.tc-card img{aspect-ratio:1.7}.tc-form .tc-fields{grid-template-columns:1fr}.tc-table{font-size:14px}.tc-table td,.tc-table th{padding:10px}.main-navigation .main-nav ul li.tc-nav-cta>a{margin:8px 16px}.tc-foot .tc-wrap{display:block}.tc-foot p{margin-bottom:15px}}
@media(max-width:380px){.tc-site h1{font-size:34px}.tc-steps{grid-template-columns:1fr}.tc-actions .tc-btn{width:100%}}	
/* Final viewport and inquiry navigation refinements */
@media(min-width:769px){.tc-site h1{font-size:clamp(38px,4vw,52px)}.tc-hero{padding:54px 0}.tc-hero .tc-panel{padding:26px 30px}.tc-flow li{padding:16px 0}}
.main-navigation .main-nav ul #menu-item-158>a{background:#086ab8;color:#fff;border-radius:4px;padding:0 18px;margin-left:12px}.main-navigation .main-nav ul #menu-item-158>a:hover{background:#07538f;color:#fff}
.single-product .site-main{margin-top:38px}.single-product .inside-article{padding-top:15px}.woocommerce div.product .product_title{font-size:36px;line-height:1.2;color:#103555;font-weight:700}.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:700}.woocommerce .related h2{color:#103555}.single-product .tc-site h2{font-size:32px}.single-product .tc-site h3{margin-top:30px}.single-product .tc-callout p:last-child{margin-bottom:0}
@media(max-width:768px){.main-navigation .main-nav ul #menu-item-158>a{margin:8px 16px}.woocommerce div.product .product_title{font-size:30px}.single-product .inside-article{padding:20px}.tc-form .wpcf7-response-output{overflow-wrap:anywhere}}
/* Mobile product gallery: retain the image without desktop hover zoom. */
@media(max-width:768px){.single-product .woocommerce-product-gallery .zoomImg{display:none!important}.single-product .site-main{margin-top:15px}}

/* BEGIN 25TC TONE 004 - approved 2026-09-12 */
/* 25TC 004: colour and section boundaries only.
   Production page/product scope; no typography, geometry, content or image changes.
   Apply only on top of the original blue-grey GeneratePress implementation. */
body:is(.page,.woocommerce) {
  --tc-navy: #183650;
  --tc-blue: #1b4b78;
  --tc-ink: #263746;
  --tc-muted: #435666;
  --tc-line: #bac9d7;
  --tc-pale: #e0e8f0;
  background-color: #fff;
  color: #263746;
}
body:is(.page,.woocommerce) .site-header { background-color: #fff; border-bottom-color: #bac9d7; }
body:is(.page,.woocommerce) .main-navigation { background-color: #fff; }
body:is(.page,.woocommerce) .main-navigation .main-nav ul li a { color: #183650; }
body:is(.page,.woocommerce) .main-navigation .main-nav ul li:hover > a,
body:is(.page,.woocommerce) .main-navigation .main-nav ul li.current-menu-item > a { background-color: #e0e8f0; color: #183650; }
body:is(.page,.woocommerce) .main-navigation .main-nav ul #menu-item-158 > a { background-color: #1b4b78; color: #fff; }
body:is(.page,.woocommerce) .main-navigation .main-nav ul #menu-item-158 > a:hover { background-color: #153a5d; }
body:is(.page,.woocommerce) .menu-toggle { color: #183650; background-color: #fff; }
body:is(.page,.woocommerce) .tc-hero { background-color: #d5e0eb; }
body:is(.page,.woocommerce) .tc-section { background-color: #fff; }
body:is(.page,.woocommerce) .tc-light { background-color: #e0e8f0; }
body:is(.page,.woocommerce) .tc-card,
body:is(.page,.woocommerce) .tc-panel { background-color: #fff; border-color: #bac9d7; }
body:is(.page,.woocommerce) .tc-panel { box-shadow: 0 12px 28px #1836500d; }
body:is(.page,.woocommerce) .tc-panel-label,
body:is(.page,.woocommerce) .tc-flow li,
body:is(.page,.woocommerce) .tc-proof,
body:is(.page,.woocommerce) .tc-faq details { border-color: #bac9d7; }
body:is(.page,.woocommerce) .tc-steps article { border-top-color: #bac9d7; }
body:is(.page,.woocommerce) .tc-btn,
body:is(.page,.woocommerce) .tc-site .tc-btn,
body:is(.page,.woocommerce) .tc-form input[type=submit] { background-color: #1b4b78; border-color: #1b4b78; color: #fff; }
body:is(.page,.woocommerce) .tc-btn:hover,
body:is(.page,.woocommerce) .tc-site .tc-btn:hover,
body:is(.page,.woocommerce) .tc-form input[type=submit]:hover { background-color: #153a5d; border-color: #153a5d; color: #fff; }
body:is(.page,.woocommerce) .tc-btn.tc-outline { background-color: transparent; border-color: #bac9d7; color: #183650; }
body:is(.page,.woocommerce) .tc-btn.tc-outline:hover { background-color: #e0e8f0; border-color: #1b4b78; color: #183650; }
body:is(.page,.woocommerce) a:focus-visible,
body:is(.page,.woocommerce) button:focus-visible,
body:is(.page,.woocommerce) input:focus-visible,
body:is(.page,.woocommerce) textarea:focus-visible,
body:is(.page,.woocommerce) select:focus-visible,
body:is(.page,.woocommerce) summary:focus-visible { outline: 3px solid #1b4b78; outline-offset: 4px; }
/* Existing dark sections: keep light text, readable outline controls. */
body:is(.page,.woocommerce) .tc-dark { background-color: #15334f; color: #fff; }
body:is(.page,.woocommerce) .tc-dark h1,
body:is(.page,.woocommerce) .tc-dark h2,
body:is(.page,.woocommerce) .tc-dark h3,
body:is(.page,.woocommerce) .tc-dark a:not(.tc-btn) { color: #fff; }
body:is(.page,.woocommerce) .tc-dark p { color: #e0e8f0; }
body:is(.page,.woocommerce) .tc-dark .tc-kicker { color: #bacfe0; }
body:is(.page,.woocommerce) .tc-dark .tc-btn { border-color: #bac9d7; }
body:is(.page,.woocommerce) .tc-dark .tc-btn:hover { border-color: #bac9d7; }
body:is(.page,.woocommerce) .tc-dark .tc-outline { background-color: transparent; color: #fff; border-color: #bac9d7; }
body:is(.page,.woocommerce) .tc-dark .tc-outline:hover { background-color: #fff; color: #183650; }
body:is(.page,.woocommerce) .tc-dark a:focus-visible { outline-color: #fff; }
/* Exact observed home order: hero, products, services, process, background,
   FAQ, closing enquiry, footer. The proof strip is a div, not a section. */
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) { background-color: #e0e8f0; color: #263746; }
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) h2,
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) h3 { color: #183650; }
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) p { color: #435666; }
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) .tc-kicker,
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) a:not(.tc-btn) { color: #1b4b78; }
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) .tc-outline { background-color: transparent; color: #183650; border-color: #bac9d7; }
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) .tc-outline:hover { background-color: #fff; border-color: #1b4b78; }
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) .tc-panel { background-color: #fff; border-color: #bac9d7; }
/* The original link has a pale inline colour for its former dark panel. */
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) .tc-panel .tc-link { color: #1b4b78 !important; }
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(5) a:focus-visible { outline-color: #1b4b78; }
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(6) { background-color: #fff; }
body.home:is(.page,.woocommerce) .tc-site > section:nth-of-type(7) { background-color: #15334f; }
/* Inset rules do not add section height or change the content alignment. */
body.home:is(.page,.woocommerce) .tc-site > .tc-section { box-shadow: inset 0 1px 0 #bac9d7; }
body:is(.page,.woocommerce) .tc-foot { background-color: #15334f; box-shadow: inset 0 1px 0 #bac9d7; color: #e0e8f0; }
body:is(.page,.woocommerce) .tc-foot p,
body:is(.page,.woocommerce) .tc-foot strong,
body:is(.page,.woocommerce) .tc-foot a { color: #e0e8f0; }
body:is(.page,.woocommerce) .tc-foot a:hover { color: #fff; text-decoration: underline; }
body:is(.page,.woocommerce) .tc-foot a:focus-visible { outline-color: #fff; }
body:is(.page,.woocommerce) .site-info { background-color: #10283f; color: #e0e8f0; box-shadow: inset 0 1px 0 #536b80; }
body:is(.page,.woocommerce) .site-info a { color: #fff; }
body:is(.page,.woocommerce) .site-info a:focus-visible { outline-color: #fff; }
/* Existing product and form markup only; no control state/handler changes. */
body:is(.page,.woocommerce).woocommerce div.product .product_title,
body:is(.page,.woocommerce).woocommerce .related h2 { color: #183650; }
body:is(.page,.woocommerce) .tc-form input:not([type=checkbox]):not([type=submit]),
body:is(.page,.woocommerce) .tc-form select,
body:is(.page,.woocommerce) .tc-form textarea { background-color: #fff; color: #263746; border-color: #bac9d7; }
body:is(.page,.woocommerce) .tc-form input::placeholder,
body:is(.page,.woocommerce) .tc-form textarea::placeholder { color: #536576; }
body:is(.page,.woocommerce) .tc-form input[type=submit]:disabled,
body:is(.page,.woocommerce) .tc-form input[type=submit]:disabled:hover,
body:is(.page,.woocommerce) .tc-btn[aria-disabled=true] { background-color: #d5e0eb; color: #435666; border-color: #bac9d7; opacity: 1; }

/* END 25TC TONE 004 */
