
/* Approved scope: existing logos, green group wordmark, white menus and hover. */
.master-header .brand{display:flex;align-items:center;gap:9px}
.group-logo{width:44px;height:48px;object-fit:contain;flex-shrink:0}
.brand-copy{min-width:0}.master-header .brand strong,.footer-brand{color:#56bc72}
.master-header .brand strong{font-size:clamp(18px,1.65vw,25px)}
.master-header .brand small{font-size:9px;white-space:normal}
.footer-brand{display:flex;align-items:center;gap:12px}.footer-logo{width:48px;height:48px;object-fit:contain}
.card-body .logo-slot{display:flex;align-items:center;justify-content:center;width:44px;height:50px;border:0;padding:0;background:none}
.logo-slot img{width:100%;height:100%;object-fit:contain}
.company-logo-display{margin-top:24px;width:112px;padding:6px;border-radius:12px;background:#fff}.company-logo-display img{display:block;object-fit:contain;width:100px;height:100px}
.master-header nav a,.master-header nav button,.menu-toggle{color:#fff}
.master-header nav a,.master-header nav button{position:relative;transition:filter .22s,text-shadow .22s}
.master-header nav a:hover,.master-header nav button:hover{text-decoration:none;text-shadow:0 0 16px #ffffff88}
.master-header nav a::after,.master-header nav button::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#71c88b;transform:scaleX(0);transform-origin:left;transition:transform .22s}
.master-header nav a:hover::after,.master-header nav button:hover::after,.master-header nav :focus-visible::after{transform:scaleX(1)}
.group-logo,.footer-logo,.logo-slot img,.company-logo-display{transition:transform .28s,filter .28s}
.master-card{transition:transform .28s,box-shadow .28s}.circle-arrow{transition:transform .28s}
.dashboard-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:24px}
.dashboard-menu button{position:relative;display:flex;align-items:center;gap:10px;text-align:left;padding:16px 14px;min-height:70px;background:#1d4310;border:1px solid #426935;border-radius:10px;color:#fff;transition:background .22s,transform .22s,box-shadow .22s}
.dashboard-menu button[aria-pressed=true]{background:#234518;border-color:#71c88b;box-shadow:inset 0 -3px #71c88b}
.dashboard-menu .menu-symbol{font-size:23px;color:#fff}.dashboard-menu button:hover{background:#316021;transform:translateY(-3px);box-shadow:0 9px 20px #13320922}
@media(hover:hover) and (pointer:fine){.brand:hover .group-logo,.footer-brand:hover .footer-logo,.company-logo-display:hover{transform:translateY(-2px) scale(1.05);filter:drop-shadow(0 0 9px #71c88b80)}.master-card:hover .logo-slot img{transform:scale(1.09);filter:drop-shadow(0 0 7px #ffffff66)}.master-card:hover{box-shadow:0 12px 28px #0005,0 0 0 1px #71c88b99}.master-card:hover .circle-arrow{transform:translateX(3px)}}
@media(max-width:600px){.card-body .logo-slot{width:30px;height:38px}.card-body{flex-wrap:wrap}.card-body>div{flex:1;min-width:72px}.card-body .circle-arrow{display:none}.group-logo{width:42px}.master-header .brand strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.group-logo,.footer-logo,.logo-slot img,.company-logo-display,.master-card,.circle-arrow,.dashboard-menu button,.master-header nav a::after,.master-header nav button::after{transition:none!important;transform:none!important}}

/* User supplied group logo revision, 28 September 2026. */
.master-header .group-logo{width:66px;height:72px}
.footer-logo{width:72px;height:72px}
.master-header .brand strong,.footer-brand{font-weight:800}
.master-header .brand small{color:#56bc72;font-weight:600}
@media(max-width:600px){.master-header .group-logo{width:63px;height:72px}}

/* Header-only refinement: balanced brand and persistent navigation. */
html{scroll-padding-top:126px}
.master-header{padding-left:2.5%;padding-right:2.5%;gap:24px;z-index:100;transition:height .24s,background .24s,box-shadow .24s}
.master-header .brand{flex:0 0 auto;min-width:0;gap:12px}
.master-header .brand-copy{display:flex;flex-direction:column;gap:5px}
.master-header .brand strong{font-size:25px;line-height:1.1;letter-spacing:1px}
.master-header .brand small{font-size:10px;line-height:1.4;letter-spacing:0;text-transform:none;white-space:nowrap}
.master-header .group-logo{width:60px;height:64px}
.master-header #navigation{gap:clamp(10px,1vw,18px);font-size:11px;justify-content:flex-end;flex:1}
.master-header #navigation .nav-enquiry{display:inline-flex;align-items:center;justify-content:center;margin:0;flex-shrink:0}
.master-header.header-fixed,.company-page .master-header.header-fixed{position:fixed;top:0;left:0;right:0}
.master-header.is-scrolled,.company-page .master-header.is-scrolled{height:82px;min-height:82px;background:rgba(18,56,6,.96);backdrop-filter:blur(12px);box-shadow:0 2px 16px #0002;border-bottom:1px solid #ffffff12}
@media(max-width:1320px){
.master-header .menu-toggle{display:block;flex-shrink:0;margin-left:auto;background:#205010;color:#fff;border:1px solid #4f7642;padding:9px 14px}
.master-header #navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#17400a;padding:20px 24px;max-height:calc(100dvh - 120px);overflow:auto;font-size:14px;white-space:normal}
.master-header #navigation.open{display:flex;align-items:stretch;flex-direction:column;gap:4px}
.master-header #navigation a,.master-header #navigation button{padding:10px 12px;text-align:left}
.master-header #navigation .nav-enquiry{align-self:flex-start;margin-top:8px}
}
@media(max-width:760px){
.master-header,.company-page .master-header{padding:10px 18px;gap:12px}
.master-header .brand{flex:1;gap:10px}
.master-header .group-logo{width:48px;height:54px}
.master-header .brand strong{font-size:21px}
.master-header .brand small{font-size:10px;white-space:normal;max-width:260px}
.master-header .menu-toggle{font-size:12px;padding:8px;flex-shrink:0}
.master-header.is-scrolled,.company-page .master-header.is-scrolled{height:90px;min-height:90px}
}
@media(prefers-reduced-motion:reduce){.master-header{transition:none}}
/* Scoped executive wordmark refinement; all non-header styles remain locked. */
.master-header .brand-copy{width:302px;gap:6px}
.master-header .brand strong{font-size:38px;letter-spacing:3.5px;line-height:1;font-weight:800;-webkit-text-stroke:.6px #c9b78b;paint-order:stroke fill;text-shadow:none;white-space:nowrap}
.master-header .brand small{font-size:11px;font-weight:600;color:#83d399;letter-spacing:0;white-space:nowrap;max-width:none}
.master-header #navigation a,.master-header #navigation button{font-family:Arial,Helvetica,sans-serif;font-size:inherit;font-weight:500;text-transform:uppercase;letter-spacing:.1px}
.master-header #navigation{gap:clamp(10px,.85vw,16px)}
@media(max-width:760px){
.master-header .brand-copy{width:auto;min-width:0;gap:5px}
.master-header .brand strong{font-size:26px;letter-spacing:1.2px}
.master-header .brand small{font-size:9px;white-space:normal;line-height:1.4}
}

/* TTP GROUP logo and wordmark: user-approved blue/gold, 5 October 2026. */
.master-header .group-logo{height:38px;width:auto;align-self:flex-start;object-fit:contain}
.master-header .brand strong{-webkit-text-stroke:0;color:#f5c344}
.ttp-wordmark-blue{color:#5dff27;background:linear-gradient(180deg,#bdffa7 0%,#5eff29 40%,#3ddd08 70%,#a5ff87 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.ttp-wordmark-gold{color:#f5c344;background:linear-gradient(180deg,#fff4ba 0%,#ffcf3b 40%,#d88b0a 70%,#ffe99a 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.footer-brand .footer-logo{height:1em;width:auto;object-fit:contain}
@media(max-width:760px){.master-header .group-logo{height:26px;width:auto}}
@media(forced-colors:active){.ttp-wordmark-blue,.ttp-wordmark-gold{background:none;-webkit-text-fill-color:CanvasText;color:CanvasText}}

/* Requested logo image enlargement by 50%; wordmark text unchanged. */
.master-header .group-logo{height:57px;width:auto}
.footer-brand .footer-logo{height:1.5em;width:auto}
@media(max-width:760px){.master-header .group-logo{height:39px;width:auto}}

/* Leaf green palette requested 6 October 2026. Existing logo dimensions retained. */
.master-header{background:linear-gradient(110deg,#214c13 5%,#3d7024 60%,#568b35)}
.master-header.is-scrolled,.company-page .master-header.is-scrolled{background:rgba(25,55,15,.97)}
.ttp-wordmark-blue{color:#78c845;background:linear-gradient(180deg,#d2f3b2 0%,#8bdb50 40%,#4c9a2a 70%,#b4e98a 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.master-businesses{background:#14290d}
input,textarea,select{accent-color:#4c9a2a}
@media(forced-colors:active){.ttp-wordmark-blue{background:none;-webkit-text-fill-color:CanvasText;color:CanvasText}}

/* Supplied green/gold PNG; 100% larger than the previous 57px/39px logo. */
html{scroll-padding-top:162px}
.master-header,.company-page .master-header,.master-header.is-scrolled,.company-page .master-header.is-scrolled{height:max(146px,8.2vw);min-height:146px;padding-top:12px;padding-bottom:12px}
.master-header .group-logo{height:114px;width:auto;max-width:none;flex-shrink:0;align-self:center}
.master-header .brand{align-items:center}
.footer-brand .footer-logo{height:3em;width:auto;max-width:none}
.ttp-wordmark-blue{color:#78c845;background:linear-gradient(180deg,#d2f3b2 0%,#8bdb50 40%,#4c9a2a 70%,#b4e98a 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
@media(min-width:761px){.master-cover{margin-top:max(0px,calc(146px - 8.2vw))}}
@media(max-width:1320px){.master-header #navigation{max-height:calc(100dvh - 146px)}}
@media(max-width:760px){
html{scroll-padding-top:118px}
.master-header,.company-page .master-header,.master-header.is-scrolled,.company-page .master-header.is-scrolled{height:106px;min-height:106px;padding:12px 14px;gap:10px}
.master-header .group-logo{height:78px;width:auto}
.master-header .brand{gap:10px}
.master-header .brand-copy{min-width:0}
.master-header .brand strong{font-size:clamp(17px,5.6vw,26px);letter-spacing:.5px}
.master-header .brand small{font-size:8px;line-height:1.35}
.master-header #navigation{max-height:calc(100dvh - 106px)}
}
@media(forced-colors:active){.ttp-wordmark-blue{background:none;-webkit-text-fill-color:CanvasText;color:CanvasText}}
