/* Brand-only overrides. The original samplesite stylesheets are loaded unchanged. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/koyaba/dm-sans-500.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/koyaba/dm-sans-700.ttf') format('truetype')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/koyaba/space-grotesk-500.ttf') format('truetype')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/koyaba/space-grotesk-700.ttf') format('truetype')}
:root{--main-color:#f8dc2b;--primary-color:#27246b;--secondary-color:#f5f5f0;--text-color:#666;--accent-color:#d31e2b}
.koyaba-template{overflow-x:clip;overflow-y:visible}
.sisf-header-logo-link.navbar-brand img{width:132px;height:76px;object-fit:contain;background:white;border-radius:4px;padding:4px 8px}
.footer-logo img{width:190px;height:auto;background:white;padding:10px 20px;border-radius:5px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent-color);outline-offset:4px}
.koyaba-template [hidden]{display:none!important}
.koyaba-template .form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.koyaba-template .koyaba-field-label{display:block;margin-bottom:8px}
.koyaba-template .koyaba-error{display:block;color:#b51b2a;font-size:14px;margin-top:6px}
.koyaba-template .koyaba-banner-image{width:100%;height:360px;object-fit:cover;filter:brightness(.45)}
.koyaba-template .koyaba-banner .sisf-m-inner{transform:none}
.koyaba-template .koyaba-banner .sisf-m-text p{color:white;margin-top:20px;max-width:850px;margin-inline:auto}
.koyaba-template .koyaba-page-image{width:100%;height:auto;object-fit:cover}
.koyaba-template .koyaba-gallery-image{width:100%;aspect-ratio:1.3;object-fit:cover}
.koyaba-template .koyaba-masonry{columns:3;column-gap:24px}
.koyaba-template .koyaba-masonry>figure{break-inside:avoid;margin-bottom:24px}
.koyaba-template .koyaba-masonry .koyaba-gallery-image{aspect-ratio:auto}
.koyaba-template .koyaba-filters .active{background:var(--main-color);border-color:var(--main-color);color:var(--primary-color)}
.koyaba-template .koyaba-team-photo{width:100%;aspect-ratio:1 / 1.15;object-fit:cover;object-position:top}
.koyaba-template .sis-team-members-img img{aspect-ratio:1 / 1.15;object-fit:cover;object-position:top}
.koyaba-template .sisf-hero-image-bottom-2{background:var(--secondary-color)}
.koyaba-template .sisf-hero-image-bottom-2 img{object-fit:contain}
.koyaba-template .koyaba-service-description{padding:0 0 12px}
.koyaba-template .koyaba-detail-image{width:100%;max-height:540px;object-fit:cover}
.koyaba-template .koyaba-video-notice{max-width:850px;margin:auto;text-align:center}
@media(max-width:991px){.koyaba-template .koyaba-masonry{columns:2}.sisf-header-logo-link.navbar-brand img{width:110px;height:50px}}
@media(max-width:767px){.sisf-header-logo-link.navbar-brand img{width:100px;height:50px}.koyaba-template .koyaba-masonry{columns:1}.koyaba-template .koyaba-banner-image{height:320px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.sis-reveal{visibility:visible!important}[data-aos]{opacity:1!important;transform:none!important}}

.koyaba-template .koyaba-banner .sisf-breadcrumbs a{color:var(--main-color)}

/* Wide logo artwork and a balanced, responsive footer. */
.koyaba-template .sisf-header-logo-link.navbar-brand img{width:210px;height:auto;max-height:84px;object-fit:contain;background:transparent;border-radius:0;padding:0}
.koyaba-footer .koyaba-footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1.25fr;gap:40px;padding:64px 0 48px;align-items:start}
.koyaba-footer .footer-logo{display:block;width:280px;max-width:100%;margin-bottom:20px}
.koyaba-footer .footer-logo img{display:block;width:100%;height:auto;background:transparent;padding:0;border-radius:0}
.koyaba-footer h2{font-size:18px;line-height:1.4;color:#fff;margin:12px 0 24px}
.koyaba-footer p,.koyaba-footer a{font-size:15px;line-height:1.75;color:#e4e3ef}
.koyaba-footer .koyaba-footer-brand p{margin:0 0 20px;max-width:320px}
.koyaba-footer ul{list-style:none;padding:0;margin:0}
.koyaba-footer li{margin-bottom:12px}
.koyaba-footer a:hover{color:var(--main-color)}
.koyaba-footer .koyaba-footer-cta{display:inline-flex;align-items:center;gap:14px;color:var(--main-color);font-weight:700}
.koyaba-footer-contact li{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.koyaba-footer-contact li>i{color:var(--main-color);font-size:18px;width:20px;flex-shrink:0;margin-top:6px}
.koyaba-footer-contact span{display:block;color:#b9b7d2;font-size:12px;line-height:1.6;margin-bottom:3px}
.koyaba-footer-contact a{display:block;overflow-wrap:anywhere}
.koyaba-footer .koyaba-footer-offices{font-size:13px;margin:0 0 0 34px;color:#b9b7d2}
.koyaba-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff26;padding:24px 0}
.koyaba-footer-bottom p{margin:0;font-size:13px;color:#b9b7d2}
.koyaba-footer-bottom a{font-size:13px;display:flex;align-items:center;gap:10px}
@media(max-width:1199px){.koyaba-footer .koyaba-footer-grid{gap:28px;grid-template-columns:1.2fr .8fr 1fr 1.2fr}.koyaba-template .sisf-header-logo-link.navbar-brand img{width:170px}}
@media(max-width:991px){.koyaba-footer .koyaba-footer-grid{grid-template-columns:1fr 1fr;gap:36px 48px}.koyaba-template .sisf-header-logo-link.navbar-brand img{width:190px;max-height:64px}}
@media(max-width:575px){.koyaba-footer .koyaba-footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px;padding:40px 0 32px}.koyaba-footer-brand,.koyaba-footer-contact{grid-column:1 / -1}.koyaba-footer .footer-logo{width:250px}.koyaba-footer h2{margin:0 0 16px;font-size:17px}.koyaba-footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}.koyaba-template .sisf-header-logo-link.navbar-brand img{width:170px}}

.koyaba-template .sisf-header-logo-link.navbar-brand img{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 0 5px #ffffffb3)}

/* Keep homepage insight cards and their actions aligned across the row. */
.koyaba-home .sis-letest-blog-section .row>div{display:flex}
.koyaba-home .sis-letest-blog-item,.koyaba-home .sis-letest-blog-item>.sisf-e-inner{display:flex;flex-direction:column;width:100%}
.koyaba-home .sis-letest-blog-item>.sisf-e-inner{height:100%}
.koyaba-home .sis-letest-blog-item .sisf-e-content{display:flex;flex-direction:column;flex:1}
.koyaba-home .sis-letest-blog-item .sisf-e-content>.sis-btn-default{align-self:flex-start;margin-top:auto}
.koyaba-home .sis-letest-blog-item .sisf-e-media-image img{aspect-ratio:1.5;object-fit:cover}


/* Dark translucent panel keeps contact details readable over the photograph. */
.koyaba-template .sis-right-contact-image .sis-contact{background:rgba(0,0,0,.7);padding:24px}
@media(max-width:575px){.koyaba-template .sis-right-contact-image .sis-contact{padding:18px}}
.koyaba-template .sis-right-contact-image .sis-contact{width:100%;bottom:0;border-radius:0 0 12px 12px}

/* Split hero: copy at left, people layered over the site photograph at right. */
.koyaba-template .koyaba-hero{position:relative;isolation:isolate;overflow:hidden;padding:0;background:var(--primary-color)}
.koyaba-hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.koyaba-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,19,61,.94) 0%,rgba(20,19,61,.83) 48%,rgba(20,19,61,.35) 100%)}
.koyaba-hero-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:48px;padding-top:80px;padding-bottom:0}
.koyaba-hero-copy{padding-bottom:48px;align-self:center}
.koyaba-hero-copy h1{font-size:clamp(36px,3.6vw,58px);line-height:1.15;color:white;margin:0 0 28px;letter-spacing:-.035em}
.koyaba-hero-copy h1 span{color:var(--main-color)}
.koyaba-hero-copy>p{color:#eeedf6;font-size:16px;line-height:1.8;margin:0 0 12px;max-width:620px}
.koyaba-hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
.koyaba-hero-stats{display:flex;gap:32px;margin:36px 0 0;padding-top:24px;border-top:1px solid #ffffff30}
.koyaba-hero-stats>div{display:flex;align-items:center;gap:12px;max-width:210px}
.koyaba-hero-stats dt{font-size:40px;line-height:1;font-weight:700;color:var(--main-color)}
.koyaba-hero-stats dd{font-size:14px;line-height:1.5;color:white;margin:0;max-width:110px}
.koyaba-hero-visual{position:relative;min-width:0;padding-top:24px}
.koyaba-hero-visual>img{display:block;width:100%;height:auto;position:relative;z-index:1}
.koyaba-hero-caption{position:relative;z-index:2;background:var(--primary-color);border-top:3px solid var(--main-color);padding:24px 28px;margin-top:-2px;border-radius:12px 12px 0 0}
.koyaba-hero-caption h2{color:white;font-size:22px;line-height:1.3;margin:0 0 10px}
.koyaba-hero-caption p{color:#eeedf6;font-size:14px;line-height:1.7;margin:0}
@media(max-width:991px){.koyaba-hero-layout{grid-template-columns:1.1fr 1fr;gap:24px;padding-top:48px}.koyaba-hero-copy h1{font-size:38px}.koyaba-hero-stats{gap:20px}.koyaba-hero-stats dt{font-size:32px}.koyaba-hero-caption{padding:20px}.koyaba-hero-copy{padding-bottom:36px}}
@media(max-width:767px){.koyaba-hero-layout{grid-template-columns:1fr;padding-top:36px;gap:12px}.koyaba-hero-copy{padding-bottom:12px}.koyaba-hero-copy h1{font-size:36px}.koyaba-hero-copy>p{font-size:15px}.koyaba-hero-visual{width:100%;max-width:440px;justify-self:center;padding-top:16px}.koyaba-hero-stats{margin-top:28px}.koyaba-hero::before{background:linear-gradient(180deg,rgba(20,19,61,.9),rgba(20,19,61,.65))}}
@media(min-width:768px){.koyaba-hero-visual>img{width:120%;max-width:none;margin-left:-6.5%}}

/* Footer spans the viewport with comfortable responsive content gutters. */
.koyaba-footer>.sisf-sis-footer-background{width:100%;margin:0;border-radius:0}
.koyaba-footer>.sisf-sis-footer-background>.container{width:100%;max-width:none;padding-inline:clamp(24px,4vw,80px)}
/* Match the full-width footer with an edge-to-edge public header. */
.koyaba-template #sisf-page-header{width:100%;margin:0!important;border-radius:0}
/* Continue the edge-to-edge layout through every public page hero. */
.koyaba-template .koyaba-hero,
.koyaba-template .koyaba-banner{width:100%;margin:0;border-radius:0}

/* Keep FAQ text readable and clear of the expand control at every width. */
.koyaba-template .koyaba-faq .accordion-button{padding-right:64px}
.koyaba-template .koyaba-faq .accordion-button span,
.koyaba-template .koyaba-faq .accordion-body{color:var(--primary-color)}
.koyaba-template .koyaba-faq .accordion-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:-3px}

/* Align the math question and answer with the enquiry action. */
.koyaba-enquiry-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.koyaba-math-challenge{display:flex;align-items:center;gap:12px}
.koyaba-math-challenge .koyaba-field-label{margin:0;white-space:nowrap;font-size:16px}
.koyaba-template .koyaba-math-challenge .form-control{width:80px;min-width:0;margin:0;padding:12px;height:52px}
.koyaba-enquiry-actions .sis-btn-default{margin:0;flex-shrink:0}
