.concept-page main{background:#eee9df;color:#20372b}
.concept-hero{position:relative;isolation:isolate;min-height:560px;height:72svh;max-height:800px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.concept-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;z-index:-2}
.concept-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0e231ce6,transparent 85%),linear-gradient(90deg,#0e231c60,transparent);z-index:-1}
.concept-hero-copy{width:100%;padding:45px 5% 48px}
.concept-hero .eyebrow{font-size:12px;letter-spacing:.18em;color:#d7e5d6}
.concept-hero h1{font-size:clamp(78px,14.5vw,220px);line-height:.86;letter-spacing:-.065em;margin:28px 0 30px}
.concept-hero p{font-size:clamp(19px,2vw,28px);line-height:1.4;max-width:730px;margin:0}
.concept-manifesto{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;padding:65px 6%;align-items:center}
.concept-statement p{font-size:clamp(29px,3.4vw,49px);line-height:1.15;letter-spacing:-.045em;font-weight:700;margin:0}
.concept-intro-copy>p{font-size:18px;line-height:1.65;margin:0 0 25px}
.concept-ticket{background:#20372b;color:#fff;border-radius:0;min-width:220px}
.concept-chapter{display:grid;grid-template-columns:1fr 1fr}
.concept-chapter figure{margin:0;position:relative;min-height:630px;overflow:hidden}
.concept-chapter figure img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.concept-ride figure img{object-position:center 65%}
.concept-chapter-copy{padding:65px 11%;display:flex;flex-direction:column;justify-content:center}
.concept-chapter .eyebrow{font-size:11px;letter-spacing:.17em;margin-bottom:30px}
.concept-chapter h2{font-size:clamp(44px,5.2vw,79px);line-height:.98;letter-spacing:-.055em;margin:0 0 32px}
.concept-ride{background:#20372b;color:#fff}
.concept-ride h2 span{color:#bad1be}
.concept-chapter-lead p{font-size:clamp(20px,2vw,28px);line-height:1.4;letter-spacing:-.02em;margin:0 0 35px}
.concept-lines p{margin:0;padding:17px 0;border-top:1px solid #ffffff38;font-size:16px;line-height:1.5}
.concept-festival{background:#e68e82}
.concept-festival .concept-lines p{border-color:#20372b40}
.concept-festival figure img{object-position:53% center}
.concept-route-editorial{padding:65px 6% 60px;background:#eee9df}
.concept-route-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:35px}
.concept-route-title h2{font-size:clamp(42px,6vw,80px);letter-spacing:-.045em}
.concept-route-title p{font-size:14px;margin:0}
.concept-route-row{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;border-top:1px solid #20372b55;padding:30px 0;align-items:center}
.concept-route-row h3{font-size:clamp(40px,5.7vw,78px);letter-spacing:-.05em}
.concept-route-row ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px 25px;font-size:17px}
.concept-route-row li{padding:5px 0}
.concept-route-editorial .route-pending{border-top:1px solid #20372b55;padding-top:22px;margin:0;font-size:15px;font-weight:600}
.concept-practical{background:#20372b;color:#fff;display:grid;grid-template-columns:1fr 1.4fr;gap:40px;padding:40px 6%;align-items:center}
.concept-practical h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.03em;max-width:350px}
.concept-brochures{display:grid;gap:12px}
.concept-brochures .eyebrow{font-size:11px;letter-spacing:.12em}
.concept-brochures>div{display:flex;flex-wrap:wrap;gap:12px}
.concept-brochures button:disabled{border:1px solid #a5b4a7;background:transparent;color:#d7e1d7;cursor:default;font-size:13px;padding:12px 18px;min-height:46px}
.concept-brochures small{font-size:12px;color:#c4d2c7}
.concept-page .sponsors{background:#fff;color:#20372b}
.concept-page .newsletter{display:none}
@media(max-width:1000px){.concept-chapter-copy{padding:45px 8%}.concept-chapter figure{min-height:580px}.concept-manifesto{gap:6%;padding:45px 5%}.concept-route-row ul{display:grid;gap:4px}}
@media(max-width:700px){.concept-hero{height:70svh;min-height:490px;max-height:650px}.concept-hero-copy{padding:35px 6%}.concept-hero h1{font-size:16vw;margin:25px 0}.concept-hero p{font-size:21px}.concept-hero>img{object-position:60% center}.concept-manifesto{grid-template-columns:1fr;gap:25px;padding:38px 6%}.concept-statement p{font-size:32px}.concept-intro-copy>p{font-size:17px}.concept-chapter{grid-template-columns:1fr}.concept-chapter figure{min-height:0;height:360px}.concept-chapter-copy{padding:38px 6%}.concept-chapter h2{font-size:52px;margin-bottom:25px}.concept-chapter .eyebrow{margin-bottom:24px}.concept-chapter-lead p{font-size:23px;margin-bottom:25px}.concept-festival figure{height:320px}.concept-route-editorial{padding:38px 6%}.concept-route-title{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:25px}.concept-route-row{grid-template-columns:1fr;gap:15px;padding:24px 0}.concept-route-row h3{font-size:46px}.concept-route-row ul{font-size:16px}.concept-practical{grid-template-columns:1fr;gap:25px;padding:35px 6%}}
.concept-complete{padding:0 6% 36px;background:#eee9df;color:#20372b}
.concept-complete h2{display:flex;align-items:center;gap:22px;font-size:30px;letter-spacing:-.035em;padding-top:20px;margin:0 0 16px;border-top:1px solid #20372b40}
.concept-complete h2:after{content:'';display:block;width:44px;height:3px;background:#c97464}
.concept-complete ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,auto);grid-auto-flow:column;column-gap:48px}
.concept-complete li{position:relative;padding:12px 0 12px 21px;border-bottom:1px solid #20372b25;font-size:17px;line-height:1.45;letter-spacing:-.01em;text-wrap:pretty}
.concept-complete li:before{content:'';position:absolute;left:0;top:21px;width:5px;height:5px;border-radius:50%;background:#ad6152}
.concept-complete li strong{font-weight:700}
@media(max-width:700px){.concept-complete{padding:0 6% 28px}.concept-complete h2{font-size:27px;margin-bottom:10px}.concept-complete ul{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}.concept-complete li{font-size:16px;padding:11px 0 11px 19px}.concept-complete li:before{top:20px}}
