/* SMORTLER XC - mobile-first layout enhancements v6. Extends the existing v5 light theme. */
html{scroll-padding-top:82px}
.xc-course-first{padding-top:32px}
.xc-course-first .section-heading{margin-bottom:17px}
.xc-course-first .section-heading h2{font-size:clamp(30px,3.4vw,50px);margin-top:10px}
.xc-course-first .section-hint{max-width:330px}
.xc-map-solo{width:100%;min-width:0}
.xc-map-solo .map-card{width:100%;margin:0;max-width:none;border-radius:17px;box-shadow:0 22px 52px rgba(28,74,54,.12)}
.xc-map-solo .map-head{padding:12px 18px}
.xc-map-solo .map-viewport{width:100%;aspect-ratio:2188 / 1361;cursor:pointer;touch-action:pan-y}
.xc-map-solo .map-viewport.is-zoomed{cursor:grab;touch-action:none}
.xc-map-solo .map-viewport.is-dragging{cursor:grabbing}
.xc-map-solo .map-viewport:focus-visible{outline:4px solid #2d954e;outline-offset:-4px}
.xc-map-solo .map-route-raster{pointer-events:none}
.xc-map-solo .route-hit{cursor:pointer}
.xc-map-solo .course-marker{pointer-events:none}
.xc-map-tap-prompt{position:absolute;z-index:8;top:14px;left:14px;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.68);border-radius:999px;padding:8px 13px 8px 9px;color:#fff;background:rgba(12,34,30,.84);box-shadow:0 5px 22px rgba(0,0,0,.24);font-size:12px;font-weight:650;pointer-events:none;line-height:1.3}
.xc-prompt-icon{display:grid;place-items:center;border-radius:50%;width:24px;height:24px;background:#c6ff73;color:#193f2a;font-size:11px;box-shadow:0 0 0 3px rgba(194,255,115,.17)}
.xc-map-direct-actions{display:flex;align-items:center;gap:12px;margin-top:13px;flex-wrap:wrap;padding:12px;border-radius:14px;border:1px solid #dce9e0;background:linear-gradient(112deg,#f5fcf5,#fff,#f8f4ff);box-shadow:0 9px 30px rgba(28,71,54,.045)}
.xc-map-direct-controls{display:flex;gap:9px;flex:1 1 290px;min-width:0}
.xc-map-direct-controls .button--play{min-height:54px;margin:0;flex:1 1 auto;font-size:15px;letter-spacing:.005em;border-radius:10px;white-space:nowrap}
.xc-map-direct-controls #playIcon{font-size:17px}
.xc-map-direct-controls .button--outline{min-width:54px;min-height:54px;border-radius:10px}
.xc-map-direct-actions .xc-print-action{flex:0 1 auto;min-height:54px;padding-inline:20px;border-radius:10px;white-space:nowrap}
.xc-map-instruction{display:flex;align-items:center;gap:8px;margin:10px 0 0;color:#5f7780;font-size:12px;line-height:1.6}
.xc-map-instruction>span:first-child{color:#4d9d61;font-size:19px;flex:0 0 auto}.xc-map-instruction>span:last-child{flex:1 1 auto}
.xc-story-section{padding-top:54px;padding-bottom:65px;border-bottom:1px solid #e1ebe4}
.xc-story-section .hero-stat-cluster{justify-content:center}
.xc-story-section .hero h1{font-size:clamp(42px,5vw,78px)}
.xc-story-section .hero-description{max-width:750px}
.experience-section{padding-top:62px;padding-bottom:48px}
.xc-mile-section{padding-bottom:68px}
.xc-mile-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}
.xc-mile-heading h2{font-size:clamp(31px,3.2vw,46px);line-height:1.12;margin:12px 0 10px;color:#1d3540;letter-spacing:-.045em}
.xc-mile-heading h2 span{color:#409754}
.xc-mile-heading p:not(.overline){color:#607783;line-height:1.65;font-size:13px;margin:0;max-width:630px}
.xc-run-another{min-width:180px;min-height:48px;white-space:nowrap;box-shadow:0 8px 27px rgba(100,173,61,.13)}
.xc-mile-section .navigator{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:13px 22px;padding:24px;max-width:none;width:100%;border-radius:16px}
.xc-mile-section .navigator-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
.xc-mile-section .segment-list{grid-column:1;grid-row:2 / span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.xc-mile-section .segment-button{min-height:83px;padding:12px 13px}
.xc-mile-section .segment-detail{grid-column:2;grid-row:2;margin-top:0;min-height:190px}
.xc-mile-section .navigator-tip{grid-column:2;grid-row:3;margin:0;align-self:start}
.xc-mile-section .course-bottom-banner{margin-top:16px}
/* Header: retain the existing Choctaw brand + SMORTLER SI, replace inline navigation with compact popup. */
.site-header{z-index:50}
.header-inner--smortler{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:nowrap}
.header-inner--smortler .brand{flex:0 1 auto;min-width:0}
.header-inner--smortler .brand-icon{flex-shrink:0}
.header-inner--smortler .header-actions{min-width:0;width:auto;justify-content:flex-end;margin-left:auto}
.header-inner--smortler .smortler-logo--header{width:155px;max-width:100%}
.xc-hamburger{position:relative;flex:0 0 auto;z-index:70}
.xc-hamburger summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:45px;min-height:42px;padding:5px 7px;border-radius:9px;border:1px solid #dbe6df;background:#fff;color:#416c52;cursor:pointer;list-style:none;transition:background .18s,border-color .18s;user-select:none}
.xc-hamburger summary::-webkit-details-marker{display:none}
.xc-hamburger summary::marker{content:""}
.xc-hamburger summary:hover,.xc-hamburger[open] summary{background:#f0faef;border-color:#aed5b6}
.xc-hamburger summary:focus-visible{outline:3px solid #61a55f;outline-offset:3px}
.xc-hamburger-bars{width:19px;height:15px;display:flex;flex-direction:column;justify-content:space-between;align-items:center}
.xc-hamburger-bars i{display:block;width:100%;height:2px;border-radius:2px;background:#345a45;transition:transform .18s,opacity .18s}
.xc-hamburger[open] .xc-hamburger-bars i:first-child{transform:translateY(6.5px) rotate(45deg)}
.xc-hamburger[open] .xc-hamburger-bars i:nth-child(2){opacity:0}
.xc-hamburger[open] .xc-hamburger-bars i:last-child{transform:translateY(-6.5px) rotate(-45deg)}
.xc-menu-word{font-size:8px;letter-spacing:.1em;font-weight:900;color:#6c806e}
.xc-dropdown{position:absolute;right:0;top:calc(100% + 9px);display:flex;flex-direction:column;width:230px;max-width:min(85vw,280px);padding:8px;border:1px solid #dbe6df;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(28,51,40,.20);z-index:80}
.xc-dropdown a{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 13px;border-radius:8px;color:#254435;font-size:13px;font-weight:800;text-decoration:none}
.xc-dropdown a:hover,.xc-dropdown a:focus-visible{background:#eff8ee;color:#237339;outline:none}
.xc-menu-index{font-size:9px;font-weight:900;letter-spacing:.12em;color:#9762cd}
@media(max-width:1100px){
 .xc-story-section{grid-template-columns:minmax(0,1fr) 305px;gap:32px}
 .xc-map-solo .map-card{border-radius:14px}
}
@media(max-width:850px){
 .xc-story-section{grid-template-columns:1fr;gap:22px}
 .xc-story-section .hero-stat-cluster{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .xc-story-section .hero-brand-panel{align-self:stretch}
 .xc-mile-section .navigator{grid-template-columns:1fr 1fr;gap:15px}
 .xc-mile-section .segment-list{grid-template-columns:1fr 1fr}
 .xc-course-first .section-hint{display:none}
}
@media(max-width:680px){
 html{scroll-padding-top:68px}
 .container{width:calc(100% - 28px)}
 .header-inner--smortler{min-height:61px;gap:8px}
 .header-inner--smortler .brand-icon{width:35px;height:35px}
 .header-inner--smortler .brand strong{font-size:14px;letter-spacing:0}
 .header-inner--smortler .brand small{font-size:7px;letter-spacing:.085em;margin-top:3px}
 .header-inner--smortler .header-actions{display:flex !important;width:auto;min-width:0}
 .header-inner--smortler .smortler-logo--header{width:120px}
 .xc-hamburger summary{min-width:37px;min-height:38px;padding:5px}
 .xc-hamburger-bars{width:18px}
 .xc-menu-word{font-size:7px}
 .xc-course-first{padding-top:21px}
 .xc-course-first .section-heading{margin-bottom:12px}
 .xc-course-first .section-heading h2{font-size:clamp(28px,7.5vw,37px);line-height:1.16;margin-top:10px}
 .xc-course-first .overline{font-size:9px;letter-spacing:.17em}
 .xc-map-solo .map-head{padding:9px 10px}
 .xc-map-tap-prompt{top:7px;left:7px;font-size:10px;gap:6px;padding:5px 9px 5px 5px}
 .xc-prompt-icon{width:19px;height:19px;font-size:9px}
 .xc-map-direct-actions{margin-top:10px;padding:10px;gap:9px}
 .xc-map-direct-controls{flex-basis:100%}
 .xc-map-direct-controls .button--play{min-height:53px;font-size:14px}
 .xc-map-direct-controls .button--outline{min-width:51px;min-height:53px}
 .xc-map-direct-actions .xc-print-action{flex:1 1 100%;min-height:44px;justify-content:center;white-space:normal;text-align:center}
 .xc-map-instruction{font-size:11px;margin-top:8px;align-items:flex-start}
 .xc-story-section{display:grid;grid-template-columns:1fr;padding-top:39px;padding-bottom:45px;gap:19px}
 .xc-story-section .hero h1{font-size:clamp(40px,9.5vw,57px)}
 .xc-story-section h1{font-size:clamp(40px,9.5vw,57px);margin:13px 0 14px}
 .xc-story-section .hero-description{font-size:13px;line-height:1.7;margin-bottom:0}
 .xc-story-section .hero-stat-cluster{grid-template-columns:1fr;gap:10px;margin:0}
 .xc-story-section .hero-stat{padding:14px 17px}
 .xc-story-section .hero-stat strong{font-size:60px}
 .xc-story-section .hero-brand-panel{padding:15px}
 .xc-story-section .smortler-logo--hero{width:240px}
 .experience-section{padding-top:47px;padding-bottom:43px}
 .experience-section .feature-grid{gap:10px}
 .experience-section .feature-card{min-height:0;padding:16px 17px}
 .experience-section .feature-card .feature-icon{width:43px;height:43px;margin-top:9px}
 .experience-section .feature-card h3{font-size:20px;margin:10px 0 7px}
 .experience-section .feature-card p{line-height:1.58;font-size:12px}
 .xc-mile-section{padding-bottom:46px}
 .xc-mile-heading{display:flex;flex-direction:column;align-items:stretch;gap:13px;margin-bottom:14px}
 .xc-mile-heading h2{font-size:30px}
 .xc-run-another{width:100%;min-height:47px}
 .xc-mile-section .navigator{display:flex;flex-direction:column;padding:17px;gap:0}
 .xc-mile-section .navigator-heading{display:flex;width:100%}
 .xc-mile-section .segment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
 .xc-mile-section .segment-button{min-height:67px;padding:9px}
 .xc-mile-section .segment-detail{min-height:0;margin-top:13px}
 .xc-mile-section .navigator-tip{margin-top:10px}
 .xc-mile-section .course-bottom-banner{margin-top:11px}
}
@media(max-width:390px){
 .header-inner--smortler .brand-icon{display:none}
 .header-inner--smortler .brand strong{font-size:13px}
 .header-inner--smortler .brand small{font-size:6.7px}
 .header-inner--smortler .smortler-logo--header{width:103px}
 .xc-map-solo .map-bottom-brand{gap:5px}
 .xc-map-tap-prompt{font-size:9px}
 .xc-mile-section .segment-button{min-height:63px}
}
@media(prefers-reduced-motion:reduce){.xc-hamburger-bars i{transition:none}}


/* v6.1 - responsive refinements for the user-adjusted order:
   Map > Mile-by-Mile > SMORTLER story > Course features > About.
   Desktop presentation, race animations, and printing remain unchanged. */
@media (min-width:681px) and (max-width:1150px){
  /* Do not squeeze the 5K stat and SI logo into the narrow right column. */
  .xc-story-section{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding-top:40px;padding-bottom:42px}
  .xc-story-section .hero-copy{min-width:0}
  .xc-story-section .hero-stat-cluster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch;min-width:0}
  .xc-story-section .hero-stat,.xc-story-section .hero-brand-panel{min-width:0;width:100%;height:100%;margin:0}
  .xc-story-section .hero-stat{display:flex;flex-direction:column;justify-content:center;min-height:196px}
  .xc-story-section .hero-stat strong{font-size:clamp(59px,8vw,84px)}
  .xc-story-section .hero-brand-panel{padding:18px}
  .xc-mile-section{padding-bottom:36px}
  .experience-section{padding-top:42px}
}
@media (max-width:680px){
  /* Give the mile navigator a clear start, then tighten the large gaps after it. */
  .xc-mile-section{padding-top:17px;padding-bottom:21px}
  .xc-story-section{padding-top:22px;padding-bottom:25px;gap:14px}
  .xc-story-section .overline{font-size:9px;letter-spacing:.14em}
  .xc-story-section h1{font-size:clamp(36px,10.2vw,47px);line-height:1.06;margin:10px 0 12px}
  .xc-story-section .hero-description{line-height:1.6}
  .xc-story-section .hero-stat-cluster{gap:9px}
  .xc-story-section .hero-stat{padding:13px 15px}
  .xc-story-section .hero-stat strong{font-size:56px}
  .xc-story-section .hero-brand-panel{padding:14px 15px}
  .xc-story-section .hero-brand-panel p{line-height:1.55}
  .xc-story-section .hero-brand-links{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:17px;row-gap:8px}
  .xc-story-section .hero-brand-links a{font-size:11px;margin-top:0}
  .experience-section{padding-top:26px}
  .xc-mile-section .segment-copy strong{font-size:12px}
  .xc-mile-section .segment-copy small{font-size:9px}
}
@media (max-width:350px){
  /* On the narrowest phones, four readable tap targets beat tiny two-column labels. */
  .xc-mile-section .segment-list{grid-template-columns:1fr;gap:7px}
  .xc-mile-section .segment-button{min-height:54px;padding:8px 12px}
  .xc-mile-section .segment-number{width:32px;flex-basis:32px}
  .xc-story-section h1{font-size:35px}
}


/* v6.2 - desktop breathing room (applies only to wide screens).
   Phone and tablet styling from v6.1 deliberately remain unchanged.
   The course image stays fully visible and correctly aligned with its overlays. */
@media (min-width: 1180px) {
  .xc-course-first {
    padding-top: 51px;
  }
  .xc-course-first .section-heading {
    width: min(100%, 1120px);
    margin: 0 auto 27px;
    align-items: end;
  }
  .xc-course-first .section-heading h2 {
    line-height: 1.14;
  }
  .xc-course-first .section-hint {
    max-width: 315px;
    line-height: 1.65;
  }

  /* A calmer, framed map - not stretched almost to the browser edges. */
  .xc-map-solo,
  .xc-map-direct-actions,
  .xc-map-instruction {
    width: min(100%, 1120px);
    margin-left: auto;
    margin-right: auto;
  }
  .xc-map-solo .map-card {
    border-radius: 19px;
    box-shadow: 0 22px 58px rgba(30, 72, 52, .115);
  }
  .xc-map-solo .map-head {
    padding: 16px 20px;
  }
  .xc-map-solo .map-bottom {
    padding: 15px 19px;
  }
  .xc-map-direct-actions {
    margin-top: 20px;
    padding: 17px;
    gap: 17px;
    border-radius: 16px;
  }
  .xc-map-direct-controls {
    gap: 12px;
    flex-basis: 390px;
  }
  .xc-map-direct-controls .button--play,
  .xc-map-direct-controls .button--outline,
  .xc-map-direct-actions .xc-print-action {
    min-height: 58px;
  }
  .xc-map-direct-controls .button--play {
    font-size: 16px;
  }
  .xc-map-direct-controls .button--outline {
    min-width: 58px;
  }
  .xc-map-direct-actions .xc-print-action {
    min-width: 235px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .xc-map-instruction {
    margin-top: 18px;
    line-height: 1.7;
    font-size: 12.5px;
  }

  /* A visible separation between the large course and the navigation below. */
  .xc-mile-section {
    margin-top: 59px;
    padding-top: 43px;
    padding-bottom: 88px;
    border-top: 1px solid #dceadf;
  }
  .xc-mile-heading,
  .xc-mile-section .navigator,
  .xc-mile-section .course-bottom-banner {
    width: min(100%, 1220px);
    margin-left: auto;
    margin-right: auto;
  }
  .xc-mile-heading {
    margin-bottom: 27px;
    align-items: center;
  }
  .xc-mile-heading h2 {
    line-height: 1.17;
    margin-top: 13px;
    margin-bottom: 12px;
  }
  /* The main Run button immediately beneath the map remains primary. */
  .xc-run-another {
    background: #f0f8ee;
    color: #2f7640;
    border: 1px solid #c0dec5;
    box-shadow: none;
    min-height: 46px;
    min-width: 170px;
    font-size: 12px;
  }
  .xc-run-another:hover {
    background: #e6f4e8;
    color: #245f34;
    border-color: #a6d1ad;
    box-shadow: 0 5px 14px rgba(31, 92, 53, .08);
  }
  .xc-mile-section .navigator {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 19px 36px;
    padding: 33px 35px;
    border-radius: 19px;
    box-shadow: 0 15px 42px rgba(38, 77, 61, .05);
  }
  .xc-mile-section .segment-list {
    gap: 14px;
  }
  .xc-mile-section .segment-button {
    min-height: 95px;
    padding: 17px 15px;
  }
  .xc-mile-section .segment-detail {
    padding: 23px;
    min-height: 210px;
  }
  .xc-mile-section .navigator-tip {
    margin-top: 7px;
    line-height: 1.6;
  }
  .xc-mile-section .course-bottom-banner {
    margin-top: 23px;
    padding: 18px 22px;
  }

  /* Separate the story and venue sections into clear chapters. */
  .xc-story-section {
    padding-top: 81px;
    padding-bottom: 85px;
    gap: 65px;
  }
  .experience-section {
    padding-top: 82px;
    padding-bottom: 85px;
  }
  .about-section {
    margin-top: 2px;
    margin-bottom: 82px;
  }
}


/* SMORTLER_CHOCTAW_UNIFIED_WIDTH_V092 - one desktop content column.
   The aerial map already uses 1120px; bring the mile navigator and
   lower editorial sections into alignment with it. All mobile/tablet
   behavior, map coordinates, printing and course animations are unchanged. */
@media (min-width: 1180px) {
  main > .container,
  .site-footer > .container {
    width: min(1120px, calc(100% - 76px));
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
  }
  .xc-mile-heading,
  .xc-mile-section .navigator,
  .xc-mile-section .course-bottom-banner {
    width: 100%;
    max-width: 100%;
  }
}
