:root{
	--jch-bg:#07090b;
	--jch-bg-2:#0d1013;
	--jch-panel:#11151a;
	--jch-panel-2:#171c22;
	--jch-text:#f4f6f7;
	--jch-muted:#9aa3aa;
	--jch-line:#242a31;
	--jch-blue:#242b58;
	--jch-electric:#77a8ff;
	--jch-accent:#b5cd0e;
	--jch-signal:#242b58;
	--jch-shell:min(1460px,calc(100vw - 48px));
	--jch-radius:18px;
	--jch-shadow:0 24px 80px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--jch-bg)}
body{margin:0;background:var(--jch-bg);color:var(--jch-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.jch-skip{position:fixed;left:16px;top:-80px;background:#fff;color:#000;padding:10px 14px;z-index:99999}
.jch-skip:focus{top:16px}
.jch-shell{width:var(--jch-shell);margin-inline:auto}
.jch-header{position:fixed;inset:0 0 auto;z-index:50;transition:.25s ease;background:linear-gradient(180deg,rgba(0,0,0,.78),transparent)}
.jch-header.is-scrolled{background:rgba(7,9,11,.94);backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.06)}
.jch-header.is-hidden{transform:translateY(-110%)}
.jch-header__inner{width:var(--jch-shell);height:90px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px}
.jch-brand .custom-logo{max-height:58px;width:auto}
.jch-wordmark{display:inline-flex;gap:8px;align-items:baseline;text-decoration:none;font-weight:950;letter-spacing:-.05em;font-size:29px;line-height:1}
.jch-wordmark span{color:#fff}
.jch-wordmark b{color:var(--jch-accent);font-weight:950}
.jch-nav{justify-self:center}
.jch-menu{list-style:none;display:flex;gap:28px;padding:0;margin:0;align-items:center}
.jch-menu a{text-decoration:none;text-transform:uppercase;font-weight:800;font-size:12px;letter-spacing:.13em;color:#d8dde0;position:relative}
.jch-menu a:after{content:"";height:2px;background:var(--jch-accent);position:absolute;left:0;right:100%;bottom:-8px;transition:.2s}
.jch-menu a:hover:after,.jch-menu .current-menu-item>a:after{right:0}
.jch-header-cta,.jch-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:900;border-radius:999px;transition:.2s;cursor:pointer}
.jch-header-cta{background:var(--jch-accent);color:#111525;padding:13px 19px}
.jch-header-cta:hover{transform:translateY(-2px)}
.jch-nav-toggle{display:none;background:transparent;border:0;padding:10px}
.jch-nav-toggle span{display:block;background:#fff;width:24px;height:2px;margin:5px}
.jch-hero{position:relative;min-height:850px;height:100svh;max-height:1080px;overflow:hidden;display:flex;align-items:end;background:
	radial-gradient(circle at 70% 20%,rgba(255,59,48,.14),transparent 26%),
	linear-gradient(135deg,#11171b 0,#07090b 58%,#120706 100%)}
.jch-hero.has-media:before{content:"";position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:center;filter:saturate(.8) contrast(1.08)}
.jch-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.jch-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,7,.94) 0%,rgba(4,6,7,.62) 45%,rgba(4,6,7,.15) 78%),linear-gradient(0deg,#07090b 0,transparent 40%)}
.jch-hero__content{position:relative;z-index:3;padding-bottom:10vh}
.jch-kicker,.jch-eyebrow{text-transform:uppercase;font-weight:900;letter-spacing:.18em;font-size:12px}
.jch-kicker{color:#dce1e4;margin:0 0 18px}
.jch-kicker span{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 9px;margin-left:7px}
.jch-hero h1,.jch-display,.jch-page-hero h1,.jch-article-hero h1{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase;font-stretch:condensed;letter-spacing:-.045em;line-height:.82;margin:0}
.jch-hero h1{font-size:clamp(92px,13vw,220px);max-width:1000px}
.jch-hero h1 span{color:var(--jch-accent)}
.jch-hero__lead{font-size:clamp(18px,2.2vw,31px);font-weight:750;max-width:760px;margin:30px 0;color:#eef1f2}
.jch-actions{display:flex;flex-wrap:wrap;gap:13px}
.jch-btn{padding:15px 23px;border:1px solid transparent}
.jch-btn--primary{background:var(--jch-accent);color:#111525}
.jch-btn--primary:hover{background:#fff;color:#090b0d}
.jch-btn--ghost{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(0,0,0,.16)}
.jch-btn--ghost:hover{border-color:#fff;background:#fff;color:#000}
.jch-btn--light{background:#fff;color:#090b0d}
.jch-btn--light:hover{background:var(--jch-signal)}
.jch-hero__numbers{position:absolute;right:-2vw;top:12%;z-index:2;display:flex;flex-direction:column;align-items:end;line-height:.73;font-family:Impact,sans-serif;font-size:clamp(140px,24vw,420px);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);pointer-events:none}
.jch-hero__numbers span:nth-child(2){font-size:.6em;margin-right:8vw}
.jch-stripe{border-block:1px solid var(--jch-line);background:#0a0d0f;overflow:hidden}
.jch-stripe__inner{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:20px;white-space:nowrap;text-transform:uppercase;font-size:11px;letter-spacing:.18em;font-weight:900;color:#aeb6bb}
.jch-stripe b{color:var(--jch-accent)}
.jch-section{padding:110px 0}
.jch-section--intro{padding-top:130px}
.jch-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:9vw;align-items:start}
.jch-section h2,.jch-form-wrap h2{font-size:clamp(39px,5vw,78px);letter-spacing:-.045em;line-height:.95;margin:.15em 0 .3em}
.jch-eyebrow{color:var(--jch-accent);margin:0 0 13px}
.jch-copy{font-size:18px;color:#c5ccd0;max-width:740px}
.jch-copy p:first-child{margin-top:0}
.jch-text-link,.jch-link-arrow{text-transform:uppercase;text-decoration:none;font-size:11px;letter-spacing:.14em;font-weight:900}
.jch-text-link{display:inline-flex;margin-top:18px;border-bottom:1px solid var(--jch-accent);padding-bottom:5px}
.jch-section--teaser{background:
	linear-gradient(120deg,rgba(255,59,48,.08),transparent 28%),
	repeating-linear-gradient(120deg,transparent 0 59px,rgba(255,255,255,.018) 60px 61px),
	#0b0e11;border-block:1px solid var(--jch-line)}
.jch-display{font-size:clamp(70px,11vw,170px);color:#fff}
.jch-teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--jch-line);margin-top:60px;border:1px solid var(--jch-line)}
.jch-teaser-card{background:#0b0e11;padding:40px;min-height:330px;position:relative;overflow:hidden}
.jch-teaser-card:after{content:"";position:absolute;inset:auto -15% -42% 25%;height:180px;border:1px solid rgba(255,255,255,.06);transform:skew(-25deg) rotate(-8deg)}
.jch-teaser-card>span{font:900 72px/.8 Impact,sans-serif;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13)}
.jch-teaser-card h3{font-size:32px;margin:36px 0 8px}
.jch-teaser-card p{color:var(--jch-muted)}
.jch-teaser-card b{position:absolute;bottom:32px;left:40px;color:var(--jch-signal);letter-spacing:.15em;font-size:10px}
.jch-section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}
.jch-section-head h2{margin-bottom:0}
.jch-grid{display:grid;gap:22px}
.jch-grid--machines{grid-template-columns:repeat(2,1fr)}
.jch-machine-card,.jch-news-card{background:var(--jch-panel);border:1px solid var(--jch-line);overflow:hidden;border-radius:var(--jch-radius);transition:.25s}
.jch-machine-card:hover,.jch-news-card:hover{transform:translateY(-5px);border-color:#3b444d}
.jch-machine-card>a,.jch-news-card>a{text-decoration:none}
.jch-machine-card img,.jch-news-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.jch-machine-placeholder{aspect-ratio:16/9;background:linear-gradient(135deg,#1d252b,#0b0e11 55%,rgba(255,59,48,.22));display:flex;align-items:center;justify-content:end;padding:35px;overflow:hidden}
.jch-machine-placeholder span{font:900 clamp(120px,17vw,260px)/.7 Impact,sans-serif;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.18)}
.jch-machine-card__body,.jch-news-card__body{padding:30px}
.jch-machine-card__body h3,.jch-news-card__body h3,.jch-news-card__body h2{font-size:clamp(25px,3vw,39px);line-height:1.02;letter-spacing:-.035em;margin:8px 0 25px}
.jch-link-arrow{color:#fff}
.jch-section--race{padding-block:70px}
.jch-race-banner{border-radius:var(--jch-radius);background:linear-gradient(110deg,#171c22,#0d1013);border:1px solid var(--jch-line);padding:55px;display:grid;grid-template-columns:230px 1fr auto;align-items:center;gap:50px;box-shadow:var(--jch-shadow)}
.jch-race-banner__flag{display:flex;flex-direction:column;font:900 70px/.75 Impact,sans-serif;letter-spacing:-.045em}
.jch-race-banner__flag span{color:var(--jch-accent)}
.jch-race-banner h2{font-size:clamp(35px,4vw,58px);margin:.2em 0}
.jch-race-banner p:last-child{color:var(--jch-muted);max-width:750px}
.jch-grid--news{grid-template-columns:repeat(3,1fr)}
.jch-news-card__body p{color:var(--jch-muted)}
.jch-empty,.jch-coming{border:1px dashed #3a4249;border-radius:var(--jch-radius);padding:45px;background:#0c0f12;color:#c7cdd1}
.jch-section--partners{background:linear-gradient(120deg,var(--jch-blue),#101735);color:#fff;border-block:1px solid rgba(181,205,14,.25)}
.jch-partner-callout{display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px}
.jch-partner-callout .jch-eyebrow{color:var(--jch-accent)}
.jch-partner-callout h2{font-size:clamp(60px,8vw,130px);margin:.05em 0}
.jch-partner-callout p{max-width:750px;font-size:19px}
.jch-section--shelby{background:#0b0e11}
.jch-shelby{display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center}
.jch-shelby__badge{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;font-size:50px;background:var(--jch-accent);color:#000;transform:rotate(-8deg)}
.jch-shelby h2{font-size:clamp(34px,4vw,60px);margin:.1em 0}
.jch-shelby p{color:var(--jch-muted);margin:0}
.jch-page-hero,.jch-article-hero{padding:190px 0 90px;background:
	linear-gradient(120deg,rgba(255,59,48,.12),transparent 25%),
	repeating-linear-gradient(120deg,transparent 0 89px,rgba(255,255,255,.018) 90px 91px),
	#0c0f12;border-bottom:1px solid var(--jch-line)}
.jch-page-hero h1,.jch-article-hero h1{font-size:clamp(72px,10vw,160px)}
.jch-page-hero>div>p:last-child{font-size:20px;color:#bec6ca;max-width:760px;margin:28px 0 0}
.jch-page-hero--live .jch-eyebrow{color:var(--jch-signal)}
.jch-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--jch-accent);box-shadow:0 0 0 5px rgba(255,59,48,.14);margin-right:8px}
.jch-prose{padding-block:80px;max-width:900px;font-size:18px}
.jch-prose h2{font-size:42px;line-height:1.05}
.jch-prose a{color:var(--jch-signal)}
.jch-featured{margin-top:60px}
.jch-featured img{width:100%;border-radius:var(--jch-radius)}
.jch-team-manifesto{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:70px}
.jch-team-manifesto>div{border:1px solid var(--jch-line);background:var(--jch-panel);padding:40px;border-radius:var(--jch-radius)}
.jch-team-manifesto span{font:900 clamp(100px,14vw,210px)/.75 Impact,sans-serif;color:transparent;-webkit-text-stroke:2px var(--jch-accent)}
.jch-team-manifesto p{font-weight:800;font-size:19px}
.jch-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:80px}
.jch-benefits>div{background:var(--jch-panel);border:1px solid var(--jch-line);padding:38px;border-radius:var(--jch-radius)}
.jch-benefits b{color:var(--jch-accent);font-size:12px;letter-spacing:.2em}
.jch-benefits h2{font-size:32px;margin:10px 0}
.jch-benefits p{color:var(--jch-muted)}
.jch-section--form{background:#0d1013;border-top:1px solid var(--jch-line)}
.jch-form-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(460px,1.2fr);gap:7vw}
.jch-form{display:grid;gap:18px}
.jch-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.jch-form label{display:grid;gap:8px;font-weight:800;font-size:13px}
.jch-form input,.jch-form textarea,.jch-form select{width:100%;border:1px solid #303840;background:#0a0d0f;color:#fff;border-radius:12px;padding:14px 16px;outline:none}
.jch-form input:focus,.jch-form textarea:focus,.jch-form select:focus{border-color:var(--jch-accent);box-shadow:0 0 0 3px rgba(255,59,48,.12)}
.jch-form textarea{min-height:160px;resize:vertical}
.jch-form .jch-checkbox{display:flex;align-items:flex-start;gap:10px;font-weight:500;color:#b8c0c4}
.jch-form .jch-checkbox input{width:auto;margin-top:6px}
.jch-form-msg{padding:14px 16px;border-radius:10px;margin-bottom:20px}
.jch-form-msg--ok{background:rgba(76,175,80,.12);border:1px solid rgba(76,175,80,.45)}
.jch-form-msg--error{background:rgba(255,59,48,.12);border:1px solid rgba(255,59,48,.45)}
.jch-hp{position:absolute!important;left:-9999px!important}
.jch-partner-grid,.jch-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:50px 0}
.jch-partner,.jch-team-member{border:1px solid var(--jch-line);background:var(--jch-panel);border-radius:14px;padding:25px}
.jch-partner img,.jch-team-member img{border-radius:10px;margin-bottom:20px}
.jch-partner h3,.jch-team-member h3{margin:0 0 5px}
.jch-partner p,.jch-team-member p{color:var(--jch-muted);margin:.3em 0}
.jch-races{display:grid;gap:18px}
.jch-race{display:grid;grid-template-columns:140px 1fr auto;gap:25px;align-items:center;border:1px solid var(--jch-line);background:var(--jch-panel);padding:28px;border-radius:var(--jch-radius)}
.jch-race__date{font:900 25px/1 Impact,sans-serif;text-transform:uppercase;color:var(--jch-accent)}
.jch-race h2{font-size:30px;margin:0}
.jch-race p{margin:7px 0 0;color:var(--jch-muted)}
.jch-race__result{font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:11px}
.jch-live-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.6fr);gap:25px}
.jch-live-panel{background:var(--jch-panel);border:1px solid var(--jch-line);border-radius:var(--jch-radius);overflow:hidden}
.jch-live-video{aspect-ratio:16/9;background:#030405;display:grid;place-items:center}
.jch-live-video iframe{width:100%;height:100%;border:0}
.jch-video-consent{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(255,59,48,.16),transparent 35%),#050607}
.jch-video-consent button{border:0;border-radius:999px;background:#fff;color:#000;padding:15px 22px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.jch-live-meta{padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.jch-live-status{font-weight:950;letter-spacing:.15em;font-size:11px;border:1px solid #39414a;border-radius:999px;padding:8px 12px}
.jch-live-status[data-mode="live"]{background:var(--jch-accent);border-color:var(--jch-accent);color:#111525}
.jch-live-feed{display:grid;gap:0}
.jch-live-item{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:20px 24px;border-bottom:1px solid var(--jch-line)}
.jch-live-item time{color:var(--jch-signal);font-weight:900;font-size:12px}
.jch-live-item strong{font-size:15px}
.jch-live-item p{color:var(--jch-muted);margin:4px 0 0}
.jch-coming{text-align:center;padding-block:90px}
.jch-coming>span{color:var(--jch-signal);font:900 14px/1 monospace;letter-spacing:.2em}
.jch-coming h2{font-size:clamp(50px,7vw,100px)}
.jch-shelby-page{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.jch-shelby-placeholder{min-height:500px;border-radius:var(--jch-radius);border:1px dashed #3c444c;background:radial-gradient(circle,#1c242a,#0c0f12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#aab2b7;text-align:center;padding:30px}
.jch-shelby-placeholder span{font-size:100px}
.jch-404{min-height:80vh;padding-top:180px;display:flex;align-items:center;text-align:center}
.jch-404 h1{font:900 clamp(160px,28vw,430px)/.75 Impact,sans-serif;color:transparent;-webkit-text-stroke:2px var(--jch-accent);margin:0}
.jch-footer{border-top:1px solid var(--jch-line);background:#050607;padding:70px 0 25px}
.jch-footer__grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:60px}
.jch-footer h2{font-size:13px;text-transform:uppercase;letter-spacing:.13em}
.jch-footer p{color:var(--jch-muted)}
.jch-social,.jch-footer-menu{display:grid;gap:8px}
.jch-social a,.jch-footer-menu a{text-decoration:none;color:#ccd2d5}
.jch-footer-menu{list-style:none;margin:0;padding:0}
.jch-footer__bottom{border-top:1px solid var(--jch-line);margin-top:55px;padding-top:25px;display:flex;justify-content:space-between;color:#687178;text-transform:uppercase;letter-spacing:.12em;font-size:9px}
.woocommerce .products li.product,.woocommerce div.product{color:var(--jch-text)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:#fff;font-size:20px}
.woocommerce ul.products li.product .price{color:var(--jch-signal)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--jch-accent);color:#fff;border-radius:999px}
@media(max-width:1100px){
	:root{--jch-shell:min(100% - 36px,1000px)}
	.jch-header__inner{grid-template-columns:auto auto auto;justify-content:space-between}
	.jch-nav-toggle{display:block;justify-self:end}
	.jch-nav{position:fixed;inset:90px 0 0;background:#07090b;padding:35px 24px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.2s}
	.jch-nav.is-open{opacity:1;visibility:visible;transform:none}
	.jch-menu{display:grid;gap:0}
	.jch-menu a{display:block;padding:18px 0;font-size:20px;border-bottom:1px solid var(--jch-line)}
	.jch-header-cta{display:none}
	.jch-teaser-grid{grid-template-columns:1fr}
	.jch-grid--news{grid-template-columns:repeat(2,1fr)}
	.jch-race-banner{grid-template-columns:170px 1fr}
	.jch-race-banner>.jch-btn{grid-column:2}
	.jch-race-banner__flag{font-size:52px}
	.jch-partner-grid,.jch-team-grid{grid-template-columns:repeat(2,1fr)}
	.jch-benefits{grid-template-columns:1fr}
}
@media(max-width:760px){
	:root{--jch-shell:calc(100vw - 28px);--jch-radius:14px}
	.jch-header__inner{height:75px}
	.jch-nav{inset:75px 0 0}
	.jch-wordmark{font-size:24px}
	.jch-hero{min-height:730px}
	.jch-hero__overlay{background:linear-gradient(0deg,#07090b 0,rgba(4,6,7,.55) 55%,rgba(4,6,7,.55))}
	.jch-hero__content{padding-bottom:60px}
	.jch-hero h1{font-size:clamp(80px,27vw,150px)}
	.jch-hero__lead{font-size:18px}
	.jch-hero__numbers{right:-10vw;top:18%;font-size:65vw}
	.jch-stripe__inner{justify-content:flex-start;overflow:hidden}
	.jch-section{padding:75px 0}
	.jch-split,.jch-form-wrap,.jch-shelby-page{grid-template-columns:1fr;gap:35px}
	.jch-section h2,.jch-form-wrap h2{font-size:44px}
	.jch-display{font-size:26vw}
	.jch-teaser-card{min-height:280px;padding:30px}
	.jch-teaser-card b{left:30px}
	.jch-section-head{display:block}
	.jch-section-head>.jch-text-link{margin-top:25px}
	.jch-grid--machines,.jch-grid--news{grid-template-columns:1fr}
	.jch-race-banner{padding:35px;grid-template-columns:1fr;gap:25px}
	.jch-race-banner>.jch-btn{grid-column:auto}
	.jch-race-banner__flag{font-size:62px}
	.jch-partner-callout,.jch-shelby{grid-template-columns:1fr}
	.jch-partner-callout h2{font-size:22vw}
	.jch-shelby__badge{width:85px;height:85px;font-size:38px}
	.jch-page-hero,.jch-article-hero{padding:140px 0 65px}
	.jch-page-hero h1,.jch-article-hero h1{font-size:20vw}
	.jch-team-manifesto{grid-template-columns:1fr}
	.jch-form-row{grid-template-columns:1fr}
	.jch-partner-grid,.jch-team-grid{grid-template-columns:1fr}
	.jch-race{grid-template-columns:1fr}
	.jch-live-grid{grid-template-columns:1fr}
	.jch-footer__grid{grid-template-columns:1fr;gap:35px}
	.jch-footer__bottom{display:grid;gap:8px}
}
@media(prefers-reduced-motion:reduce){
	*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* v1.0.1 — identité et médias officiels JCH RACING */
.jch-logo-default{display:inline-flex;align-items:center;text-decoration:none}
.jch-logo-default img{display:block;width:auto;height:56px;max-width:min(360px,36vw);object-fit:contain}
.jch-hero:after{
	content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
	background:linear-gradient(105deg,rgba(36,43,88,.30),transparent 42%,rgba(181,205,14,.06));
	mix-blend-mode:screen
}
.jch-hero__overlay{
	background:
		linear-gradient(90deg,rgba(4,6,9,.93) 0%,rgba(7,10,20,.60) 42%,rgba(4,6,7,.12) 78%),
		linear-gradient(0deg,#07090b 0,transparent 42%)
}
.jch-photo-rail{
	width:min(1800px,calc(100vw - 24px));margin:0 auto 36px;
	display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px
}
.jch-photo-tile{position:relative;margin:0;min-height:390px;overflow:hidden;background:#0d1013}
.jch-photo-tile img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .55s ease,filter .55s ease}
.jch-photo-tile:hover img{transform:scale(1.025);filter:saturate(1.08)}
.jch-photo-tile figcaption{
	position:absolute;left:0;right:0;bottom:0;padding:28px 24px 20px;
	display:flex;justify-content:space-between;gap:20px;align-items:end;
	background:linear-gradient(0deg,rgba(3,5,8,.88),transparent);text-transform:uppercase
}
.jch-photo-tile figcaption b{font:900 28px/1 Impact,sans-serif;letter-spacing:.02em;color:#fff}
.jch-photo-tile figcaption span{font-size:9px;letter-spacing:.16em;font-weight:900;color:var(--jch-accent);text-align:right}
.jch-machine-default{width:100%;aspect-ratio:16/9;object-fit:cover}
.jch-team-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0 70px}
.jch-team-photos figure{margin:0;overflow:hidden;border-radius:var(--jch-radius);border:1px solid var(--jch-line);background:#0c0f12}
.jch-team-photos img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}
.jch-shelby-real{margin:0;border-radius:var(--jch-radius);overflow:hidden;border:1px solid var(--jch-line);background:#0c0f12;box-shadow:var(--jch-shadow)}
.jch-shelby-real img{width:100%;height:auto;display:block}
.jch-team-manifesto span{-webkit-text-stroke:2px var(--jch-accent)}
.jch-page-hero,.jch-article-hero{
	background:
		linear-gradient(120deg,rgba(181,205,14,.08),transparent 24%),
		linear-gradient(300deg,rgba(36,43,88,.35),transparent 55%),
		repeating-linear-gradient(120deg,transparent 0 89px,rgba(255,255,255,.018) 90px 91px),
		#0c0f12
}
@media(max-width:900px){
	.jch-photo-rail{grid-template-columns:1fr 1fr}
	.jch-photo-tile--wide{grid-column:1/-1}
	.jch-team-photos{grid-template-columns:1fr}
}
@media(max-width:600px){
	.jch-logo-default img{height:43px;max-width:54vw}
	.jch-photo-rail{width:calc(100vw - 16px);grid-template-columns:1fr}
	.jch-photo-tile--wide{grid-column:auto}
	.jch-photo-tile{min-height:auto}
	.jch-photo-tile img{aspect-ratio:3/2}
}


/* =========================================================
   JCH RACING v1.0.2 — LIGHT SKY EDITION
   Blanc premium -> bleu ciel très clair
   ========================================================= */

:root{
	--jch-bg:#ffffff;
	--jch-bg-2:#f7fbff;
	--jch-panel:#ffffff;
	--jch-panel-2:#edf6ff;
	--jch-text:#142033;
	--jch-muted:#5f6f82;
	--jch-line:#dbe7f2;
	--jch-blue:#242b58;
	--jch-electric:#77a8ff;
	--jch-accent:#b5cd0e;
	--jch-signal:#242b58;
	--jch-shadow:0 24px 70px rgba(36,43,88,.12);
}

html{
	background:#ffffff;
}

body{
	background:
		radial-gradient(circle at 88% 2%,rgba(119,168,255,.18),transparent 34%),
		linear-gradient(180deg,#ffffff 0%,#f8fbff 42%,#eef7ff 100%);
	color:var(--jch-text);
}

.jch-header{
	background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.76),transparent);
}

.jch-header.is-scrolled{
	background:rgba(255,255,255,.93);
	backdrop-filter:blur(18px);
	border-bottom:1px solid rgba(36,43,88,.09);
	box-shadow:0 10px 32px rgba(36,43,88,.07);
}

.jch-menu a{
	color:var(--jch-blue);
}

.jch-nav-toggle span{
	background:var(--jch-blue);
}

.jch-header-cta{
	background:var(--jch-blue);
	color:#fff;
}

.jch-header-cta:hover{
	background:var(--jch-accent);
	color:#111525;
}

.jch-logo-default img,
.jch-brand .custom-logo{
	filter:none;
}

.jch-hero{
	background:#eff7ff;
}

.jch-hero:before{
	filter:saturate(.88) contrast(1.02) brightness(1.02);
}

.jch-hero__overlay{
	background:
		linear-gradient(90deg,
			rgba(255,255,255,.97) 0%,
			rgba(250,253,255,.94) 25%,
			rgba(243,249,255,.78) 48%,
			rgba(255,255,255,.22) 73%,
			rgba(255,255,255,.08) 100%
		),
		linear-gradient(0deg,#ffffff 0%,transparent 34%);
}

.jch-hero:after{
	background:
		linear-gradient(120deg,rgba(36,43,88,.08),transparent 38%),
		linear-gradient(300deg,rgba(181,205,14,.08),transparent 48%);
	mix-blend-mode:normal;
}

.jch-kicker{
	color:var(--jch-blue);
}

.jch-kicker span{
	border-color:rgba(36,43,88,.22);
	background:rgba(255,255,255,.68);
}

.jch-hero h1{
	color:var(--jch-blue);
	text-shadow:0 6px 28px rgba(255,255,255,.6);
}

.jch-hero h1 span{
	color:var(--jch-accent);
	text-shadow:none;
}

.jch-hero__lead{
	color:#2e3b51;
}

.jch-btn--primary{
	background:var(--jch-blue);
	color:#fff;
}

.jch-btn--primary:hover{
	background:var(--jch-accent);
	color:#111525;
}

.jch-btn--ghost{
	border-color:rgba(36,43,88,.30);
	color:var(--jch-blue);
	background:rgba(255,255,255,.72);
	backdrop-filter:blur(10px);
}

.jch-btn--ghost:hover{
	background:var(--jch-blue);
	color:#fff;
	border-color:var(--jch-blue);
}

.jch-hero__numbers{
	-webkit-text-stroke:1px rgba(36,43,88,.10);
}

.jch-stripe{
	background:rgba(255,255,255,.82);
	border-block:1px solid var(--jch-line);
}

.jch-stripe__inner{
	color:#53657a;
}

.jch-section{
	background:transparent;
}

.jch-section--intro{
	background:linear-gradient(180deg,#ffffff 0%,#f9fcff 100%);
}

.jch-section h2,
.jch-form-wrap h2,
.jch-page-hero h1,
.jch-article-hero h1{
	color:var(--jch-blue);
}

.jch-copy{
	color:#45556b;
}

.jch-text-link,
.jch-link-arrow{
	color:var(--jch-blue);
}

.jch-text-link{
	border-bottom-color:var(--jch-accent);
}

.jch-section--teaser{
	background:
		radial-gradient(circle at 14% 12%,rgba(181,205,14,.14),transparent 24%),
		linear-gradient(135deg,#ffffff 0%,#f4f9ff 58%,#eaf4ff 100%);
	border-block:1px solid var(--jch-line);
}

.jch-display{
	color:var(--jch-blue);
}

.jch-teaser-grid{
	background:var(--jch-line);
	border-color:var(--jch-line);
	box-shadow:var(--jch-shadow);
}

.jch-teaser-card{
	background:rgba(255,255,255,.94);
}

.jch-teaser-card:after{
	border-color:rgba(36,43,88,.07);
}

.jch-teaser-card>span{
	-webkit-text-stroke:1px rgba(36,43,88,.18);
}

.jch-teaser-card h3{
	color:var(--jch-blue);
}

.jch-teaser-card p{
	color:var(--jch-muted);
}

.jch-teaser-card b{
	color:#6f8300;
}

.jch-machine-card,
.jch-news-card{
	background:rgba(255,255,255,.96);
	border-color:var(--jch-line);
	box-shadow:0 16px 44px rgba(36,43,88,.08);
}

.jch-machine-card:hover,
.jch-news-card:hover{
	border-color:#c9d8e6;
	box-shadow:0 24px 60px rgba(36,43,88,.13);
}

.jch-machine-card__body h3,
.jch-news-card__body h3,
.jch-news-card__body h2{
	color:var(--jch-blue);
}

.jch-machine-placeholder{
	background:linear-gradient(135deg,#eef7ff,#dcecff 58%,rgba(181,205,14,.22));
}

.jch-machine-placeholder span{
	-webkit-text-stroke:2px rgba(36,43,88,.18);
}

.jch-news-card__body p,
.jch-news-card__body .jch-eyebrow{
	color:var(--jch-muted);
}

.jch-race-banner{
	background:
		linear-gradient(120deg,rgba(255,255,255,.98),rgba(239,247,255,.96)),
		#fff;
	border-color:var(--jch-line);
	box-shadow:var(--jch-shadow);
}

.jch-race-banner__flag{
	color:var(--jch-blue);
}

.jch-race-banner__flag span{
	color:var(--jch-accent);
}

.jch-race-banner p:last-child{
	color:var(--jch-muted);
}

.jch-section--partners{
	background:
		linear-gradient(120deg,var(--jch-blue),#354071 62%,#5366a7);
	color:#fff;
	border-block:1px solid rgba(181,205,14,.30);
}

.jch-partner-callout h2{
	color:#fff;
}

.jch-partner-callout p{
	color:#eef2ff;
}

.jch-btn--light{
	background:#fff;
	color:var(--jch-blue);
}

.jch-btn--light:hover{
	background:var(--jch-accent);
	color:#111525;
}

.jch-section--shelby{
	background:linear-gradient(180deg,#f7fbff,#eaf4ff);
}

.jch-shelby h2{
	color:var(--jch-blue);
}

.jch-shelby p{
	color:var(--jch-muted);
}

.jch-page-hero,
.jch-article-hero{
	background:
		radial-gradient(circle at 88% 14%,rgba(119,168,255,.20),transparent 28%),
		linear-gradient(135deg,#ffffff 0%,#f4f9ff 58%,#eaf4ff 100%);
	border-bottom:1px solid var(--jch-line);
}

.jch-page-hero>div>p:last-child{
	color:#586a80;
}

.jch-prose{
	color:#2f3f54;
}

.jch-prose a{
	color:var(--jch-blue);
	text-decoration-color:var(--jch-accent);
}

.jch-team-manifesto>div,
.jch-benefits>div,
.jch-partner,
.jch-team-member,
.jch-race,
.jch-live-panel,
.jch-empty,
.jch-coming{
	background:rgba(255,255,255,.96);
	border-color:var(--jch-line);
	box-shadow:0 14px 40px rgba(36,43,88,.07);
}

.jch-team-manifesto p,
.jch-benefits h2,
.jch-partner h3,
.jch-team-member h3,
.jch-race h2{
	color:var(--jch-blue);
}

.jch-benefits p,
.jch-partner p,
.jch-team-member p,
.jch-race p{
	color:var(--jch-muted);
}

.jch-section--form{
	background:linear-gradient(180deg,#f8fbff,#edf6ff);
	border-top:1px solid var(--jch-line);
}

.jch-form input,
.jch-form textarea,
.jch-form select{
	border-color:#cbd9e6;
	background:#fff;
	color:var(--jch-text);
}

.jch-form input:focus,
.jch-form textarea:focus,
.jch-form select:focus{
	border-color:var(--jch-blue);
	box-shadow:0 0 0 3px rgba(36,43,88,.10);
}

.jch-form .jch-checkbox{
	color:#5b6b7d;
}

.jch-live-video{
	background:#eaf2fa;
}

.jch-video-consent{
	background:
		radial-gradient(circle at center,rgba(36,43,88,.10),transparent 35%),
		linear-gradient(135deg,#f9fcff,#e8f3ff);
	color:var(--jch-blue);
}

.jch-video-consent button{
	background:var(--jch-blue);
	color:#fff;
}

.jch-video-consent button:hover{
	background:var(--jch-accent);
	color:#111525;
}

.jch-live-meta{
	color:var(--jch-blue);
}

.jch-live-item{
	border-bottom-color:var(--jch-line);
}

.jch-live-item p{
	color:var(--jch-muted);
}

.jch-live-status{
	border-color:#c6d3df;
	color:var(--jch-blue);
	background:#fff;
}

.jch-live-status[data-mode="live"]{
	background:var(--jch-accent);
	border-color:var(--jch-accent);
	color:#111525;
}

.jch-shelby-real,
.jch-team-photos figure{
	background:#fff;
	border-color:var(--jch-line);
	box-shadow:0 18px 46px rgba(36,43,88,.08);
}

.jch-404{
	background:linear-gradient(180deg,#ffffff,#eef7ff);
}

.jch-404 h1{
	-webkit-text-stroke:2px var(--jch-blue);
}

.jch-footer{
	background:#1c2347;
	color:#fff;
	border-top:1px solid rgba(255,255,255,.08);
}

.jch-footer p,
.jch-social a,
.jch-footer-menu a{
	color:#d9e1f2;
}

.jch-footer__bottom{
	border-top-color:rgba(255,255,255,.12);
	color:#9eabc8;
}

.jch-footer .jch-logo-default img{
	filter:brightness(0) invert(1) saturate(.2) brightness(1.7);
}

.jch-photo-tile{
	background:#eaf2fa;
	border-radius:16px;
	box-shadow:0 16px 48px rgba(36,43,88,.10);
}

.jch-photo-tile figcaption{
	background:linear-gradient(0deg,rgba(21,31,61,.88),transparent);
}

.jch-photo-tile figcaption b{
	color:#fff;
}

.jch-photo-tile figcaption span{
	color:#e4f36e;
}

.woocommerce .products li.product,
.woocommerce div.product{
	color:var(--jch-text);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
	color:var(--jch-blue);
}

.woocommerce ul.products li.product .price{
	color:#6f8300;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
	background:var(--jch-blue);
	color:#fff;
}

@media(max-width:1100px){
	.jch-nav{
		background:rgba(255,255,255,.98);
	}
	.jch-menu a{
		border-bottom-color:var(--jch-line);
	}
}

@media(max-width:760px){
	.jch-hero__overlay{
		background:
			linear-gradient(0deg,rgba(255,255,255,.98) 0%,rgba(248,252,255,.90) 58%,rgba(255,255,255,.45) 100%);
	}
	.jch-hero__lead{
		color:#34435a;
	}
}


/* JCH RACING v1.0.3 — Contact Premium */
.jch-contact-page{background:radial-gradient(circle at 92% 8%,rgba(119,168,255,.17),transparent 26%),linear-gradient(180deg,#fff 0%,#f7fbff 45%,#edf7ff 100%)}
.jch-contact-shell{width:min(1640px,calc(100vw - 52px));margin-inline:auto}
.jch-contact-hero{padding:150px 0 48px;border-bottom:1px solid var(--jch-line);background:linear-gradient(130deg,rgba(255,255,255,.98),rgba(244,250,255,.96))}
.jch-contact-hero__content{width:min(760px,100%);margin-left:calc((100% - 250px - 350px - 60px)*.38 + 250px + 30px)}
.jch-contact-hero h1{font:900 clamp(64px,7.2vw,118px)/.82 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:-.045em;text-transform:uppercase;color:var(--jch-blue);margin:0}
.jch-contact-hero__content>p:last-child{margin:22px 0 0;color:#53657a;font-size:18px}
.jch-contact-section{padding:54px 0 100px}
.jch-contact-layout{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(480px,1.3fr) minmax(350px,.92fr);gap:30px;align-items:start}
.jch-contact-intro,.jch-contact-form-panel,.jch-contact-map-card,.jch-contact-shelby{border-radius:22px;border:1px solid var(--jch-line);box-shadow:0 20px 58px rgba(36,43,88,.09);overflow:hidden}
.jch-contact-intro{position:relative;min-height:660px;padding:42px 34px;color:#fff;background:radial-gradient(circle at 20% 12%,rgba(181,205,14,.18),transparent 29%),linear-gradient(145deg,#242b58,#182044 72%)}
.jch-contact-intro h2{color:#fff;font-size:clamp(38px,3.7vw,62px);line-height:.95;margin:.15em 0 .35em}
.jch-contact-intro>div:first-child>p:last-child{color:#dce5fa;font-size:16px}
.jch-contact-label{text-transform:uppercase;letter-spacing:.17em;font-weight:900;font-size:10px;color:#708000;margin:0 0 10px}
.jch-contact-intro .jch-contact-label{color:#e5f06d}
.jch-contact-details{position:relative;z-index:2;margin-top:55px;display:grid;gap:24px}
.jch-contact-details>div{display:grid;gap:5px;padding-top:18px;border-top:1px solid rgba(255,255,255,.13)}
.jch-contact-details span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#9eabd0;font-weight:900}
.jch-contact-details a{color:#fff;text-decoration:none;font-weight:800;overflow-wrap:anywhere}
.jch-contact-socials{display:flex;flex-wrap:wrap;gap:8px 15px}
.jch-contact-number{position:absolute;right:-18px;bottom:6px;font:900 112px/.75 Impact,sans-serif;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09);transform:rotate(-5deg)}
.jch-contact-number span{font-size:.55em;color:var(--jch-accent);-webkit-text-stroke:0}
.jch-contact-form-panel{background:rgba(255,255,255,.97);padding:40px}
.jch-contact-panel-head{margin-bottom:26px}
.jch-contact-panel-head h2,.jch-contact-map-head h2{font-size:32px;line-height:1;color:var(--jch-blue);margin:0}
.jch-contact-form-panel .jch-form{gap:16px}
.jch-contact-form-panel .jch-form label{color:#314158}
.jch-contact-form-panel .jch-form input,.jch-contact-form-panel .jch-form textarea,.jch-contact-form-panel .jch-form select{background:#fbfdff;border-color:#cad9e8;color:#142033}
.jch-contact-form-panel .jch-form input:focus,.jch-contact-form-panel .jch-form textarea:focus,.jch-contact-form-panel .jch-form select:focus{border-color:var(--jch-blue);box-shadow:0 0 0 3px rgba(36,43,88,.10)}
.jch-contact-side{display:grid;gap:24px}
.jch-contact-map-card{background:#fff}
.jch-contact-map-head{padding:28px 28px 22px;display:grid;gap:14px;border-bottom:1px solid var(--jch-line)}
.jch-contact-map-link{color:var(--jch-blue);font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;text-decoration:none}
.jch-contact-map-placeholder,.jch-contact-map-empty{min-height:330px;background:radial-gradient(circle at center,rgba(119,168,255,.20),transparent 33%),linear-gradient(135deg,#f8fbff,#e7f3ff)}
.jch-contact-map-placeholder{display:grid}
.jch-contact-map-placeholder__inner,.jch-contact-map-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;color:#3b4d64}
.jch-contact-map-placeholder__inner>span,.jch-contact-map-empty>span{font-size:48px;line-height:1;color:var(--jch-blue)}
.jch-contact-map-placeholder strong,.jch-contact-map-empty strong{margin-top:12px;font-size:20px;color:var(--jch-blue)}
.jch-contact-map-placeholder p,.jch-contact-map-empty p{margin:10px 0 20px;color:#607188}
.jch-contact-map-placeholder small{margin-top:13px;color:#78889c}
.jch-contact-map-frame{width:100%;height:100%;min-height:330px;border:0;display:block}
.jch-contact-shelby{position:relative;margin:0;background:#fff}
.jch-contact-shelby img{width:100%;height:auto;max-height:650px;object-fit:cover;display:block}
.jch-contact-shelby figcaption{position:absolute;left:0;right:0;bottom:0;padding:70px 25px 22px;background:linear-gradient(0deg,rgba(20,29,58,.92),transparent);color:#fff;display:grid}
.jch-contact-shelby figcaption span{font-size:9px;letter-spacing:.16em;color:#e5f06d;font-weight:900}
.jch-contact-shelby figcaption strong{font:900 42px/.95 Impact,sans-serif;text-transform:uppercase}
.jch-contact-shelby figcaption small{color:#dce5fa}
.jch-contact-form-panel .g-recaptcha{margin:4px 0 2px;max-width:100%;overflow:hidden}
.jch-recaptcha-note{font-size:11px;color:#6a798c;margin:-5px 0 5px}
.jch-contact-thanks{max-width:760px;margin:0 auto;text-align:center;padding:170px 0 130px}
.jch-contact-thanks h1{color:var(--jch-blue);font:900 clamp(62px,9vw,130px)/.85 Impact,sans-serif;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 25px}
.jch-contact-thanks p{color:#53657a;font-size:19px}
@media(max-width:1180px){
	.jch-contact-shell{width:min(1100px,calc(100vw - 36px))}
	.jch-contact-hero__content{margin-left:0}
	.jch-contact-layout{grid-template-columns:minmax(240px,.8fr) minmax(0,1.3fr)}
	.jch-contact-side{grid-column:1/-1;grid-template-columns:1fr 1fr}
	.jch-contact-intro{min-height:auto}
}
@media(max-width:780px){
	.jch-contact-shell{width:calc(100vw - 28px)}
	.jch-contact-hero{padding:120px 0 38px}
	.jch-contact-hero h1{font-size:20vw}
	.jch-contact-layout{grid-template-columns:1fr}
	.jch-contact-side{grid-column:auto;grid-template-columns:1fr}
	.jch-contact-form-panel{padding:28px 20px}
	.jch-contact-intro{padding:32px 25px}
	.jch-contact-number{font-size:82px}
}



/* =========================================================
   JCH RACING v1.0.4 — COMPACT LAYOUT
   Proportions calées sur la logique SERVIPRA validée.
   L'identité JCH reste indépendante.
   ========================================================= */

/* ---------- Header compact ---------- */
.jch-header__inner{
	height:68px;
	gap:24px;
}
.jch-brand .custom-logo,
.jch-logo-default img{
	max-height:48px;
	height:48px;
}
.jch-menu{
	gap:18px;
}
.jch-menu a{
	font-size:11px;
	letter-spacing:.10em;
}
.jch-header-cta{
	padding:10px 16px;
	font-size:10px;
}

/* ---------- Pages : dimensions générales compactes ---------- */
.jch-section{
	padding:58px 0;
}
.jch-section--intro{
	padding-top:62px;
}
.jch-section-head{
	margin-bottom:30px;
}
.jch-section h2,
.jch-form-wrap h2{
	font-size:clamp(32px,3.3vw,54px);
	line-height:1.02;
}
.jch-page-hero,
.jch-article-hero{
	padding:104px 0 34px;
}
.jch-page-hero h1,
.jch-article-hero h1{
	font-size:clamp(38px,4.2vw,66px);
	line-height:.94;
	letter-spacing:-.035em;
}
.jch-page-hero>div>p:last-child{
	margin-top:12px;
	font-size:16px;
	max-width:760px;
}
.jch-prose{
	padding-block:48px 72px;
	font-size:17px;
}
.jch-prose h2{
	font-size:clamp(29px,3vw,42px);
}
.jch-featured{
	margin-top:34px;
}

/* ---------- Cartes compactes ---------- */
.jch-machine-card__body,
.jch-news-card__body{
	padding:22px;
}
.jch-machine-card__body h3,
.jch-news-card__body h3,
.jch-news-card__body h2{
	font-size:clamp(22px,2.2vw,32px);
	margin:6px 0 16px;
}
.jch-benefits>div,
.jch-team-member,
.jch-partner{
	padding:24px;
}
.jch-team-manifesto{
	margin-top:42px;
}
.jch-team-manifesto>div{
	padding:28px;
}
.jch-team-manifesto span{
	font-size:clamp(82px,10vw,150px);
}
.jch-race{
	padding:22px;
}
.jch-race h2{
	font-size:26px;
}

/* ---------- Contact : mêmes proportions que le template SERVIPRA compact ---------- */
.jch-contact-shell{
	width:min(calc(100% - 42px),1600px);
	max-width:1600px;
}
.jch-contact-hero{
	padding:80px 0 8px;
	min-height:0;
}
.jch-contact-hero__content{
	width:auto;
	max-width:none;
	margin:0;
	display:grid;
	grid-template-columns:minmax(300px,.78fr) minmax(520px,1.28fr) minmax(390px,1.08fr);
	grid-template-rows:auto auto;
	column-gap:24px;
	align-items:start;
}
.jch-contact-hero__content>.jch-eyebrow{
	grid-column:1;
	grid-row:1 / span 2;
	align-self:center;
	margin:0;
}
.jch-contact-hero h1{
	grid-column:2;
	grid-row:1;
	align-self:end;
	margin:0;
	font-size:clamp(31px,2.25vw,41px);
	line-height:1.02;
	letter-spacing:-.03em;
}
.jch-contact-hero__content>p:last-child{
	grid-column:2;
	grid-row:2;
	align-self:start;
	margin:4px 0 0;
	max-width:760px;
	font-size:14.7px;
	line-height:1.4;
}
.jch-contact-section{
	padding:14px 0 22px;
}
.jch-contact-layout{
	grid-template-columns:minmax(300px,.78fr) minmax(520px,1.28fr) minmax(390px,1.08fr);
	gap:24px;
	align-items:stretch;
}
.jch-contact-intro{
	min-height:0;
	height:100%;
	padding:28px 28px 30px;
}
.jch-contact-intro h2{
	margin:0 0 10px;
	font-size:clamp(29px,2.25vw,40px);
	line-height:1.08;
}
.jch-contact-intro>div:first-child>p:last-child{
	font-size:14px;
	line-height:1.45;
}
.jch-contact-details{
	margin-top:26px;
	gap:12px;
}
.jch-contact-details>div{
	padding-top:11px;
}
.jch-contact-number{
	font-size:86px;
}
.jch-contact-form-panel{
	padding:2px 0 0;
	background:transparent;
	border:0;
	border-radius:0;
	box-shadow:none;
	overflow:visible;
}
.jch-contact-panel-head{
	margin-bottom:10px;
}
.jch-contact-panel-head h2{
	font-size:clamp(32px,2.45vw,44px);
	line-height:1.08;
}
.jch-contact-form-panel .jch-form{
	gap:12px;
}
.jch-contact-form-panel .jch-form-row{
	gap:12px;
}
.jch-contact-form-panel .jch-form label{
	gap:5px;
	font-size:13px;
}
.jch-contact-form-panel .jch-form input,
.jch-contact-form-panel .jch-form select{
	min-height:46px;
	padding:10px 12px;
}
.jch-contact-form-panel .jch-form textarea{
	min-height:94px;
	padding:10px 12px;
}
.jch-contact-form-panel .jch-checkbox{
	font-size:12px;
}
.jch-contact-form-panel .jch-btn{
	padding:11px 19px;
	min-height:44px;
}
.jch-contact-side{
	height:100%;
	gap:14px;
}
.jch-contact-map-card{
	border:0;
	border-radius:0;
	box-shadow:none;
	background:transparent;
}
.jch-contact-map-head{
	display:block;
	padding:0;
	margin:0 0 8px;
	border:0;
}
.jch-contact-map-head .jch-contact-label{
	margin:0 0 4px;
	font-size:10px;
}
.jch-contact-map-head h2{
	margin:0 0 3px;
	font-size:18px;
	line-height:1.15;
}
.jch-contact-map-link{
	display:flex;
	width:100%;
	min-height:34px;
	margin-top:8px;
	padding:6px 10px;
	align-items:center;
	justify-content:center;
	font-size:10px;
	border:1px solid #c9d8e6;
	border-radius:999px;
	background:#fff;
}
.jch-contact-map-placeholder,
.jch-contact-map-empty,
.jch-contact-map-frame{
	min-height:226px;
	height:226px;
	border-radius:12px;
	overflow:hidden;
}
.jch-contact-map-placeholder__inner,
.jch-contact-map-empty{
	padding:18px;
}
.jch-contact-map-placeholder__inner>span,
.jch-contact-map-empty>span{
	font-size:34px;
}
.jch-contact-map-placeholder strong,
.jch-contact-map-empty strong{
	margin-top:5px;
	font-size:15px;
}
.jch-contact-map-placeholder p,
.jch-contact-map-empty p{
	margin:4px 0 12px;
	font-size:12px;
	line-height:1.35;
}
.jch-contact-map-placeholder small{
	margin-top:7px;
	font-size:10px;
}
.jch-contact-map-placeholder .jch-btn{
	min-height:34px;
	padding:6px 12px;
	font-size:10px;
}
.jch-contact-shelby{
	display:flex;
	flex:1 1 auto;
	align-items:flex-end;
	justify-content:center;
	min-height:300px;
	margin:0;
	border:0;
	border-radius:0;
	box-shadow:none;
	background:transparent;
	overflow:hidden;
}
.jch-contact-shelby img{
	display:block;
	width:100%;
	max-width:500px;
	height:auto;
	max-height:300px;
	margin:auto auto 0;
	object-fit:contain;
	object-position:center bottom;
	border-radius:14px;
}
.jch-contact-shelby figcaption{
	left:0;
	right:0;
	width:min(100%,500px);
	margin-inline:auto;
	padding:48px 20px 15px;
	border-radius:0 0 14px 14px;
}
.jch-contact-shelby figcaption strong{
	font-size:30px;
}
.jch-contact-thanks{
	padding:120px 0 80px;
}
.jch-contact-thanks h1{
	font-size:clamp(48px,6vw,86px);
}

/* ---------- Footer compact type SERVIPRA ---------- */
.jch-footer.jch-footer--compact{
	position:relative;
	overflow:hidden;
	padding:16px 0 0;
	background:linear-gradient(135deg,#202952 0%,#293562 52%,#202952 100%);
	color:#f2f5ff;
	border-top:0;
}
.jch-footer.jch-footer--compact::before{
	content:"";
	position:absolute;
	inset:0 0 auto;
	height:3px;
	background:linear-gradient(90deg,var(--jch-accent) 0%,#77a8ff 52%,var(--jch-accent) 100%);
}
.jch-footer-shell{
	position:relative;
	z-index:1;
	width:min(1280px,calc(100vw - 40px));
	margin-inline:auto;
}
.jch-footer-main{
	display:grid;
	grid-template-columns:minmax(170px,220px) minmax(220px,1.25fr) minmax(145px,.75fr) minmax(145px,.75fr) minmax(150px,.8fr);
	gap:26px;
	align-items:center;
	padding:8px 0 16px;
}
.jch-footer-logo-col{
	display:flex;
	align-items:center;
}
.jch-footer-logo-col .jch-logo-default img,
.jch-footer-logo-col .custom-logo{
	width:100%;
	max-width:210px;
	height:auto;
	max-height:90px;
	object-fit:contain;
	filter:brightness(0) invert(1);
}
.jch-footer-info{
	font-size:13px;
	line-height:1.45;
}
.jch-footer-info p{
	margin:0 0 4px;
	color:#e3e9fb;
}
.jch-footer-info .jch-footer-claim{
	color:#fff;
	font-weight:800;
}
.jch-footer-info a{
	color:#fff;
	text-decoration:none;
}
.jch-footer-nav h2,
.jch-footer-follow h2{
	margin:0 0 10px;
	color:#fff;
	font-size:12px;
	font-weight:900;
	letter-spacing:.06em;
	text-transform:uppercase;
}
.jch-footer-nav h2::after,
.jch-footer-follow h2::after{
	content:"";
	display:block;
	width:38px;
	height:3px;
	margin-top:5px;
	border-radius:999px;
	background:var(--jch-accent);
}
.jch-footer-nav ul{
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	gap:6px;
}
.jch-footer-nav a,
.jch-footer-social a{
	color:#fff;
	text-decoration:none;
	font-size:13px;
}
.jch-footer-nav a:hover,
.jch-footer-social a:hover{
	text-decoration:underline;
}
.jch-footer-social{
	display:grid;
	gap:6px;
}
.jch-footer-follow{
	position:relative;
	min-height:120px;
}
.jch-footer-numbers{
	position:absolute;
	right:0;
	bottom:-12px;
	display:flex;
	align-items:flex-end;
	gap:5px;
	font:900 58px/.75 Impact,sans-serif;
	letter-spacing:-.06em;
	color:transparent;
	-webkit-text-stroke:1px rgba(255,255,255,.12);
	pointer-events:none;
}
.jch-footer-numbers b{
	font-size:.72em;
	color:var(--jch-accent);
	-webkit-text-stroke:0;
}
.jch-footer-bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	padding:11px 0 13px;
	border-top:1px solid rgba(255,255,255,.16);
	font-size:11px;
}
.jch-footer-bottom p{
	margin:0;
	color:#e5eaf8;
}
.jch-footer-legal{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
}
.jch-footer-legal a{
	color:#fff;
	text-decoration:none;
}

/* Désactivation de l'ancien footer dimensionné en hauteur */
.jch-footer--compact .jch-footer__grid,
.jch-footer--compact .jch-footer__bottom{
	display:none;
}

/* ---------- Responsive ---------- */
@media(max-width:1280px) and (min-width:1040px){
	.jch-contact-shell{
		width:calc(100% - 28px);
	}
	.jch-contact-hero__content,
	.jch-contact-layout{
		grid-template-columns:minmax(260px,.76fr) minmax(470px,1.26fr) minmax(330px,1fr);
		gap:18px;
	}
}
@media(max-width:1100px){
	.jch-header__inner{
		height:68px;
	}
	.jch-nav{
		inset:68px 0 0;
	}
	.jch-footer-main{
		grid-template-columns:1fr 1fr 1fr;
		align-items:start;
	}
	.jch-footer-logo-col{
		grid-column:1;
	}
	.jch-footer-info{
		grid-column:2 / 4;
	}
}
@media(max-width:1039px){
	.jch-contact-hero{
		padding:92px 0 18px;
	}
	.jch-contact-hero__content{
		display:block;
	}
	.jch-contact-hero h1{
		font-size:clamp(32px,6vw,42px);
		margin:4px 0 5px;
	}
	.jch-contact-hero__content>p:last-child{
		margin:0;
	}
	.jch-contact-layout{
		grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);
	}
	.jch-contact-side{
		grid-column:1 / -1;
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:20px;
		align-items:end;
	}
	.jch-contact-shelby{
		min-height:260px;
	}
	.jch-contact-shelby img{
		max-height:260px;
	}
}
@media(max-width:760px){
	.jch-header__inner{
		height:64px;
	}
	.jch-logo-default img,
	.jch-brand .custom-logo{
		height:42px;
		max-height:42px;
	}
	.jch-nav{
		inset:64px 0 0;
	}
	.jch-page-hero,
	.jch-article-hero{
		padding:92px 0 28px;
	}
	.jch-page-hero h1,
	.jch-article-hero h1{
		font-size:clamp(34px,11vw,52px);
	}
	.jch-section{
		padding:46px 0;
	}
	.jch-contact-shell{
		width:min(calc(100% - 30px),100%);
	}
	.jch-contact-hero{
		padding:88px 0 18px;
	}
	.jch-contact-section{
		padding:20px 0 30px;
	}
	.jch-contact-layout{
		display:block;
	}
	.jch-contact-intro,
	.jch-contact-form-panel,
	.jch-contact-side{
		margin-bottom:20px;
	}
	.jch-contact-side{
		display:block;
	}
	.jch-contact-shelby{
		min-height:0;
		margin-top:16px;
	}
	.jch-contact-shelby img{
		max-height:none;
		max-width:390px;
	}
	.jch-footer-main{
		grid-template-columns:1fr 1fr;
		gap:18px 24px;
		align-items:start;
	}
	.jch-footer-logo-col,
	.jch-footer-info{
		grid-column:1 / -1;
	}
	.jch-footer-logo-col{
		justify-content:center;
	}
	.jch-footer-logo-col .jch-logo-default img,
	.jch-footer-logo-col .custom-logo{
		max-width:190px;
	}
	.jch-footer-info{
		text-align:center;
	}
	.jch-footer-follow{
		min-height:100px;
	}
}
@media(max-width:520px){
	.jch-footer-main{
		grid-template-columns:1fr;
	}
	.jch-footer-logo-col,
	.jch-footer-info{
		grid-column:auto;
	}
	.jch-footer-info{
		text-align:left;
	}
	.jch-footer-bottom{
		flex-direction:column;
		align-items:flex-start;
		gap:7px;
	}
	.jch-footer-follow{
		min-height:90px;
	}
}


/* JCH RACING v1.0.5 — bas de page conformité */
.jch-footer-bottom{
	min-height:42px;
}
.jch-footer-legal{
	align-items:center;
}
.jch-footer-legal .jch-cookie-open{
	color:#fff;
	text-decoration:none;
	cursor:pointer;
}
.jch-footer-legal .jch-cookie-open:hover{
	text-decoration:underline;
}
@media(max-width:760px){
	.jch-footer-bottom{
		align-items:flex-start;
	}
	.jch-footer-legal{
		gap:10px 14px;
	}
}



/* =========================================================
   JCH RACING v1.0.6 — DENSE / SERVIPRA-LIKE LAYOUT
   Objectif : supprimer les grands vides et harmoniser toutes
   les pages sur la densité visuelle du site SERVIPRA validé.
   La page Contact conserve son gabarit spécifique.
   ========================================================= */

:root{
	--jch-shell:min(1180px,calc(100vw - 40px));
	--jch-radius:16px;
	--jch-shadow:0 14px 38px rgba(36,43,88,.09);
}

/* Base typographique plus compacte */
body{
	line-height:1.55;
}
p{
	margin-top:0;
	margin-bottom:.9em;
}
.jch-eyebrow{
	margin-bottom:8px;
	font-size:10px;
	letter-spacing:.15em;
}
.jch-copy{
	font-size:16px;
	line-height:1.55;
}

/* Header */
.jch-header__inner{
	height:66px;
	gap:20px;
}
.jch-logo-default img,
.jch-brand .custom-logo{
	height:44px;
	max-height:44px;
}
.jch-menu{
	gap:15px;
}
.jch-menu a{
	font-size:10px;
	letter-spacing:.08em;
}
.jch-header-cta{
	padding:9px 14px;
	font-size:9px;
}

/* Hero générique des pages : compact, comme SERVIPRA */
.jch-page-hero,
.jch-article-hero{
	padding:86px 0 24px;
}
.jch-page-hero h1,
.jch-article-hero h1{
	font-size:clamp(34px,3.8vw,54px);
	line-height:.98;
	margin:0;
}
.jch-page-hero>div>p:last-child,
.jch-article-hero>div>p:last-child{
	margin:6px 0 0;
	font-size:15px;
	line-height:1.45;
	max-width:760px;
}

/* Sections globales */
.jch-section{
	padding:32px 0;
}
.jch-section--intro{
	padding-top:36px;
}
.jch-section-head{
	margin-bottom:18px;
	gap:18px;
}
.jch-section-head h2,
.jch-section h2,
.jch-form-wrap h2{
	font-size:clamp(29px,3vw,44px);
	line-height:1.05;
	margin:.08em 0 .2em;
}
.jch-prose{
	padding-block:34px 54px;
	font-size:16px;
	max-width:860px;
}
.jch-featured{
	margin-top:24px;
}

/* Accueil : suppression des grands trous */
.home .jch-section{
	padding:30px 0;
}
.home .jch-section--intro{
	padding-top:34px;
}
.home .jch-section--race{
	padding-block:24px;
}
.home .jch-section--partners{
	padding-block:34px;
}
.home .jch-section--shelby{
	padding-block:28px;
}
.home .jch-photo-rail{
	margin-bottom:22px;
}
.home .jch-teaser-grid{
	margin-top:22px;
}
.home .jch-section-head{
	margin-bottom:16px;
}

/* Introduction */
.jch-split{
	gap:48px;
}
.jch-copy p{
	margin-bottom:12px;
}

/* Photo rail */
.jch-photo-rail{
	width:var(--jch-shell);
	gap:12px;
	margin:0 auto 22px;
}
.jch-photo-tile{
	min-height:0;
}
.jch-photo-tile img{
	aspect-ratio:16/9;
}
.jch-photo-tile figcaption{
	padding:28px 18px 14px;
}
.jch-photo-tile figcaption b{
	font-size:22px;
}

/* Teaser */
.jch-teaser-grid{
	margin-top:22px;
}
.jch-teaser-card{
	min-height:0;
	padding:24px;
}
.jch-teaser-card>span{
	font-size:72px;
	line-height:.85;
}
.jch-teaser-card h3{
	font-size:24px;
	margin:10px 0 6px;
}
.jch-teaser-card p{
	margin-bottom:8px;
}

/* Machines / actualités */
.jch-grid{
	gap:16px;
}
.jch-grid--machines,
.jch-grid--news{
	gap:16px;
}
.jch-machine-card,
.jch-news-card{
	border-radius:14px;
}
.jch-machine-card__body,
.jch-news-card__body{
	padding:16px 18px 18px;
}
.jch-machine-card__body h3,
.jch-news-card__body h3,
.jch-news-card__body h2{
	font-size:clamp(20px,2vw,27px);
	line-height:1.08;
	margin:4px 0 10px;
}
.jch-news-card__body p{
	margin-bottom:10px;
}
.jch-machine-card img,
.jch-news-card img,
.jch-machine-default{
	aspect-ratio:16/8.7;
}

/* Race Center accueil */
.jch-race-banner{
	padding:25px 28px;
	grid-template-columns:160px 1fr auto;
	gap:24px;
}
.jch-race-banner h2{
	font-size:clamp(28px,3vw,42px);
	margin:.08em 0 .15em;
}
.jch-race-banner p{
	margin-bottom:6px;
}
.jch-race-banner__flag{
	font-size:18px;
}
.jch-race-banner__flag span,
.jch-race-banner__flag b{
	display:inline;
}

/* Bloc partenaires accueil */
.jch-partner-callout{
	gap:28px;
}
.jch-partner-callout h2{
	font-size:clamp(36px,4vw,56px);
	margin:0 0 8px;
}
.jch-partner-callout p{
	font-size:16px;
	margin-bottom:0;
}
.jch-partner-callout .jch-btn{
	padding:12px 18px;
}

/* Shelby accueil */
.jch-shelby{
	gap:24px;
}
.jch-shelby__badge{
	width:76px;
	height:76px;
	font-size:34px;
}
.jch-shelby h2{
	font-size:clamp(28px,3vw,42px);
	margin:0 0 4px;
}
.jch-shelby p{
	font-size:15px;
}

/* Team : supprimer les zones vides entre chaque bloc */
.jch-main .jch-section > .jch-empty:first-child{
	margin-top:0;
}
.jch-empty,
.jch-coming{
	padding:22px 24px;
	min-height:0;
}
.jch-empty strong,
.jch-coming strong{
	font-size:16px;
}
.jch-empty p,
.jch-coming p{
	margin:6px 0 0;
}
.jch-team-grid,
.jch-partner-grid{
	margin:18px 0;
	gap:14px;
}
.jch-team-member,
.jch-partner{
	padding:18px;
}
.jch-team-photos{
	margin:18px 0;
	gap:16px;
}
.jch-team-photos img{
	aspect-ratio:16/9;
}
.jch-team-manifesto{
	margin-top:18px;
	gap:16px;
}
.jch-team-manifesto>div{
	padding:18px 22px;
}
.jch-team-manifesto span{
	font-size:clamp(64px,7vw,100px);
	line-height:.82;
}
.jch-team-manifesto p{
	margin:8px 0 0;
	font-size:16px;
}

/* Machines : ne pas ajouter de vide autour de la grille */
.page-template-page-machines .jch-section{
	padding-top:28px;
	padding-bottom:34px;
}

/* Saison */
.jch-races{
	display:grid;
	gap:12px;
}
.jch-race{
	grid-template-columns:120px 1fr auto;
	gap:18px;
	padding:18px 20px;
}
.jch-race h2{
	font-size:24px;
	margin:0 0 4px;
}
.jch-race p{
	margin:0;
}

/* Race Center page */
.page-template-page-live .jch-section{
	padding-top:28px;
	padding-bottom:34px;
}
.jch-live-grid{
	gap:16px;
}
.jch-live-panel{
	border-radius:14px;
}
.jch-live-meta{
	padding:14px 18px;
}
.jch-live-item{
	padding:13px 18px;
}
.jch-video-consent>div{
	padding:22px !important;
}

/* Partenaires */
.page-template-page-partenaires .jch-section{
	padding-top:28px;
	padding-bottom:32px;
}
.jch-benefits{
	gap:14px;
	margin-bottom:24px;
}
.jch-benefits>div{
	padding:20px;
}
.jch-benefits>div b{
	font-size:40px;
	line-height:1;
}
.jch-benefits h2{
	font-size:25px;
	margin:6px 0 8px;
}
.jch-benefits p{
	margin:0;
}
.jch-section--form{
	padding:36px 0;
}
.jch-form-wrap{
	gap:34px;
}
.jch-form-wrap h2{
	font-size:clamp(28px,3vw,42px);
}
.jch-form textarea{
	min-height:110px;
}

/* Paddock */
.page-template-page-paddock .jch-section{
	padding-top:28px;
	padding-bottom:36px;
}

/* Boutique */
.page-template-page-boutique .jch-section{
	padding-top:28px;
	padding-bottom:36px;
}
.jch-coming{
	padding-block:34px;
}
.jch-coming h2{
	font-size:clamp(30px,4vw,48px);
	margin:8px 0 10px;
}

/* Shelby dédiée */
.page-template-page-shelby .jch-section{
	padding-top:28px;
	padding-bottom:36px;
}
.jch-shelby-page{
	grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);
	gap:34px;
	align-items:center;
}
.jch-shelby-real{
	max-width:520px;
}
.jch-shelby-real img{
	max-height:610px;
	object-fit:cover;
}
.jch-shelby-page .jch-copy h2{
	font-size:clamp(30px,3.4vw,46px);
	margin-bottom:10px;
}

/* Articles/pages standard */
.single .jch-prose,
.page-template-default .jch-prose{
	padding-top:30px;
}

/* Footer : même densité que SERVIPRA */
.jch-footer.jch-footer--compact{
	padding-top:12px;
}
.jch-footer-shell{
	width:min(1180px,calc(100vw - 40px));
}
.jch-footer-main{
	grid-template-columns:minmax(180px,220px) minmax(220px,1.2fr) minmax(130px,.7fr) minmax(130px,.7fr) minmax(140px,.75fr);
	gap:22px;
	padding:7px 0 12px;
}
.jch-footer-logo-col .jch-logo-default img,
.jch-footer-logo-col .custom-logo{
	max-width:190px;
	max-height:75px;
}
.jch-footer-info,
.jch-footer-nav a,
.jch-footer-social a{
	font-size:12px;
	line-height:1.4;
}
.jch-footer-nav h2,
.jch-footer-follow h2{
	margin-bottom:7px;
	font-size:11px;
}
.jch-footer-nav ul,
.jch-footer-social{
	gap:4px;
}
.jch-footer-follow{
	min-height:95px;
}
.jch-footer-numbers{
	font-size:48px;
}
.jch-footer-bottom{
	padding:8px 0 10px;
	font-size:10px;
}

/* Le bouton de préférences ne doit jamais élargir visuellement le footer */
.jch-cookie-manage,
.jch-consent-manage,
button[data-jch-consent-manage]{
	max-width:210px;
}

/* Contact : conserver le gabarit validé v1.0.5.
   Seuls header/footer globaux changent. */
.page-template-page-contact .jch-contact-shell,
.page-template-page-contact-php .jch-contact-shell{
	width:min(1600px,calc(100vw - 42px));
}

/* Desktop intermédiaire */
@media(max-width:1180px){
	:root{
		--jch-shell:min(100% - 32px,1080px);
	}
	.jch-race-banner{
		grid-template-columns:130px 1fr;
	}
	.jch-race-banner>.jch-btn{
		grid-column:2;
		justify-self:start;
	}
}

/* Mobile / tablette : compact également */
@media(max-width:900px){
	.jch-section,
	.home .jch-section{
		padding:26px 0;
	}
	.jch-page-hero,
	.jch-article-hero{
		padding:82px 0 20px;
	}
	.jch-page-hero h1,
	.jch-article-hero h1{
		font-size:clamp(32px,8vw,46px);
	}
	.jch-split{
		gap:20px;
	}
	.jch-race-banner{
		grid-template-columns:1fr;
		padding:22px;
		gap:12px;
	}
	.jch-race-banner>.jch-btn{
		grid-column:auto;
	}
	.jch-partner-callout,
	.jch-shelby{
		grid-template-columns:1fr;
		gap:14px;
	}
	.jch-team-photos{
		grid-template-columns:1fr;
	}
	.jch-team-manifesto{
		grid-template-columns:1fr 1fr;
	}
	.jch-shelby-page{
		grid-template-columns:1fr;
		gap:20px;
	}
	.jch-shelby-real{
		max-width:480px;
		margin-inline:auto;
	}
	.jch-footer-main{
		grid-template-columns:1fr 1fr 1fr;
	}
}

@media(max-width:620px){
	:root{
		--jch-shell:calc(100vw - 28px);
	}
	.jch-section,
	.home .jch-section{
		padding:22px 0;
	}
	.jch-section-head{
		margin-bottom:14px;
	}
	.jch-page-hero,
	.jch-article-hero{
		padding:76px 0 18px;
	}
	.jch-photo-rail{
		width:calc(100vw - 28px);
		margin-bottom:16px;
	}
	.jch-teaser-card{
		padding:18px;
	}
	.jch-team-manifesto{
		grid-template-columns:1fr;
	}
	.jch-team-manifesto span{
		font-size:68px;
	}
	.jch-race{
		grid-template-columns:1fr;
		gap:7px;
		padding:16px;
	}
	.jch-footer-main{
		grid-template-columns:1fr 1fr;
		gap:16px;
	}
	.jch-footer-logo-col,
	.jch-footer-info{
		grid-column:1/-1;
	}
}


/* =========================================================
   JCH RACING v1.0.7 — RACE CENTER BOL D'OR
   ========================================================= */
.jch-race-center{display:grid;gap:14px}
.jch-race-eventbar{
	display:grid;
	grid-template-columns:minmax(260px,1.35fr) minmax(160px,.7fr) minmax(150px,.55fr) auto;
	gap:16px;
	align-items:center;
	padding:18px 20px;
	background:linear-gradient(120deg,#fff,#f3f8ff);
	border:1px solid var(--jch-line);
	border-radius:14px;
	box-shadow:0 12px 32px rgba(36,43,88,.07);
}
.jch-race-eventbar__event{display:grid;gap:2px}
.jch-race-eventbar__event .jch-eyebrow{margin:0;color:#718100}
.jch-race-eventbar__event strong{font-size:24px;line-height:1.05;color:var(--jch-blue)}
.jch-race-eventbar__event span{font-size:13px;color:#66768a}
.jch-race-eventbar__bike{display:flex;align-items:center;gap:10px;border-left:1px solid var(--jch-line);padding-left:16px}
.jch-race-eventbar__bike>span{font:900 38px/.8 Impact,sans-serif;color:var(--jch-accent);-webkit-text-stroke:1px var(--jch-blue)}
.jch-race-eventbar__bike>div{font-size:12px;font-weight:800;color:var(--jch-blue)}
.jch-race-countdown{display:grid;text-align:center;line-height:1}
.jch-race-countdown strong{font-size:11px;letter-spacing:.15em;color:#6d7d91}
.jch-race-countdown span{font:900 42px/.9 Impact,sans-serif;color:var(--jch-blue)}
.jch-race-countdown small{font-size:8px;letter-spacing:.12em;font-weight:900;color:#758399}
.jch-race-eventbar__links{justify-self:end}
.jch-race-eventbar__links .jch-btn{padding:10px 13px;font-size:9px}
.jch-race-timing-wait{font-size:10px;font-weight:800;color:#718096;text-align:right;display:block}

.jch-race-current{
	display:grid;
	grid-template-columns:1fr 1fr 1.15fr auto;
	gap:1px;
	background:var(--jch-line);
	border:1px solid var(--jch-line);
	border-radius:12px;
	overflow:hidden;
}
.jch-race-current>div{padding:12px 16px;background:#fff;display:grid;gap:2px;align-content:center}
.jch-race-current span:not(.jch-live-status){font-size:8px;letter-spacing:.14em;font-weight:900;color:#77889c}
.jch-race-current strong{font-size:15px;color:var(--jch-blue)}
.jch-race-current small{font-size:11px;color:#64748b}
.jch-race-current__status{min-width:120px;place-items:center}

.page-template-page-live .jch-live-grid{
	grid-template-columns:minmax(0,1.45fr) minmax(300px,.58fr);
	gap:14px;
	align-items:stretch;
}
.page-template-page-live .jch-live-panel{overflow:hidden}
.page-template-page-live .jch-live-video{min-height:390px}
.jch-video-consent--waiting{
	background:
		radial-gradient(circle at center,rgba(181,205,14,.12),transparent 30%),
		linear-gradient(135deg,#f8fbff,#e9f4ff);
}
.jch-video-consent--waiting>div{text-align:center;padding:26px}
.jch-video-consent--waiting strong{display:block;font-size:18px;color:var(--jch-blue)}
.jch-video-consent--waiting p{margin:7px 0;color:#65758a}
.jch-video-consent--waiting span{font-size:11px;font-weight:900;color:#708000}
.jch-video-consent small{display:block;margin-top:9px;font-size:10px;color:#6b7b8e}
.jch-live-feed-panel{display:flex;flex-direction:column;max-height:520px}
.jch-live-feed-head{padding:14px 16px 11px;border-bottom:1px solid var(--jch-line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.jch-live-feed-head .jch-eyebrow{margin:0}
.jch-live-feed-head>span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#8795a7}
.jch-live-feed{overflow:auto;flex:1}
.jch-live-item{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:12px 14px}
.jch-live-item time{font-size:11px;font-weight:900;color:var(--jch-blue)}
.jch-live-item strong{display:block;font-size:14px;color:var(--jch-blue)}
.jch-live-item p{margin:3px 0 0;font-size:12px;line-height:1.4;color:#66768a}
.jch-live-type{display:inline-block;margin:0 7px 3px 0;padding:2px 5px;border-radius:999px;background:#eef3f8;color:#506176;font-size:7px!important;text-transform:uppercase;letter-spacing:.08em}
.jch-live-item[data-type="track"] .jch-live-type{background:#e9f7e0;color:#4d6500}
.jch-live-item[data-type="pit"] .jch-live-type{background:#e8efff;color:#283d78}
.jch-live-item[data-type="alert"] .jch-live-type{background:#ffe9e7;color:#9c2d22}
.jch-live-item[data-type="result"] .jch-live-type{background:#f4f9d5;color:#5d7000}
.jch-live-status[data-mode="pause"]{background:#ffd86a;border-color:#ffd86a;color:#3b2b00}
.jch-live-status[data-mode="finished"]{background:#334155;border-color:#334155;color:#fff}
.jch-live-status[data-mode="off"]{background:#fff;border-color:#cbd5e1;color:#64748b}

@media(max-width:1000px){
	.jch-race-eventbar{grid-template-columns:1fr 1fr}
	.jch-race-eventbar__links{justify-self:start}
	.jch-race-eventbar__bike{border-left:0;padding-left:0}
	.jch-race-current{grid-template-columns:1fr 1fr}
	.jch-race-current__status{min-width:0}
	.page-template-page-live .jch-live-grid{grid-template-columns:1fr}
	.jch-live-feed-panel{max-height:none}
}
@media(max-width:620px){
	.jch-race-eventbar{grid-template-columns:1fr;padding:15px}
	.jch-race-current{grid-template-columns:1fr 1fr}
	.jch-race-current>div{padding:10px}
	.page-template-page-live .jch-live-video{min-height:270px}
}


/* =========================================================
   JCH RACING v1.0.8 — COMPACT HOME
   Accueil uniquement : densité verticale et typographie
   inspirées de la méthode SERVIPRA, identité JCH conservée.
   Aucun changement fonctionnel Contact / Race Center.
   ========================================================= */

/* HERO ACCUEIL : nettement plus court et moins massif */
.home .jch-hero{
	min-height:520px;
	height:min(64svh,620px);
	max-height:620px;
	align-items:end;
}
.home .jch-hero__content{
	padding-bottom:42px;
}
.home .jch-kicker{
	margin-bottom:10px;
	font-size:10px;
}
.home .jch-kicker span{
	padding:4px 8px;
	margin-left:5px;
}
.home .jch-hero h1{
	font-size:clamp(68px,8.4vw,118px);
	line-height:.80;
	max-width:620px;
}
.home .jch-hero__lead{
	font-size:clamp(18px,1.65vw,25px);
	line-height:1.28;
	max-width:650px;
	margin:16px 0 18px;
}
.home .jch-actions{
	gap:10px;
}
.home .jch-btn{
	padding:11px 18px;
	font-size:10px;
}
.home .jch-hero__numbers{
	font-size:clamp(120px,18vw,280px);
	top:14%;
	right:-1vw;
}

/* Bandeau sous hero */
.home .jch-stripe__inner{
	min-height:44px;
	font-size:9px;
	gap:14px;
}

/* Rythme vertical global de l'accueil */
.home .jch-section{
	padding:22px 0;
}
.home .jch-section--intro{
	padding:24px 0 20px;
}
.home .jch-section--teaser{
	padding:22px 0;
}
.home .jch-section--race{
	padding:18px 0;
}
.home .jch-section--partners{
	padding:24px 0;
}
.home .jch-section--shelby{
	padding:18px 0;
}

/* Titres d'accueil : plus proches du gabarit SERVIPRA */
.home .jch-section h2{
	font-size:clamp(28px,2.6vw,40px);
	line-height:1.02;
	margin:.05em 0 .18em;
	letter-spacing:-.035em;
}
.home .jch-section-head{
	margin-bottom:12px;
	align-items:end;
}
.home .jch-eyebrow{
	margin-bottom:5px;
	font-size:9px;
}
.home .jch-copy{
	font-size:15px;
	line-height:1.45;
}
.home .jch-copy p{
	margin-bottom:8px;
}
.home .jch-text-link{
	margin-top:8px;
	padding-bottom:3px;
	font-size:9px;
}

/* Introduction */
.home .jch-split{
	gap:38px;
}

/* Galerie : moins haute, moins d'air autour */
.home .jch-photo-rail{
	margin:0 auto 14px;
	gap:10px;
}
.home .jch-photo-tile img{
	aspect-ratio:16/7.6;
}
.home .jch-photo-tile figcaption{
	padding:22px 14px 11px;
}
.home .jch-photo-tile figcaption b{
	font-size:18px;
}

/* Teaser NEXT CHAPTER */
.home .jch-display{
	font-size:clamp(42px,5.4vw,72px);
	line-height:.88;
}
.home .jch-teaser-grid{
	margin-top:14px;
}
.home .jch-teaser-card{
	padding:18px 20px;
	min-height:150px;
}
.home .jch-teaser-card>span{
	font-size:52px;
}
.home .jch-teaser-card h3{
	font-size:20px;
	margin:7px 0 3px;
}
.home .jch-teaser-card p{
	font-size:14px;
	margin-bottom:5px;
}
.home .jch-teaser-card b{
	position:static;
	display:block;
	margin-top:7px;
	font-size:8px;
}

/* Machines */
.home .jch-grid{
	gap:14px;
}
.home .jch-machine-card__body,
.home .jch-news-card__body{
	padding:13px 15px 15px;
}
.home .jch-machine-card__body h3,
.home .jch-news-card__body h3,
.home .jch-news-card__body h2{
	font-size:clamp(19px,1.8vw,25px);
	margin:3px 0 7px;
}
.home .jch-machine-card img,
.home .jch-news-card img,
.home .jch-machine-default{
	aspect-ratio:16/8.2;
}

/* Race Center accueil */
.home .jch-race-banner{
	padding:18px 22px;
	grid-template-columns:125px 1fr auto;
	gap:18px;
	border-radius:14px;
}
.home .jch-race-banner__flag{
	font-size:16px;
}
.home .jch-race-banner h2{
	font-size:clamp(25px,2.5vw,36px);
	margin:.03em 0 .12em;
}
.home .jch-race-banner p{
	margin-bottom:3px;
	font-size:14px;
}

/* Actualités : empêcher une seule carte de donner l'impression
   que toute la section doit être très haute. */
.home .jch-grid--news{
	align-items:start;
}
.home .jch-news-card{
	align-self:start;
}

/* Partenaires */
.home .jch-partner-callout{
	gap:22px;
}
.home .jch-partner-callout h2{
	font-size:clamp(31px,3vw,44px);
	margin:0 0 5px;
}
.home .jch-partner-callout p{
	font-size:15px;
	line-height:1.45;
	max-width:760px;
}
.home .jch-partner-callout .jch-btn{
	padding:11px 16px;
}

/* Shelby : compact et raccord direct avec le footer */
.home .jch-shelby{
	gap:18px;
}
.home .jch-shelby__badge{
	width:58px;
	height:58px;
	font-size:26px;
}
.home .jch-shelby h2{
	font-size:clamp(25px,2.4vw,34px);
	margin:0 0 2px;
}
.home .jch-shelby p{
	font-size:14px;
	margin:0;
}

/* Le premier footer suit immédiatement l'accueil */
.home .jch-footer{
	margin-top:0;
}

/* Tablette */
@media(max-width:900px){
	.home .jch-hero{
		min-height:500px;
		height:auto;
		max-height:none;
	}
	.home .jch-hero__content{
		padding-top:110px;
		padding-bottom:34px;
	}
	.home .jch-hero h1{
		font-size:clamp(62px,15vw,96px);
	}
	.home .jch-section{
		padding:20px 0;
	}
	.home .jch-race-banner{
		grid-template-columns:1fr;
		padding:18px;
		gap:9px;
	}
	.home .jch-race-banner>.jch-btn{
		grid-column:auto;
	}
}

/* Mobile */
@media(max-width:620px){
	.home .jch-hero{
		min-height:460px;
	}
	.home .jch-hero__content{
		padding-top:94px;
		padding-bottom:28px;
	}
	.home .jch-hero h1{
		font-size:clamp(58px,18vw,82px);
	}
	.home .jch-hero__lead{
		font-size:17px;
		margin:12px 0 15px;
	}
	.home .jch-stripe__inner{
		min-height:38px;
		font-size:8px;
	}
	.home .jch-section,
	.home .jch-section--intro,
	.home .jch-section--teaser,
	.home .jch-section--race,
	.home .jch-section--partners,
	.home .jch-section--shelby{
		padding:17px 0;
	}
	.home .jch-section h2{
		font-size:clamp(27px,9vw,36px);
	}
	.home .jch-display{
		font-size:clamp(38px,12vw,55px);
	}
	.home .jch-teaser-card{
		padding:16px;
	}
	.home .jch-photo-tile img{
		aspect-ratio:3/2;
	}
}


/* =========================================================
   JCH RACING v1.0.9 — ACCUEIL COMPACT FR
   - tous les libellés éditoriaux visibles en français
   - typographie encore réduite
   - espaces verticaux encore resserrés
   - aucune modification fonctionnelle du Contact / live
   ========================================================= */

.home .jch-hero{
	min-height:430px;
	height:min(54svh,500px);
	max-height:500px;
}
.home .jch-hero__content{
	padding-top:84px;
	padding-bottom:26px;
}
.home .jch-hero h1{
	font-size:clamp(52px,6vw,82px);
	line-height:.84;
	max-width:520px;
}
.home .jch-hero__lead{
	font-size:clamp(17px,1.35vw,21px);
	line-height:1.25;
	max-width:620px;
	margin:10px 0 14px;
}
.home .jch-kicker{
	margin-bottom:7px;
	font-size:9px;
}
.home .jch-btn{
	padding:9px 16px;
	font-size:9px;
}
.home .jch-actions{
	gap:8px;
}

/* Barre disciplines */
.home .jch-stripe__inner{
	min-height:36px;
	padding-top:0;
	padding-bottom:0;
	font-size:8px;
}

/* Sections accueil : rythme beaucoup plus serré */
.home .jch-section,
.home .jch-section--intro,
.home .jch-section--teaser,
.home .jch-section--race,
.home .jch-section--partners,
.home .jch-section--shelby{
	padding-top:14px;
	padding-bottom:14px;
}
.home .jch-section-head{
	margin-bottom:8px;
}
.home .jch-section h2{
	font-size:clamp(25px,2.15vw,34px);
	line-height:1.03;
	margin:0 0 6px;
}
.home .jch-eyebrow{
	margin-bottom:3px;
	font-size:8px;
}
.home .jch-copy{
	font-size:14px;
	line-height:1.40;
}
.home .jch-copy p{
	margin:0 0 6px;
}

/* Intro / galerie */
.home .jch-split{
	gap:26px;
}
.home .jch-photo-rail{
	margin-bottom:8px;
	gap:8px;
}
.home .jch-photo-tile figcaption{
	padding:18px 12px 9px;
}

/* Prochain chapitre */
.home .jch-display{
	font-size:clamp(34px,4.1vw,54px);
	line-height:.90;
}
.home .jch-teaser-grid{
	margin-top:9px;
}
.home .jch-teaser-card{
	min-height:124px;
	padding:13px 16px;
}
.home .jch-teaser-card>span{
	font-size:42px;
}
.home .jch-teaser-card h3{
	font-size:17px;
	margin:4px 0 2px;
}
.home .jch-teaser-card p{
	font-size:13px;
	line-height:1.32;
}
.home .jch-teaser-card b{
	margin-top:5px;
	font-size:7px;
}

/* Machines */
.home .jch-grid{
	gap:11px;
}
.home .jch-machine-card__body,
.home .jch-news-card__body{
	padding:10px 13px 12px;
}
.home .jch-machine-card__body h3,
.home .jch-news-card__body h3,
.home .jch-news-card__body h2{
	font-size:clamp(18px,1.55vw,22px);
	margin:2px 0 5px;
}
.home .jch-machine-card img,
.home .jch-news-card img,
.home .jch-machine-default{
	aspect-ratio:16/7.7;
}

/* Race Center : bloc plus fin */
.home .jch-race-banner{
	padding:12px 16px;
	grid-template-columns:105px 1fr auto;
	gap:13px;
	border-radius:12px;
}
.home .jch-race-banner h2{
	font-size:clamp(22px,2vw,30px);
	margin:0 0 3px;
}
.home .jch-race-banner p{
	font-size:13px;
	line-height:1.35;
	margin:0;
}
.home .jch-race-banner__flag{
	font-size:14px;
}

/* Actualités */
.home .jch-grid--news{
	margin-bottom:0;
}
.home .jch-news-card__body{
	min-height:0;
}

/* Partenaires */
.home .jch-partner-callout{
	gap:16px;
}
.home .jch-partner-callout h2{
	font-size:clamp(26px,2.35vw,35px);
	margin:0 0 3px;
}
.home .jch-partner-callout p{
	font-size:14px;
	line-height:1.35;
	margin:0;
}

/* Shelby */
.home .jch-shelby{
	gap:12px;
}
.home .jch-shelby__badge{
	width:50px;
	height:50px;
	font-size:22px;
}
.home .jch-shelby h2{
	font-size:clamp(22px,2vw,29px);
	margin:0 0 1px;
}
.home .jch-shelby p{
	font-size:13px;
	line-height:1.3;
}

/* Réduire tout espace de fin inutile avant footer */
.home main > .jch-section:last-child{
	margin-bottom:0;
}
.home .jch-footer{
	margin-top:0;
}

/* Tablette */
@media(max-width:900px){
	.home .jch-hero{
		min-height:410px;
		height:auto;
		max-height:none;
	}
	.home .jch-hero__content{
		padding-top:86px;
		padding-bottom:24px;
	}
	.home .jch-hero h1{
		font-size:clamp(50px,12vw,72px);
	}
	.home .jch-race-banner{
		grid-template-columns:1fr;
		gap:7px;
	}
}

/* Mobile */
@media(max-width:620px){
	.home .jch-hero{
		min-height:380px;
	}
	.home .jch-hero__content{
		padding-top:78px;
		padding-bottom:20px;
	}
	.home .jch-hero h1{
		font-size:clamp(46px,15vw,64px);
	}
	.home .jch-hero__lead{
		font-size:16px;
		margin:8px 0 12px;
	}
	.home .jch-section,
	.home .jch-section--intro,
	.home .jch-section--teaser,
	.home .jch-section--race,
	.home .jch-section--partners,
	.home .jch-section--shelby{
		padding-top:12px;
		padding-bottom:12px;
	}
	.home .jch-section h2{
		font-size:clamp(24px,8vw,31px);
	}
	.home .jch-display{
		font-size:clamp(32px,10vw,44px);
	}
	.home .jch-teaser-card{
		min-height:0;
		padding:12px 14px;
	}
}


/* =========================================================
   JCH RACING v1.0.10 — COMPACT GLOBAL FR
   Toutes les pages publiques :
   titres réduits, espaces resserrés, blocs compactés.
   ========================================================= */

/* En-têtes de pages et articles */
body:not(.home) .jch-page-hero,
body:not(.home) .jch-article-hero{
	padding:72px 0 14px;
	min-height:0;
}
body:not(.home) .jch-page-hero h1,
body:not(.home) .jch-article-hero h1{
	font-size:clamp(28px,3vw,42px);
	line-height:1;
	letter-spacing:-.03em;
}
body:not(.home) .jch-page-hero>div>p:last-child,
body:not(.home) .jch-article-hero>div>p:last-child{
	margin:4px 0 0;
	font-size:14px;
	line-height:1.38;
	max-width:720px;
}
body:not(.home) .jch-page-hero .jch-eyebrow,
body:not(.home) .jch-article-hero .jch-eyebrow{
	margin:0 0 4px;
	font-size:8px;
}

/* Sections : rythme global dense */
body:not(.home) .jch-section{
	padding:15px 0;
}
body:not(.home) .jch-section--intro,
body:not(.home) .jch-section--form,
body:not(.home) .jch-section--race,
body:not(.home) .jch-section--partners,
body:not(.home) .jch-section--shelby{
	padding-top:15px;
	padding-bottom:15px;
}
body:not(.home) .jch-section-head{
	margin-bottom:8px;
	gap:12px;
}
body:not(.home) .jch-section h2,
body:not(.home) .jch-form-wrap h2,
body:not(.home) .jch-copy h2{
	font-size:clamp(22px,2.05vw,31px);
	line-height:1.04;
	letter-spacing:-.025em;
	margin:0 0 5px;
}
body:not(.home) .jch-section h3{
	font-size:clamp(17px,1.5vw,21px);
	margin:0 0 4px;
}
body:not(.home) .jch-copy,
body:not(.home) .jch-section p{
	font-size:14px;
	line-height:1.4;
}
body:not(.home) .jch-copy p,
body:not(.home) .jch-section p{
	margin-top:0;
	margin-bottom:6px;
}

/* Cartes / blocs */
body:not(.home) .jch-grid,
body:not(.home) .jch-grid--machines,
body:not(.home) .jch-grid--news{
	gap:10px;
}
body:not(.home) .jch-machine-card__body,
body:not(.home) .jch-news-card__body,
body:not(.home) .jch-team-member,
body:not(.home) .jch-partner,
body:not(.home) .jch-race,
body:not(.home) .jch-live-panel,
body:not(.home) .jch-empty,
body:not(.home) .jch-benefits>div{
	padding:12px 14px;
}
body:not(.home) .jch-machine-card__body h3,
body:not(.home) .jch-news-card__body h2,
body:not(.home) .jch-news-card__body h3,
body:not(.home) .jch-race h2,
body:not(.home) .jch-partner h3{
	font-size:clamp(17px,1.45vw,21px);
	margin:2px 0 4px;
}

/* Team */
body:not(.home) .jch-team-grid,
body:not(.home) .jch-partner-grid{
	margin:10px 0;
	gap:10px;
}
body:not(.home) .jch-team-photos{
	margin:10px 0;
	gap:10px;
}
body:not(.home) .jch-team-manifesto{
	margin-top:10px;
	gap:10px;
}
body:not(.home) .jch-team-manifesto>div{
	padding:12px 15px;
}
body:not(.home) .jch-team-manifesto span{
	font-size:clamp(48px,5.4vw,78px);
	line-height:.82;
}
body:not(.home) .jch-team-manifesto p{
	margin:5px 0 0;
	font-size:14px;
}

/* Partenaires */
body:not(.home) .jch-benefits{
	gap:10px;
	margin-bottom:10px;
}
body:not(.home) .jch-benefits>div{
	min-height:0;
}
body:not(.home) .jch-benefits b{
	font-size:clamp(34px,4vw,55px);
}
body:not(.home) .jch-form-wrap{
	gap:18px;
}

/* Boutique */
body:not(.home) .jch-coming{
	padding:18px 20px;
}
body:not(.home) .jch-coming>span{
	font-size:9px;
}
body:not(.home) .jch-coming h2{
	font-size:clamp(23px,2.2vw,32px);
	margin:5px 0;
}

/* Shelby */
body:not(.home) .jch-shelby-page{
	gap:16px;
	align-items:start;
}
body:not(.home) .jch-shelby-real{
	margin:0;
}
body:not(.home) .jch-shelby-real img{
	max-height:520px;
	object-fit:cover;
}

/* Articles et pages génériques */
body:not(.home) .jch-featured{
	margin-top:14px;
	margin-bottom:10px;
}
body:not(.home) .jch-prose{
	padding-top:16px;
	padding-bottom:20px;
	font-size:15px;
	line-height:1.55;
}
body:not(.home) .jch-prose h2{
	font-size:clamp(22px,2.1vw,31px);
	margin:18px 0 6px;
}
body:not(.home) .jch-prose h3{
	font-size:clamp(18px,1.6vw,23px);
	margin:14px 0 5px;
}
body:not(.home) .jch-prose p,
body:not(.home) .jch-prose ul,
body:not(.home) .jch-prose ol{
	margin-top:0;
	margin-bottom:9px;
}

/* Centre de course : moins de vide sans toucher à la logique */
body:not(.home) .jch-race-center{
	gap:10px;
}
body:not(.home) .jch-race-eventbar{
	padding:12px 14px;
	gap:10px;
}
body:not(.home) .jch-race-current{
	gap:8px;
}
body:not(.home) .jch-live-grid{
	gap:10px;
}
body:not(.home) .jch-live-panel{
	min-height:0;
}

/* Contact : encore un cran plus dense, structure conservée */
.jch-contact-hero{
	padding:72px 0 10px;
}
.jch-contact-hero h1{
	font-size:clamp(27px,2.1vw,36px);
}
.jch-contact-hero__content>p:last-child{
	margin-top:2px;
	font-size:13.5px;
	line-height:1.35;
}
.jch-contact-section{
	padding:10px 0 16px;
}
.jch-contact-layout{
	gap:14px;
}
.jch-contact-intro,
.jch-contact-form-panel,
.jch-contact-map-card,
.jch-contact-shelby{
	margin-top:0;
	margin-bottom:0;
}
.jch-contact-panel-head{
	margin-bottom:8px;
}

/* 404 */
.jch-404{
	min-height:58vh;
	padding-top:92px;
	padding-bottom:24px;
}
.jch-404 h1{
	font-size:clamp(110px,18vw,250px);
}

/* Footer : encore plus compact sur toutes les pages */
.jch-footer.jch-footer--compact{
	padding-top:9px;
}
.jch-footer-main{
	gap:16px;
	padding:5px 0 9px;
}
.jch-footer-logo-col .jch-logo-default img,
.jch-footer-logo-col .custom-logo{
	max-width:175px;
	max-height:65px;
}
.jch-footer-info,
.jch-footer-nav a,
.jch-footer-social a{
	font-size:11px;
	line-height:1.35;
}
.jch-footer-nav h2,
.jch-footer-follow h2{
	margin-bottom:5px;
	font-size:10px;
}
.jch-footer-nav ul,
.jch-footer-social{
	gap:3px;
}
.jch-footer-follow{
	min-height:78px;
}
.jch-footer-numbers{
	font-size:42px;
}
.jch-footer-bottom{
	padding:6px 0 8px;
	font-size:9px;
}

/* Tablette / mobile */
@media(max-width:900px){
	body:not(.home) .jch-page-hero,
	body:not(.home) .jch-article-hero{
		padding:70px 0 12px;
	}
	body:not(.home) .jch-page-hero h1,
	body:not(.home) .jch-article-hero h1{
		font-size:clamp(27px,6vw,38px);
	}
	body:not(.home) .jch-section{
		padding:13px 0;
	}
	.jch-contact-hero{
		padding:70px 0 10px;
	}
}
@media(max-width:620px){
	body:not(.home) .jch-page-hero,
	body:not(.home) .jch-article-hero{
		padding:66px 0 10px;
	}
	body:not(.home) .jch-page-hero h1,
	body:not(.home) .jch-article-hero h1{
		font-size:clamp(25px,8vw,34px);
	}
	body:not(.home) .jch-section{
		padding:11px 0;
	}
	body:not(.home) .jch-section h2,
	body:not(.home) .jch-form-wrap h2,
	body:not(.home) .jch-copy h2{
		font-size:clamp(21px,7vw,28px);
	}
	.jch-contact-hero{
		padding:66px 0 9px;
	}
	.jch-contact-hero h1{
		font-size:clamp(26px,8vw,33px);
	}
	.jch-footer-main{
		gap:12px;
	}
}


/* =========================================================
   JCH RACING v1.0.11 — SHELBY FUN
   Fun, compact, responsive, sans alourdir les pages.
   ========================================================= */

/* Navigation Shelby */
.jch-menu-shelby a{
	color:var(--jch-signal)!important;
	position:relative;
}
.jch-menu-shelby a:before{
	content:"🐾";
	margin-right:4px;
	font-size:.9em;
}
.jch-menu-shelby a:after{
	background:var(--jch-accent)!important;
}

/* Accueil Shelby */
.jch-shelby-home{
	background:linear-gradient(115deg,#f7fbe7 0%,#edf6ff 55%,#fff 100%);
	border-top:1px solid rgba(36,43,88,.08);
	border-bottom:1px solid rgba(36,43,88,.08);
}
.jch-shelby-home__head>div{
	max-width:800px;
}
.jch-shelby-home__head>div>p:last-child{
	margin:4px 0 0;
	font-size:14px;
	line-height:1.4;
}
.jch-shelby-home__grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:10px;
}
.jch-shelby-home__card{
	position:relative;
	display:grid;
	grid-template-columns:118px 1fr;
	align-items:center;
	min-height:118px;
	overflow:hidden;
	background:#fff;
	border:1px solid rgba(36,43,88,.12);
	border-radius:16px;
	box-shadow:0 10px 26px rgba(36,43,88,.06);
	text-decoration:none;
	color:var(--jch-signal);
	transition:transform .18s ease,box-shadow .18s ease;
}
.jch-shelby-home__card:hover{
	transform:translateY(-2px) rotate(-.15deg);
	box-shadow:0 14px 30px rgba(36,43,88,.11);
}
.jch-shelby-home__card img{
	width:118px;
	height:100%;
	min-height:118px;
	object-fit:cover;
}
.jch-shelby-home__card span{
	padding:12px;
}
.jch-shelby-home__card b{
	display:block;
	font-size:11px;
	letter-spacing:.12em;
}
.jch-shelby-home__card small{
	display:block;
	margin-top:4px;
	font-size:12px;
	line-height:1.3;
	color:#536078;
}

/* Cameo contextuel avant footer */
.jch-shelby-cameo{
	padding:10px 0;
	background:#f5f9ff;
	border-top:1px solid rgba(36,43,88,.09);
	border-bottom:3px solid var(--jch-accent);
}
.jch-shelby-cameo__inner{
	display:grid;
	grid-template-columns:118px 1fr;
	align-items:center;
	gap:16px;
}
.jch-shelby-cameo__media{
	position:relative;
	display:block;
	height:94px;
	overflow:hidden;
	border-radius:14px;
	background:#fff;
	box-shadow:0 8px 20px rgba(36,43,88,.08);
}
.jch-shelby-cameo__img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.jch-shelby-cameo__stamp{
	position:absolute;
	left:7px;
	bottom:7px;
	padding:3px 6px;
	border-radius:6px;
	background:var(--jch-accent);
	color:#16204e;
	font-size:8px;
	font-weight:900;
	letter-spacing:.12em;
}
.jch-shelby-cameo__copy h2{
	margin:1px 0 3px;
	font-size:clamp(19px,1.75vw,26px);
	line-height:1.05;
}
.jch-shelby-cameo__copy p{
	margin:0 0 4px;
	font-size:13px;
	line-height:1.35;
}
.jch-shelby-cameo__copy .jch-eyebrow{
	margin:0 0 2px;
	font-size:7px;
}

/* Page Shelby */
.jch-shelby-hero{
	background:linear-gradient(125deg,#f5f9ff 0%,#fff 48%,#eef5d9 100%);
}
.jch-shelby-hero__grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) 310px;
	gap:28px;
	align-items:center;
}
.jch-shelby-hero h1{
	font-size:clamp(48px,6vw,82px)!important;
	line-height:.84!important;
}
.jch-shelby-hero__grid>div>p:last-of-type{
	max-width:690px;
}
.jch-shelby-hero figure{
	position:relative;
	margin:0;
	overflow:hidden;
	border-radius:20px;
	background:#fff;
	box-shadow:0 16px 34px rgba(36,43,88,.12);
	transform:rotate(1deg);
}
.jch-shelby-hero__img{
	display:block;
	width:100%;
	height:245px;
	object-fit:cover;
}
.jch-shelby-hero figcaption{
	position:absolute;
	left:10px;
	bottom:10px;
	padding:5px 8px;
	border-radius:7px;
	background:rgba(20,28,66,.88);
	color:#fff;
	font-size:8px;
	font-weight:900;
	letter-spacing:.09em;
}
.jch-shelby-hero__badges{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-top:11px;
}
.jch-shelby-hero__badges span{
	padding:5px 8px;
	border-radius:999px;
	background:#fff;
	border:1px solid rgba(36,43,88,.13);
	font-size:9px;
	font-weight:800;
	letter-spacing:.04em;
}

.jch-shelby-cv__grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:8px;
}
.jch-shelby-cv__grid>div{
	position:relative;
	min-height:108px;
	padding:12px;
	overflow:hidden;
	border:1px solid rgba(36,43,88,.12);
	border-radius:14px;
	background:#fff;
}
.jch-shelby-cv__grid span{
	position:absolute;
	right:8px;
	top:2px;
	font-size:36px;
	font-weight:900;
	color:rgba(36,43,88,.08);
}
.jch-shelby-cv__grid b{
	display:block;
	margin-bottom:4px;
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:.08em;
	color:var(--jch-signal);
}
.jch-shelby-cv__grid p{
	margin:0!important;
	font-size:13px!important;
}

.jch-shelby-manifesto{
	background:var(--jch-signal);
	color:#fff;
}
.jch-shelby-manifesto__inner{
	display:grid;
	grid-template-columns:1fr 190px;
	gap:22px;
	align-items:center;
}
.jch-shelby-manifesto .jch-eyebrow{
	color:var(--jch-accent);
}
.jch-shelby-manifesto h2{
	color:#fff;
}
.jch-shelby-manifesto p{
	max-width:700px;
}
.jch-shelby-manifesto__img{
	width:190px;
	height:150px;
	object-fit:cover;
	border-radius:14px;
	transform:rotate(2deg);
	box-shadow:0 10px 28px rgba(0,0,0,.25);
}

.jch-shelby-gallery{
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:8px;
}
.jch-shelby-gallery__item{
	margin:0;
	overflow:hidden;
	border-radius:12px;
	background:#fff;
	border:1px solid rgba(36,43,88,.10);
	box-shadow:0 7px 18px rgba(36,43,88,.05);
}
.jch-shelby-gallery__item img{
	display:block;
	width:100%;
	aspect-ratio:1.12/1;
	object-fit:cover;
}
.jch-shelby-gallery__item figcaption{
	padding:7px 8px;
	font-size:9px;
	font-weight:800;
	line-height:1.2;
	color:var(--jch-signal);
}
.jch-shelby-gallery__item:nth-child(3n+2){
	transform:rotate(.35deg);
}
.jch-shelby-gallery__item:nth-child(4n+1){
	transform:rotate(-.35deg);
}

.jch-shelby-final{
	background:linear-gradient(90deg,#eef5d9,#f5f9ff);
}
.jch-shelby-final__inner{
	display:grid;
	grid-template-columns:170px 1fr;
	gap:20px;
	align-items:center;
}
.jch-shelby-final__img{
	width:170px;
	height:145px;
	object-fit:cover;
	border-radius:16px;
}
.jch-shelby-final__inner h2{
	margin-bottom:4px!important;
}

/* Mini pit-wall Shelby — bas gauche, pour ne pas gêner le bouton cookies à droite. */
.jch-shelby-pitwall{
	position:fixed;
	left:14px;
	bottom:14px;
	z-index:9997;
	font-family:inherit;
}
.jch-shelby-pitwall__launcher{
	display:flex;
	align-items:center;
	gap:7px;
	padding:5px 10px 5px 5px;
	border:1px solid rgba(36,43,88,.18);
	border-radius:999px;
	background:#fff;
	color:var(--jch-signal);
	box-shadow:0 10px 30px rgba(15,27,66,.18);
	cursor:pointer;
}
.jch-shelby-pitwall__avatar{
	display:block;
	width:42px;
	height:42px;
	overflow:hidden;
	border-radius:50%;
	border:2px solid var(--jch-accent);
}
.jch-shelby-pitwall__avatar img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.jch-shelby-pitwall__label{
	font-size:9px;
	font-weight:950;
	letter-spacing:.13em;
}
.jch-shelby-pitwall__panel{
	position:absolute;
	left:0;
	bottom:58px;
	width:min(310px,calc(100vw - 28px));
	overflow:hidden;
	border-radius:16px;
	background:#fff;
	border:1px solid rgba(36,43,88,.15);
	box-shadow:0 18px 50px rgba(15,27,66,.23);
}
.jch-shelby-pitwall__panel[hidden]{display:none}
.jch-shelby-pitwall__panel header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:11px 12px;
	background:var(--jch-signal);
	color:#fff;
}
.jch-shelby-pitwall__panel header strong{
	display:block;
	font-size:15px;
}
.jch-shelby-pitwall__panel header span{
	display:block;
	margin-top:1px;
	font-size:9px;
	opacity:.8;
}
.jch-shelby-pitwall__close{
	border:0;
	background:transparent;
	color:#fff;
	font-size:24px;
	line-height:1;
	cursor:pointer;
}
.jch-shelby-pitwall__body{
	padding:11px 12px 12px;
}
.jch-shelby-pitwall__body>p{
	margin:0 0 8px;
	font-size:12px;
	line-height:1.4;
}
.jch-shelby-pitwall__body nav{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:6px;
}
.jch-shelby-pitwall__body nav a{
	padding:7px 8px;
	border-radius:9px;
	background:#f3f6fb;
	color:var(--jch-signal);
	font-size:10px;
	font-weight:800;
	text-decoration:none;
}
.jch-shelby-pitwall__body nav a:last-child{
	grid-column:1/-1;
	background:#f2f7d9;
}

/* Responsive */
@media(max-width:1050px){
	.jch-shelby-gallery{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:820px){
	.jch-shelby-home__grid{grid-template-columns:1fr;}
	.jch-shelby-home__card{grid-template-columns:100px 1fr;min-height:100px;}
	.jch-shelby-home__card img{width:100px;min-height:100px;}
	.jch-shelby-hero__grid{grid-template-columns:1fr 230px;gap:18px;}
	.jch-shelby-cv__grid{grid-template-columns:1fr 1fr;}
	.jch-shelby-gallery{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:620px){
	.jch-shelby-cameo__inner{grid-template-columns:90px 1fr;gap:10px;}
	.jch-shelby-cameo__media{height:82px;}
	.jch-shelby-cameo__copy h2{font-size:18px;}
	.jch-shelby-cameo__copy p{font-size:12px;}
	.jch-shelby-hero__grid{grid-template-columns:1fr;}
	.jch-shelby-hero figure{max-width:330px;}
	.jch-shelby-hero__img{height:220px;}
	.jch-shelby-cv__grid{grid-template-columns:1fr;}
	.jch-shelby-manifesto__inner{grid-template-columns:1fr 120px;gap:12px;}
	.jch-shelby-manifesto__img{width:120px;height:110px;}
	.jch-shelby-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
	.jch-shelby-final__inner{grid-template-columns:110px 1fr;gap:12px;}
	.jch-shelby-final__img{width:110px;height:110px;}
	.jch-shelby-pitwall{left:8px;bottom:8px;}
	.jch-shelby-pitwall__launcher{padding-right:6px;}
	.jch-shelby-pitwall__label{display:none;}
	.jch-shelby-pitwall__avatar{width:44px;height:44px;}
}


/* =========================================================
   JCH RACING v1.0.12 — SPONSORS / SEO
   Landing page partenaire : contenu riche, compact, mobile.
   ========================================================= */
.jch-sponsor-hero{
	background:
		radial-gradient(circle at 82% 25%,rgba(181,205,14,.16),transparent 30%),
		linear-gradient(120deg,#f7fbff,#eef5ff);
}
.jch-sponsor-hero__grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) 290px;
	gap:28px;
	align-items:center;
}
.jch-sponsor-hero__grid>div:first-child{
	max-width:820px;
}
.jch-sponsor-hero__numbers{
	display:grid;
	grid-template-columns:1fr 1fr;
	align-items:end;
	padding:16px 18px;
	border:1px solid rgba(36,43,88,.12);
	border-radius:18px;
	background:rgba(255,255,255,.86);
	box-shadow:0 12px 30px rgba(36,43,88,.07);
}
.jch-sponsor-hero__numbers span,
.jch-sponsor-hero__numbers b{
	font-size:clamp(38px,4vw,62px);
	line-height:.9;
	color:var(--jch-signal);
}
.jch-sponsor-hero__numbers b{
	color:var(--jch-accent);
	text-align:right;
}
.jch-sponsor-hero__numbers small{
	grid-column:1/-1;
	margin-top:10px;
	font-size:8px;
	font-weight:900;
	letter-spacing:.12em;
	color:#5a6680;
}
.jch-sponsor-benefits{
	grid-template-columns:repeat(4,minmax(0,1fr));
}
.jch-sponsor-benefits>div{
	position:relative;
}
.jch-sponsor-benefits h3{
	margin-top:2px!important;
}
.jch-sponsor-programs{
	background:#f4f8ff;
	border-top:1px solid rgba(36,43,88,.08);
	border-bottom:1px solid rgba(36,43,88,.08);
}
.jch-sponsor-programs__grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}
.jch-sponsor-programs__grid article{
	display:grid;
	grid-template-columns:90px 1fr;
	gap:14px;
	align-items:center;
	padding:14px;
	border:1px solid rgba(36,43,88,.11);
	border-radius:16px;
	background:#fff;
}
.jch-sponsor-programs__grid article>span{
	font-size:38px;
	font-weight:950;
	color:var(--jch-signal);
}
.jch-sponsor-programs__grid article:nth-child(2)>span{
	color:var(--jch-accent);
}
.jch-sponsor-programs__grid h3{
	margin:1px 0 4px!important;
}
.jch-sponsor-programs__grid p:last-child{
	margin:0!important;
}
.jch-sponsor-reach{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:9px;
}
.jch-sponsor-reach a{
	display:block;
	padding:13px 14px;
	border:1px solid rgba(36,43,88,.12);
	border-radius:14px;
	background:#fff;
	color:var(--jch-signal);
	text-decoration:none;
	transition:transform .18s ease,box-shadow .18s ease;
}
.jch-sponsor-reach a:hover{
	transform:translateY(-2px);
	box-shadow:0 10px 24px rgba(36,43,88,.08);
}
.jch-sponsor-reach strong{
	display:block;
	font-size:14px;
}
.jch-sponsor-reach span{
	display:block;
	margin-top:4px;
	font-size:12px;
	line-height:1.35;
	color:#56637b;
}
.jch-sponsor-formats{
	background:var(--jch-signal);
	color:#fff;
}
.jch-sponsor-formats .jch-eyebrow{
	color:var(--jch-accent);
}
.jch-sponsor-formats h2{
	color:#fff;
}
.jch-sponsor-formats__grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);
	gap:28px;
	align-items:start;
}
.jch-sponsor-formats__grid>div>p:last-child{
	margin-bottom:0!important;
}
.jch-sponsor-formats ul{
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	gap:6px;
}
.jch-sponsor-formats li{
	padding:9px 11px;
	border:1px solid rgba(255,255,255,.16);
	border-radius:11px;
	background:rgba(255,255,255,.06);
}
.jch-sponsor-formats li strong,
.jch-sponsor-formats li span{
	display:block;
}
.jch-sponsor-formats li strong{
	font-size:12px;
	color:#fff;
}
.jch-sponsor-formats li span{
	margin-top:2px;
	font-size:11px;
	line-height:1.35;
	color:rgba(255,255,255,.78);
}
.jch-sponsor-contact__links{
	display:flex;
	flex-wrap:wrap;
	gap:8px 16px;
	margin-top:10px;
}
.jch-sponsor-contact__links a{
	font-size:10px;
	font-weight:900;
	letter-spacing:.07em;
	text-transform:uppercase;
	color:var(--jch-signal);
}
@media(max-width:900px){
	.jch-sponsor-hero__grid{grid-template-columns:1fr 220px;gap:18px;}
	.jch-sponsor-benefits{grid-template-columns:1fr 1fr;}
	.jch-sponsor-formats__grid{grid-template-columns:1fr;gap:16px;}
}
@media(max-width:680px){
	.jch-sponsor-hero__grid{grid-template-columns:1fr;}
	.jch-sponsor-hero__numbers{max-width:330px;}
	.jch-sponsor-benefits,
	.jch-sponsor-programs__grid,
	.jch-sponsor-reach{grid-template-columns:1fr;}
	.jch-sponsor-programs__grid article{grid-template-columns:72px 1fr;}
	.jch-sponsor-programs__grid article>span{font-size:32px;}
}



/* JCH RACING 1.0.16 — Newsletter Brevo HTML directe, compacte */
.jch-section--newsletter{
	padding:18px 0;
	background:linear-gradient(120deg,#f5f9ff 0%,#edf6ff 62%,#f7fbe7 100%);
	border-top:1px solid rgba(36,43,88,.08);
	border-bottom:1px solid rgba(36,43,88,.08);
}
.jch-newsletter{
	display:grid;
	grid-template-columns:minmax(220px,330px) minmax(0,680px);
	justify-content:center;
	align-items:center;
	gap:34px;
}
.jch-newsletter__copy{
	max-width:330px;
}
.jch-newsletter__copy .jch-eyebrow{
	margin:0 0 5px;
	font-size:9px;
	letter-spacing:.16em;
}
.jch-newsletter__copy h2{
	margin:0 0 7px;
	font-size:30px;
	line-height:1;
	color:var(--jch-signal);
}
.jch-newsletter__copy>p:last-child{
	margin:0;
	font-size:13px;
	line-height:1.4;
	color:#4d5870;
}

.jch-newsletter__form-wrap{
	min-width:0;
}
.jch-brevo__container{
	padding:16px 18px 14px;
	background:#fff;
	border:1px solid var(--jch-accent);
	border-radius:14px;
	box-shadow:0 8px 22px rgba(36,43,88,.06);
}
.jch-brevo__row{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:10px;
	align-items:end;
}
.jch-brevo__label{
	display:block;
	margin:0 0 5px;
	font-size:11px;
	font-weight:800;
	line-height:1.2;
	color:var(--jch-signal);
}
.jch-brevo .entry__field{
	margin:0!important;
	padding:0!important;
	background:transparent!important;
	border:0!important;
}
.jch-brevo .entry__field input{
	box-sizing:border-box;
	width:100%;
	height:42px;
	margin:0;
	padding:0 12px;
	border:1px solid #b9c6d8;
	border-radius:5px;
	background:#fff;
	color:#1f294f;
	font:500 14px/1.2 Arial,Helvetica,sans-serif;
	outline:none;
}
.jch-brevo .entry__field input:focus{
	border-color:var(--jch-signal);
	box-shadow:0 0 0 3px rgba(36,43,88,.08);
}
.jch-brevo__button{
	min-width:138px!important;
	height:42px!important;
	margin:0!important;
	padding:0 16px!important;
	border:0!important;
	border-radius:5px!important;
	background:var(--jch-signal)!important;
	color:var(--jch-accent)!important;
	font:900 12px/42px Arial,Helvetica,sans-serif!important;
	letter-spacing:.02em!important;
	text-align:center!important;
	white-space:nowrap;
	cursor:pointer;
}
.jch-brevo__button:hover{
	transform:translateY(-1px);
}
.jch-brevo__optin{
	margin:9px 0 0;
}
.jch-brevo__consent{
	display:flex!important;
	align-items:flex-start;
	gap:7px;
	margin:0!important;
	font-size:10px!important;
	line-height:1.35!important;
	color:#47536a!important;
	cursor:pointer;
}
.jch-brevo__consent p{
	margin:0!important;
}
.jch-brevo__consent .checkbox{
	flex:0 0 auto;
	margin-top:1px!important;
}
.jch-brevo__meta{
	display:flex;
	flex-wrap:wrap;
	gap:4px 12px;
	margin-top:6px;
	font-size:9px;
	line-height:1.3;
	color:#7a869a;
}
.jch-brevo__meta a{
	color:var(--jch-signal);
	font-weight:800;
	text-decoration:underline;
}
.jch-brevo .entry__error{
	margin:4px 0 0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	color:#9b1c1c!important;
	font-size:10px!important;
	line-height:1.25!important;
}
.jch-brevo__message{
	box-sizing:border-box;
	max-width:none!important;
	margin:0 0 8px!important;
	padding:8px 10px!important;
	border-radius:8px!important;
	font-size:11px!important;
	line-height:1.35!important;
}
.jch-brevo__message--success{
	color:#085229!important;
	background:#e7faf0!important;
	border:1px solid #13ce66!important;
}
.jch-brevo__message--error{
	color:#661d1d!important;
	background:#ffeded!important;
	border:1px solid #ff4949!important;
}

/* Brevo injecte quelques styles génériques : neutralisation uniquement dans ce bloc. */
.jch-brevo .sib-form-block,
.jch-brevo .sib-input,
.jch-brevo .sib-optin{
	padding:0!important;
}
.jch-brevo .form__entry{
	margin:0!important;
}
.jch-brevo .sib-form-block__button-with-loader{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
}
.jch-brevo .progress-indicator__icon{
	width:14px!important;
	height:14px!important;
	margin-right:6px!important;
}
body.home .grecaptcha-badge{
	bottom:76px!important;
	z-index:50!important;
}

@media(max-width:820px){
	.jch-section--newsletter{
		padding:16px 0;
	}
	.jch-newsletter{
		grid-template-columns:1fr;
		gap:12px;
	}
	.jch-newsletter__copy{
		max-width:none;
	}
	.jch-newsletter__copy h2{
		font-size:28px;
	}
}

@media(max-width:560px){
	.jch-section--newsletter{
		padding:13px 0;
	}
	.jch-newsletter{
		gap:10px;
	}
	.jch-newsletter__copy h2{
		font-size:25px;
	}
	.jch-brevo__container{
		padding:13px;
	}
	.jch-brevo__row{
		grid-template-columns:1fr;
		gap:8px;
	}
	.jch-brevo__button{
		width:100%!important;
	}
	body.home .grecaptcha-badge{
		transform:scale(.82);
		transform-origin:right bottom;
	}
}


/* JCH RACING 1.0.17 — reCAPTCHA discret, sans badge flottant */
.jch-newsletter{
	grid-template-columns:minmax(220px,330px) minmax(0,680px) minmax(125px,165px);
	gap:24px;
}
.jch-newsletter__recaptcha{
	align-self:center;
	justify-self:start;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:2px 5px;
	max-width:155px;
	color:#7c8798;
	font-size:8px;
	line-height:1.35;
}
.jch-newsletter__recaptcha>span:first-child{
	flex-basis:100%;
	color:#667188;
	font-weight:800;
	font-size:9px;
}
.jch-newsletter__recaptcha a{
	color:#667188;
	text-decoration:underline;
	text-underline-offset:2px;
}
.jch-newsletter__recaptcha a:hover{
	color:var(--jch-signal);
}

/* Google autorise la dissimulation du badge si le branding reCAPTCHA reste visible dans le flux utilisateur. */
.grecaptcha-badge{
	visibility:hidden !important;
}

@media(max-width:1050px){
	.jch-newsletter{
		grid-template-columns:minmax(220px,300px) minmax(0,620px);
	}
	.jch-newsletter__recaptcha{
		grid-column:2;
		max-width:none;
		margin-top:-12px;
	}
	.jch-newsletter__recaptcha>span:first-child{
		flex-basis:auto;
	}
}

@media(max-width:820px){
	.jch-newsletter{
		grid-template-columns:1fr;
	}
	.jch-newsletter__recaptcha{
		grid-column:1;
		margin-top:-6px;
	}
}


/* =========================================================
   JCH RACING 1.0.18 — HOME VISUAL REFRESH
   Retours utilisateurs : header plus lisible, logo renforcé,
   hero plus compact, Shelby à droite, préférences non flottantes.
   ========================================================= */

/* Le gestionnaire de préférences reste disponible dans le footer.
   Suppression uniquement du bouton flottant permanent injecté
   par JCH RACING — Conformité & Cookies. */
#jch-consent-manage,
.jch-consent-manage{
	display:none !important;
}

/* Shelby : même logique de placement que la référence SERVIPRA. */
.jch-shelby-pitwall{
	left:auto !important;
	right:18px !important;
	bottom:18px !important;
}
.jch-shelby-pitwall__panel{
	left:auto !important;
	right:0 !important;
	transform-origin:bottom right;
}

/* Header desktop : le logo et la navigation redeviennent des éléments forts. */
@media(min-width:1101px){
	.jch-header__inner{
		width:min(1420px,calc(100vw - 44px)) !important;
		height:82px !important;
		gap:24px !important;
	}
	.jch-logo-default img,
	.jch-brand .custom-logo,
	.jch-brand .custom-logo-link img{
		display:block;
		width:auto !important;
		height:60px !important;
		max-height:60px !important;
		max-width:235px !important;
		object-fit:contain;
	}
	.jch-menu{
		gap:19px !important;
	}
	.jch-menu a{
		font-size:12px !important;
		font-weight:900 !important;
		letter-spacing:.075em !important;
	}
	.jch-header-cta{
		padding:11px 17px !important;
		font-size:10px !important;
		letter-spacing:.085em !important;
	}
}

/* Accueil : hero raccourci et message éditorial horizontal. */
.home .jch-hero{
	min-height:380px !important;
	height:min(44svh,430px) !important;
	max-height:430px !important;
}
.home .jch-hero__content{
	padding-top:96px !important;
	padding-bottom:24px !important;
}
.home .jch-kicker{
	margin:0 0 9px !important;
	font-size:9px !important;
}
.home .jch-hero__chapterline{
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:8px 20px;
	max-width:1050px;
	margin:0 0 14px;
}
.home .jch-hero__chapterline h1,
.home .jch-hero h1{
	flex:0 0 auto;
	max-width:none !important;
	margin:0 !important;
	font-size:clamp(38px,3.9vw,58px) !important;
	line-height:.9 !important;
	letter-spacing:-.035em !important;
	white-space:nowrap;
}
.home .jch-hero__chapterline h1 span{
	color:var(--jch-accent);
}
.home .jch-hero__lead{
	flex:1 1 430px;
	max-width:650px !important;
	margin:0 !important;
	font-size:clamp(16px,1.25vw,20px) !important;
	line-height:1.25 !important;
	font-weight:800;
}
.home .jch-actions{
	margin-top:0 !important;
	gap:8px !important;
}
.home .jch-btn{
	padding:9px 15px !important;
	font-size:9px !important;
}

/* Le gros décor chiffré du hero reste en arrière-plan mais plus discret. */
.home .jch-hero__numbers{
	opacity:.56;
}

/* Tablette / mobile : retour à une composition verticale lisible. */
@media(max-width:1100px){
	.jch-logo-default img,
	.jch-brand .custom-logo,
	.jch-brand .custom-logo-link img{
		height:50px !important;
		max-height:50px !important;
		max-width:190px !important;
	}
}
@media(max-width:760px){
	.home .jch-hero{
		min-height:360px !important;
		height:auto !important;
		max-height:none !important;
	}
	.home .jch-hero__content{
		padding-top:92px !important;
		padding-bottom:22px !important;
	}
	.home .jch-hero__chapterline{
		display:block;
		margin-bottom:13px;
	}
	.home .jch-hero__chapterline h1,
	.home .jch-hero h1{
		font-size:clamp(38px,12vw,56px) !important;
		white-space:normal;
	}
	.home .jch-hero__lead{
		margin-top:8px !important;
		font-size:16px !important;
	}
	.jch-shelby-pitwall{
		left:auto !important;
		right:8px !important;
		bottom:8px !important;
	}
	.jch-shelby-pitwall__panel{
		left:auto !important;
		right:0 !important;
	}
}

/* =========================================================
   JCH RACING 1.0.19 — WOOCOMMERCE PRO COMPACT
   Fiche produit + boutique : dense, lisible, sans sidebar.
   ========================================================= */

.jch-woocommerce{
	min-height:70vh;
	background:
		radial-gradient(circle at 90% 8%,rgba(119,168,255,.12),transparent 27%),
		linear-gradient(180deg,#fff 0%,#f7fbff 48%,#eef7ff 100%);
	color:var(--jch-text);
}

.jch-wc-shell{
	padding-top:108px;
	padding-bottom:34px;
}

.jch-woocommerce .woocommerce-products-header{
	margin:0 0 18px;
}

.jch-woocommerce .woocommerce-products-header__title.page-title{
	margin:0 0 10px;
	color:var(--jch-signal);
	font-size:clamp(34px,4vw,52px);
	line-height:1;
	letter-spacing:-.035em;
}

.jch-woocommerce .woocommerce-notices-wrapper:empty{
	display:none;
}

/* Le thème JCH n'utilise pas de sidebar WooCommerce. */
.jch-woocommerce + .widget-area,
.woocommerce-page #secondary,
.woocommerce-page .widget-area,
.woocommerce-page .sidebar{
	display:none!important;
}

/* ---------- FICHE PRODUIT ---------- */
.single-product .jch-wc-shell{
	width:min(1220px,calc(100vw - 44px));
}

.single-product .jch-woocommerce div.product{
	display:grid!important;
	grid-template-columns:minmax(300px,440px) minmax(0,1fr);
	column-gap:42px;
	row-gap:18px;
	align-items:start;
	margin:0!important;
}

.single-product .jch-woocommerce div.product::before,
.single-product .jch-woocommerce div.product::after{
	display:none!important;
	content:none!important;
}

.single-product .jch-woocommerce div.product div.images{
	float:none!important;
	grid-column:1;
	grid-row:1;
	width:100%!important;
	max-width:440px;
	margin:0!important;
}

.single-product .jch-woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
	margin:0!important;
	border:1px solid rgba(36,43,88,.10);
	border-radius:16px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 10px 28px rgba(36,43,88,.06);
}

.single-product .jch-woocommerce div.product div.images .woocommerce-product-gallery__image{
	background:#fff;
}

.single-product .jch-woocommerce div.product div.images .woocommerce-product-gallery__image a{
	display:block;
}

.single-product .jch-woocommerce div.product div.images .woocommerce-product-gallery__image img{
	display:block;
	width:100%!important;
	height:auto!important;
	max-height:500px;
	object-fit:contain;
	margin:0 auto;
}

.single-product .jch-woocommerce .woocommerce-product-gallery__trigger{
	top:12px!important;
	right:12px!important;
	width:38px!important;
	height:38px!important;
	border-radius:50%!important;
	background:#fff!important;
	box-shadow:0 6px 18px rgba(36,43,88,.12);
}

.single-product .jch-woocommerce .flex-control-thumbs{
	display:grid!important;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:8px;
	margin:10px 0 0!important;
	padding:0!important;
}

.single-product .jch-woocommerce .flex-control-thumbs li{
	float:none!important;
	width:auto!important;
	margin:0!important;
	border:1px solid rgba(36,43,88,.10);
	border-radius:10px;
	overflow:hidden;
	background:#fff;
}

.single-product .jch-woocommerce .flex-control-thumbs img{
	width:100%!important;
	aspect-ratio:1/1;
	object-fit:cover;
}

.single-product .jch-woocommerce div.product .summary{
	float:none!important;
	grid-column:2;
	grid-row:1;
	width:auto!important;
	margin:0!important;
	min-width:0;
	padding:4px 0 0;
}

.single-product .jch-woocommerce div.product .product_title{
	margin:0 0 12px;
	color:var(--jch-signal);
	font-size:clamp(30px,3.1vw,44px);
	line-height:1.04;
	letter-spacing:-.035em;
}

.single-product .jch-woocommerce div.product p.price,
.single-product .jch-woocommerce div.product span.price{
	margin:0 0 14px;
	color:#7f9300;
	font-size:24px;
	font-weight:850;
}

.single-product .jch-woocommerce .woocommerce-product-details__short-description{
	margin:0 0 14px;
	font-size:15px;
	line-height:1.45;
	color:#263552;
}

.single-product .jch-woocommerce .woocommerce-product-details__short-description p{
	margin:0 0 7px;
}

.single-product .jch-woocommerce form.cart{
	margin:12px 0 14px!important;
}

.single-product .jch-woocommerce table.variations{
	margin:0 0 9px!important;
}

.single-product .jch-woocommerce table.variations th,
.single-product .jch-woocommerce table.variations td{
	padding:4px 8px 4px 0!important;
	vertical-align:middle;
}

.single-product .jch-woocommerce table.variations label{
	color:var(--jch-signal);
	font-weight:850;
}

.single-product .jch-woocommerce table.variations select{
	min-height:38px;
	border:1px solid #9cacbf;
	border-radius:8px;
	background:#fff;
	color:#172342;
	padding:0 10px;
}

.single-product .jch-woocommerce .quantity .qty{
	min-height:40px;
	border:1px solid #9cacbf;
	border-radius:8px;
	background:#fff;
}

.single-product .jch-woocommerce .single_add_to_cart_button.button.alt{
	min-height:40px;
	padding:9px 18px!important;
	border-radius:999px!important;
	background:var(--jch-signal)!important;
	color:#fff!important;
	font-weight:900!important;
}

.single-product .jch-woocommerce .single_add_to_cart_button.button.alt:hover{
	background:var(--jch-accent)!important;
	color:#172342!important;
}

.single-product .jch-woocommerce .product_meta{
	margin:10px 0 0;
	padding-top:9px;
	border-top:1px solid rgba(36,43,88,.10);
	font-size:12px;
	line-height:1.45;
	color:#617088;
}

.single-product.jch-wc-hide-parent-sku .jch-woocommerce .product_meta .sku_wrapper{
	display:none!important;
}

.single-product .jch-woocommerce .product_meta a{
	color:var(--jch-signal);
	font-weight:800;
}

/* Description longue replacée à côté de la photo. */
.jch-product-long-description{
	margin-top:16px;
	padding-top:14px;
	border-top:1px solid rgba(36,43,88,.12);
}

.jch-product-long-description h2{
	margin:0 0 9px!important;
	color:var(--jch-signal);
	font-size:21px!important;
	line-height:1.1!important;
}

.jch-product-long-description__content{
	color:#273652;
	font-size:14px;
	line-height:1.48;
}

.jch-product-long-description__content p{
	margin:0 0 8px;
}

.jch-product-long-description__content ul,
.jch-product-long-description__content ol{
	margin:6px 0 9px 18px;
	padding:0;
}

.jch-product-long-description__content strong{
	color:#172342;
}

/* Les tabs restantes et les produits associés occupent la largeur utile,
   sans grand trou vertical sous la galerie. */
.single-product .jch-woocommerce div.product .woocommerce-tabs,
.single-product .jch-woocommerce div.product .related,
.single-product .jch-woocommerce div.product .upsells{
	grid-column:1/-1;
	width:100%!important;
	margin:6px 0 0!important;
}

.single-product .jch-woocommerce .woocommerce-tabs ul.tabs{
	margin:0 0 12px!important;
	padding:0!important;
	border-bottom:1px solid rgba(36,43,88,.12);
}

.single-product .jch-woocommerce .woocommerce-tabs ul.tabs::before{
	display:none!important;
}

.single-product .jch-woocommerce .woocommerce-tabs ul.tabs li{
	margin:0 5px 0 0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
}

.single-product .jch-woocommerce .woocommerce-tabs ul.tabs li::before,
.single-product .jch-woocommerce .woocommerce-tabs ul.tabs li::after{
	display:none!important;
}

.single-product .jch-woocommerce .woocommerce-tabs ul.tabs li a{
	padding:9px 11px!important;
	color:#53607a!important;
	font-size:12px;
	font-weight:850!important;
}

.single-product .jch-woocommerce .woocommerce-tabs ul.tabs li.active a{
	color:var(--jch-signal)!important;
	border-bottom:2px solid var(--jch-accent);
}

.single-product .jch-woocommerce .woocommerce-Tabs-panel{
	margin:0!important;
	padding:0!important;
	color:#273652;
	font-size:14px;
}

.single-product .jch-woocommerce .woocommerce-Tabs-panel h2{
	margin:0 0 9px!important;
	font-size:21px!important;
	color:var(--jch-signal);
}

.single-product .jch-woocommerce section.related>h2,
.single-product .jch-woocommerce section.upsells>h2{
	margin:14px 0 12px!important;
	color:var(--jch-signal);
	font-size:25px!important;
}

/* ---------- BOUTIQUE / ARCHIVES ---------- */
.post-type-archive-product .jch-wc-shell,
.tax-product_cat .jch-wc-shell,
.tax-product_tag .jch-wc-shell{
	width:min(1220px,calc(100vw - 44px));
}

.jch-woocommerce .woocommerce-result-count,
.jch-woocommerce .woocommerce-ordering{
	margin-bottom:14px!important;
	font-size:12px;
	color:#637087;
}

.jch-woocommerce .woocommerce-ordering select{
	min-height:38px;
	border:1px solid #aab7c8;
	border-radius:8px;
	background:#fff;
	color:#172342;
	padding:0 10px;
}

.jch-woocommerce ul.products{
	display:grid!important;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:16px;
	margin:0!important;
}

.jch-woocommerce ul.products::before,
.jch-woocommerce ul.products::after{
	display:none!important;
}

.jch-woocommerce ul.products li.product{
	float:none!important;
	width:auto!important;
	margin:0!important;
	padding:12px!important;
	border:1px solid rgba(36,43,88,.11);
	border-radius:14px;
	background:#fff;
	box-shadow:0 8px 22px rgba(36,43,88,.05);
}

.jch-woocommerce ul.products li.product a img{
	margin:0 0 10px!important;
	border-radius:10px;
	aspect-ratio:1/1;
	object-fit:contain;
	background:#fff;
}

.jch-woocommerce ul.products li.product .woocommerce-loop-product__title{
	padding:0!important;
	margin:0 0 6px!important;
	font-size:15px!important;
	line-height:1.25;
}

.jch-woocommerce ul.products li.product .price{
	margin:0 0 8px!important;
	font-size:15px!important;
	font-weight:850;
}

.jch-woocommerce ul.products li.product .button{
	margin-top:6px!important;
	padding:8px 12px!important;
	border-radius:999px!important;
	font-size:11px!important;
}

/* État boutique vide : propre, sans widgets WordPress parasites. */
.jch-woocommerce .woocommerce-info,
.jch-woocommerce .woocommerce-message,
.jch-woocommerce .woocommerce-error{
	margin:0 0 18px!important;
	padding:13px 16px 13px 42px!important;
	border-radius:12px;
	border-top:0!important;
	background:#fff;
	box-shadow:0 7px 18px rgba(36,43,88,.05);
	color:#34415c;
}

/* Responsive */
@media(max-width:980px){
	.single-product .jch-woocommerce div.product{
		grid-template-columns:minmax(260px,38%) minmax(0,1fr);
		column-gap:26px;
	}
	.jch-woocommerce ul.products{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

@media(max-width:760px){
	.jch-wc-shell{
		width:min(100% - 24px,680px)!important;
		padding-top:84px;
		padding-bottom:24px;
	}

	.single-product .jch-woocommerce div.product{
		display:block!important;
	}

	.single-product .jch-woocommerce div.product div.images{
		max-width:430px;
		margin:0 auto 18px!important;
	}

	.single-product .jch-woocommerce div.product div.images .woocommerce-product-gallery__image img{
		max-height:460px;
	}

	.single-product .jch-woocommerce div.product .summary{
		padding-top:0;
	}

	.single-product .jch-woocommerce div.product .product_title{
		font-size:30px;
	}

	.jch-product-long-description{
		margin-top:13px;
		padding-top:12px;
	}

	.jch-woocommerce ul.products{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:10px;
	}
}

@media(max-width:480px){
	.jch-woocommerce ul.products{
		grid-template-columns:1fr;
	}

	.single-product .jch-woocommerce .flex-control-thumbs{
		grid-template-columns:repeat(4,minmax(0,1fr));
	}

	.single-product .jch-woocommerce form.cart .button{
		width:auto;
	}

	.single-product .jch-woocommerce table.variations{
		width:100%;
	}
}

/* =========================================================
   JCH RACING 1.0.20 — PARTENAIRES / LOGOS OFFICIELS
   ========================================================= */
.jch-official-partners{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
	margin:26px 0 18px;
}

.jch-official-partner{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	min-height:285px;
	padding:22px 20px 18px;
	border:1px solid rgba(36,43,88,.12);
	border-radius:18px;
	background:#fff;
	box-shadow:0 12px 32px rgba(36,43,88,.06);
	text-align:center;
	transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.jch-official-partner:hover{
	transform:translateY(-3px);
	border-color:rgba(181,205,14,.65);
	box-shadow:0 16px 38px rgba(36,43,88,.10);
}

.jch-official-partner__logo{
	display:grid;
	place-items:center;
	width:100%;
	height:190px;
	padding:12px;
	border-radius:14px;
	background:#fff;
	overflow:hidden;
}

.jch-official-partner__logo img{
	display:block;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:165px;
	object-fit:contain;
	margin:0;
}

.jch-official-partner h3{
	margin:12px 0 3px;
	color:var(--jch-signal);
	font-size:20px;
	line-height:1.15;
}

.jch-official-partner p{
	margin:0;
	color:#68758c;
	font-size:12px;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
}

/* Évite que l'ancienne grille dynamique ajoute trop d'espace si des
   partenaires sont également créés depuis l'administration. */
.jch-sponsor-page .jch-partner-grid{
	margin:18px 0 0;
}

@media(max-width:820px){
	.jch-official-partners{
		grid-template-columns:1fr;
		gap:12px;
	}
	.jch-official-partner{
		min-height:auto;
	}
	.jch-official-partner__logo{
		height:160px;
	}
	.jch-official-partner__logo img{
		max-height:135px;
	}
}

/* =========================================================
   JCH RACING 1.0.21 — PARTENAIRES À L'HONNEUR
   ========================================================= */
.jch-partners-honor-page{
	background:
		radial-gradient(circle at 88% 7%,rgba(181,205,14,.10),transparent 24%),
		linear-gradient(180deg,#fff 0%,#f4f9ff 55%,#eef6ff 100%);
}

.jch-partners-honor-hero{
	padding-bottom:28px;
}

.jch-partners-honor-hero__grid{
	display:grid;
	grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
	gap:34px;
	align-items:center;
}

.jch-partners-honor-hero h1{
	max-width:900px;
	margin-bottom:12px;
}

.jch-partners-honor-hero p:not(.jch-eyebrow){
	max-width:800px;
	font-size:18px;
	line-height:1.5;
	color:#33415f;
}

.jch-partners-honor-hero__badge{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-height:150px;
	padding:24px;
	border:1px solid rgba(36,43,88,.10);
	border-radius:20px;
	background:#fff;
	box-shadow:0 14px 34px rgba(36,43,88,.08);
	text-align:center;
}

.jch-partners-honor-hero__badge strong{
	color:var(--jch-accent);
	font-size:clamp(38px,5vw,68px);
	line-height:.95;
	letter-spacing:-.04em;
}

.jch-partners-honor-hero__badge span{
	margin-top:10px;
	color:var(--jch-signal);
	font-weight:900;
	font-size:13px;
	text-transform:uppercase;
	letter-spacing:.08em;
}

.jch-partners-first{
	padding-top:28px;
}

.jch-official-partners--honor{
	margin-top:18px;
}

.jch-official-partner--honor{
	min-height:330px;
	padding-top:28px;
	border-width:2px;
	border-color:rgba(36,43,88,.09);
}

.jch-official-partner--honor .jch-official-partner__logo{
	height:215px;
}

.jch-official-partner--honor .jch-official-partner__logo img{
	max-height:185px;
}

.jch-official-partner--honor h3{
	font-size:23px;
}

.jch-partners-thanks{
	background:var(--jch-signal);
	color:#fff;
}

.jch-partners-thanks__grid{
	display:grid;
	grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
	gap:38px;
	align-items:center;
}

.jch-partners-thanks .jch-eyebrow{
	color:var(--jch-accent);
}

.jch-partners-thanks h2,
.jch-partners-thanks p{
	color:#fff;
}

.jch-partners-thanks p:not(.jch-eyebrow){
	max-width:760px;
	line-height:1.55;
}

.jch-partners-thanks__numbers{
	display:grid;
	grid-template-columns:auto auto;
	align-items:end;
	justify-content:center;
	gap:8px 14px;
	padding:24px;
	border:1px solid rgba(255,255,255,.16);
	border-radius:18px;
	background:rgba(255,255,255,.06);
}

.jch-partners-thanks__numbers span,
.jch-partners-thanks__numbers b{
	font-size:clamp(44px,5vw,74px);
	line-height:.9;
	letter-spacing:-.05em;
}

.jch-partners-thanks__numbers span{
	color:#fff;
}

.jch-partners-thanks__numbers b{
	color:var(--jch-accent);
}

.jch-partners-thanks__numbers small{
	grid-column:1/-1;
	color:#fff;
	font-size:10px;
	font-weight:900;
	letter-spacing:.12em;
	text-align:center;
}

.jch-partners-cta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:26px;
	padding-top:34px;
	padding-bottom:38px;
}

.jch-partners-cta h2{
	margin-bottom:6px;
}

.jch-partners-cta p:not(.jch-eyebrow){
	max-width:780px;
	margin-bottom:0;
}

.jch-partners-cta .jch-btn{
	flex:0 0 auto;
}

@media(max-width:900px){
	.jch-partners-honor-hero__grid,
	.jch-partners-thanks__grid{
		grid-template-columns:1fr;
	}
	.jch-partners-honor-hero__badge{
		min-height:120px;
	}
	.jch-partners-thanks__numbers{
		max-width:520px;
	}
}

@media(max-width:760px){
	.jch-partners-honor-hero p:not(.jch-eyebrow){
		font-size:16px;
	}
	.jch-official-partner--honor{
		min-height:auto;
	}
	.jch-official-partner--honor .jch-official-partner__logo{
		height:170px;
	}
	.jch-official-partner--honor .jch-official-partner__logo img{
		max-height:145px;
	}
	.jch-partners-cta{
		align-items:flex-start;
		flex-direction:column;
	}
}

