/* GECCU: warm precision, bright brand colour, and a restrained digital aesthetic. */
:root{--ink:#192220;--muted:#59635f;--line:#dbe1dc;--orange:#f57621}
body{background:#f7f9f6;color:var(--ink);-webkit-font-smoothing:antialiased}
.utility{background:#192220;color:#d5ddd6;font-size:11px;letter-spacing:.025em}.utility a{color:#eef2ed}
h1,h2,h3{font-weight:750;letter-spacing:-.045em}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em}
.header{border-bottom:1px solid #ffffff35}.header.is-scrolled{background:rgba(249,251,247,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #dce2db;box-shadow:0 8px 30px #1922200a}
.header .button.dark{border:1px solid #46514b;box-shadow:inset 0 1px 0 #ffffff16}.header .nav-submenu{background:#fffffc;border:1px solid #dce2d8;border-radius:16px;box-shadow:0 24px 60px #17221e26,0 1px 0 #fff inset}
.home-banner,.page-hero{position:relative;isolation:isolate}.home-banner:before,.page-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#fff2 1px,transparent 1px),linear-gradient(90deg,#fff2 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 38%,#000 100%)}
.home-banner .hero-copy h1,.home-banner .hero-copy h2{font-weight:800;letter-spacing:-.05em;line-height:1.05}.banner-toolbar{border-top:1px solid #6d390b30;padding-top:16px}.banner-controls>button,.banner-pause{border-color:#59330b50!important}.page-hero h1{font-weight:800;letter-spacing:-.055em}.breadcrumb{font-weight:550}
.button{border-radius:9px;font-weight:650;letter-spacing:-.015em}.button.dark{background:#192220;color:#fff}.button.dark:hover{background:#34483c}.button.orange{background:#f57621;color:#192220}.button.orange:hover{background:#ff984d}.text-link{text-underline-offset:6px;font-weight:650}.text-link:hover{color:#9a410b}
.section{padding-top:76px;padding-bottom:76px}.section-heading h2{font-size:clamp(30px,3.5vw,48px);line-height:1.1}.section-heading .eyebrow{margin-bottom:15px}
.live-home-services{counter-reset:services;margin-top:30px;border-radius:18px;background:#fff;box-shadow:0 18px 50px #20372a09;border-color:#dbe2d9}
.live-home-services article{position:relative;padding:30px 27px;counter-increment:services}.live-home-services article:before{content:'0' counter(services);display:block;width:35px;height:35px;border:1px solid #e5ba94;background:#fff2e5;border-radius:10px;color:#94410f;font-size:11px;font-weight:750;line-height:33px;text-align:center;margin-bottom:24px}.live-home-services article+article{border-color:#e1e6de}.live-home-services h3{font-size:21px;letter-spacing:-.035em}.live-home-services p{font-size:14px;color:#5a655e}.live-home-services a{color:#1c3026}.live-home-services a:after{content:'↗';margin-left:10px;color:#a9480c}.live-home-services article:hover{background:#fbfcf8}
.live-home-feature{gap:72px}.live-home-copy h2{font-size:clamp(32px,3.4vw,48px);font-weight:800;line-height:1.08}.live-home-copy h2:before{content:'';display:block;width:34px;height:4px;border-radius:4px;background:#e66c21;margin-bottom:24px}.live-home-copy p{font-size:16px;color:#56635b}.live-home-picture{border:1px solid #dce3d8;border-radius:24px;background:radial-gradient(ellipse at top left,#fff5e5,transparent 65%),#eef2e9;box-shadow:0 24px 65px #1b342a0a;position:relative}.live-home-picture:after{content:'';position:absolute;inset:10px;border:1px solid #ffffff80;border-radius:16px;pointer-events:none}.live-home-copy a{background:#192220;border-radius:9px;box-shadow:0 5px 15px #1922200d}.live-home-copy li:before{background:#e76b20}
.live-home-news{border-top:1px solid #dce2d8}.live-news-card{border-radius:18px;border-color:#dce3d8;box-shadow:0 10px 32px #19222006;background:#fff}.live-news-card>div{padding:28px}.live-news-card h3{font-size:23px;letter-spacing:-.035em}.live-news-card>div>a:last-child{display:inline-flex;min-height:44px;align-items:center;font-weight:650;color:#95420d}.live-news-card>div>a:last-child:after{content:'↗';margin-left:10px}.live-news-card>a{border-bottom:1px solid #e2e7de}
.live-home-feature:has(img[alt="GECCU BUZZ newsletter"]){background:radial-gradient(ellipse at right top,#314a37,transparent 65%),#192720;border:1px solid #354a3a;border-radius:28px;padding:52px;margin-top:28px;margin-bottom:28px;color:#f5f8f0;box-shadow:0 24px 55px #17352215}
.live-home-feature:has(img[alt="GECCU BUZZ newsletter"]) .live-home-copy p{color:#d1dccf}.live-home-feature:has(img[alt="GECCU BUZZ newsletter"]) .live-home-copy a{background:#ff923a;color:#192220}.live-home-feature:has(img[alt="GECCU BUZZ newsletter"]) .live-home-picture{background:#f5f4e9;border-color:#59705b;box-shadow:none}.live-home-feature:has(img[alt="GECCU BUZZ newsletter"]) .live-home-copy ul{color:#e2eade}
.live-home-statistics{border:1px solid #dce2d7;background:linear-gradient(135deg,#eff4ec,#f9faf6);border-radius:24px;padding:42px;margin-top:25px;box-shadow:0 20px 50px #233b2807}.live-table-scroll{border:1px solid #d9e1d4;border-radius:14px}.live-table-scroll th{background:#192720;color:#f1f6ed;font-size:13px}.live-table-scroll td{border-color:#e0e6da}.live-table-scroll tbody tr:nth-child(even){background:#f5f8f0}.live-table-scroll tbody tr:hover{background:#fff0df}.live-home-statistics .eyebrow{color:#685329}
.live-partner-grid a{border-radius:14px;border-color:#dfe5db;box-shadow:0 5px 18px #20362904}.live-partner-intro h2{font-size:44px}.live-partner-intro p{color:#59655d}
.directory-card,.listing-card{border-radius:18px;border-color:#dbe2d7;background:#fff}.directory-card{padding:32px;box-shadow:0 8px 28px #26382a05}.directory-card .eyebrow{color:#954312}.directory-card h2{margin-top:20px;letter-spacing:-.035em}.directory-card .text-link{border-top:1px solid #e3e8df;padding-top:20px}.listing-card h3{letter-spacing:-.04em}.listing-badge{background:#fff0dc;color:#784010;border:1px solid #eed3b1}.listing-filters{background:#edf2e9;border:1px solid #d8e1d1;border-radius:18px;padding:28px}.listing-tabs a[aria-current]{background:#192720;border-color:#192720}.listing-enquiry-card{background:#edf2e9;border-color:#d6e0cd;box-shadow:0 14px 40px #19272008}
.aside-card{background:#edf3e7;border:1px solid #d9e3d0;border-radius:18px;box-shadow:0 8px 25px #243c2608}.related{padding:28px 6px}.related a:hover{color:#954312}.calculator{border-radius:18px;background:#fff}.calc-result{background:#edf4e7}.article h2{letter-spacing:-.04em}.article .source-content>p{color:#47564b}.article blockquote{background:#f3f6ed;border-radius:0 12px 12px 0}.article th{background:#edf3e7}
.join-banner{background:linear-gradient(115deg,#ffa43a,#ff7d22);border:1px solid #ed8c2f;border-radius:22px;padding:42px;position:relative;overflow:hidden;box-shadow:0 20px 45px #b25c1110}.join-banner:after{content:'';position:absolute;width:260px;height:260px;border:1px solid #ffffff40;border-radius:50%;right:10%;top:-190px;pointer-events:none}.join-banner h2{font-weight:800;letter-spacing:-.045em}.join-banner .eyebrow{color:#57300a}
footer{background:#18251f;color:#f0f5eb;border-top:1px solid #3b5141}footer .footer-grid a,footer .footer-grid p{color:#c0cdbf}footer .footer-grid a:hover{color:#ffb76e}footer .footer-grid h2{color:#f3f7ef}footer .footer-brand img{background:#f6f7ef;border-radius:10px;padding:10px;width:250px;height:auto}footer .footer-bottom{border-color:#3b5040;color:#bacab7}footer .footer-bottom a{color:#d5e0ce}footer .footer-bottom a:hover{color:#ffb76e}
@media(max-width:1100px){.live-home-feature{gap:35px}.live-home-feature:has(img[alt="GECCU BUZZ newsletter"]){padding:32px}.live-home-services article{padding:25px 22px}}
@media(max-width:900px){.header #primary-nav{background:#fbfdf8}.header .nav-submenu{background:transparent;border:0;border-left:2px solid #ed842f;border-radius:0;box-shadow:none}.header .nav-submenu a{color:#243528}.section{padding-top:56px;padding-bottom:56px}.live-home-services article:nth-child(3){border-left:0}.live-partner-intro h2{font-size:35px}}
@media(max-width:650px){.section{padding-top:44px;padding-bottom:44px}.live-home-services{margin-top:22px}.live-home-services article{padding:25px}.live-home-services article:before{margin-bottom:16px}.live-home-feature{gap:26px}.live-home-picture{border-radius:18px}.live-home-feature:has(img[alt="GECCU BUZZ newsletter"]){padding:26px 22px;border-radius:20px}.live-home-statistics{padding:28px 18px}.join-banner{padding:28px 24px;border-radius:18px}.join-banner h2{font-size:29px}.directory-card{padding:25px}.live-home-copy h2{font-size:32px}.live-home-copy p{font-size:15px}.live-home-services article+article{border-left:0}.banner-toolbar{padding-top:12px}}
/* Keep all homepage slides and their existing animation; compact mobile presentation. */
@media(min-width:641px) and (max-width:900px){
.homepage .banner-slide{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto;gap:24px;padding:24px 0;min-height:300px}
.homepage .home-banner h1,.homepage .home-banner h2{font-size:32px}
.homepage .hero-copy>p{font-size:14px;line-height:1.55;margin-bottom:14px}
.homepage .banner-image img{height:230px}
}
@media(max-width:640px){
.homepage .home-banner>.wrap{width:calc(100% - 36px)}
.homepage .banner-slides{min-height:0}
.homepage .banner-slide{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr clamp(140px,40vw,175px);align-content:stretch;align-items:center;gap:12px;padding:18px 0 14px;min-height:0}
.homepage .hero-copy{min-width:0;align-self:start}
.homepage .home-banner h1,.homepage .home-banner h2{font-size:clamp(25px,7vw,30px);line-height:1.12;margin-bottom:10px;max-width:100%;text-wrap:balance}
.homepage .hero-copy>p{font-size:13px;line-height:1.55;margin:0 0 12px;max-width:100%}
.homepage .hero-copy>.button{min-height:44px;padding:11px 17px;font-size:13px;gap:18px}
.homepage .banner-image{height:100%;width:100%;max-width:380px;align-self:end}
.homepage .banner-image img{height:100%;width:100%;object-fit:contain;object-position:center}
.homepage .banner-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:6px 0 4px}
.homepage .banner-controls{flex-wrap:nowrap;gap:2px;width:100%;justify-content:space-between}
.homepage .banner-controls>button{min-width:44px;min-height:44px;flex-shrink:0}
.homepage .banner-dots{flex:1;justify-content:center}
.homepage .banner-dots button{min-width:24px;min-height:44px;padding:0}
.homepage .banner-dots [aria-current] span{width:18px}
.homepage .banner-controls .banner-pause{min-width:92px;font-size:11px;padding:8px}
.homepage .banner-scroll{justify-content:center;margin:0;min-height:44px;font-size:11px;gap:8px}
.homepage .banner-scroll span{width:20px;height:24px;border:0;font-size:17px}
}
@media(max-width:640px){.homepage .header-inner{gap:12px}.homepage .header .brand{width:clamp(144px,43vw,180px)}.homepage .menu-toggle{flex-shrink:0;gap:10px}}
/* Refined homepage masthead; preserve the original slide content and choreography. */
.homepage .home-banner{background-image:linear-gradient(100deg,#ffba3538,transparent 65%),url('../assets/geccu-header.webp');border-radius:0 0 28px 28px;box-shadow:0 16px 40px #9a5d0b0a}
.homepage .home-banner:before{opacity:.4;background-size:90px 90px}
.homepage .hero-kicker{display:flex;align-items:center;gap:9px;margin-bottom:16px;font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:#4e350d}
.homepage .hero-kicker>span{width:7px;height:7px;border-radius:50%;background:#192720;box-shadow:0 0 0 4px #ffffff30}
.homepage .hero-copy>p{max-width:490px;color:#3e321c}
.homepage .hero-copy>.button{border-radius:999px;padding:14px 22px;box-shadow:0 7px 18px #4b350b20;min-height:48px}
.homepage .hero-copy>.button span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ffffff18;transition:transform .25s}
.homepage .hero-copy>.button:hover span{transform:translate(2px,-2px)}
.homepage .banner-image img{border-radius:12px;filter:drop-shadow(0 12px 14px #6e3f0a12)}
.homepage .banner-toolbar{border-top:1px solid #55320c26;padding:12px 0 16px;gap:18px}
.homepage .banner-controls{background:#fff5;border:1px solid #ffffff50;border-radius:999px;padding:5px 7px;gap:8px;box-shadow:0 4px 18px #59390a08}
.homepage .banner-controls>button{background:#fff3;border-color:transparent!important}
.homepage .banner-controls>button:hover{background:#fff9;transform:none}
.homepage .banner-dots button{min-width:36px}
.homepage .banner-dots span{width:19px;height:4px;border-radius:3px;background:#50371545}
.homepage .banner-dots [aria-current] span{width:29px;background:#192720}
.homepage .banner-controls .banner-pause{border-left:1px solid #59330b28!important;border-radius:0 999px 999px 0;background:transparent;min-width:108px}
.homepage .banner-scroll{letter-spacing:.02em;gap:12px}
.homepage .banner-scroll span{background:#fff4;border-color:#fff6}
@media(min-width:901px){
.homepage .header:not(.is-scrolled){background:#ffffff12;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.homepage .header nav> a,.homepage .header .nav-dropdown>summary{border-radius:8px}
.homepage .banner-slide{grid-template-columns:44% 52%;gap:4%;padding:14px 0;min-height:350px}
.homepage .home-banner h1,.homepage .home-banner h2{font-size:clamp(36px,3.8vw,54px);line-height:1.06;margin-bottom:16px;max-width:560px;text-wrap:balance}
.homepage .banner-image img{height:320px}
}
@media(max-width:900px){.homepage .hero-kicker{margin-bottom:12px;font-size:9px}.homepage .banner-controls{gap:4px}}
@media(max-width:640px){
.homepage .home-banner{border-radius:0 0 20px 20px}
.homepage .hero-kicker{font-size:9px;letter-spacing:.12em;margin-bottom:10px}
.homepage .banner-slide{padding-top:16px;gap:10px}
.homepage .hero-copy>.button{min-height:44px;padding:9px 16px;gap:14px}
.homepage .hero-copy>.button span{width:22px;height:22px}
.homepage .banner-toolbar{gap:0;padding:8px 0 4px}
.homepage .banner-controls{width:100%;padding:3px;gap:0}
.homepage .banner-controls>button{min-width:40px;min-height:44px}
.homepage .banner-controls .banner-pause{min-width:86px;padding:7px 5px;font-size:10px}
.homepage .banner-dots button{min-width:23px}
.homepage .banner-dots span{width:11px;height:4px}
.homepage .banner-dots [aria-current] span{width:19px}
.homepage .banner-scroll{gap:8px}
.homepage .banner-scroll span{background:transparent}
}
@media(prefers-reduced-motion:reduce){.homepage .hero-copy>.button span{transition:none}.homepage .hero-copy>.button:hover span{transform:none}}
