/*
  CODEX PEAK RENDER CONTRACT
  Peak detail CSS is copied into hashed css/peak-assets output by scripts/prerender-peaks.js.
  If panel layout changes here, update all peak templates/runtime owners in config/render-contracts.json,
  then run npm run update:peak-rendering before reporting complete.
*/
      :root{
        --bg:#0a0a0a;
        --panel:#12121a;
        --card:#171a22;
        --ink:#ffffff;
        --muted:#a5b4c3;
        --field-label:#d7e1ed;
        --stroke:#ffffff33;
        --accent:var(--nh48-accent, #22c55e);
        --accent-strong:var(--nh48-accent, #22c55e);
        --lower-section-gap:24px;
        --lower-panel-padding:clamp(16px, 2vw, 24px);
        --lower-panel-radius:12px;
        --lower-panel-body-gap:16px;
      }
      body{
        margin:0;
        background:var(--bg);
        color:var(--ink);
        font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
        -webkit-font-smoothing:antialiased;
        text-rendering:optimizeLegibility;
      }
      h2,
      h3{
        line-height:1.25;
      }
      main > section{
        margin:0 0 var(--lower-section-gap);
        width:100%;
        max-width:100%;
        box-sizing:border-box;
      }
      main > section > .section-title{
        margin:0;
      }
      main a:not(.icon-btn):not(.primary-btn):not(.primary-link-btn):not(.peak-map-cta):not(.trail-branding):not(.outdoor-network-directions):not(.peak-section-panel__pill){
        color:var(--accent);
        text-decoration:underline;
        text-decoration-thickness:1px;
        text-underline-offset:3px;
        transition:color 0.2s ease, text-decoration-color 0.2s ease;
      }
      main a:not(.icon-btn):not(.primary-btn):not(.primary-link-btn):not(.peak-map-cta):not(.trail-branding):not(.outdoor-network-directions):not(.peak-section-panel__pill):hover{
        color:var(--accent);
        text-decoration-color:var(--accent);
      }
      main a:not(.icon-btn):not(.primary-btn):not(.primary-link-btn):not(.peak-map-cta):not(.trail-branding):not(.outdoor-network-directions):not(.peak-section-panel__pill):visited{
        color:var(--accent);
      }

      /* Navigation Menu - using shared nav from nav.html */
      .top-nav{
        background:var(--panel);
        border-bottom:1px solid var(--stroke);
        padding:12px 0;
        margin-bottom:16px;
      }
      .nav-container{
        max-width:1100px;
        margin:0 auto;
        padding:0 16px;
        display:flex;
        justify-content:space-between;
        align-items:center;
      }
      .nav-brand{
        display:flex;
        align-items:center;
        text-decoration:none;
      }
      .nav-brand img{
        height:40px;
        width:auto;
      }
      .sr-only{
        position:absolute;
        width:1px;
        height:1px;
        padding:0;
        margin:-1px;
        overflow:hidden;
        clip:rect(0,0,0,0);
        border:0;
        white-space:nowrap;
      }
      .nav-links{
        display:flex;
        gap:24px;
        align-items:center;
      }
      .nav-links a{
        color:var(--ink);
        text-decoration:none;
        font-size:0.95rem;
        transition:color 0.2s ease;
        white-space:nowrap;
      }
      .nav-links a:hover{
        color:var(--accent);
      }
      .nav-toggle{
        display:none;
        background:none;
        border:none;
        color:var(--ink);
        font-size:1.5rem;
        cursor:pointer;
        padding:4px;
      }
      @media(max-width:640px){
        .top-nav{ padding:10px 0; margin-bottom:12px; }
        .nav-container{ padding:0 12px; flex-wrap:wrap; }
        .nav-toggle{ display:block; }
        .nav-links{
          display:none;
          width:100%;
          flex-direction:column;
          gap:12px;
          margin-top:12px;
          padding-top:12px;
          border-top:1px solid var(--stroke);
          align-items:flex-start;
        }
        .nav-links.active{
          display:flex;
        }
        .nav-brand img{ height:32px; }
      }
      .wrap{
        max-width:900px;
        margin:0 auto;
        padding:16px;
      }
      @media(max-width:640px){
        .wrap{ padding:12px; }
      }
      .breadcrumb-nav{
        margin:0 0 12px 0;
        color:var(--muted);
        font-size:0.9rem;
      }
      .breadcrumb-nav ol{
        list-style:none;
        padding:0;
        margin:0;
        display:flex;
        flex-wrap:wrap;
        gap:6px;
        align-items:center;
      }
      .breadcrumb-nav li{
        display:flex;
        align-items:center;
        gap:6px;
      }
      .breadcrumb-nav li+li::before{
        content:'/';
        color:var(--muted);
        opacity:0.5;
      }
      .breadcrumb-nav a{
        color:var(--accent);
        font-weight:700;
        text-decoration:none;
      }
      .breadcrumb-nav a:hover{
        color:var(--accent-strong);
      }
      .peak-hero{
        position:relative;
        min-height:200px;
        padding:28px 24px 18px;
        border-radius:14px;
        color:#fff;
        background-size:cover;
        background-position:center;
        background-repeat:no-repeat;
        background-color:var(--panel);
        display:grid;
        grid-template-columns:minmax(0, 1fr) auto;
        gap:1rem;
        align-items:start;
        margin:12px 0 16px;
        overflow:hidden;
      }
      .peak-hero-content,
      .peak-tools{
        position:relative;
        z-index:1;
      }
      .peak-hero-content{
        display:flex;
        flex-direction:column;
        align-self:stretch;
      }
      .peak-hero::before{
        content:"";
        position:absolute;
        inset:0;
        border-radius:inherit;
        background:linear-gradient(to bottom, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.65));
      }
      .peak-hero-title{
        margin:0;
        font-size:2rem;
        text-shadow:0 4px 10px rgba(0,0,0,0.5);
      }
      .peak-hero-subtitle{
        margin:10px 0 0;
        color:#f5f8ff;
        font-size:1.02rem;
        line-height:1.45;
        text-shadow:0 2px 6px rgba(0,0,0,0.45);
      }
      .peak-hero-meta{
        display:flex;
        flex-wrap:wrap;
        gap:10px;
        font-size:0.95rem;
        color:#f5f8ff;
        text-shadow:0 2px 6px rgba(0,0,0,0.45);
        margin-top:auto;
        padding-bottom:4px;
      }
      .peak-tools{
        display:flex;
        flex-direction:column;
        align-self:stretch;
        justify-content:space-between;
        align-items:flex-end;
        gap:0.5rem;
      }
      .peak-tools .button-row{
        display:flex;
        align-items:flex-start;
        flex-wrap:wrap;
        justify-content:flex-end;
        gap:0.5rem;
      }
      .peak-tools-elevation{
        font-size:0.95rem;
        color:#f5f8ff;
        text-shadow:0 2px 6px rgba(0,0,0,0.45);
        font-weight:500;
        padding-bottom:4px;
      }
      .icon-btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        min-height:36px;
        padding:6px 12px;
        border-radius:10px;
        border:2px solid #ffffff;
        background:var(--card);
        color:var(--ink);
        cursor:pointer;
        font-size:0.85rem;
        text-transform:uppercase;
        letter-spacing:0.6px;
      }
      .peak-tools .icon-btn{
        width:44px;
        height:44px;
        min-width:44px;
        min-height:44px;
        flex:0 0 44px;
        padding:0;
        line-height:1;
        box-sizing:border-box;
      }
      .peak-tools .icon-btn svg,
      .peak-tools .icon-btn .iconify{
        width:20px;
        height:20px;
        flex:0 0 20px;
      }
      .icon-btn:hover{
        border-color:var(--accent);
        color:var(--accent);
      }
      .icon-btn .iconify{
        font-size:1.1rem;
      }
      .nh48-lang{
        display:flex;
        align-items:center;
        gap:6px;
        flex-wrap:wrap;
        margin:0;
      }
      .nh48-lang-menu{
        position:relative;
      }
      .nh48-lang-toggle{
        display:inline-flex;
        align-items:center;
        gap:7px;
        min-height:32px;
        padding:3px 8px;
        border-radius:9px;
        border:2px solid #ffffff;
        background:var(--card);
        color:var(--ink);
        cursor:pointer;
        font-size:0.78rem;
        text-transform:uppercase;
        letter-spacing:0.45px;
      }
      .nh48-lang-toggle .flag{
        font-size:16px;
      }
      .nh48-lang-toggle-text{
        white-space:nowrap;
      }
      .nh48-lang-caret{
        font-size:0.58rem;
        margin-left:2px;
        opacity:0.8;
      }
      .nh48-lang-options{
        position:absolute;
        right:0;
        top:calc(100% + 8px);
        background:var(--card);
        border:2px solid #ffffff;
        border-radius:12px;
        padding:8px;
        display:grid;
        grid-template-columns:repeat(4, minmax(0, 1fr));
        gap:6px;
        min-width:220px;
        box-shadow:0 12px 28px rgba(15, 23, 42, 0.35);
        opacity:0;
        pointer-events:none;
        transform:translateY(-6px);
        transition:opacity 0.15s ease, transform 0.15s ease;
        z-index:4;
      }
      .nh48-lang-menu.open .nh48-lang-options{
        opacity:1;
        pointer-events:auto;
        transform:translateY(0);
      }
      .units-control{
        display:flex;
        align-items:center;
        gap:8px;
        margin:0;
      }
      .units-control label{
        font-size:0.75rem;
        color:var(--muted);
        text-transform:uppercase;
        letter-spacing:0.8px;
      }
      .units-control select{
        background:var(--card);
        color:var(--ink);
        border:2px solid #ffffff;
        border-radius:10px;
        padding:6px 10px;
        font-size:0.85rem;
        appearance:none;
        -webkit-appearance:none;
        -moz-appearance:none;
        padding-right:34px;
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
        background-repeat:no-repeat;
        background-position:right 10px center;
        background-size:12px;
      }
      .nh48-lang-label{
        font-size:0.75rem;
        color:#ffffff;
        text-transform:uppercase;
        letter-spacing:0.8px;
        margin-right:4px;
      }
      .nh48-flag{
        width:34px;
        height:34px;
        border-radius:8px;
        border:2px solid #ffffff;
        background:var(--card);
        color:var(--ink);
        display:flex;
        align-items:center;
        justify-content:center;
        cursor:pointer;
        transition:border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
      }
      .nh48-flag .flag{
        font-size:18px;
        line-height:1;
      }
      .nh48-flag.active{
        border-color:var(--accent);
        box-shadow:0 0 0 2px rgba(34, 197, 94, 0.25);
      }
      .nh48-flag:focus-visible{
        outline:2px solid var(--accent);
        outline-offset:2px;
      }
      .seo-links{
        display:flex;
        flex-wrap:wrap;
        gap:6px;
        margin-bottom:16px;
      }
      .seo-links a{
        color:var(--accent);
        text-decoration:none;
        font-size:0.95rem;
      }
      .ml-3{
        margin-left:0.75rem;
      }
      .related-trails{
        margin:16px 0 20px;
        padding:12px 16px;
        background:var(--panel);
        border:1px solid var(--stroke);
        border-radius:10px;
      }
      .related-trails h2{
        margin:0 0 8px;
        font-size:1rem;
      }
      .related-trails ul{
        margin:0;
        padding-left:1.1rem;
        color:var(--ink);
        font-size:0.9rem;
      }
      .related-trails a{
        color:var(--accent);
        text-decoration:none;
      }
      h1{
        margin:0 0 16px;
        font-size:clamp(22px,4vw,30px);
        line-height:1.2;
      }
      @media(max-width:640px){
        h1{ margin:0 0 12px; font-size:clamp(18px,5vw,24px); }
      }
      @media(max-width:900px){
        .peak-hero{
          grid-template-columns:1fr;
        }
        .peak-tools,
        .peak-tools .button-row{
          align-items:flex-start;
          justify-content:flex-start;
        }
        .peak-tools{
          justify-content:flex-start;
        }
        .peak-hero-meta,
        .peak-tools-elevation{
          padding-bottom:0;
        }
      }
      .media{
        background:var(--card);
        border:1px solid var(--stroke);
        border-radius:12px;
        overflow:hidden;
        margin-bottom:16px;
        position:relative;
        aspect-ratio:4/3;
        min-height:clamp(240px, 60vw, 520px);
        max-height:min(65vh, 640px);
        box-sizing:border-box;
        box-shadow:0 18px 46px rgba(0,0,0,0.35);
        contain:layout paint;
        isolation:isolate;
      }
      .media-loading{
        position:absolute;
        inset:0;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:10px;
        background:rgba(10, 10, 10, 0.6);
        color:var(--accent);
        z-index:5;
      }
      .media-loading[hidden]{
        display:none;
      }
      .loading-spinner{
        width:22px;
        height:22px;
        border-radius:50%;
        border:3px solid rgba(34, 197, 94, 0.25);
        border-top-color:var(--accent);
        animation:spin 0.9s linear infinite;
      }
      .loading-text{
        font-size:0.9rem;
        color:var(--muted);
      }
      .carousel{
        position:relative;
        width:100%;
        height:100%;
        overflow:hidden;
      }
      .media .carousel,
      .media .dots,
      .media .ctrls,
      .media .timer{
        box-sizing:border-box;
        max-width:100%;
      }
      .slide{
        position:absolute;
        inset:0;
        opacity:0;
        pointer-events:none;
        z-index:0;
        transition:opacity .35s ease;
      }
      .slide.active{
        opacity:1;
        pointer-events:auto;
        z-index:1;
      }
      .slide figure{
        margin:0;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:6px;
        box-sizing:border-box;
        height:100%;
      }
      .slide figure img,
      .slide figure video{
        max-height:100%;
        width:100%;
        height:100%;
        object-fit:contain;
        object-position:center;
        display:block;
        border-radius:8px;
      }
      .dots{
        position:absolute;
        bottom:12px;
        left:12px;
        right:12px;
        width:auto;
        max-width:calc(100% - 24px);
        display:flex;
        gap:10px;
        padding:10px;
        background:rgba(10,10,10,0.55);
        border:1px solid rgba(255,255,255,0.18);
        border-radius:12px;
        overflow-x:auto;
        z-index:2;
      }
      .dot{
        position:relative;
        width:70px;
        height:46px;
        border-radius:10px;
        border:1px solid rgba(255,255,255,0.35);
        background-size:cover;
        background-position:center;
        background-repeat:no-repeat;
        background-color:#0f1118;
        cursor:pointer;
        opacity:0.8;
        transition:transform 0.2s ease, opacity 0.2s ease, border-color 0.2s ease;
        flex:0 0 auto;
        padding:0;
        appearance:none;
      }
      .dot.is-video::before{
        content:"";
        position:absolute;
        inset:0;
        border-radius:inherit;
        background:linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.44));
        pointer-events:none;
      }
      .dot.is-video::after{
        content:"";
        position:absolute;
        left:50%;
        top:50%;
        width:0;
        height:0;
        transform:translate(-38%, -50%);
        border-top:8px solid transparent;
        border-bottom:8px solid transparent;
        border-left:12px solid #fff;
        filter:drop-shadow(0 2px 6px rgba(0,0,0,0.65));
        pointer-events:none;
      }
      .dot:focus-visible{
        outline:2px solid var(--accent);
        outline-offset:2px;
      }
      .dot:hover{
        opacity:1;
        transform:translateY(-2px);
      }
      .dot.active{
        opacity:1;
        border-color:var(--accent);
        box-shadow:0 10px 24px rgba(0,0,0,0.35);
      }
      .video-figure{
        width:100%;
        height:100%;
      }
      .media.is-video-active .slide-video.active .video-figure{
        padding-bottom:clamp(82px, 11vw, 100px);
      }
      .video-shell{
        position:relative;
        width:100%;
        height:100%;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:8px;
        overflow:hidden;
        background:#05070c;
      }
      .video-poster-button{
        position:relative;
        width:100%;
        height:100%;
        border:0;
        border-radius:8px;
        background-color:#05070c;
        background-position:center;
        background-repeat:no-repeat;
        background-size:contain;
        color:#fff;
        cursor:pointer;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:0;
      }
      .video-poster-button::before{
        content:"";
        position:absolute;
        inset:0;
        background:linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.42));
      }
      .video-poster-button:focus-visible{
        outline:3px solid var(--accent);
        outline-offset:-6px;
      }
      .video-preview{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:contain;
        background:#05070c;
      }
      .video-play-button{
        position:relative;
        z-index:1;
        width:76px;
        height:76px;
        border-radius:50%;
        background:rgba(10,10,10,0.58);
        border:1px solid rgba(255,255,255,0.46);
        box-shadow:0 16px 40px rgba(0,0,0,0.42);
      }
      .video-play-button::after{
        content:"";
        position:absolute;
        left:31px;
        top:24px;
        width:0;
        height:0;
        border-top:14px solid transparent;
        border-bottom:14px solid transparent;
        border-left:21px solid #fff;
      }
      .video-poster-label{
        position:absolute;
        left:18px;
        bottom:18px;
        z-index:1;
        padding:6px 10px;
        border-radius:999px;
        background:rgba(10,10,10,0.66);
        border:1px solid rgba(255,255,255,0.2);
        color:#fff;
        font-size:0.78rem;
        font-weight:700;
        line-height:1;
      }
      .video-player{
        width:100%;
        height:100%;
        max-height:100%;
        display:block;
        background:#05070c;
      }
      .ctrls{
        position:absolute;
        inset:0;
        left:0;
        right:0;
        width:100%;
        max-width:100%;
        display:flex;
        justify-content:space-between;
        align-items:center;
        pointer-events:none;
        z-index:3;
      }
      .ctrls button{
        background:rgba(10,10,10,0.5);
        border:1px solid rgba(255,255,255,0.45);
        color:#ffffff;
        border-radius:50%;
        width:42px;
        height:42px;
        flex:0 0 42px;
        padding:0;
        margin:0 10px;
        cursor:pointer;
        pointer-events:auto;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:1.25rem;
        box-shadow:0 12px 28px rgba(0,0,0,0.35);
        transition:transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
      }
      .ctrls button:hover{
        background:rgba(10,10,10,0.7);
        border-color:var(--accent);
        transform:translateY(-1px);
      }
      .ctrls button:focus-visible{
        outline:2px solid var(--accent);
        outline-offset:2px;
      }
      .timer{
        position:absolute;
        top:8px;
        right:8px;
        display:flex;
        align-items:center;
        gap:8px;
        padding:6px 8px;
        background:rgba(0,0,0,0.35);
        border-radius:12px;
        z-index:4;
      }
      .timer[hidden],
      .media.is-video-active .timer{
        display:none !important;
      }
      .timer-visual{
        position:relative;
        width:56px;
        height:56px;
        display:flex;
        align-items:center;
        justify-content:center;
      }
      .timer svg{
        width:100%;
        height:100%;
        transform:rotate(-90deg);
      }
      .timer-ring{
        fill:none;
        stroke:var(--accent);
        stroke-width:4;
        stroke-linecap:round;
        transition:stroke-dashoffset 0.1s linear;
      }
      .timer-text{
        position:absolute;
        color:var(--accent);
        font-size:0.8rem;
        font-weight:600;
        pointer-events:none;
      }
      .timer-pause{
        background:rgba(255,255,255,0.15);
        color:var(--accent);
        border:1px solid rgba(255,255,255,0.25);
        border-radius:50%;
        width:32px;
        height:32px;
        display:flex;
        align-items:center;
        justify-content:center;
        font-weight:700;
        cursor:pointer;
        transition:background 0.2s ease, transform 0.2s ease;
      }
      .timer-pause:focus-visible{
        outline:2px solid var(--accent);
        outline-offset:2px;
      }
      .timer-pause:hover{
        background:rgba(255,255,255,0.25);
        transform:scale(1.02);
      }

      /* SHARED PANEL + ROW STYLE -------------------------------------------- */
      .meta-info-row{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
        margin-bottom:16px;
      }
      @media(max-width:800px){
        .meta-info-row{
          grid-template-columns:1fr;
        }
      }
      .metadata-panel{
        --metadata-font-scale:1;
        --metadata-label-col:minmax(128px, 220px);
        background:linear-gradient(160deg, rgba(15, 23, 35, 0.96), rgba(10, 16, 27, 0.94));
        border:1px solid rgba(61, 84, 124, 0.62);
        border-radius:12px;
        padding:16px;
        font-size:0.9rem;
        word-wrap:break-word;
        white-space:normal;
        width:100%;
        max-width:100%;
        box-sizing:border-box;
        box-shadow:0 12px 30px rgba(0,0,0,0.32);
      }
      main > .media,
      main > .metadata-panel,
      main > .seo-links{
        width:100%;
        max-width:100%;
        box-sizing:border-box;
        margin:0 0 16px;
      }
      main > .media[hidden],
      main > .metadata-panel[hidden],
      main > section[hidden]{
        margin-bottom:0;
      }
      .metadata-header{
        display:flex;
        justify-content:space-between;
        align-items:center;
        margin-bottom:12px;
        min-height:34px;
        gap:8px;
        width:100%;
      }
      .metadata-title{
        font-weight:600;
        color:var(--accent);
        font-size:0.85rem;
        text-transform:uppercase;
        letter-spacing:0.5px;
        flex:1 1 auto;
        min-width:0;
      }
      .meta-toggle{
        background:transparent;
        border:none;
        color:var(--muted);
        font-size:0.8rem;
        cursor:pointer;
        padding:0;
      }
      .metadata-primary,
      .metadata-extra{
        width:100%;
      }
      .metadata-extra{
        display:none;
        margin-top:4px;
      }
      .metadata-extra.open{
        display:block;
      }
      .metadata-row{
        display:grid;
        grid-template-columns:var(--metadata-label-col, minmax(128px, 220px)) minmax(0, 1fr);
        align-items:flex-start;
        gap:clamp(10px, 1.6vw, 18px);
        padding:11px 0;
        min-height:52px;
        border-bottom:1px dotted var(--stroke);
      }
      #generalInfoPanel .metadata-row,
      #photoMetadataPanel .metadata-row{
        padding:6px 0;
        min-height:0;
      }
      .metadata-row.is-multiline,
      .metadata-row.is-desc-accessibility{
        min-height:0;
      }
      .metadata-row:last-child,
      .metadata-primary > .metadata-row:last-child,
      .metadata-extra > .metadata-row:last-child{
        border-bottom:none;
      }
      .metadata-primary .metadata-row:last-of-type,
      .metadata-extra .metadata-row:last-of-type,
      .detail-panel .metadata-row:last-of-type,
      .metadata-row.is-last{
        border-bottom:none !important;
      }
      .metadata-label{
        font-weight:600;
        color:var(--field-label);
        font-size:calc(0.79rem * var(--metadata-font-scale, 1));
        text-transform:uppercase;
        letter-spacing:0.38px;
        max-width:none;
        overflow-wrap:break-word;
        word-break:normal;
      }
      .metadata-group-header{
        margin-top:10px;
        font-weight:700;
        color:#8ef2b9;
        font-size:0.8rem;
        text-transform:uppercase;
        letter-spacing:0.52px;
      }
      .metadata-group-subheader{
        margin-top:6px;
        font-weight:700;
        color:#d5e6ff;
        font-size:0.75rem;
        text-transform:uppercase;
        letter-spacing:0.42px;
      }
      .metadata-value{
        color:var(--ink);
        font-size:calc(0.9rem * var(--metadata-font-scale, 1));
        text-align:left;
        flex:1 1 auto;
        overflow-wrap:break-word;
        word-break:normal;
        line-height:1.55;
        padding-left:8px;
      }
      .metadata-value.is-right-aligned{
        text-align:right;
        justify-self:end;
      }
      .metadata-value.is-left-aligned{
        text-align:left;
        justify-self:stretch;
      }
      #generalInfoPanel .metadata-value.is-clamped,
      #photoMetadataPanel .metadata-value.is-clamped{
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
      }
      #generalInfoPanel .metadata-value,
      #photoMetadataPanel .metadata-value{
        max-width:none;
      }
      #photoMetadataPanel .metadata-row.is-desc-accessibility .metadata-value,
      #photoMetadataPanel .metadata-value.is-unclamped{
        display:block;
        overflow:visible;
        max-width:none;
        white-space:normal;
      }
      #photoMetadataPanel .metadata-row.is-desc-accessibility .metadata-value{
        text-align:left;
        justify-self:stretch;
        padding-left:14px;
      }
      #photoMetadataPanel .metadata-row.is-desc-accessibility{
        grid-template-columns:var(--metadata-label-col, minmax(128px, 200px)) minmax(0, 1fr);
      }
      .description-body{
        font-size:1rem;
        line-height:1.6;
        color:var(--ink);
        margin-top:4px;
      }
      #peakDescriptionPanel .mountain-overview-preview{
        --mountain-overview-line-height:1.6rem;
      }
      #peakDescriptionPanel .mountain-overview-preview.is-collapsed{
        max-height:calc(var(--mountain-overview-line-height) * 4);
      }
      #peakDescriptionPanel .mountain-overview-preview .description-body{
        margin:0;
      }
      #peakDescriptionPanel .mountain-overview-fade{
        height:64px;
        display:flex;
        align-items:flex-end;
        justify-content:flex-end;
        padding:0 0 2px;
      }
      .collapsible-content{
        position:relative;
        overflow:hidden;
      }
      .collapsible-content.is-collapsed{
        max-height:120px;
      }
      .collapsible-content-fade{
        position:absolute;
        inset:auto 0 0 0;
        height:56px;
        background:linear-gradient(to bottom, rgba(10,16,27,0), rgba(10,16,27,0.96));
        pointer-events:none;
        opacity:0;
        transition:opacity 0.2s ease;
      }
      .collapsible-content.is-collapsed .collapsible-content-fade{
        opacity:1;
      }
      .experience-note-text.is-collapsed .collapsible-content-fade{
        opacity:1;
      }
      .panel-expand-btn{
        margin-top:8px;
        margin-left:auto;
        display:inline-flex;
        align-items:center;
        gap:6px;
        padding:6px 10px;
        border-radius:999px;
        border:1px solid rgba(34,197,94,0.55);
        background:rgba(34,197,94,0.12);
        color:#d8ffea;
        font-size:0.78rem;
        font-weight:700;
        letter-spacing:0.3px;
        cursor:pointer;
      }
      .panel-expand-btn:hover{
        background:rgba(34,197,94,0.2);
      }
      #peakDescriptionPanel .mountain-overview-expand{
        position:relative;
        z-index:2;
        margin-top:-34px;
      }
      #peakDescriptionPanel .mountain-overview-expand[aria-expanded="true"]{
        margin-top:10px;
      }

      #peakTitle{
        margin:12px 0 6px 0;
        font-size:1.75rem;
      }
      .peak-section-panel{
        background:linear-gradient(160deg, rgba(15, 23, 35, 0.96), rgba(10, 16, 27, 0.94));
        border:1px solid rgba(61, 84, 124, 0.62);
        border-radius:var(--lower-panel-radius);
        padding:var(--lower-panel-padding);
        box-shadow:0 12px 30px rgba(0,0,0,0.32);
        overflow:hidden;
      }
      .peak-section-panel__header{
        display:grid;
        grid-template-columns:minmax(0, 1fr) auto;
        align-items:start;
        gap:16px;
        margin-bottom:var(--lower-panel-body-gap);
      }
      .peak-section-panel__heading{
        min-width:0;
      }
      .peak-section-panel__title{
        margin:0;
        font-size:0.88rem;
        font-weight:800;
        color:var(--accent);
        text-transform:uppercase;
        letter-spacing:0.12em;
        line-height:1.2;
      }
      .peak-section-panel__subtitle{
        margin:6px 0 0;
        color:var(--muted);
        font-size:0.92rem;
        line-height:1.45;
      }
      .peak-section-panel__subtitle[hidden]{
        display:none !important;
      }
      .peak-section-panel__actions{
        display:flex;
        align-items:flex-start;
        justify-content:flex-end;
        gap:10px;
        margin-left:auto;
        flex-wrap:wrap;
      }
      .peak-section-panel__body{
        display:grid;
        gap:var(--lower-panel-body-gap);
      }
      .peak-section-panel__body > .info-grid{
        margin:0;
        gap:var(--lower-panel-body-gap);
      }
      .peak-section-panel__body > .info-grid.info-grid--flat{
        gap:14px;
      }
      .lower-panel-block{
        display:grid;
        gap:12px;
      }
      .lower-panel-block--tight{
        gap:8px;
      }
      .lower-panel-label{
        margin:0;
        color:var(--field-label);
        font-size:0.76rem;
        font-weight:700;
        letter-spacing:0.08em;
        text-transform:uppercase;
      }
      .lower-panel-heading{
        margin:0;
        color:#f4f8ff;
        font-size:0.98rem;
        font-weight:700;
        line-height:1.45;
      }
      .lower-panel-rows{
        width:100%;
      }
      .lower-panel-rows .metadata-row{
        padding:6px 0;
        min-height:0;
      }
      .lower-panel-rows .metadata-value{
        max-width:none;
      }
      .lower-panel-note,
      .lower-panel-entry__meta,
      .lower-panel-entry__note,
      .lower-panel-footnote{
        margin:0;
        color:var(--muted);
        line-height:1.55;
      }
      .lower-panel-actions{
        margin-top:12px;
      }
      .lower-panel-entry-list{
        display:grid;
      }
      .lower-panel-entry{
        display:grid;
        gap:8px;
        padding:12px 0;
        border-top:1px dotted var(--stroke);
      }
      .lower-panel-entry:first-child{
        padding-top:0;
        border-top:none;
      }
      .lower-panel-entry:last-child{
        padding-bottom:0;
      }
      .lower-panel-entry__header{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:12px;
      }
      .lower-panel-entry__title{
        margin:0;
        color:#f4f8ff;
        font-size:0.98rem;
        font-weight:700;
        line-height:1.45;
      }
      .lower-panel-inline-strip{
        margin:0;
      }
      .lower-panel-inline-list{
        margin:0;
        padding-left:1.1rem;
        display:grid;
        gap:5px;
        color:var(--muted);
        font-size:0.9rem;
        line-height:1.5;
      }
      .peak-section-panel__pill{
        display:inline-flex;
        align-items:center;
        min-height:34px;
        padding:0 14px;
        border-radius:999px;
        border:1px solid rgba(34,197,94,0.72);
        background:rgba(34,197,94,0.08);
        color:#e8f5ec;
        font-weight:700;
        text-decoration:none;
        white-space:nowrap;
      }
      .peak-section-panel__pill:hover{
        background:rgba(34,197,94,0.16);
        border-color:rgba(74,222,128,0.95);
        color:#f4fff8;
      }
      .section-title-wrap{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        margin:0;
        width:100%;
      }
      .section-title{
        margin:0;
        font-size:1.05rem;
        font-weight:700;
        color:var(--accent);
        text-transform:uppercase;
        letter-spacing:0.5px;
        flex:1 1 auto;
        min-width:0;
      }
      .section-subtitle{
        margin:4px 0 10px;
        color:var(--muted);
        font-size:0.92rem;
        letter-spacing:0.35px;
        text-transform:uppercase;
      }
      .panel-zoom-btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:34px;
        height:34px;
        border-radius:8px;
        border:1px solid rgba(34,197,94,0.6);
        background:rgba(34,197,94,0.12);
        color:var(--accent);
        cursor:pointer;
        transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
        margin-left:auto;
        flex:0 0 auto;
      }
      .has-panel-reader-control{
        position:relative;
        padding-right:64px;
      }
      .panel-zoom-btn--corner{
        position:absolute;
        top:16px;
        right:16px;
        z-index:4;
        margin-left:0;
      }
      .panel-zoom-btn:hover{
        transform:scale(1.04);
        border-color:rgba(74,222,128,0.95);
        box-shadow:0 0 14px rgba(34,197,94,0.35);
      }
      .panel-zoom-btn .iconify,
      .panel-zoom-btn svg,
      .panel-zoom-btn__icon{
        width:1.05rem;
        height:1.05rem;
        flex:0 0 auto;
      }
      .panel-zoom-btn__icon{
        fill:none;
        stroke:currentColor;
        stroke-width:2;
        stroke-linecap:round;
        stroke-linejoin:round;
      }
      @media(max-width:640px){
        .section-title{ margin:0; font-size:0.95rem; }
        .section-subtitle{ margin:2px 0 8px; font-size:0.84rem; }
        .section-title-wrap{ margin:0; }
        .has-panel-reader-control{
          padding-right:56px;
        }
        .panel-zoom-btn--corner{
          top:12px;
          right:12px;
        }
        .peak-section-panel{
          padding:16px;
        }
        .peak-section-panel__header{
          gap:12px;
        }
        .peak-section-panel__actions{
          align-self:start;
        }
        .peak-section-panel__pill{
          display:none;
        }
        .lower-panel-entry__header{
          flex-wrap:wrap;
        }
      }
      .info-grid{
        display:grid;
        gap:10px;
        grid-template-columns:1fr;
        margin-bottom:16px;
      }
      .info-panel{
        background:linear-gradient(160deg, rgba(15, 23, 35, 0.96), rgba(10, 16, 27, 0.94));
        border:1px solid rgba(61, 84, 124, 0.62);
        border-radius:12px;
        padding:14px;
        font-size:0.9rem;
        width:100%;
        box-sizing:border-box;
        box-shadow:0 12px 30px rgba(0,0,0,0.32);
      }
      @media(max-width:640px){
        .info-panel{ padding:12px; font-size:0.85rem; }
      }
      .info-label{
        font-weight:600;
        color:var(--field-label);
        font-size:0.85rem;
        margin-bottom:6px;
        text-transform:uppercase;
        letter-spacing:0.5px;
      }
      @media(max-width:640px){
        .info-label{ font-size:0.8rem; margin-bottom:4px; }
      }
      .info-value{
        color:var(--ink);
        font-size:0.9rem;
        word-wrap:break-word;
        white-space:normal;
        line-height:1.6;
      }
      .route-conditions-brief{
        margin:18px 0 20px;
      }
      .route-conditions-brief .section-title{
        margin:0 0 12px;
      }
      .route-conditions-brief__grid{
        grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
        gap:12px;
        margin-bottom:0;
      }
      .route-conditions-brief__item{
        display:flex;
        flex-direction:column;
        justify-content:flex-start;
        gap:8px;
        min-height:100%;
        padding:18px;
      }
      .route-conditions-brief__item .info-label{
        margin-bottom:0;
      }
      .route-conditions-brief__text{
        font-size:0.96rem;
        line-height:1.7;
      }
      .route-conditions-brief__updated{
        margin:12px 2px 0;
        color:var(--muted);
        font-size:0.82rem;
        line-height:1.5;
      }
      @media(max-width:640px){
        .route-conditions-brief__grid{
          grid-template-columns:1fr;
        }
        .route-conditions-brief__item{
          padding:16px;
        }
      }
      .experience-notes{
        margin:18px 0 20px;
        border:1px solid rgba(61, 84, 124, 0.62);
        border-radius:12px;
        background:linear-gradient(160deg, rgba(15, 23, 35, 0.96), rgba(10, 16, 27, 0.94));
        padding:14px;
        box-shadow:0 12px 30px rgba(0,0,0,0.32);
      }
      .experience-notes-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
        gap:10px;
      }
      .experience-note{
        border:1px solid rgba(61, 84, 124, 0.58);
        border-radius:12px;
        background:linear-gradient(160deg, rgba(13, 21, 33, 0.96), rgba(9, 15, 25, 0.94));
        padding:12px;
      }
      .experience-note h3{
        margin:0 0 6px;
        font-size:0.82rem;
        letter-spacing:0.45px;
        text-transform:uppercase;
        color:var(--accent);
      }
      .experience-note p{
        margin:0;
        color:#d8e2ef;
        line-height:1.5;
      }
      .experience-note-text{
        position:relative;
        overflow:hidden;
      }
      .experience-note-text.is-collapsed{
        max-height:132px;
      }
      .experience-note-expand{
        margin-top:8px;
        display:inline-flex;
        align-items:center;
        gap:6px;
        border:1px solid rgba(34,197,94,0.5);
        background:rgba(34,197,94,0.1);
        color:#dbffe9;
        border-radius:999px;
        padding:4px 10px;
        font-size:0.74rem;
        font-weight:700;
        letter-spacing:0.28px;
        cursor:pointer;
      }
      .experience-note-expand:hover{
        background:rgba(34,197,94,0.18);
      }
      .experience-last-reviewed{
        margin:10px 2px 0;
        color:var(--muted);
        font-size:0.8rem;
      }
      .detail-panel-cta{
        margin-top:12px;
      }
      .trail-list{
        margin:0;
        padding-left:1.1rem;
        color:var(--ink);
        font-size:0.9rem;
        line-height:1.5;
      }
      .trail-list--merged{
        display:grid;
        gap:8px;
      }
      .trail-list--merged li{
        color:var(--ink);
      }
      .trail-list__item{
        line-height:1.55;
      }
      .trail-entry-name{
        color:#f5f8ff;
        font-weight:600;
      }
      .trail-entry-details{
        color:var(--muted);
        font-size:0.88rem;
      }
      .trail-approx-badge{
        display:inline-flex;
        align-items:center;
        margin-left:8px;
        padding:1px 6px;
        border-radius:999px;
        border:1px solid rgba(111, 154, 224, 0.34);
        background:rgba(111, 154, 224, 0.08);
        color:#cbd8eb;
        font-size:0.72rem;
        font-weight:700;
        letter-spacing:0.02em;
        vertical-align:middle;
      }
      .trail-panel-group + .trail-panel-group{
        margin-top:12px;
      }
      .trail-group-label{
        font-size:0.72rem;
        font-weight:700;
        letter-spacing:0.08em;
        text-transform:uppercase;
        color:var(--muted);
        margin:0 0 6px;
      }
      .trail-summary-list strong{
        color:#f5f8ff;
      }
      .trail-branding{
        display:flex;
        align-items:center;
        gap:10px;
        margin:0;
        padding:11px 12px;
        border:1px solid rgba(34,197,94,0.24);
        border-radius:10px;
        background:linear-gradient(135deg, rgba(34,197,94,0.08), rgba(12,18,29,0.45));
        text-decoration:none;
        color:var(--ink);
        transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
      }
      .trail-branding:hover{
        transform:scale(1.01);
        border-color:rgba(74,222,128,0.9);
        box-shadow:0 0 20px rgba(34,197,94,0.25);
      }
      .trail-branding img{
        width:52px;
        height:auto;
        border-radius:8px;
        background:#0a0a0a;
        border:1px solid rgba(255,255,255,0.2);
        padding:4px;
        box-shadow:0 6px 14px rgba(0,0,0,0.35);
      }
      .trail-branding-text{
        display:flex;
        flex-direction:column;
        gap:2px;
        font-size:0.85rem;
      }
      .trail-branding-text strong{
        color:var(--accent);
        font-size:0.9rem;
      }
      .trail-list--merged + .trail-list--merged{
        margin-top:0;
      }
      .trail-list a{
        color:#dff8e9;
        text-decoration:none;
        border-bottom:1px solid rgba(34,197,94,0.45);
        text-underline-offset:3px;
        text-decoration-thickness:1px;
        transition:color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
      }
      .trail-list a:hover{
        color:#f0fff6;
        border-color:rgba(74,222,128,0.95);
        box-shadow:0 0 12px rgba(34,197,94,0.32);
        transform:scale(1.02);
      }
      .trail-list a:focus-visible{
        outline:2px solid rgba(74,222,128,0.9);
        outline-offset:2px;
      }
      .monthly-weather-card{
        padding:14px;
      }
      .peak-section-panel--monthly-weather .monthly-weather-card{
        width:100%;
        max-width:100%;
        box-sizing:border-box;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
      }
      .peak-api-loading{
        display:flex;
        align-items:center;
        gap:12px;
        min-height:92px;
        padding:16px;
        border-radius:14px;
        border:1px solid rgba(74,222,128,0.22);
        background:rgba(8,13,22,0.62);
        color:var(--muted);
      }
      .peak-api-loading--compact{
        min-height:72px;
      }
      .peak-api-loading__spinner{
        width:24px;
        height:24px;
        flex:0 0 auto;
        border-radius:50%;
        border:3px solid rgba(34,197,94,0.22);
        border-top-color:var(--accent);
        animation:spin 0.9s linear infinite;
      }
      .peak-api-loading__copy{
        display:grid;
        gap:3px;
      }
      .peak-api-loading__title{
        color:#f4fff8;
        font-size:0.94rem;
        font-weight:800;
        line-height:1.3;
      }
      .peak-api-loading__text{
        color:var(--muted);
        font-size:0.82rem;
        line-height:1.45;
      }
      .peak-weather-current-card,
      .peak-astronomy-card{
        border:1px solid rgba(61,84,124,0.62);
        border-radius:12px;
        background:linear-gradient(160deg, rgba(12,20,34,0.88), rgba(7,12,21,0.94));
        box-shadow:0 12px 26px rgba(0,0,0,0.24);
      }
      .peak-weather-current-card{
        display:grid;
        gap:14px;
        padding:16px;
      }
      .peak-weather-current-card__topline,
      .peak-live-panel-meta{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        flex-wrap:wrap;
        color:#d5e7dd;
        font-size:0.78rem;
        line-height:1.45;
      }
      .peak-weather-current-card__source,
      .peak-live-panel-meta span:first-child{
        color:#f4fff8;
        font-weight:800;
      }
      .peak-weather-current-card__updated{
        color:var(--muted);
      }
      .peak-weather-current-card__main{
        display:flex;
        align-items:flex-end;
        gap:16px;
        flex-wrap:wrap;
      }
      .peak-weather-current-card__temp{
        color:#ffffff;
        font-size:clamp(2rem, 6vw, 3.2rem);
        font-weight:900;
        line-height:0.95;
      }
      .peak-weather-current-card__forecast{
        display:grid;
        gap:4px;
        min-width:min(100%, 220px);
      }
      .peak-weather-current-card__period{
        color:#a7f3d0;
        font-size:0.76rem;
        font-weight:800;
        letter-spacing:0.08em;
        text-transform:uppercase;
      }
      .peak-weather-current-card__summary{
        color:#f8fafc;
        font-size:1.02rem;
        font-weight:800;
        line-height:1.3;
      }
      .peak-live-stat-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
        gap:10px;
      }
      .peak-live-stat{
        display:grid;
        gap:4px;
        min-height:64px;
        padding:10px 12px;
        border-radius:10px;
        border:1px solid rgba(148,163,184,0.22);
        background:rgba(15,23,42,0.62);
      }
      .peak-live-stat__label,
      .peak-astronomy-card-title{
        color:#a7f3d0;
        font-size:0.72rem;
        font-weight:900;
        letter-spacing:0.08em;
        text-transform:uppercase;
      }
      .peak-live-stat__value,
      .peak-astronomy-card-value{
        color:#ffffff;
        font-size:1rem;
        font-weight:800;
        line-height:1.25;
      }
      .peak-live-note,
      .peak-astronomy-card-detail{
        margin:0;
        color:var(--muted);
        font-size:0.8rem;
        line-height:1.45;
      }
      .peak-live-panel-meta{
        margin-bottom:12px;
      }
      .peak-astronomy-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(148px, 1fr));
        gap:10px;
      }
      .peak-astronomy-card{
        display:grid;
        align-content:start;
        gap:6px;
        min-height:112px;
        padding:14px;
      }
      .peak-astronomy-grid > .peak-api-loading,
      .monthly-weather-chart > .peak-api-loading{
        grid-column:1 / -1;
      }
      #monthlyWeatherAdvisorySlot,
      #monthlyWeatherResourceSlot,
      #peakAdvisorySlot{
        margin:0;
        padding:0;
      }
      #monthlyWeatherAdvisorySlot:empty,
      #monthlyWeatherAdvisorySlot[hidden],
      #monthlyWeatherResourceSlot:empty,
      #monthlyWeatherResourceSlot[hidden],
      #peakAdvisorySlot:empty,
      #peakAdvisorySlot[hidden]{
        display:none !important;
      }
      .monthly-weather-card > #monthlyWeatherAdvisorySlot{
        margin:0 0 14px;
      }
      .monthly-weather-card > #monthlyWeatherAdvisorySlot [data-nh48-alert-banner="true"]{
        margin:0 !important;
        max-width:none !important;
      }
      .monthly-weather-card > #monthlyWeatherResourceSlot{
        margin:0 0 14px;
      }
      .monthly-weather-resource-link{
        display:flex;
        flex-direction:column;
        gap:4px;
        padding:12px 14px;
        border-radius:14px;
        border:1px solid rgba(74,222,128,0.34);
        background:linear-gradient(135deg, rgba(34,197,94,0.14), rgba(10,15,24,0.92));
        color:#f4fff8;
        text-decoration:none;
        transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
      }
      .monthly-weather-resource-link:hover{
        transform:translateY(-1px);
        border-color:rgba(74,222,128,0.72);
        background:linear-gradient(135deg, rgba(34,197,94,0.2), rgba(10,15,24,0.96));
        box-shadow:0 10px 24px rgba(34,197,94,0.14);
      }
      .monthly-weather-resource-link:focus-visible{
        outline:2px solid rgba(74,222,128,0.95);
        outline-offset:2px;
      }
      .monthly-weather-resource-title{
        color:#f4fff8;
        font-size:0.92rem;
        font-weight:800;
        letter-spacing:0.02em;
        line-height:1.35;
      }
      .monthly-weather-resource-subtitle{
        color:#d6e6db;
        font-size:0.78rem;
        line-height:1.45;
      }
      .monthly-weather-header{
        align-items:flex-start;
        justify-content:space-between;
        flex-wrap:wrap;
        gap:10px;
        margin-bottom:6px;
      }
      .monthly-weather-context{
        flex:1 1 240px;
        min-width:180px;
      }
      .monthly-weather-context-copy{
        margin:4px 0 0;
        color:var(--muted);
        font-size:0.76rem;
        line-height:1.4;
      }
      .monthly-weather-controls{
        display:flex;
        align-items:center;
        justify-content:flex-end;
        flex:0 0 auto;
      }
      #monthlyWeatherMonthSelect{
        min-height:34px;
        min-width:124px;
        border-radius:8px;
        border:1px solid rgba(255,255,255,0.25);
        background:#0f1622;
        color:var(--ink);
        padding:4px 8px;
        font-weight:600;
      }
      @media(max-width:640px){
        .monthly-weather-controls{
          width:100%;
          justify-content:flex-start;
        }
      }
      .monthly-weather-chart-block{
        position:relative;
        margin-top:10px;
      }
      .monthly-weather-chart-headerline{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        flex-wrap:wrap;
        gap:10px 12px;
        margin-bottom:8px;
      }
      .monthly-weather-chart-title{
        color:rgba(230,236,245,0.94);
        font-size:0.78rem;
        font-weight:700;
        letter-spacing:0.14em;
        text-transform:uppercase;
      }
      .monthly-weather-chart-legend{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        justify-content:flex-end;
        gap:8px 12px;
      }
      .monthly-weather-chart-legend-item{
        display:inline-flex;
        align-items:center;
        gap:7px;
        color:var(--muted);
        font-size:0.73rem;
        font-weight:600;
        letter-spacing:0.04em;
        text-transform:uppercase;
      }
      .monthly-weather-chart-legend-item::before{
        content:"";
        display:block;
        width:16px;
        height:6px;
        border-radius:999px;
      }
      .monthly-weather-chart-legend-item--wind::before{
        background:rgba(44,214,145,0.78);
      }
      .monthly-weather-chart-legend-item--gust::before{
        background:rgba(255,186,92,0.58);
      }
      .monthly-weather-chart-legend-item--temp::before{
        background:rgba(114,172,255,0.8);
      }
      .monthly-weather-chart{
        display:grid;
        gap:4px;
      }
      .monthly-weather-chart-row{
        display:grid;
        grid-template-columns:42px minmax(0, 1fr);
        align-items:center;
        gap:10px;
      }
      .monthly-weather-chart-row.is-selected .monthly-weather-chart-month{
        color:#ecfff5;
      }
      .monthly-weather-chart-row.is-selected .monthly-weather-chart-track{
        border-color:rgba(96,176,142,0.4);
        box-shadow:0 0 0 1px rgba(96,176,142,0.14);
      }
      .monthly-weather-chart-month{
        color:rgba(230,236,245,0.78);
        font-size:0.75rem;
        font-weight:700;
        letter-spacing:0.12em;
        text-transform:uppercase;
      }
      .monthly-weather-chart-track{
        position:relative;
        display:block;
        width:100%;
        height:18px;
        padding:0;
        border-radius:999px;
        border:1px solid rgba(112,138,176,0.2);
        appearance:none;
        -webkit-appearance:none;
        background:
          linear-gradient(90deg, rgba(20,30,44,0.94), rgba(9,15,24,0.94)),
          repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent calc(8.333% - 1px),
            rgba(188,206,232,0.08) calc(8.333% - 1px),
            rgba(188,206,232,0.08) 8.333%
          );
        overflow:hidden;
        font:inherit;
        text-align:left;
        cursor:pointer;
        transition:border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
      }
      .monthly-weather-chart-track::after{
        content:"";
        position:absolute;
        inset:0;
        background:linear-gradient(90deg, rgba(255,255,255,0.03), transparent 18%, transparent 82%, rgba(255,255,255,0.03));
        pointer-events:none;
      }
      .monthly-weather-chart-row:hover .monthly-weather-chart-track,
      .monthly-weather-chart-track:focus-visible{
        border-color:rgba(125,167,214,0.34);
        box-shadow:0 0 0 1px rgba(125,167,214,0.12);
      }
      .monthly-weather-chart-track:focus-visible{
        outline:2px solid rgba(74,222,128,0.35);
        outline-offset:2px;
      }
      .monthly-weather-chart-bar{
        position:absolute;
        left:0;
        border-radius:999px;
      }
      .monthly-weather-chart-bar--gust{
        top:2px;
        bottom:2px;
        background:linear-gradient(90deg, rgba(146,126,95,0.28), rgba(193,170,130,0.42));
      }
      .monthly-weather-chart-bar--wind{
        top:5px;
        bottom:5px;
        background:linear-gradient(90deg, rgba(67,152,124,0.46), rgba(111,186,160,0.64));
      }
      .monthly-weather-chart-bar--temp{
        top:7px;
        bottom:7px;
        background:linear-gradient(90deg, rgba(96,137,189,0.58), rgba(146,180,220,0.76));
      }
      .monthly-weather-chart-tooltip{
        position:absolute;
        z-index:4;
        min-width:204px;
        max-width:min(268px, calc(100% - 16px));
        padding:10px 12px;
        border-radius:12px;
        border:1px solid rgba(34,197,94,0.42);
        background:linear-gradient(180deg, rgba(11,18,27,0.98), rgba(7,12,19,0.98));
        box-shadow:0 18px 44px rgba(0,0,0,0.42);
        pointer-events:none;
      }
      .monthly-weather-chart-tooltip[hidden]{
        display:none !important;
      }
      .monthly-weather-chart-tooltip-title{
        color:#ecfff5;
        font-size:0.8rem;
        font-weight:700;
        letter-spacing:0.02em;
      }
      .monthly-weather-chart-tooltip-row{
        margin-top:6px;
        padding-top:6px;
        display:flex;
        align-items:baseline;
        justify-content:space-between;
        gap:10px;
        border-top:1px solid rgba(74,222,128,0.12);
        color:rgba(230,236,245,0.74);
        font-size:0.73rem;
        line-height:1.35;
      }
      .monthly-weather-chart-tooltip-value{
        color:#ecfff5;
        font-weight:700;
      }
      .monthly-weather-metrics{
        display:none !important;
      }
      .monthly-weather-chart-values,
      .monthly-weather-chart-value{
        display:none !important;
      }
      .monthly-weather-disclaimer{
        margin:10px 0 0;
        color:var(--muted);
        font-size:0.76rem;
        line-height:1.45;
      }
      .weather-metric{
        border:1px solid rgba(99,143,190,0.3);
        border-radius:10px;
        background:#111926;
        padding:12px 12px 11px;
      }
      .weather-metric-head{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
      }
      .weather-metric-copy{
        min-width:0;
      }
      .weather-metric-icon{
        width:22px;
        height:22px;
        flex:0 0 22px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
      }
      .weather-metric-icon svg{
        width:100%;
        height:100%;
        display:block;
      }
      .weather-metric--wind{
        border-color:rgba(39,198,124,0.28);
      }
      .weather-metric--gust{
        border-color:rgba(230,176,86,0.3);
      }
      .weather-metric--temp{
        border-color:rgba(114,172,255,0.32);
      }
      .weather-metric--wind .weather-metric-icon{
        color:rgba(44,214,145,0.92);
      }
      .weather-metric--gust .weather-metric-icon{
        color:rgba(255,186,92,0.92);
      }
      .weather-metric--temp .weather-metric-icon{
        color:rgba(114,172,255,0.96);
      }
      .weather-metric-label{
        color:var(--muted);
        text-transform:uppercase;
        letter-spacing:0.4px;
        font-size:0.75rem;
      }
      .weather-metric-value{
        margin-top:4px;
        font-size:1.03rem;
        font-weight:700;
        color:#ecfff5;
      }
      .weather-metric-bar{
        margin-top:8px;
        height:6px;
        border-radius:999px;
        background:rgba(255,255,255,0.12);
        overflow:hidden;
      }
      .weather-metric-bar > span{
        display:block;
        height:100%;
        border-radius:999px;
        background:rgba(44,214,145,0.92);
      }
      .weather-metric--gust .weather-metric-bar > span{
        background:rgba(255,186,92,0.9);
      }
      .weather-metric--temp .weather-metric-bar > span{
        background:rgba(114,172,255,0.96);
      }
      @media(max-width:780px){
        .monthly-weather-chart-row{
          grid-template-columns:38px minmax(0, 1fr);
          gap:8px;
        }
        .monthly-weather-chart-track{
          height:16px;
        }
        .monthly-weather-chart-bar--wind{
          top:4px;
          bottom:4px;
        }
        .monthly-weather-chart-bar--temp{
          top:6px;
          bottom:6px;
        }
        .monthly-weather-chart-tooltip{
          min-width:176px;
        }
      }
      .panel-reader-modal{
        position:fixed;
        inset:0;
        z-index:1200;
        background:rgba(2, 10, 18, 0.46);
        backdrop-filter:blur(10px) saturate(1.08);
        display:flex;
        align-items:center;
        justify-content:center;
        padding:clamp(14px, 3vw, 30px);
      }
      .panel-reader-modal[hidden]{
        display:none !important;
      }
      .panel-reader-dialog{
        width:min(100%, 1180px);
        max-width:1220px;
        max-height:min(86dvh, 960px);
        border-radius:22px;
        border:1px solid rgba(111, 154, 224, 0.28);
        background:linear-gradient(180deg, rgba(10, 18, 30, 0.98), rgba(5, 10, 18, 0.98));
        box-shadow:0 28px 90px rgba(0,0,0,0.48);
        display:flex;
        flex-direction:column;
        overflow:hidden;
      }
      .panel-reader-header{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:10px 14px;
        border-bottom:1px solid rgba(255,255,255,0.16);
      }
      .panel-reader-header h2{
        margin:0;
        font-size:0.94rem;
        color:var(--accent);
        text-transform:uppercase;
        letter-spacing:0.45px;
      }
      .panel-reader-controls{
        display:flex;
        align-items:center;
        gap:10px;
      }
      #panelReaderScale{
        min-height:34px;
        border-radius:8px;
        border:1px solid rgba(255,255,255,0.24);
        background:#101827;
        color:#fff;
        padding:4px 8px;
      }
      .panel-reader-content{
        --reader-scale-factor: 1.65;
        --reader-sheet-max-width: 920px;
        flex:1 1 auto;
        overflow:auto;
        padding:clamp(18px, 3vw, 34px);
        display:flex;
        justify-content:center;
        align-items:flex-start;
      }
      .panel-reader-sheet{
        width:min(100%, var(--reader-sheet-max-width));
        margin:0 auto;
      }
      #panelReaderContent .metadata-panel,
      #panelReaderContent section,
      #panelReaderContent article{
        width:100%;
        margin:0;
      }
      #panelReaderContent .metadata-row{
        grid-template-columns:minmax(190px, 34%) minmax(0, 1fr);
        gap:clamp(10px, 1.4vw, 20px);
      }
      #panelReaderContent .metadata-label{
        font-size:calc(0.79rem * var(--reader-scale-factor));
      }
      #panelReaderContent .metadata-value{
        font-size:calc(0.96rem * var(--reader-scale-factor));
        padding-left:0;
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:break-word;
        line-height:1.7;
      }
      #panelReaderContent .metadata-value.is-right-aligned{
        text-align:left;
        justify-self:stretch;
      }
      #panelReaderContent .collapsible-content{
        max-height:none !important;
        overflow:visible;
      }
      #panelReaderContent .collapsible-content-fade{
        display:none !important;
      }
      #panelReaderContent .description-body,
      #panelReaderContent p,
      #panelReaderContent li{
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:break-word;
        line-height:1.75;
      }
      #panelReaderContent .description-body{
        max-width:72ch;
        margin:0 auto;
        font-size:calc(1.04rem * var(--reader-scale-factor));
      }
      .trailhead-chooser-modal{
        position:fixed;
        inset:0;
        z-index:1200;
        background:rgba(2, 10, 18, 0.52);
        backdrop-filter:blur(10px) saturate(1.08);
        display:flex;
        align-items:center;
        justify-content:center;
        padding:clamp(14px, 3vw, 30px);
      }
      .trailhead-chooser-modal[hidden]{
        display:none !important;
      }
      .trailhead-chooser-dialog{
        width:min(100%, 1120px);
        max-height:min(86dvh, 940px);
        border-radius:22px;
        border:1px solid rgba(111, 154, 224, 0.28);
        background:linear-gradient(180deg, rgba(10, 18, 30, 0.98), rgba(5, 10, 18, 0.98));
        box-shadow:0 28px 90px rgba(0,0,0,0.48);
        display:flex;
        flex-direction:column;
        overflow:hidden;
      }
      .trailhead-chooser-header{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:12px 14px;
        border-bottom:1px solid rgba(255,255,255,0.16);
      }
      .trailhead-chooser-header h2{
        margin:0;
        font-size:0.94rem;
        color:var(--accent);
        text-transform:uppercase;
        letter-spacing:0.45px;
      }
      .trailhead-chooser-content{
        flex:1 1 auto;
        overflow:auto;
        padding:clamp(18px, 3vw, 28px);
      }
      .trailhead-chooser-intro{
        margin:0 0 14px;
        color:var(--muted);
        line-height:1.55;
      }
      .trailhead-chooser-list{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
        gap:12px;
      }
      .trailhead-option-card{
        border:1px solid rgba(61, 84, 124, 0.62);
        border-radius:16px;
        padding:14px;
        background:linear-gradient(160deg, rgba(15, 23, 35, 0.96), rgba(10, 16, 27, 0.94));
        box-shadow:0 12px 30px rgba(0,0,0,0.28);
      }
      .trailhead-option-title{
        margin:0;
        font-size:1rem;
        color:#f4f8ff;
      }
      .trailhead-option-summary{
        margin:6px 0 0;
        color:var(--muted);
        line-height:1.55;
      }
      .trailhead-access-road-warning{
        margin-top:12px;
        padding:12px 13px;
        border-radius:14px;
        border:1px solid rgba(255,255,255,0.14);
        background:rgba(255,255,255,0.05);
      }
      .trailhead-access-road-warning.is-compact{
        margin-top:10px;
      }
      .trailhead-access-road-warning.is-closed{
        border-color:rgba(248,113,113,0.42);
        background:rgba(248,113,113,0.12);
      }
      .trailhead-access-road-warning.is-partially-open{
        border-color:rgba(251,191,36,0.4);
        background:rgba(251,191,36,0.12);
      }
      .trailhead-access-road-warning.is-open{
        border-color:rgba(74,222,128,0.34);
        background:rgba(34,197,94,0.1);
      }
      .trailhead-access-road-warning-title{
        color:#f4f8ff;
        font-weight:800;
        font-size:0.82rem;
        letter-spacing:0.04em;
        text-transform:uppercase;
      }
      .trailhead-access-road-warning-copy{
        margin:6px 0 0;
        color:#e5edf8;
        line-height:1.55;
      }
      .trailhead-access-road-warning-list{
        margin:10px 0 0;
        padding-left:18px;
        display:grid;
        gap:6px;
        color:#eff5ff;
      }
      .trailhead-access-road-warning-list li span{
        color:#c9d7e7;
      }
      .trailhead-access-road-warning-source{
        margin:10px 0 0;
        color:#b3c2d4;
        font-size:0.84rem;
        line-height:1.45;
      }
      .trailhead-access-road-warning.lower-panel-inline-strip{
        margin-top:0;
      }
      .outdoor-network-panel{
        display:grid;
        gap:10px;
      }
      .section-note,
      .meta-line,
      .fine-print{
        color:var(--muted);
        line-height:1.55;
      }
      .section-note{
        margin:10px 0 0;
      }
      .outdoor-network-unavailable{
        margin:0;
        padding:9px 11px;
        border-radius:12px;
        border:1px solid rgba(245,158,11,0.28);
        background:rgba(245,158,11,0.09);
        color:#f6d9a0;
        line-height:1.5;
      }
      .condition-card-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
        gap:12px;
        margin-top:14px;
      }
      .condition-card{
        border:1px solid rgba(255,255,255,0.09);
        border-radius:16px;
        background:rgba(255,255,255,0.035);
        padding:14px;
      }
      .condition-card__header{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
      }
      .condition-card h4{
        margin:0;
        font-size:1rem;
        color:#f4f8ff;
      }
      .status-pill{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        border-radius:999px;
        padding:0.2rem 0.55rem;
        font-size:0.74rem;
        font-weight:800;
        white-space:nowrap;
        border:1px solid rgba(255,255,255,0.14);
        background:rgba(255,255,255,0.05);
        color:var(--muted);
      }
      .status-pill--normal{
        color:#9fe5b2;
        border-color:rgba(74,222,128,0.36);
      }
      .status-pill--watch,
      .status-pill--caution{
        color:#f6d9a0;
        border-color:rgba(245,196,81,0.34);
      }
      .status-pill--warning{
        color:#ffb4b4;
        border-color:rgba(255,107,107,0.36);
      }
      .status-pill--unknown{
        color:#b8c7d8;
      }
      .condition-card--warning{
        border-color:rgba(255,107,107,0.34);
      }
      .condition-card--caution,
      .condition-card--watch{
        border-color:rgba(245,196,81,0.32);
      }
      .condition-card--normal{
        border-color:rgba(74,222,128,0.26);
      }
      .condition-note{
        margin-top:10px;
        color:#e6edf7;
        line-height:1.55;
      }
      .peak-water-source-chip-row{
        display:flex;
        flex-wrap:wrap;
        gap:7px;
        margin:8px 0 2px;
      }
      .peak-water-source-chip{
        display:inline-flex;
        align-items:center;
        gap:6px;
        max-width:100%;
        border-radius:999px;
        border:1px solid rgba(255,255,255,0.12);
        background:rgba(255,255,255,0.045);
        padding:5px 8px;
        color:#dce8f7;
        font-size:0.72rem;
        line-height:1.15;
      }
      .peak-water-source-chip strong{
        color:#f4f8ff;
        font-size:0.72rem;
        letter-spacing:0;
      }
      .peak-water-source-chip small{
        color:#aebdd0;
        font-size:0.68rem;
      }
      .peak-water-source-chip.is-usgs,
      .peak-water-source-chip.is-nhdes{
        border-color:rgba(52,211,153,0.28);
        background:rgba(16,185,129,0.08);
      }
      .peak-water-source-chip.is-nwps,
      .peak-water-source-chip.is-hads{
        border-color:rgba(96,165,250,0.28);
        background:rgba(59,130,246,0.08);
      }
      .peak-water-source-chip.is-usace,
      .peak-water-source-chip.is-streamstats{
        border-color:rgba(250,204,21,0.24);
        background:rgba(250,204,21,0.07);
      }
      .peak-water-context-list{
        display:grid;
        gap:5px;
        margin:8px 0 0;
        padding-left:1.1rem;
        color:#c7d6e8;
        font-size:0.88rem;
        line-height:1.45;
      }
      .peak-section-panel--access-roads .peak-section-panel__body > .info-grid.info-grid--flat{
        gap:10px;
      }
      .outdoor-network-entry-list .lower-panel-entry{
        gap:6px;
        padding:10px 0;
      }
      .outdoor-network-entry-list .lower-panel-entry__title{
        font-size:0.96rem;
        line-height:1.35;
      }
      .outdoor-network-entry-list .lower-panel-entry__meta,
      .outdoor-network-entry-list .lower-panel-entry__note,
      .outdoor-network-panel .lower-panel-footnote{
        font-size:0.92rem;
        line-height:1.5;
      }
      .outdoor-network-panel .lower-panel-footnote{
        margin-top:2px;
      }
      .outdoor-network-trailhead-grid{
        display:grid;
        gap:10px;
        margin-top:12px;
      }
      .outdoor-network-trailhead{
        border-radius:14px;
        border:1px solid rgba(255,255,255,0.08);
        background:rgba(255,255,255,0.04);
        padding:11px 12px;
      }
      .outdoor-network-trailhead-name{
        color:#f4f8ff;
        font-weight:800;
        line-height:1.4;
      }
      .outdoor-network-directions{
        display:inline-flex;
        align-items:center;
        margin-top:10px;
        border-radius:999px;
        border:1px solid rgba(125,211,252,0.34);
        background:rgba(12,19,30,0.6);
        color:#d7ecff;
        padding:8px 12px;
        font-size:0.84rem;
        font-weight:700;
        text-decoration:none;
        transition:border-color .18s ease, background .18s ease, transform .18s ease;
      }
      .outdoor-network-directions:hover{
        border-color:rgba(125,211,252,0.55);
        background:rgba(18,29,45,0.78);
        transform:translateY(-1px);
      }
      @media (max-width: 720px){
        .condition-card-grid{
          grid-template-columns:1fr;
        }
      }
      .trailhead-option-meta{
        display:grid;
        gap:6px;
        margin:12px 0;
      }
      .trailhead-option-meta-row{
        color:#dce7f4;
        line-height:1.45;
      }
      .trailhead-option-meta-row strong{
        color:#f3f7ff;
      }
      .trailhead-option-trails{
        margin-top:6px;
        margin-bottom:0;
      }
      .trailhead-option-actions{
        display:flex;
        flex-wrap:wrap;
        gap:8px;
        margin-top:14px;
      }
      .trailhead-highlight-btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:38px;
        padding:8px 14px;
        border-radius:10px;
        border:1px solid rgba(125, 211, 252, 0.5);
        background:rgba(125, 211, 252, 0.08);
        color:#d8f4ff;
        cursor:pointer;
        font-weight:700;
        letter-spacing:0.2px;
        transition:background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
      }
      .trailhead-highlight-btn:hover{
        background:rgba(125, 211, 252, 0.16);
        border-color:rgba(125, 211, 252, 0.78);
        color:#f3fbff;
        transform:translateY(-1px);
      }
      .trailhead-highlight-btn:focus-visible{
        outline:2px solid rgba(125, 211, 252, 0.95);
        outline-offset:2px;
      }
      .icon-btn[aria-disabled="true"],
      .icon-btn.is-disabled{
        opacity:0.45;
        cursor:not-allowed;
        filter:grayscale(0.3);
      }
      .primary-link-btn.is-disabled{
        opacity:0.45;
        cursor:not-allowed;
        pointer-events:none;
        filter:grayscale(0.3);
      }
      .primary-link-btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:38px;
        padding:8px 14px;
        border-radius:10px;
        border:1px solid rgba(74,222,128,0.7);
        background:rgba(34,197,94,0.14);
        color:#dfffee;
        text-decoration:none;
        font-weight:700;
        letter-spacing:0.2px;
        transition:background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
      }
      .primary-link-btn:hover{
        background:rgba(34,197,94,0.24);
        border-color:rgba(74,222,128,0.95);
        color:#f2fff8;
        transform:translateY(-1px);
      }
      .primary-link-btn:focus-visible{
        outline:2px solid rgba(74,222,128,0.95);
        outline-offset:2px;
      }
      @media(max-width:720px){
        .metadata-row{
          grid-template-columns:minmax(88px, 124px) minmax(0, 1fr);
          gap:8px;
        }
        .metadata-value{
          padding-left:4px;
          overflow-wrap:anywhere;
          word-break:break-word;
        }
        #generalInfoPanel .metadata-row,
        #photoMetadataPanel .metadata-row{
          grid-template-columns:1fr;
          gap:4px;
        }
        #generalInfoPanel .metadata-value.is-right-aligned,
        #photoMetadataPanel .metadata-value.is-right-aligned{
          text-align:left;
          justify-self:stretch;
          padding-left:0;
        }
        #photoMetadataPanel .metadata-row.is-desc-accessibility{
          grid-template-columns:1fr;
        }
        #photoMetadataPanel .metadata-row.is-desc-accessibility .metadata-value{
          padding-left:0;
        }
        .panel-reader-modal{
          padding:12px;
        }
        .panel-reader-dialog{
          width:100%;
          max-height:min(90dvh, 960px);
          border-radius:18px;
        }
        .trailhead-chooser-modal{
          padding:12px;
        }
        .trailhead-chooser-dialog{
          width:100%;
          max-height:min(90dvh, 960px);
          border-radius:18px;
        }
        .trailhead-chooser-content{
          padding:16px;
        }
      }
      @media(max-width:920px){
        #panelReaderContent .metadata-row{
          grid-template-columns:1fr;
          gap:6px;
        }
      }
      .peak-map-panel{
        border:1px solid rgba(61, 84, 124, 0.62);
        border-radius:12px;
        background:linear-gradient(160deg, rgba(15, 23, 35, 0.96), rgba(10, 16, 27, 0.94));
        padding:14px;
        margin-bottom:16px;
        box-shadow:0 12px 30px rgba(0,0,0,0.32);
      }
      .peak-section-panel--map .peak-map-panel{
        width:100%;
        max-width:100%;
        box-sizing:border-box;
        border:0;
        border-radius:0;
        background:transparent;
        padding:0;
        margin:0;
        box-shadow:none;
      }
      .peak-map-panel--embedded{
        border:none;
        border-radius:0;
        background:transparent;
        padding:0;
        margin:0;
        box-shadow:none;
      }
      .peak-map-panel--embedded .peak-map-header{
        display:none !important;
      }
      .peak-map-header{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:16px;
        margin-bottom:10px;
        flex-wrap:wrap;
      }
      .peak-map-title{
        font-size:0.95rem;
        font-weight:700;
        color:var(--ink);
      }
      .peak-map-subtitle{
        font-size:0.8rem;
        color:var(--muted);
        margin-top:2px;
      }
      .peak-map-cta{
        display:inline-flex;
        align-items:center;
        gap:6px;
        padding:8px 14px;
        border-radius:999px;
        border:1px solid rgba(34,197,94,0.8);
        background:rgba(34,197,94,0.15);
        color:var(--accent);
        font-weight:700;
        text-decoration:none;
        transition:all 0.2s ease;
        white-space:nowrap;
      }
      .peak-map-cta[hidden]{
        display:none !important;
      }
      .peak-map-cta:hover{
        background:rgba(34,197,94,0.25);
        color:var(--accent-strong);
        border-color:rgba(34,197,94,1);
      }
      .peak-map-frame{
        position:relative;
        width:100%;
        height:320px;
        border-radius:10px;
        overflow:hidden;
        border:1px solid rgba(255,255,255,0.15);
        background:
          radial-gradient(circle at 22% 32%, rgba(34,197,94,0.2), transparent 34%),
          radial-gradient(circle at 78% 26%, rgba(56,189,248,0.16), transparent 30%),
          linear-gradient(145deg, #090d12, #0e1624 48%, #07100b);
      }
      .peak-map-canvas{
        position:absolute;
        inset:0;
        opacity:1;
        transition:opacity .2s ease;
      }
      .peak-map-panel[data-map-state="static"] .peak-map-canvas,
      .peak-map-panel[data-map-state="idle"] .peak-map-canvas{
        opacity:0;
        pointer-events:none;
      }
      .peak-map-status{
        position:absolute;
        inset:auto auto 12px 12px;
        z-index:420;
        max-width:min(360px, calc(100% - 24px));
        background:rgba(10,10,10,0.75);
        border:1px solid rgba(255,255,255,0.1);
        border-radius:8px;
        padding:6px 10px;
        font-size:0.78rem;
        color:var(--muted);
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        flex-wrap:wrap;
      }
      .peak-map-panel[data-map-state="static"] .peak-map-status,
      .peak-map-panel[data-map-state="idle"] .peak-map-status{
        inset:18px auto 18px 18px;
        max-width:min(420px, calc(100% - 300px));
        align-content:center;
      }
      .peak-map-panel[data-map-state="loading"] .peak-map-status .peak-map-static-preview,
      .peak-map-panel[data-map-state="loaded"] .peak-map-status{
        display:none;
      }
      .peak-map-status:empty{
        display:none;
      }
      .peak-map-static-preview{
        display:grid;
        gap:8px;
      }
      .peak-map-static-preview__eyebrow{
        margin:0;
        color:var(--accent);
        font-size:0.72rem;
        font-weight:900;
        letter-spacing:0.12em;
        text-transform:uppercase;
      }
      .peak-map-static-preview__summary,
      .peak-map-static-preview__meta{
        margin:0;
        line-height:1.5;
      }
      .peak-map-static-preview__summary{
        color:#e7f0ff;
      }
      .peak-map-load-btn{
        border:1px solid var(--accent-strong);
        background:var(--accent-strong);
        color:#fff;
        border-radius:6px;
        padding:7px 10px;
        font:inherit;
        font-weight:700;
        cursor:pointer;
        min-height:34px;
      }
      .peak-map-load-btn:hover,
      .peak-map-load-btn:focus-visible{
        filter:brightness(1.08);
      }
      .peak-map-load-btn:disabled{
        cursor:default;
        opacity:.72;
      }
      .peak-map-panel[data-map-state="loaded"] .peak-map-load-btn{
        display:none;
      }
      .peak-map-linked-trails{
        position:absolute;
        top:12px;
        right:12px;
        z-index:430;
        display:grid;
        gap:10px;
        width:min(248px, calc(100% - 84px));
        max-height:calc(100% - 24px);
        padding:12px 14px;
        border:1px solid rgba(61, 84, 124, 0.74);
        border-radius:16px;
        background:linear-gradient(180deg, rgba(10, 17, 29, 0.9), rgba(7, 13, 22, 0.94));
        box-shadow:0 12px 28px rgba(0,0,0,0.34);
        backdrop-filter:blur(10px);
      }
      .peak-map-linked-trails__header{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
      }
      .peak-map-linked-trails__title{
        margin:0;
        color:#ffffff;
        font-size:0.78rem;
        font-weight:900;
        letter-spacing:0.12em;
        text-transform:uppercase;
      }
      .peak-map-linked-trails__list{
        margin:0;
        padding:0;
        list-style:none;
        display:grid;
        gap:7px;
        overflow:auto;
      }
      .peak-map-linked-trails__item{
        margin:0;
        line-height:1.2;
      }
      .peak-map-linked-trails__item a{
        color:#a7f3d0;
        font-size:0.93rem;
        font-weight:700;
        text-decoration:underline;
        text-decoration-thickness:1px;
        text-underline-offset:2px;
      }
      .peak-map-linked-trails__item a:hover,
      .peak-map-linked-trails__item a:focus-visible{
        color:#dcfce7;
      }
      .peak-map-tooltip{
        background:rgba(10,10,10,0.8);
        border:1px solid rgba(34,197,94,0.8);
        color:var(--ink);
        font-weight:700;
        font-size:0.78rem;
        padding:4px 8px;
        border-radius:8px;
        box-shadow:0 6px 16px rgba(0,0,0,0.3);
      }
      .peak-nearby-trail-features-panel{
        margin:16px 0 18px;
        padding:18px;
        border:1px solid rgba(94,117,156,0.42);
        border-radius:22px;
        background:
          radial-gradient(circle at top right, rgba(34,197,94,0.12), transparent 34%),
          linear-gradient(165deg, rgba(22,31,46,0.96), rgba(12,18,30,0.98));
      }
      .peak-nearby-trail-features-headers,
      .peak-nearby-trail-features-columns{
        display:grid;
        grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
        column-gap:clamp(24px, 4vw, 56px);
      }
      .peak-nearby-trail-features-headers{
        align-items:end;
        margin-bottom:10px;
      }
      .peak-nearby-trail-features-heading{
        margin:0;
        color:var(--accent);
        font-size:1rem;
        font-weight:900;
        letter-spacing:0.08em;
        text-transform:uppercase;
      }
      .peak-nearby-trail-features-heading--right{
        text-align:left;
      }
      .peak-nearby-trails-list,
      .peak-nearby-trail-features-list{
        margin:0;
        padding-left:1.15rem;
        color:var(--ink);
        line-height:1.45;
      }
      .peak-nearby-trails-list li,
      .peak-nearby-trail-features-list li{
        min-height:1.45em;
        margin:2px 0;
      }
      .peak-nearby-trail-features-list{
        padding-left:0;
        padding-right:0;
        text-align:left;
        list-style:none;
      }
      .peak-nearby-trail-feature-item{
        display:flex;
        align-items:baseline;
        justify-content:flex-start;
        gap:8px;
        color:var(--ink);
        flex-wrap:wrap;
      }
      .peak-nearby-trail-feature-icon{
        width:0.72rem;
        height:0.72rem;
        flex:0 0 0.72rem;
        border-radius:999px;
        background:var(--trail-feature-color, #38d972);
        box-shadow:0 0 0 3px rgba(56,189,248,0.16);
        transform:translateY(1px);
      }
      .peak-nearby-trail-feature-link,
      .peak-nearby-trails-list a{
        color:inherit;
        font-weight:700;
        text-decoration:none;
      }
      .peak-nearby-trail-feature-link{
        appearance:none;
        -webkit-appearance:none;
        background:none;
        border:0;
        padding:0;
        margin:0;
        font:inherit;
        line-height:inherit;
        cursor:pointer;
      }
      .peak-nearby-trail-feature-link:hover,
      .peak-nearby-trail-feature-link:focus-visible,
      .peak-nearby-trails-list a:hover,
      .peak-nearby-trails-list a:focus-visible{
        color:var(--accent);
        text-decoration:underline;
      }
      .peak-nearby-empty{
        color:var(--muted);
        font-style:italic;
      }
      .peak-map-trail-feature-div-icon{
        background:transparent;
        border:0;
      }
      .peak-map-trail-feature-marker{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:30px;
        height:30px;
        border:2px solid rgba(255,255,255,0.92);
        border-radius:999px;
        background:var(--trail-feature-color, #38d972);
        box-shadow:
          0 8px 18px rgba(0,0,0,0.35),
          0 0 0 4px rgba(56,189,248,0.18);
        transition:transform 0.18s ease, box-shadow 0.18s ease;
        overflow:hidden;
      }
      .peak-map-trail-feature-marker img{
        width:18px;
        height:18px;
        display:block;
        object-fit:contain;
        filter:brightness(0) invert(1);
      }
      .peak-map-trail-feature-div-icon.is-highlighted .peak-map-trail-feature-marker,
      .peak-map-trail-feature-div-icon:hover .peak-map-trail-feature-marker{
        transform:scale(1.08);
        box-shadow:
          0 10px 24px rgba(0,0,0,0.42),
          0 0 0 6px rgba(56,189,248,0.28);
      }
      .peak-map-trail-feature-tooltip{
        font-weight:800;
      }
      .peak-map-trail-feature-popup-card{
        display:grid;
        gap:8px;
        min-width:220px;
      }
      .peak-map-trail-feature-popup-card h4{
        margin:0;
        font-size:1rem;
      }
      .peak-map-trail-feature-popup-card a{
        font-weight:700;
      }
      .peak-map-trail-feature-popup-row{
        display:grid;
        gap:2px;
      }
      .peak-map-trail-feature-popup-row span{
        color:#64748b;
        font-size:0.72rem;
        font-weight:800;
        letter-spacing:0.06em;
        text-transform:uppercase;
      }
      .peak-map-trail-feature-popup-row strong{
        color:#0f172a;
        font-size:0.86rem;
      }
      .leaflet-container{
        background:#0b0b10;
      }
      @keyframes spin{
        to{ transform:rotate(360deg); }
      }

      .print-only{ display:none; }
      .no-print{ }

      @media(max-width:760px){
        .peak-map-linked-trails{
          top:auto;
          left:12px;
          right:12px;
          bottom:12px;
          width:auto;
          max-height:54%;
          padding:10px 12px;
        }
        .peak-map-panel[data-map-state="static"] .peak-map-status,
        .peak-map-panel[data-map-state="idle"] .peak-map-status{
          inset:12px 12px auto 12px;
          max-width:none;
        }
        .peak-map-linked-trails__title{
          font-size:0.72rem;
          letter-spacing:0.1em;
        }
        .peak-map-linked-trails__list{
          gap:6px;
        }
        .peak-map-linked-trails__item a{
          font-size:0.9rem;
        }
        .peak-nearby-trail-features-panel{
          display:grid;
          grid-template-columns:1fr;
          row-gap:8px;
          padding:16px;
        }
        .peak-nearby-trail-features-headers,
        .peak-nearby-trail-features-columns{
          display:contents;
        }
        #peakNearbyTrailsHeading{
          order:1;
          text-align:left;
          margin:0 0 6px;
        }
        .peak-nearby-trail-features-column--trails{
          order:2;
        }
        #peakNearbyTrailFeaturesHeading{
          order:3;
          text-align:left;
          margin:8px 0 6px;
        }
        .peak-nearby-trail-features-column--features{
          order:4;
        }
        .peak-nearby-trail-features-list{
          padding-left:1.15rem;
          padding-right:0;
          text-align:left;
          list-style-position:outside;
        }
        .peak-nearby-trail-feature-item{
          justify-content:flex-start;
        }
      }

      @media print{
        body{
          margin:0;
          font-size:11pt;
          background:#ffffff;
          color:#000000;
        }
        nav,
        footer,
        .no-print{
          display:none !important;
        }
        .print-only{
          display:block !important;
        }
        .wrap{
          max-width:100%;
          padding:0.3in;
        }
        .peak-map-panel{
          display:block !important;
          border:none;
          padding:0;
          background:none;
        }
        .peak-section-panel{
          border:none;
          padding:0;
          background:none;
          box-shadow:none;
        }
        .peak-section-panel__actions{
          display:none !important;
        }
        .peak-map-header,
        .peak-map-status,
        .peak-map-linked-trails{
          display:none !important;
        }
        .peak-map-frame{
          height:6in !important;
          width:100% !important;
          border:none;
        }
        .peak-map-canvas{
          height:100% !important;
        }
        .leaflet-control-container{
          display:none !important;
        }
        .print-summary-header{
          display:flex;
          align-items:center;
          margin-bottom:0.5in;
          border-bottom:1px solid #ccc;
          padding-bottom:0.25in;
          gap:0.3in;
        }
        .print-thumb{
          width:1.25in;
          height:1.25in;
          object-fit:cover;
          border-radius:4px;
          border:1px solid #bbb;
        }
        .print-summary-header h1{
          font-size:18pt;
          margin:0;
        }
        .print-details{
          display:flex;
          flex-wrap:wrap;
          gap:0.2in;
          margin:0 0 0.5in 0;
        }
        .print-details dt{
          font-weight:700;
        }
        .print-details dd{
          margin:0 0.4in 0 0;
        }
        .print-description{
          margin-bottom:0.5in;
        }
      }
