/* Shared visual system. Page content, heading order and SEO remain in the HTML. */
.gjr-site{
 --primary-color:#17364c;--dark-background-color:#102b3e;--dark-text-color:#19364b;
 --accent-color:#db3546;--accent2-color:#f0b479;--accent3-color:#168579;
 --gray-text-color:#546575;--light-text-color:#f7fafb;--light-background-color:#f1f5f6;
 --light-border-color:#dce5e8;--medium-background-color:#e8eff1;
 color:var(--dark-text-color);background:#fff;font-size:16px;line-height:1.7;
 -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.gjr-site *, .gjr-site *::before,.gjr-site *::after{box-sizing:border-box}
.gjr-site img{max-width:100%}
.gjr-site h1,.gjr-site h2,.gjr-site h3{letter-spacing:-.025em;text-wrap:balance}
.gjr-site h1{line-height:1.12}
.gjr-site h2{line-height:1.22}
.gjr-site h3{line-height:1.35}
.gjr-site p{line-height:1.75}
.gjr-site a,.gjr-site button{touch-action:manipulation}
.gjr-site a:focus-visible,.gjr-site button:focus-visible,.gjr-site summary:focus-visible{outline:3px solid var(--accent3-color);outline-offset:5px}
.gjr-site [class*="max-w-7xl"]{max-width:1248px}
.gjr-site .grid>*{min-width:0}
/* A single, aligned header rather than competing logo and navigation widths. */
.gjr-site #global-header{background:#fff;box-shadow:0 1px 0 #17364c14;z-index:50}
.gjr-site #global-header>div:first-child{background:var(--dark-background-color);padding-block:7px}
.gjr-site #global-header>div:first-child .text-sm{font-size:12px;line-height:1.5}
.gjr-site #global-header>div:last-child>div:first-child{height:92px;gap:24px}
.gjr-site #global-header [data-logo]{width:238px;height:auto;max-height:70px;max-width:100%;padding:0;object-fit:contain}
.gjr-site #global-header nav{gap:24px;margin-left:auto;white-space:nowrap}
.gjr-site #global-header nav>a{font-size:13px;font-weight:600;line-height:1.4}
.gjr-site #global-header nav>a:hover{color:var(--accent3-color)}
.gjr-site #global-header .space-x-8>:not([hidden])~:not([hidden]),
.gjr-site #global-header .space-x-4>:not([hidden])~:not([hidden]){margin-left:0}
.gjr-site #global-header>div:last-child>div:first-child>div:last-of-type{gap:18px;white-space:nowrap}
.gjr-site #global-header a[href^="tel:"]{white-space:nowrap;font-size:14px}
.gjr-site #global-header a[href="/request-quote"]{font-size:13px;line-height:1.4;padding:14px 18px;border-radius:8px;box-shadow:none;white-space:nowrap}
.gjr-site #global-header [data-landingsite-mobile-menu-toggle]{display:none;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--light-border-color);border-radius:8px;background:#fff;color:var(--dark-text-color);cursor:pointer}
.gjr-site #site-mobile-menu{display:none!important}
/* More measured typography, spacing and surfaces across all existing sections. */
.gjr-site section.code-section{padding-block:80px}
.gjr-site section.code-section h1{font-size:clamp(34px,4vw,54px)}
.gjr-site section.code-section h2{font-size:clamp(26px,3vw,38px)}
.gjr-site section.code-section h2.text-2xl{font-size:24px}
.gjr-site section.code-section .grid{column-gap:32px;row-gap:32px}
.gjr-site section.code-section .grid h3{font-size:20px}
.gjr-site section.code-section .grid h3.font-semibold{font-size:17px}
.gjr-site section.code-section [class*="shadow-"]{box-shadow:0 4px 20px #17364c08}
.gjr-site section.code-section [class*="rounded-xl"],
.gjr-site section.code-section [class*="rounded-2xl"]{border-radius:14px}
.gjr-site section.code-section .grid>[class*="shadow-"]{border:1px solid var(--light-border-color)}
.gjr-site section.code-section .grid>[class*="shadow-"]:hover{border-color:#a9c9c5;box-shadow:0 8px 28px #17364c0d}
.gjr-site section.code-section a[class*="rounded"]{border-radius:8px;box-shadow:none;transform:none;line-height:1.5}
.gjr-site section.code-section img{object-fit:cover}
.gjr-site section.code-section img[class*="rounded"]{border-radius:16px;box-shadow:none;transform:none}
.gjr-site section.code-section>.absolute.bottom-0:has(svg){display:none}
.gjr-site section.code-section>.absolute:has(>.rounded-full){opacity:.35;pointer-events:none}
/* Homepage: a quieter hero, with one strong image and a readable text column. */
.gjr-site #sprdk5{background:var(--dark-background-color);padding-block:0}
.gjr-site #sprdk5>.absolute.inset-0{display:none}
.gjr-site #sprdk5>.relative{padding-block:76px}
.gjr-site #sprdk5 .grid{grid-template-columns:1.05fr 1fr;gap:56px}
.gjr-site #sprdk5 h1{font-size:clamp(36px,4.3vw,58px);letter-spacing:-.035em;line-height:1.1;margin-bottom:24px}
.gjr-site #sprdk5 .text-xl{font-size:18px;line-height:1.75}
.gjr-site #sprdk5 .text-2xl{font-size:18px}
.gjr-site #sprdk5 .inline-flex.rounded-full{background:#ffffff0d;border:1px solid #ffffff26;border-radius:6px;font-size:12px;letter-spacing:.02em;padding:8px 12px;box-shadow:none}
.gjr-site #sprdk5 .hidden.lg\:block{display:block}
.gjr-site #sprdk5 img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.gjr-site #sprdk5 a[class*="px-8"]{padding:15px 22px;font-size:15px}
.gjr-site #sprdk5 .grid.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gjr-site #sprdk5 .text-sm{font-size:13px}
/* Shared footer columns and a bottom row that wraps deliberately. */
.gjr-site #global-footer{background:var(--dark-background-color);line-height:1.7}
.gjr-site #global-footer>div{padding-block:56px 24px}
.gjr-site #global-footer .grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.gjr-site #global-footer img{width:218px;height:auto;padding:10px;background:#fff;border-radius:8px;margin-bottom:24px}
.gjr-site #global-footer h3{font-size:15px;letter-spacing:0;margin-bottom:20px}
.gjr-site #global-footer p,.gjr-site #global-footer a{font-size:14px;line-height:1.75}
.gjr-site #global-footer ul{display:grid;gap:10px}
.gjr-site #global-footer ul>li{margin:0}
.gjr-site #global-footer .border-t{border-color:#ffffff1a}
.gjr-site #global-footer .border-t>div{align-items:flex-start;gap:24px;flex-wrap:wrap}
.gjr-site #global-footer .border-t p{font-size:12px}
.gjr-site #global-footer .border-t a,.gjr-site #global-footer .border-t span{font-size:12px}
/* Finder inherits the same spacing, panels and buttons as the other pages. */
.gjr-site .council-finder-page .container{max-width:1248px}
.gjr-site .council-finder-page .page-hero{background:var(--dark-background-color);padding-block:64px}
.gjr-site .council-finder-page h1{font-size:clamp(34px,4vw,54px)}
.gjr-site .council-finder-page .finder-wrap,.gjr-site .council-finder-page .section{padding-block:64px}
.gjr-site .council-finder-page .card{border-radius:14px;box-shadow:0 4px 20px #17364c08}
.gjr-site #gjr-router .shell{box-shadow:0 4px 20px #17364c08;border-radius:14px}
.gjr-site #gjr-router .head{padding:24px;background:var(--primary-color)}
.gjr-site #gjr-router .chat{padding:24px}
.gjr-site #gjr-router .bubble{box-shadow:none;border-radius:12px}
.gjr-site #gjr-router .choice,.gjr-site #gjr-router .send{border-radius:8px}
@media(min-width:1200px){
 .gjr-site #global-header nav,.gjr-site #global-header>div:last-child>div:first-child>.hidden.lg\:flex{display:flex!important}
}
@media(max-width:1199px){
 .gjr-site #global-header nav,.gjr-site #global-header>div:last-child>div:first-child>.hidden.lg\:flex{display:none!important}
 .gjr-site #global-header [data-landingsite-mobile-menu-toggle]{display:flex!important}
 .gjr-site #global-header>div:last-child>div:first-child{height:80px}
 .gjr-site #global-header [data-logo]{width:218px;max-height:60px}
 .gjr-site #site-mobile-menu:not(.hidden){display:block!important;border-top:1px solid var(--light-border-color);padding-block:16px 24px}
 .gjr-site #site-mobile-menu>div{gap:0}
 .gjr-site #site-mobile-menu a{padding:12px 4px;font-size:15px;line-height:1.5;margin:0}
 .gjr-site #site-mobile-menu a[href="/request-quote"]{margin-top:12px;padding:14px}
 .gjr-site #sprdk5 .grid{gap:32px}
 .gjr-site #global-footer .grid{gap:28px}
}
@media(max-width:767px){
 .gjr-site section.code-section{padding-block:52px}
 .gjr-site section.code-section .grid{gap:24px}
 .gjr-site section.code-section h1{font-size:36px}
 .gjr-site section.code-section h2{font-size:28px}
 .gjr-site section.code-section .text-xl{font-size:17px}
 .gjr-site section.code-section .p-8{padding:24px}
 .gjr-site section.code-section .ml-20{margin-left:0}
 .gjr-site section.code-section .flex.items-start.gap-6{gap:16px;flex-wrap:wrap}
 .gjr-site section.code-section .mb-16{margin-bottom:32px}
 .gjr-site #sprdk5{padding:0}
 .gjr-site #sprdk5>.relative{padding-block:48px}
 .gjr-site #sprdk5 .grid{grid-template-columns:1fr;gap:36px}
 .gjr-site #sprdk5 .grid.grid-cols-2{grid-template-columns:1fr 1fr;gap:12px}
 .gjr-site #sprdk5 h1{font-size:38px;max-width:600px}
 .gjr-site #sprdk5 img{aspect-ratio:16/10;max-height:360px}
 .gjr-site #sprdk5 .text-xl{font-size:17px}
 .gjr-site #global-footer .grid{grid-template-columns:1fr 1fr;gap:32px 24px}
 .gjr-site #global-footer .grid>div:first-child{grid-column:1/-1;max-width:440px}
 .gjr-site .council-finder-page .finder-wrap,.gjr-site .council-finder-page .section{padding-block:48px}
 .gjr-site #gjr-router .chat{padding:16px}
}
@media(max-width:479px){
 .gjr-site #global-header>div:first-child .text-sm{font-size:11px}
 .gjr-site #global-header>div:last-child>div:first-child{height:76px;gap:16px}
 .gjr-site #global-header [data-logo]{width:206px;max-width:calc(100vw - 108px);max-height:58px}
 .gjr-site #global-footer .grid{grid-template-columns:1fr 1fr}
 .gjr-site #global-footer .grid>div:last-child{grid-column:1/-1;max-width:420px}
 .gjr-site #sprdk5 h1{font-size:35px}
 .gjr-site #sprdk5 .flex.flex-col.sm\:flex-row>a{width:100%;justify-content:center;text-align:center}
 .gjr-site section.code-section h1{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.gjr-site *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Keep promotional panels and service icons within the same restrained palette. */
.gjr-site section.code-section[class*="from-[var(--accent-color)]"],
.gjr-site section.code-section[class*="from-[#E63946]"]{background:var(--primary-color)}
.gjr-site section.code-section .grid .rounded-full[class*="bg-gradient"]{background:#e5f2f0;color:var(--accent3-color)}
.gjr-site section.code-section .grid .rounded-full[class*="bg-gradient"] i{color:var(--accent3-color)}
/* Keep nested trust lists compact; only the outer hero uses the wide grid. */
.gjr-site #sprdk5 .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gjr-site #sprdk5>.relative>.grid{grid-template-columns:1.05fr 1fr;gap:56px}
.gjr-site #sprdk5 .grid .grid .text-lg{font-size:14px;line-height:1.5}
.gjr-site #sprdk5 .grid .grid .rounded-full{width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0}
.gjr-site #sprdk5 .grid .grid .rounded-full i{font-size:14px}
.gjr-site #global-header>div:first-child .space-x-4{gap:20px}
.gjr-site #global-header>div:first-child .space-x-4>*{margin:0}
@media(max-width:767px){.gjr-site #sprdk5>.relative>.grid{grid-template-columns:1fr;gap:32px}}
.gjr-site section.code-section .grid .rounded-full[class*="bg-gradient"]>span{color:var(--accent3-color)}
.gjr-site section.code-section .grid .rounded-xl[class*="bg-gradient"]:has(>i:only-child){background:#e5f2f0}
.gjr-site section.code-section .grid .rounded-xl[class*="bg-gradient"]>i:only-child{color:var(--accent3-color)}
.gjr-site #s3lwlya .absolute.left-full{display:none}
.gjr-site #sdifhg>.max-w-7xl>.grid>div{display:flex;flex-direction:column;background:#fff}
.gjr-site #sdifhg>.max-w-7xl>.grid>div>.ml-20{margin-left:0;margin-top:auto;padding-top:16px}
