/* A hall of woven campaign standards within the Atelier's paper shell. */
.campaign-hall { max-width: 1600px; margin-inline: auto; padding: 44px var(--gutter) 96px; }
.campaign-header { text-align: center; padding: 0 0 30px; }
.campaign-world-mark { width: 132px; opacity: .9; margin-bottom: 8px; }
.campaign-world-mark .eriya-mark-word { width: 100%; height: auto; }
.campaign-header h1 { font: 400 clamp(70px,9vw,136px)/.95 var(--serif); letter-spacing: -.045em; margin: 0; }
.campaign-title-seam { display: flex; align-items: center; justify-content: center; gap: 15px; margin: 26px auto 0; width: min(340px,60%); }
.campaign-title-seam::before,.campaign-title-seam::after { content: ''; flex: 1; border-top: 1px solid #a58351; }
.campaign-title-seam span { width: 7px; height: 7px; background: var(--red); transform: rotate(45deg); }
.campaign-tapestry { position: relative; width: 100%; margin: 0; padding: 11px 0; border-block: 3px solid #6c5037; box-shadow: 0 12px 18px -12px #38261780; }
.campaign-tapestry::before,.campaign-tapestry::after { content: ''; position: absolute; left: -8px; right: -8px; height: 5px; background: #9b794b; box-shadow: inset 0 1px #c3a871,inset 0 -1px #513f2a; }
.campaign-tapestry::before { top: -4px; }.campaign-tapestry::after { bottom: -4px; }
.campaign-tapestry img { display: block; width: 100%; height: auto; max-height: 540px; object-fit: cover; object-position: center; }
.campaign-hall .campaign-records { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 80px 34px; width: 100%; max-width: none; padding: 0; margin-top: 40px; align-items: stretch; }
.campaign-records > :not([data-at-form="campaign-record"]) { grid-column: 1 / -1; }
.campaign-records > p:first-of-type { max-width: 720px; margin: 0 auto -4px; text-align: center; font: italic 25px/1.45 var(--serif); }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] {
 --banner: #433747; --banner-edge: #211b25; --at-ink: #f2e5c8; --at-paper: transparent; --at-hair: #cab18559;
 grid-column: span 2; position: relative; isolation: isolate; width: 100%; max-width: none; min-width: 0; margin: 0; padding: 146px 30px 76px; border: 0; border-radius: 0; color: #f2e5c8; background: transparent; background-image: none; text-align: left;
 filter: drop-shadow(0 16px 10px #241b1426);
}
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"]:nth-of-type(2) { --banner: #334339; --banner-edge: #18281e; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"]:nth-of-type(3) { --banner: #354351; --banner-edge: #172735; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"]:nth-of-type(4) { --banner: #543b35; --banner-edge: #321d17; grid-column: 2 / span 2; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"]:nth-of-type(5) { --banner: #484331; --banner-edge: #272719; grid-column: 4 / span 2; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"]::before {
 content: ''; position: absolute; inset: 0; z-index: -1; background-color: var(--banner);
 background-image: repeating-linear-gradient(0deg,#ffffff04 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#00000013 0 1px,transparent 1px 3px),linear-gradient(90deg,var(--banner-edge),transparent 10% 90%,var(--banner-edge));
 clip-path: polygon(0 0,100% 0,100% calc(100% - 30px),50% 100%,0 calc(100% - 30px));
 box-shadow: inset 0 0 0 9px var(--banner-edge),inset 0 0 0 10px #be9e61,inset 0 0 0 15px var(--banner-edge),inset 0 0 0 16px #be9e6155;
}
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"]::after {
 content: ''; position: absolute; top: -7px; left: -10px; right: -10px; height: 12px; border: 1px solid #6d5430; border-radius: 7px;
 background: linear-gradient(#c1a16b,#8f6c3e 55%,#4b351f); box-shadow: 0 4px 5px #0004; pointer-events: none;
}
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] > .at-specimen-material {
 display: block; position: absolute; top: 30px; left: calc(50% - 23px); right: auto; bottom: auto; width: 46px; height: 92px; border: 0; margin: 0; background: #d5b471; mask: url('../images/identity/eriya-branching.svg') center/contain no-repeat; -webkit-mask: url('../images/identity/eriya-branching.svg') center/contain no-repeat; transform: none; opacity: .95;
}
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] > .at-specimen-material::before,
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] > .at-specimen-material::after,
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] > .at-specimen-material > * { display: none; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] .at-sample-body { display: flex; flex-direction: column; min-height: 100%; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] .at-specimen-kicker { font: 10px/1.5 var(--mono); text-align: center; text-transform: uppercase; color: #d1b57d; letter-spacing: .055em; margin: 0 0 17px; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] h2 { max-width: none; min-height: 2.15em; display: flex; align-items: center; justify-content: center; color: #f6e7c7; font: 400 clamp(32px,3.2vw,48px)/1.05 var(--serif); letter-spacing: -.02em; text-align: center; margin: 0 0 17px; text-wrap: balance; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] .at-lead { text-align: center; font: 10px/1.6 var(--mono); letter-spacing: .14em; color: #e2c991; margin: 0 0 24px; padding-block: 10px; border-block: 1px solid #bb9d614d; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] .at-register { margin: 0; display: flex; flex-direction: column; gap: 21px; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] .at-register > div { display: block; padding: 0; border: 0; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] dt { color: #cfb584; font: 10px/1.5 var(--mono); letter-spacing: .04em; margin: 0 0 6px; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] dd { margin: 0; color: #f4e9d3; font: 19px/1.45 var(--serif); overflow-wrap: anywhere; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] .at-register > div:first-child dd { font-size: 42px; line-height: 1.05; }
.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] .at-afterhand { margin: 27px 0 0; padding-top: 18px; border-top: 1px dashed #c4a36a80; color: #ecdcbc; font: italic 17px/1.4 var(--serif); }
@media (max-width: 1050px) {
 .campaign-hall .campaign-records { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 60px 30px; }
 .campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"],.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"]:nth-of-type(4),.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"]:nth-of-type(5) { grid-column: auto; }
 .campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] h2 { font-size: 40px; }
 .campaign-tapestry img { max-height: 390px; }
}
@media (max-width: 600px) {
 .campaign-hall { padding-top: 26px; padding-bottom: 70px; }
 .campaign-header { padding-bottom: 22px; }.campaign-world-mark { width: 108px; }
 .campaign-header h1 { font-size: clamp(60px,15vw,88px); }
 .campaign-title-seam { margin-top: 20px; }.campaign-tapestry img { aspect-ratio: 1.5; max-height: none; }
 .campaign-hall .campaign-records { grid-template-columns: minmax(0,1fr); gap: 55px; margin-top: 28px; }
 .campaign-records > p:first-of-type { font-size: 22px; margin-bottom: 0; }
 .campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] { padding: 140px 32px 65px; }
 .campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] h2 { min-height: 0; font-size: 42px; }
}
@media print {
 .campaign-hall .campaign-records { display: block; }
 .campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] { break-inside: avoid; margin-bottom: 30px; filter: none; color: black; padding: 20px; }
 .campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"]::before,.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"]::after,.campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] > .at-specimen-material { display: none; }
 .campaign-hall .campaign-records .at-specimen[data-at-form="campaign-record"] :is(h2,p,dt,dd,footer) { color: black; }
}
