/*
Theme Name: KSA Racing
Theme URI: https://ksacademy.ee
Author: KS Academy
Description: Minimalist karting team website with editable 2026 race photos and driver profiles.
Version: 3.9
Requires PHP: 8.0
Text Domain: ksa-racing
*/
:root{--red:#ed242b;--ink:#151719;--muted:#767a7f;--cream:#f5f5f3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{max-width:100%}.wrap{width:min(1320px,calc(100% - 88px));margin:auto}.header{position:absolute;z-index:20;top:0;left:0;width:100%;background:linear-gradient(180deg,rgba(0,0,0,.7),transparent)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:25px}.brand{display:flex;align-items:center;gap:13px;color:#fff;font-size:17px;font-weight:800;letter-spacing:.1em;white-space:nowrap}.brand img{height:57px;width:57px;object-fit:contain}.menu{list-style:none;margin:0;padding:0;display:flex;gap:27px}.menu a{color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.menu a:hover{color:#ff4d53}.menu-toggle{display:none}.hero{position:relative;height:min(850px,92svh);min-height:590px;background:#222428;display:flex;align-items:flex-end;color:white;overflow:hidden}.hero.has-photo{background-image:var(--hero-photo);background-position:center 45%;background-size:cover}.hero.no-photo{background:radial-gradient(ellipse at 72% 42%,#35383d 0,#1a1b1f 46%,#101114 100%)}.hero.no-photo:after{content:'KSA';position:absolute;right:5%;top:23%;font-size:clamp(180px,30vw,530px);font-weight:900;font-style:italic;letter-spacing:-.12em;color:rgba(255,255,255,.035);pointer-events:none}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.70),rgba(0,0,0,.05) 88%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 55%)}.hero-content{position:relative;z-index:1;padding-bottom:120px}.hero-mark{font-size:12px;letter-spacing:.23em;font-weight:800;display:flex;align-items:center;gap:17px}.red-line{height:2px;width:60px;background:var(--red)}.hero h1{font-size:clamp(45px,6vw,88px);line-height:1.05;max-width:760px;letter-spacing:-.065em;font-weight:800;margin:22px 0 17px}.hero p{font-size:16px;color:#e1e1e1;margin:0 0 37px}.text-link{display:inline-flex;align-items:center;gap:32px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;border-bottom:2px solid var(--red);padding-bottom:13px}.text-link span{font-size:18px}.hero-index{position:absolute;bottom:30px;left:44px;right:44px;z-index:1;display:flex;justify-content:space-between;color:#b7b7b7;font-size:10px;letter-spacing:.2em}.intro-section{padding:120px 0;background:#fff}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.kicker{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--red);text-transform:uppercase}.intro-grid h2,.section h2,.racing-section h2,.partners-section h2,.contact-section h2{font-size:clamp(38px,4.6vw,65px);letter-spacing:-.06em;line-height:1.04;margin:20px 0 0;font-weight:800}.lead{font-size:clamp(21px,2.4vw,32px);line-height:1.35;letter-spacing:-.035em;margin:0 0 25px}.body-copy{font-size:15px;color:var(--muted);line-height:1.8;max-width:520px}.section{padding:110px 0}.drivers-section{background:var(--cream)}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:43px}.section-aside{font-size:10px;color:#999;letter-spacing:.16em}.driver-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.driver-card{min-width:0}.driver-photo{height:360px;background:#292b2f;overflow:hidden}.driver-photo img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.driver-card:hover img{transform:scale(1.04)}.image-empty{height:100%;display:grid;place-items:center;color:#777;font-size:13px;letter-spacing:.17em}.driver-info{padding:19px 0;display:flex;justify-content:space-between;gap:10px;align-items:center}.driver-info h3{margin:0;font-size:18px;letter-spacing:-.03em}.driver-info span{font-size:10px;color:var(--muted)}.empty-content{grid-column:1/-1;padding:65px 25px;background:#fff;color:#777}.racing-section{background:#17191c;color:white;padding:125px 0}.racing-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end}.racing-section p{color:#b9b9bd;font-size:18px;line-height:1.7;max-width:450px;margin:0 0 38px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-grid a{height:270px;overflow:hidden}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-grid a:hover img{transform:scale(1.04)}.gallery-empty{grid-column:1/-1;background:#ececea;min-height:230px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px}.gallery-empty span{font-size:38px;font-weight:800;letter-spacing:-.07em;color:#c5c5c5}.gallery-empty p{font-size:13px;color:#888;max-width:430px;line-height:1.6}.partners-section{padding:110px 0;background:#f5f5f3}.partners-section p{color:#73777b;font-size:15px;line-height:1.6}.partner-names{padding-top:50px;display:flex;gap:26px;align-items:center;flex-wrap:wrap;font-size:22px;font-weight:900;letter-spacing:.04em;color:#444}.partner-names span{color:#d0d0d0}.contact-section{background:var(--red);color:#fff;padding:95px 0}.contact-section .kicker{color:#ffd4d4}.contact-grid{display:flex;justify-content:space-between;align-items:end;gap:30px}.contact-email{font-size:clamp(16px,2vw,25px);font-weight:700;border-bottom:1px solid #ffaaaa;padding-bottom:10px}.footer{background:#101114;color:#a5a5a5;padding:32px 0;font-size:12px}.page{min-height:70vh;padding-top:150px;padding-bottom:100px}.page h1{font-size:clamp(40px,6vw,75px);letter-spacing:-.05em}.page p{line-height:1.8}.page .wrap{max-width:900px}@media(max-width:1050px){.menu{gap:14px}.driver-grid{grid-template-columns:repeat(2,1fr)}.wrap{width:calc(100% - 52px)}}@media(max-width:720px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:79px}.brand img{height:46px;width:46px}.brand{font-size:13px}.menu-toggle{display:block;background:transparent;border:0;color:#fff;font-weight:800;letter-spacing:.13em;font-size:11px}.menu-toggle span{margin-left:10px}.header nav{display:none;position:absolute;left:0;right:0;top:78px;background:#151719;padding:22px}.header nav.is-open{display:block}.menu{flex-direction:column;gap:21px}.hero{height:720px;min-height:560px}.hero-content{padding-bottom:115px}.hero h1{font-size:49px}.hero-index{left:18px;right:18px}.intro-section,.section,.racing-section,.partners-section{padding:75px 0}.intro-grid,.racing-grid{grid-template-columns:1fr;gap:35px}.driver-grid{grid-template-columns:1fr 1fr;gap:12px}.driver-photo{height:250px}.driver-info{display:block}.driver-info h3{font-size:15px}.driver-info span{display:block;margin-top:7px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid a{height:180px}.contact-grid{display:block}.contact-email{display:inline-block;margin-top:30px}.partner-names{gap:15px;font-size:16px}.section-aside{display:none}}@media(max-width:440px){.driver-grid{grid-template-columns:1fr}.driver-photo{height:390px}.gallery-grid{grid-template-columns:1fr}.gallery-grid a{height:240px}}

/* 0.3 refinements */
.hero{min-height: min(790px, 88svh);display:flex;align-items:flex-end;background-position:center center;background-size:cover}
.hero.has-photo{background-image:var(--hero-photo)}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.57),rgba(0,0,0,.04) 80%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%)}
.hero-content{padding-top:210px;padding-bottom:90px;position:relative;z-index:2}
.hero-content h1{font-size:clamp(40px,5.2vw,84px);line-height:1.02;letter-spacing:-.055em;max-width:780px}
.hero-content p{font-size:clamp(14px,1.3vw,19px)}
.hero.no-photo{background:linear-gradient(125deg,#0c0d0e,#292b2e 65%,#111)}
.hero.no-photo .hero-content{padding-top:190px}
.driver-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.driver-photo{aspect-ratio:4/5}
.driver-photo img{width:100%;height:100%;object-fit:cover}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gallery-grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block}
.partner-names{line-height:2}
@media(max-width:900px){.driver-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hero{min-height:72svh}.hero-content{padding-bottom:65px}.driver-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-grid{grid-template-columns:1fr 1fr;gap:7px}.wrap{width:calc(100% - 36px)}}

/* v0.4 — restrained hero and editable driver cards */
.hero-content h1{font-size:clamp(40px,4.25vw,68px);max-width:680px}
.driver-class{display:inline-block!important;margin-top:8px!important;font-size:12px!important;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#e32932!important}
.driver-info .profile-link{margin-top:12px!important}
.driver-profile-class{font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:#e32932;font-weight:700;margin:8px 0 30px}
.driver-card .driver-photo{overflow:hidden;background:#e8e8e8}
.driver-card .driver-photo img{transition:transform .3s ease}
.driver-card:hover .driver-photo img{transform:scale(1.035)}

/* v0.5: restrained driver grid and clean, simple profiles */
.drivers-section .section-top h2{font-size:clamp(35px,3.7vw,53px)}
.driver-info{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:17px 28px 24px 0;min-height:84px}
.driver-info h3{font-size:clamp(17px,1.35vw,22px);line-height:1.18}
.driver-info .driver-class{display:block!important;margin-top:9px!important;font-size:12px!important;color:var(--red)!important}
.driver-info .profile-link{position:absolute;right:0;top:13px;margin:0!important;font-size:19px!important;color:#555!important;transition:transform .2s}
.driver-card:hover .profile-link{transform:translate(3px,-3px);color:var(--red)!important}
.driver-card:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.driver-photo{height:auto;aspect-ratio:4/5}
.driver-profile-page{background:#f5f5f3;min-height:100vh;padding:155px 0 110px}
.driver-profile-grid{display:grid;grid-template-columns:minmax(0, .95fr) minmax(0, 1fr);gap:clamp(32px,6vw,110px);align-items:center}
.driver-profile-image{background:#e8e8e8;aspect-ratio:4/5;overflow:hidden}
.driver-profile-image img{display:block;width:100%;height:100%;object-fit:cover}
.driver-profile-details{align-self:center}
.driver-back{display:inline-block;margin-bottom:70px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#666}
.driver-back:hover{color:var(--red)}
.driver-profile-details h1{font-size:clamp(44px,5.2vw,84px);line-height:1.03;letter-spacing:-.055em;margin:17px 0 10px}
.driver-profile-details .driver-profile-class{font-size:14px;margin:14px 0 30px}
.driver-biography{max-width:550px;font-size:17px;line-height:1.75;color:#414448}
.driver-biography p{margin:0 0 16px}
@media(max-width:760px){.driver-profile-page{padding:105px 0 70px}.driver-profile-grid{grid-template-columns:1fr;gap:28px}.driver-profile-image{max-height:540px}.driver-back{margin-bottom:25px}.driver-profile-details h1{font-size:clamp(38px,9vw,60px)}}

.sponsor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:46px}
.sponsor-item{min-height:126px;background:#fff;display:flex;justify-content:center;align-items:center;padding:22px;text-align:center}
.sponsor-item a{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.sponsor-logo{display:block;max-width:100%;max-height:75px;width:auto;height:auto;object-fit:contain}
.sponsor-name{font-size:clamp(14px,1.35vw,19px);font-weight:800;line-height:1.3;letter-spacing:-.02em}
@media(max-width:900px){.sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sponsor-item{min-height:98px;padding:15px}}

/* v0.7 — editorial partner wall; responsive and logo-first */
.sponsor-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin-top:42px}
.sponsor-item{grid-column:span 3;min-width:0;min-height:150px;padding:26px 20px;background:#fff;border:1px solid #e6e6e6;position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.sponsor-item:nth-child(-n+3){grid-column:span 4;min-height:172px}
.sponsor-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#ef2430;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.sponsor-item:hover{transform:translateY(-4px);border-color:#d0d0d0;box-shadow:0 14px 30px rgba(0,0,0,.075)}
.sponsor-item:hover::after{transform:scaleX(1)}
.sponsor-item a{position:relative;z-index:1}
.sponsor-logo{max-width:82%;max-height:82px;filter:none;transition:transform .22s ease}
.sponsor-item:hover .sponsor-logo{transform:scale(1.035)}
.sponsor-name{font-size:clamp(17px,1.6vw,26px);font-weight:900;line-height:1.12;letter-spacing:-.045em;color:#191919;max-width:100%;overflow-wrap:anywhere}
.sponsor-item:nth-child(-n+3) .sponsor-name{font-size:clamp(21px,2vw,34px)}
@media(max-width:900px){.sponsor-item,.sponsor-item:nth-child(-n+3){grid-column:span 6;min-height:140px}}
@media(max-width:600px){.sponsor-grid{gap:9px;margin-top:30px}.sponsor-item,.sponsor-item:nth-child(-n+3){grid-column:span 6;min-height:110px;padding:16px 10px}.sponsor-name,.sponsor-item:nth-child(-n+3) .sponsor-name{font-size:clamp(15px,4vw,22px)}.sponsor-logo{max-height:60px}}

/* v0.8: equal-sized, unboxed partner logos */
.partners-section .sponsor-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:34px 45px!important;margin-top:42px!important}
.partners-section .sponsor-item{grid-column:auto!important;min-height:115px!important;height:115px!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:10px!important;transform:none!important}
.partners-section .sponsor-item::before,.partners-section .sponsor-item::after{display:none!important}
.partners-section .sponsor-logo{max-width:100%!important;max-height:90px!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:none!important;transition:transform .2s ease}
.partners-section .sponsor-item:hover .sponsor-logo{transform:scale(1.05)}
.partners-section .sponsor-name{font-size:18px!important;font-weight:700!important}
@media(max-width:900px){.partners-section .sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}}
@media(max-width:600px){.partners-section .sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.partners-section .sponsor-item{height:95px!important;min-height:95px!important}.partners-section .sponsor-logo{max-height:72px!important}}

/* v1.0 balanced sponsor logo wall */
.partners-section{padding:90px 0!important}
.partners-section .sponsor-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:16px 20px!important;margin-top:38px!important;align-items:center!important}
.partners-section .sponsor-item,.partners-section .sponsor-item:nth-child(-n+3){grid-column:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;height:108px!important;min-height:108px!important;max-height:108px!important;padding:7px!important;border:0!important;background:none!important;box-shadow:none!important;transform:none!important;overflow:visible!important}
.partners-section .sponsor-item a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important}
.partners-section .sponsor-logo,.partners-section .sponsor-item:nth-child(-n+3) .sponsor-logo{width:100%!important;height:100%!important;max-height:108px!important;max-width:100%!important;object-fit:contain!important;mix-blend-mode:multiply!important}
.partners-section .sponsor-name,.partners-section .sponsor-item:nth-child(-n+3) .sponsor-name{font-size:16px!important;font-weight:750!important}
@media(max-width:850px){.partners-section .sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:550px){.partners-section .sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.partners-section .sponsor-item,.partners-section .sponsor-item:nth-child(-n+3){height:88px!important;min-height:88px!important;max-height:88px!important}.partners-section .sponsor-logo{max-height:88px!important}}

/* v1.1 monochrome single-row carousel */
.partners-section{overflow:hidden;padding:76px 0 82px!important}
.partners-section .ksa-sponsor-carousel{position:relative;display:flex;align-items:center;gap:10px;margin-top:40px}
.partners-section .ksa-carousel-viewport{min-width:0;flex:1;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;outline-offset:4px}
.partners-section .ksa-carousel-viewport::-webkit-scrollbar{display:none}
.partners-section .sponsor-grid{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:24px!important;margin:0!important;grid-template-columns:none!important;width:max-content!important;max-width:none!important}
.partners-section .sponsor-item,.partners-section .sponsor-item:nth-child(-n+3){flex:0 0 clamp(155px,17vw,235px)!important;width:clamp(155px,17vw,235px)!important;grid-column:auto!important;height:128px!important;min-height:128px!important;max-height:128px!important;padding:15px!important;background:transparent!important;border:0!important;box-shadow:none!important;scroll-snap-align:start;overflow:hidden!important}
.partners-section .sponsor-item a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important}
.partners-section .sponsor-logo,.partners-section .sponsor-item:nth-child(-n+3) .sponsor-logo{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;filter:grayscale(1) brightness(.85) contrast(.85)!important;opacity:.75;mix-blend-mode:multiply!important;transition:filter .25s ease,opacity .25s ease,transform .25s ease}
.partners-section .sponsor-item:hover .sponsor-logo{filter:none!important;opacity:1;transform:scale(1.04)}
.partners-section .sponsor-name,.partners-section .sponsor-item:nth-child(-n+3) .sponsor-name{color:#777!important;font-size:17px!important;font-weight:800!important;letter-spacing:-.02em!important}
.partners-section .sponsor-item:hover .sponsor-name{color:#171717!important}
.partners-section .ksa-carousel-arrow{appearance:none;flex:0 0 28px;width:28px;height:52px;border:0;background:transparent;color:#777;cursor:pointer;font-size:36px;font-weight:300;line-height:1;transition:color .2s ease}
.partners-section .ksa-carousel-arrow:hover{color:#e71f2b}
@media(max-width:700px){.partners-section .ksa-sponsor-carousel{gap:3px}.partners-section .sponsor-grid{gap:8px!important}.partners-section .sponsor-item,.partners-section .sponsor-item:nth-child(-n+3){flex-basis:150px!important;width:150px!important;height:100px!important;min-height:100px!important;max-height:100px!important;padding:12px!important}.partners-section .ksa-carousel-arrow{width:20px;flex-basis:20px;font-size:28px}}
@media(prefers-reduced-motion:reduce){.partners-section .ksa-carousel-viewport{scroll-behavior:auto}}

/* v1.2 continuous, seamless sponsor marquee */
.partners-section .ksa-carousel-viewport{overflow:hidden!important;scroll-behavior:auto!important;scroll-snap-type:none!important}
.partners-section .sponsor-grid.ksa-marquee-track{display:flex!important;gap:0!important;width:max-content!important;animation:ksa-marquee var(--ksa-marquee-duration,30s) linear infinite!important;will-change:transform}
.partners-section .ksa-marquee-group{display:flex;flex:none;gap:24px;padding-right:24px;align-items:center}
.partners-section .ksa-sponsor-carousel:hover .ksa-marquee-track,.partners-section .ksa-sponsor-carousel:focus-within .ksa-marquee-track{animation-play-state:paused!important}
.partners-section .ksa-marquee-track.ksa-motion-disabled{animation:none!important}
@keyframes ksa-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.partners-section .ksa-marquee-group{gap:8px;padding-right:8px}}
@media(prefers-reduced-motion:reduce){.partners-section .ksa-carousel-viewport{overflow-x:auto!important}.partners-section .sponsor-grid.ksa-marquee-track{animation:none!important}}

/* Editable 2027 racing calendar */
.ksa-calendar-section{background:#171819;color:#fff;padding:92px 0}.ksa-calendar-section .section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.ksa-calendar-section h2{font-size:clamp(38px,5vw,72px);line-height:1.05;margin:12px 0}.ksa-calendar-section .section-aside{color:#aaa;letter-spacing:.12em;font-size:12px;font-weight:700}.ksa-calendar-list{border-top:1px solid #424242}.ksa-calendar-row{display:grid;grid-template-columns:150px 1fr 150px 35px;gap:22px;align-items:center;padding:23px 4px;border-bottom:1px solid #424242}.ksa-calendar-date{color:#ff3535;font-weight:800;font-size:20px;white-space:nowrap}.ksa-calendar-main h3{margin:0 0 7px;font-size:19px;line-height:1.3}.ksa-calendar-main span,.ksa-calendar-location{color:#b6b6b6;font-size:13px}.ksa-calendar-location{text-align:right}.ksa-calendar-link{color:#fff;font-size:24px;text-decoration:none;text-align:right}.ksa-calendar-footnote{font-size:12px;color:#999;margin-top:22px}@media(max-width:680px){.ksa-calendar-section{padding:60px 0}.ksa-calendar-row{grid-template-columns:1fr 28px;gap:9px 12px}.ksa-calendar-date{grid-column:1;grid-row:1}.ksa-calendar-main{grid-column:1;grid-row:2}.ksa-calendar-location{grid-column:1;grid-row:3;text-align:left}.ksa-calendar-link{grid-column:2;grid-row:1/4;align-self:center}}

/* v1.4 compact English-language race calendar */
.ksa-calendar-section{padding:64px 0 66px!important}
.ksa-calendar-section .section-top{margin-bottom:24px!important;gap:18px}
.ksa-calendar-section h2{font-size:clamp(34px,4.1vw,58px)!important;line-height:1.06!important;margin:10px 0 0!important}
.ksa-calendar-list{border-top:1px solid #3c3c3c}
.ksa-calendar-row{display:grid!important;grid-template-columns:132px minmax(0,1fr) auto!important;gap:18px!important;min-height:72px!important;padding:12px 4px!important;align-items:center!important}
.ksa-calendar-date{font-size:17px!important;line-height:1.15!important;white-space:nowrap;font-weight:800}
.ksa-calendar-date small{display:block;color:#898989;font-size:10px;font-weight:600;letter-spacing:.1em;margin-top:5px}
.ksa-calendar-main h3{font-size:17px!important;font-weight:750!important;line-height:1.25!important;margin:0 0 5px!important}
.ksa-calendar-main>span{font-size:12px!important;color:#a9a9a9!important;line-height:1.35}
.ksa-calendar-series{color:#777}
.ksa-calendar-link{font-size:19px!important;padding:10px!important;text-align:center!important}
.ksa-calendar-footnote{margin-top:16px!important}
@media(max-width:680px){.ksa-calendar-section{padding:48px 0!important}.ksa-calendar-section .section-top{align-items:start!important}.ksa-calendar-section .section-aside{font-size:10px!important;margin-top:12px}.ksa-calendar-row{grid-template-columns:100px minmax(0,1fr) auto!important;gap:10px!important;min-height:70px!important;padding:11px 0!important}.ksa-calendar-date{grid-column:1!important;grid-row:1!important;font-size:14px!important}.ksa-calendar-main{grid-column:2!important;grid-row:1!important}.ksa-calendar-main h3{font-size:14px!important}.ksa-calendar-main>span{font-size:11px!important}.ksa-calendar-link{grid-column:3!important;grid-row:1!important}}

/* v1.5 — official race results */
.ksa-results-page{background:#f6f6f4;min-height:65vh}.ksa-results-page .section{padding:90px 0}.ksa-results-page h1{font-size:clamp(42px,6vw,78px);margin:10px 0 12px}.ksa-results-intro{color:#777;margin:0 0 35px}.ksa-results-filters{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0 22px}.ksa-results-filters label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#777}.ksa-results-filters select{min-width:165px;padding:11px 32px 11px 12px;border:1px solid #d9d9d9;background:#fff;color:#222;font:inherit;font-size:13px;letter-spacing:0;text-transform:none}.ksa-results-scroll{overflow-x:auto}.ksa-results table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.ksa-results th{padding:14px 13px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#777;border-bottom:2px solid #222;white-space:nowrap}.ksa-results td{padding:17px 13px;border-bottom:1px solid #ddd;vertical-align:middle}.ksa-results tr[hidden]{display:none}.ksa-results td a{color:inherit;text-decoration:underline;text-underline-offset:3px}.ksa-results td a:hover{color:#df2530}.ksa-result-place{font-size:17px;font-weight:800}.ksa-result-place.ksa-podium{color:#d82330}.ksa-results-empty,.ksa-results-no-match{padding:20px 0;color:#777}.ksa-driver-results{padding:35px 0 80px}.ksa-driver-results h2{font-size:clamp(30px,4vw,50px);margin:8px 0 20px}.ksa-highlights-section{background:#f6f6f4}.ksa-highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ksa-highlight{display:flex;align-items:center;gap:16px;background:#fff;padding:23px 20px;min-width:0}.ksa-highlight-pos{font-size:31px;font-weight:850;color:#d82330}.ksa-highlight div{min-width:0}.ksa-highlight strong{display:block;font-size:15px}.ksa-highlight div span{display:block;font-size:12px;color:#777;margin-top:5px}.ksa-results-cta{display:inline-block;margin-top:22px;color:inherit;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}@media(max-width:750px){.ksa-highlights-grid{grid-template-columns:1fr 1fr}.ksa-results-page .section{padding:55px 0}.ksa-results th,.ksa-results td{padding:12px 9px;font-size:12px}.ksa-results-filters select{min-width:140px}}@media(max-width:500px){.ksa-highlights-grid{grid-template-columns:1fr}}

.ksa-result-detail{display:block;font-size:11px;color:#777;font-weight:500;white-space:nowrap;margin-top:3px}


/* v1.9: actual KS Academy photographs, editorial motorsport homepage */
.header{position:absolute!important;top:0;background:rgba(9,11,14,.88)!important;backdrop-filter:blur(8px);z-index:99}.header-inner{min-height:102px}.brand{display:block;line-height:0}.brand img{display:block!important;width:auto!important;height:79px!important;max-width:240px!important;object-fit:contain!important}.menu a{font-size:12px!important;letter-spacing:.07em!important}.menu a:hover{color:#f42636}.ksa-hero-real{height:clamp(550px,73vw,790px)!important;min-height:550px!important;background-color:#101114;background-position:center 48%!important;background-size:cover!important;display:block!important}.ksa-hero-real .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.17),transparent 28%,rgba(0,0,0,.23) 100%)!important;pointer-events:none}.ksa-hero-corner{position:absolute;bottom:34px;right:4%;z-index:2;color:#fff;display:flex;gap:14px;font-size:10px;letter-spacing:.2em;font-weight:800;text-shadow:0 1px 8px #000}.ksa-hero-controls{position:absolute;bottom:28px;left:4%;z-index:3;display:flex;gap:16px;align-items:center}.ksa-hero-controls>button{border:1px solid #ffffff66;background:#0008;color:#fff;font-size:24px;width:38px;height:38px;cursor:pointer}.ksa-hero-dots{display:flex;gap:8px}.ksa-hero-dots button{background:#ffffff77;border:0;width:27px;height:4px;cursor:pointer;padding:0}.ksa-hero-dots button.is-active{background:#f32234;width:39px}.ksa-feature-section{background:#0c0f12;padding:22px 3% 36px}.ksa-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ksa-feature-card{position:relative;min-height:250px;padding:28px 30px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;overflow:hidden;color:#fff;border-bottom:4px solid #e91d30}.ksa-feature-card:before{content:'';position:absolute;inset:0;z-index:-2;background-image:var(--card-photo);background-size:cover;background-position:center;transition:transform .4s}.ksa-feature-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000d,transparent 90%)}.ksa-feature-card:hover:before{transform:scale(1.045)}.ksa-feature-card>span{position:absolute;top:20px;left:30px;font-size:11px;letter-spacing:.18em;color:#eee}.ksa-feature-card strong{font-size:clamp(27px,3vw,42px);line-height:1;letter-spacing:-.04em}.ksa-feature-card small{margin-top:17px;font-size:11px;letter-spacing:.11em;font-weight:700}.ksa-feature-card b{margin-left:12px;font-size:18px}.intro-section{padding:65px 0}.intro-grid h2{margin-top:12px}.gallery-grid img{object-position:center}.gallery-grid a{display:block}@media(max-width:760px){.header-inner{min-height:75px}.brand img{height:56px!important;max-width:175px!important}.ksa-hero-real{min-height:440px!important;height:64svh!important;background-position:55% center!important}.ksa-feature-section{padding:12px 12px 25px}.ksa-feature-grid{grid-template-columns:1fr;gap:12px}.ksa-feature-card{min-height:180px}.ksa-hero-corner{bottom:82px}.ksa-hero-controls{bottom:23px}.intro-section{padding:52px 0}}

/* v2.0 — clean photo-led masthead, authentic Drive logo */
.header{position:relative!important;top:auto!important;background:#101214!important;backdrop-filter:none!important;width:100%;box-shadow:none!important}
.header-inner{min-height:88px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:34px!important}
.brand{display:flex!important;align-items:center!important;flex:0 0 auto!important;background:transparent!important;padding:0!important;border:0!important;overflow:visible!important}
.brand img{height:65px!important;width:130px!important;max-width:130px!important;object-fit:contain!important;object-position:left center!important;background:none!important;border:0!important;border-radius:0!important}
.header nav{margin-left:auto!important}
.menu{gap:clamp(13px,2vw,34px)!important}
.menu a{font-size:12px!important;white-space:nowrap!important}
.ksa-hero-real{height:min(63vw,640px)!important;min-height:380px!important;max-height:640px!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center center!important;background-color:#0d1011!important}
.ksa-hero-real .hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.25),transparent 22%)!important}
.ksa-hero-corner{display:none!important}
.ksa-hero-controls{bottom:20px!important;left:50%!important;transform:translateX(-50%)!important}
.ksa-feature-section{padding-top:18px!important}
@media(max-width:760px){.header-inner{min-height:70px!important}.brand img{height:52px!important;width:104px!important;max-width:104px!important}.header nav{top:70px!important}.ksa-hero-real{height:62vw!important;min-height:270px!important;max-height:420px!important;background-size:contain!important}.ksa-hero-controls{bottom:9px!important}.ksa-hero-controls>button{width:32px;height:32px}}


/* v2.1 — edge-to-edge racing editorial header, native aspect-ratio logo */
body.home .header{position:relative!important;top:auto!important;width:100%!important;background:#0c0f10!important;z-index:100!important}
body.home .header .wrap.header-inner{width:100%!important;max-width:1600px!important;margin:0 auto!important;min-height:94px!important;padding:12px clamp(20px,4vw,70px)!important;display:flex!important;align-items:center!important;gap:clamp(18px,3vw,50px)!important}
body.home .brand{flex:0 0 auto!important;display:block!important;line-height:0!important}
body.home .brand img{display:block!important;width:clamp(155px,14vw,215px)!important;max-width:none!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:left center!important}
body.home .header nav{margin-left:auto!important}
body.home .menu{display:flex;align-items:center;gap:clamp(14px,1.9vw,30px)!important}
body.home .menu a{font-size:12px!important;font-weight:750!important;letter-spacing:.035em!important}
body.home .ksa-social-links{display:flex;gap:16px;align-items:center;margin-left:10px;flex:0 0 auto}
body.home .ksa-social-links a{color:white;text-decoration:none;font-size:17px;font-weight:850;line-height:1;opacity:.9}
body.home .ksa-social-links a:hover{color:#ee2434}
body.home .ksa-hero-real{position:relative!important;width:100%!important;height:clamp(420px,35vw,610px)!important;min-height:0!important;max-height:none!important;background:none!important;overflow:hidden!important;display:block!important}
body.home .ksa-hero-photo{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 56%!important}
body.home .ksa-hero-real .hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.13),transparent 24%,rgba(0,0,0,.08))!important}
body.home .ksa-feature-section{padding:20px clamp(15px,2.6vw,48px) 30px!important;background:#0b1012!important}
body.home .ksa-feature-grid{max-width:1800px;margin:0 auto;gap:20px!important}
body.home .ksa-feature-card{min-height:240px!important;padding:24px 30px!important;border-bottom:4px solid #ee2133!important}
body.home .ksa-feature-card strong{font-size:clamp(26px,2.2vw,36px)!important}
body.home .ksa-feature-card strong:after{content:'';display:block;width:37px;height:4px;background:#ed2434;margin-top:9px}
body.home .ksa-feature-card small{margin-top:10px!important}
body.home .ksa-feature-card>span{display:none!important}
@media(max-width:1050px){body.home .ksa-social-links{display:none}body.home .header .wrap.header-inner{gap:15px!important}}
@media(max-width:760px){
 body.home .header .wrap.header-inner{min-height:75px!important;padding:10px 18px!important}
 body.home .brand img{width:155px!important;height:auto!important;max-width:155px!important}
 body.home .header nav{top:75px!important}
 body.home .ksa-hero-real{height:clamp(300px,65vw,480px)!important}
 body.home .ksa-hero-photo{object-position:57% center!important}
 body.home .ksa-feature-grid{grid-template-columns:1fr!important;gap:12px!important}
 body.home .ksa-feature-card{min-height:180px!important}
}

/* 2.3: wide race classifications and gallery carousel */
.ksa-results-page .section>.wrap{max-width:1360px!important;width:calc(100% - 80px)!important;}
.ksa-results-page .section{padding-top:58px!important;}
.ksa-results-page h1{margin-top:8px!important;margin-bottom:12px!important;}
.ksa-results-page .ksa-results-intro{margin-bottom:26px!important;}
.ksa-results-page .ksa-results-scroll{width:100%;overflow-x:auto;}
.ksa-results-page .ksa-results-scroll table{width:100%;}
.ksa-results-page .ksa-results-scroll td{padding-top:18px!important;padding-bottom:18px!important;}
.ksa-photo-carousel{position:relative;display:flex;align-items:center;gap:10px;}
.ksa-photo-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px;flex:1;}
.ksa-photo-track>a{flex:0 0 calc((100% - 32px)/3);height:265px;overflow:hidden;scroll-snap-align:start;display:block;background:#151515;}
.ksa-photo-track img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s;}
.ksa-photo-track>a:hover img{transform:scale(1.04);}
.ksa-photo-prev,.ksa-photo-next{flex:0 0 38px;height:52px;border:1px solid #555;background:#111;color:white;font-size:34px;cursor:pointer;}
@media(max-width:900px){.ksa-photo-track>a{flex-basis:calc((100% - 16px)/2)}.ksa-results-page .section>.wrap{width:calc(100% - 32px)!important;}}
@media(max-width:600px){.ksa-photo-track>a{flex-basis:90%;height:240px}.ksa-photo-prev,.ksa-photo-next{flex-basis:28px;font-size:25px}.ksa-results-page .section{padding-top:32px!important;}}

/* v2.5: taller, moving photo gallery */
.gallery-section{padding-top:90px!important;padding-bottom:95px!important}
.gallery-section .wrap{max-width:1660px!important}
.ksa-photo-carousel{gap:16px!important}
.ksa-photo-track{min-width:0;scrollbar-width:none!important;padding-bottom:0!important;scroll-behavior:smooth;overscroll-behavior-x:contain}
.ksa-photo-track::-webkit-scrollbar{display:none!important}
.ksa-photo-track>a{flex:0 0 calc((100% - 36px)/3)!important;height:clamp(350px,29vw,485px)!important;scroll-snap-align:start}
.ksa-photo-track img{width:100%!important;height:100%!important;object-fit:cover!important}
.ksa-photo-prev,.ksa-photo-next{flex:0 0 48px!important;height:66px!important;border:0!important;background:#101214!important;color:white!important}
.ksa-photo-prev:hover,.ksa-photo-next:hover{background:#e21e30!important}
@media(max-width:1000px){.ksa-photo-track>a{flex-basis:calc((100% - 18px)/2)!important;height:380px!important}}
@media(max-width:650px){.gallery-section{padding-top:50px!important;padding-bottom:55px!important}.ksa-photo-carousel{gap:6px!important}.ksa-photo-track>a{flex-basis:88%!important;height:350px!important}.ksa-photo-prev,.ksa-photo-next{flex-basis:30px!important;height:55px!important}}
@media(prefers-reduced-motion:reduce){.ksa-photo-track{scroll-behavior:auto!important}}

.ksa-gallery-page{padding:85px 0 110px;background:#fff}
.ksa-gallery-page .wrap{max-width:1500px;width:calc(100% - 64px);margin:auto}
.ksa-gallery-page h1{font-size:clamp(52px,7vw,100px);margin:12px 0 0;line-height:1}
.ksa-gallery-page p{margin:20px 0 45px;color:#737373}
.ksa-gallery-full-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ksa-gallery-full-grid a{display:block;aspect-ratio:4/3;overflow:hidden;background:#eee}
.ksa-gallery-full-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.ksa-gallery-full-grid a:hover img{transform:scale(1.04)}
@media(max-width:800px){.ksa-gallery-full-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.ksa-gallery-full-grid{grid-template-columns:1fr}.ksa-gallery-page .wrap{width:calc(100% - 32px)}}

/* v2.7 sticky header and podium milestone */
.header,body.home .header{position:sticky!important;top:0!important;left:0!important;z-index:9999!important;background:rgba(12,15,16,.97)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
body.admin-bar .header,body.admin-bar.home .header{top:32px!important}
html{scroll-padding-top:105px}
.ksa-podium-counter{display:flex;align-items:center;gap:11px;flex:0 0 auto;color:#fff;border-left:1px solid #4b4e50;padding-left:22px;white-space:nowrap}
.ksa-podium-count{font-weight:900;font-size:42px;line-height:1;letter-spacing:-.075em;color:#ed242b;font-variant-numeric:tabular-nums}
.ksa-podium-label{font-size:10px;line-height:1.3;letter-spacing:.1em;font-weight:850}
.ksa-podium-label small{display:block;font-size:8px;font-weight:600;letter-spacing:.06em;color:#b7babe;margin-top:4px}
@media(max-width:1230px){.ksa-podium-counter{padding-left:13px;gap:8px}.ksa-podium-count{font-size:34px}.ksa-podium-label{font-size:9px}.ksa-podium-label small{font-size:7px}body.home .header .wrap.header-inner{gap:16px!important}}
@media(max-width:960px){.ksa-podium-counter{margin-left:auto}.ksa-social-links{display:none!important}}
@media(max-width:760px){.ksa-podium-counter{padding-left:9px;gap:6px}.ksa-podium-count{font-size:29px}.ksa-podium-label{font-size:8px}.ksa-podium-label small{font-size:6px}.header-inner,body.home .header .wrap.header-inner{gap:8px!important}.menu-toggle{flex:0 0 auto}html{scroll-padding-top:82px}}
@media(max-width:480px){.ksa-podium-counter{padding-left:7px}.ksa-podium-count{font-size:26px}.ksa-podium-label{font-size:7px}.ksa-podium-label small{max-width:76px;white-space:normal;font-size:6px}body.home .brand img{width:112px!important;max-width:112px!important}}
@media(max-width:782px){body.admin-bar .header,body.admin-bar.home .header{top:46px!important}}
@media(max-width:600px){body.admin-bar .header,body.admin-bar.home .header{top:0!important}}

/* v2.9 – taller Team / Results / Gallery tiles, matching approved mockup */
@media(min-width:761px){body.home .ksa-feature-card{height:clamp(380px,28vw,550px)!important;min-height:380px!important;padding:32px 34px 38px!important}body.home .ksa-feature-card strong{font-size:clamp(34px,2.5vw,48px)!important}body.home .ksa-feature-card small{margin-top:22px!important}}
@media(min-width:761px) and (max-width:1100px){body.home .ksa-feature-card{height:390px!important;min-height:390px!important;padding:26px!important}}
@media(max-width:760px){body.home .ksa-feature-card{height:310px!important;min-height:310px!important;padding:25px!important}}
@media(max-width:440px){body.home .ksa-feature-card{height:280px!important;min-height:280px!important}}

/* v3.0: compact contact area, preserve layout and colors */
body.home .contact-section{padding-top:43px!important;padding-bottom:43px!important}
body.home .contact-section h2{font-size:clamp(32px,3.2vw,48px)!important;margin-top:9px!important}
body.home .contact-section .contact-email{font-size:clamp(16px,1.7vw,22px)!important}
@media(max-width:720px){body.home .contact-section{padding-top:32px!important;padding-bottom:32px!important}body.home .contact-section .contact-email{margin-top:15px!important}}

/* v3.1: proportionate compact partners and contact, email + phone */
body.home .partners-section{padding-top:38px!important;padding-bottom:42px!important}
body.home .partners-section .ksa-sponsor-carousel{margin-top:16px!important}
body.home .partners-section h2{margin-top:8px!important;margin-bottom:8px!important}
body.home .partners-section .sponsor-item,body.home .partners-section .sponsor-item:nth-child(-n+3){height:90px!important;min-height:90px!important;max-height:90px!important;padding:8px!important}
body.home .contact-section{padding:20px 0!important}
body.home .contact-section .contact-grid{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
body.home .contact-section h2{font-size:clamp(26px,2.4vw,36px)!important;margin:3px 0 0!important;line-height:1.08!important}
body.home .contact-section .kicker{font-size:9px!important;line-height:1.1!important}
body.home .contact-section .ksa-contact-links{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
body.home .contact-section .ksa-contact-links a{display:inline-flex;align-items:center;color:#fff!important;font-weight:700;font-size:clamp(14px,1.05vw,17px)!important;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:4px;margin:0!important}
body.home .contact-section .ksa-contact-links a:hover{border-bottom-color:#fff}
@media(max-width:760px){body.home .partners-section{padding:30px 0!important}body.home .partners-section .ksa-sponsor-carousel{margin-top:12px!important}body.home .contact-section{padding:18px 0!important}body.home .contact-section .contact-grid{align-items:flex-start!important;flex-direction:column!important;gap:12px!important}body.home .contact-section .ksa-contact-links{gap:12px 22px}body.home .contact-section .ksa-contact-links a{font-size:14px!important}}

/* v3.3 — preserve entire photo, with flexible portrait/landscape widths */
.gallery-section .ksa-photo-track{align-items:center!important;gap:16px!important}
.gallery-section .ksa-photo-track>a{flex:0 0 auto!important;height:clamp(350px,29vw,560px)!important;width:auto!important;aspect-ratio:var(--ksa-photo-ratio,1.5)!important;max-width:none!important;display:flex!important;align-items:center;justify-content:center;background:#f3f3f3!important;overflow:hidden!important}
.gallery-section .ksa-photo-track img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;transform:none!important}
.gallery-section .ksa-photo-track>a:hover img{transform:none!important}
.ksa-gallery-page .ksa-gallery-full-grid{display:flex!important;flex-wrap:wrap!important;gap:16px!important;align-items:center!important}
.ksa-gallery-page .ksa-gallery-full-grid a{flex:1 1 260px!important;max-width:100%!important;height:310px!important;aspect-ratio:auto!important;display:flex!important;align-items:center;justify-content:center;background:#f3f3f3!important;overflow:hidden!important}
.ksa-gallery-page .ksa-gallery-full-grid img{display:block!important;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;transform:none!important}
.ksa-gallery-page .ksa-gallery-full-grid a:hover img{transform:none!important}
@media(max-width:650px){.gallery-section .ksa-photo-track>a{height:350px!important}.ksa-gallery-page .ksa-gallery-full-grid a{height:280px!important;flex-basis:100%!important}}
/* v3.5: balanced uncropped carousel; whole active photo fits the viewport */
.gallery-section .ksa-photo-track{scroll-snap-type:x proximity!important;align-items:center!important;scroll-padding-inline:0!important}
.gallery-section .ksa-photo-track>a{height:450px!important;width:min(calc(450px * var(--ksa-photo-ratio, 1.5)),650px)!important;max-width:min(650px,100%)!important;aspect-ratio:auto!important;flex:0 0 auto!important;scroll-snap-align:center!important;box-sizing:border-box!important}
.gallery-section .ksa-photo-track>a img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
@media(max-width:700px){.gallery-section .ksa-photo-track>a{height:320px!important;width:min(calc(320px * var(--ksa-photo-ratio, 1.5)),calc(100vw - 105px))!important;max-width:100%!important}}

/* v3.6: fixed full-image slots, no partial cards at carousel boundaries */
.gallery-section .ksa-photo-track{display:flex!important;align-items:stretch!important;gap:16px!important;scroll-snap-type:x mandatory!important;scroll-padding:0!important;overflow-x:auto!important}
.gallery-section .ksa-photo-track>a{flex:0 0 calc((100% - 32px)/3)!important;width:calc((100% - 32px)/3)!important;max-width:none!important;min-width:0!important;height:450px!important;aspect-ratio:auto!important;scroll-snap-align:start!important;scroll-snap-stop:always!important;box-sizing:border-box!important;overflow:hidden!important;background:#f2f2f2!important}
.gallery-section .ksa-photo-track>a img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}
@media(max-width:1050px){.gallery-section .ksa-photo-track>a{flex-basis:calc((100% - 16px)/2)!important;width:calc((100% - 16px)/2)!important;height:390px!important}}
@media(max-width:700px){.gallery-section .ksa-photo-track>a{flex-basis:100%!important;width:100%!important;height:340px!important}}

/* v3.7 — Elfsight-powered Instagram feed */
.ksa-instagram-section{background:#f5f5f5;padding-top:64px;padding-bottom:70px}
.ksa-instagram-section .section-top{align-items:end;gap:20px}
.ksa-instagram-follow{font-size:12px;font-weight:800;letter-spacing:.06em;color:#e42329;text-decoration:none;white-space:nowrap}
.ksa-instagram-follow:hover{text-decoration:underline}
.ksa-instagram-feed{margin-top:26px;min-height:250px;width:100%;overflow:visible}
@media(max-width:650px){.ksa-instagram-section{padding-top:45px;padding-bottom:48px}.ksa-instagram-section .section-top{align-items:start;flex-direction:column}.ksa-instagram-follow{white-space:normal}.ksa-instagram-feed{margin-top:15px}}

/* v3.8: social feed immediately after the hero */
.ksa-hero-real + .ksa-instagram-section{padding-top:42px;padding-bottom:42px;background:#fff}
.ksa-hero-real + .ksa-instagram-section .section-top{margin-bottom:22px}
@media(max-width:650px){.ksa-hero-real + .ksa-instagram-section{padding-top:26px;padding-bottom:30px}}

/* v3.9: contact title same size as other section headings */
body.home .contact-section h2{font-size:clamp(38px,4.6vw,65px)!important;line-height:1.04!important;letter-spacing:-.06em!important;margin:9px 0 0!important}
@media(max-width:760px){body.home .contact-section{padding-top:28px!important;padding-bottom:28px!important}}
