/* ── styles/pages/festival.css ── */
@layer pages {
.pg-festival .gm{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: clamp(16px, 1.8vw, 28px);}
.pg-festival .gm__i{display: flex;flex-direction: column;min-width: 0;background: var(--paper-slip);border: 1.5px solid var(--line);}
.pg-festival .gm__i .pic{margin: 0;border-bottom: 1.5px solid var(--line);}
.pg-festival .gm__b{display: grid;grid-template-columns: auto minmax(0, 1fr);align-content: start;gap: 8px 16px;flex: 1;padding: clamp(20px, 2.2vw, 32px);}
.pg-festival .gm__b > :not(.gm__ic){grid-column: 2;}
.pg-festival .gm__i--pic .gm__b > *{grid-column: 1 / -1;}
.pg-festival .gm__ic{grid-column: 1;grid-row: 1 / span 2;color: var(--teal-deep);margin-top: 2px;}
.pg-festival .gm__t{font-family: var(--face-display-cond);font-weight: 400;font-size: clamp(26px, 2.2vw, 34px);line-height: 1.02;text-transform: uppercase;letter-spacing: .005em;}
.pg-festival .gm__x{color: var(--type-soft);max-width: 52ch;}
.pg-festival .gm__go{align-self: end;justify-self: start;margin-top: 10px;display: inline-flex;align-items: center;gap: 10px;min-height: 44px;font-weight: 800;font-size: var(--fs-label);letter-spacing: var(--track-label);text-transform: uppercase;color: var(--type);text-decoration: underline;text-decoration-thickness: 2px;text-underline-offset: 6px;text-decoration-color: var(--teal);}
.pg-festival .gm__go:hover{text-decoration-color: var(--ink);}
.pg-festival .gm__go .arrow{width: 22px;height: 12px;flex: none;}
.pg-festival .gm__i--act{background: var(--yellow-band);border-color: var(--ink);}
.pg-festival .gm__i--act .gm__ic{color: var(--ink);}
.pg-festival .gm__i--act .gm__x{color: var(--ink);}
.pg-festival .gm__btn{justify-self: start;align-self: end;margin-top: 14px;background: var(--ink);color: var(--paper);border-color: var(--ink);}
.pg-festival .gm__btn:hover{background: var(--ink-soft);color: var(--paper);}
.pg-festival .gm__i--pic .gm__b{grid-template-rows: auto auto 1fr;}
@media (min-width: 901px){
.pg-festival .gm--lead > .gm__i:first-child{grid-column: 1 / -1;display: grid;grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);}
.pg-festival .gm--lead > .gm__i:first-child .pic{border-bottom: 0;border-right: 1.5px solid var(--line);aspect-ratio: auto;min-height: 100%;}
.pg-festival .gm--lead > .gm__i:first-child .gm__b{align-content: center;padding: clamp(28px, 3.4vw, 56px);}
.pg-festival .gm--lead > .gm__i:first-child .gm__t{font-size: clamp(34px, 3.2vw, 50px);}
.pg-festival .gm:has(.gm__i--pic) > .gm__i--act{grid-column: 1 / -1;}
.pg-festival .gm:has(.gm__i--pic) > .gm__i--act .gm__b{grid-template-columns: auto minmax(0, 1fr) auto;align-items: center;gap: 4px 20px;}
.pg-festival .gm:has(.gm__i--pic) > .gm__i--act .gm__btn{grid-column: 3;grid-row: 1 / span 2;margin-top: 0;align-self: center;}
}
.pg-festival #stays .sec-head__dek{max-width: 60ch;}
.pg-festival #plan{padding-top: 0;}
.pg-festival .fq-index{padding-top: clamp(28px, 3vw, 44px);}
.pg-festival .fq-index .chips{gap: 10px;}
.pg-festival #move, .pg-festival #visit, .pg-festival #part{scroll-margin-top: calc(var(--nav-h) + 12px);}
.pg-festival #move{padding-top: clamp(28px, 3vw, 44px);}
.pg-festival #part .actions{margin-top: clamp(22px, 2.4vw, 32px);}
@media (min-width: 901px){
.pg-festival #ten .rows{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));grid-auto-flow: row;column-gap: clamp(28px, 3.4vw, 56px);border-top: 0;}
.pg-festival #ten .row{grid-template-columns: 52px minmax(0, 1fr);gap: 4px 16px;}
.pg-festival #ten .row:nth-child(-n + 2){border-top: 1.5px solid var(--line);}
.pg-festival #ten .row .t{grid-column: 2;}
}
@media (min-width: 1121px){
.pg-festival #ask > .wrap{display: grid;grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);column-gap: clamp(40px, 5vw, 96px);align-items: start;}
.pg-festival #ask > .wrap > *{margin-top: 0;}
.pg-festival #ask > .wrap > .sec-head{position: sticky;top: calc(var(--nav-h) + 24px);}
}
@media (max-width: 900px){
.pg-festival .gm{grid-template-columns: 1fr;}
}
@media (max-width: 560px){
.pg-festival .gm__b{grid-template-columns: 1fr;}
.pg-festival .gm__b > *{grid-column: 1 / -1;}
.pg-festival .gm__ic{display: none;}
}
.pg-festival .gm:not(.gm--lead) > .gm__i:last-child:nth-child(odd){grid-column: 1 / -1;}
@media (min-width: 901px){.pg-festival .gm--lead > .gm__i:last-child:nth-child(even):not(:first-child){grid-column: 1 / -1;}}
}
