/* Temporary homepage treatment, enabled only during the dates in the companion JS. */
.halloween-copy,.halloween-person{display:none}
html.halloween-weekend .halloween-original{display:none}
html.halloween-weekend .halloween-copy,html.halloween-weekend .halloween-person{display:block}
html.halloween-weekend .home-edited header.hero{padding:150px 0 0;min-height:850px;align-items:end}
html.halloween-weekend .home-edited header.hero::before{background:linear-gradient(90deg,rgba(6,10,2,.86),rgba(6,10,2,.52) 48%,rgba(6,10,2,.12)),url('../images/global/halloween-lab-ai-v2.webp') center/cover no-repeat}
html.halloween-weekend .home-edited .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:30px;align-items:end}
html.halloween-weekend .halloween-copy{padding:24px 0 64px;position:relative;z-index:2}
html.halloween-weekend .halloween-copy h1{font-size:clamp(3.5rem,5.6vw,6rem);line-height:.98;max-width:none;margin:20px 0 26px;letter-spacing:-.045em}
html.halloween-weekend .halloween-copy p{max-width:49ch;font-size:1.02rem;line-height:1.65;color:#e1dfcf;margin:0 0 18px}
html.halloween-weekend .halloween-copy .halloween-kicker{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ead564}
html.halloween-weekend .halloween-copy .halloween-intro{font-size:1.13rem;color:#fff}
html.halloween-weekend .halloween-copy strong{color:#fff}
html.halloween-weekend .halloween-copy .halloween-invite{margin:26px 0 24px;color:#ead564}
html.halloween-weekend .halloween-person{width:100%;align-self:end;pointer-events:none}
.halloween-person img{display:block;width:100%;height:auto}
@media(max-width:1100px) and (min-width:761px){html.halloween-weekend .home-edited .hero-grid{grid-template-columns:1.15fr 1fr;gap:12px}html.halloween-weekend .halloween-copy h1{font-size:3.5rem}}
@media(max-width:760px){
 html.halloween-weekend .home-edited header.hero{padding:120px 0 0;min-height:0}
 html.halloween-weekend .home-edited header.hero::before{background:linear-gradient(rgba(6,10,2,.78),rgba(6,10,2,.48)),url('../images/global/halloween-lab-ai-v2.webp') 62% center/cover no-repeat}
 html.halloween-weekend .home-edited .hero-grid{grid-template-columns:1fr;gap:0}
 html.halloween-weekend .halloween-copy{padding:12px 0 30px}
 html.halloween-weekend .halloween-copy h1{font-size:clamp(3.2rem,12vw,4.7rem)}
 html.halloween-weekend .halloween-person{width:min(100%,460px);justify-self:center}
 html.halloween-weekend .halloween-copy .btn-row{flex-wrap:wrap}
}
@media(min-width:761px){
 html.halloween-weekend .halloween-person img{width:auto;max-width:100%;height:760px;object-fit:contain;object-position:bottom; margin-left:auto}
 html.halloween-weekend .halloween-copy{align-self:center}
}
/* Explicit Halloween-only art-direction exception: oversized crime-poster typography. */
@font-face{font-family:HalloweenAnton;src:url('../assets/fonts/anton-halloween.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
html.halloween-weekend .home-edited .halloween-copy h1{
 font-family:HalloweenAnton,Impact,'Arial Narrow',sans-serif!important;
 font-size:clamp(5rem,8.4vw,9.25rem)!important;font-weight:400!important;
 line-height:.94!important;letter-spacing:-.025em!important;text-transform:uppercase!important;
 font-style:italic;color:#efc926;text-shadow:3px 5px 0 #171b09;
 margin:18px 0 28px;max-width:none!important;text-wrap:initial;
}
html.halloween-weekend .halloween-copy h1 .hero-highlight{color:#efc926}
html.halloween-weekend .halloween-copy .halloween-kicker{font-family:HalloweenAnton,Impact,sans-serif;font-size:1.1rem;letter-spacing:.05em;line-height:1.3;color:#b4c775}
html.halloween-weekend .halloween-copy .halloween-intro{font-size:1.25rem;font-weight:700;line-height:1.4}
html.halloween-weekend .halloween-copy .halloween-invite{font-family:HalloweenAnton,Impact,sans-serif;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.2;text-transform:uppercase;color:#efc926;max-width:27ch}
html.halloween-weekend .halloween-copy .halloween-invite strong{display:block;margin-top:8px;color:#efc926;font-weight:400}
html.halloween-weekend .halloween-copy .btn{font-family:HalloweenAnton,Impact,sans-serif;font-size:1.2rem;letter-spacing:.025em}
html.halloween-weekend .halloween-copy{padding-bottom:42px}
@media(min-width:761px){html.halloween-weekend .halloween-person img{height:850px}}
@media(max-width:1100px) and (min-width:761px){html.halloween-weekend .home-edited .halloween-copy h1{font-size:clamp(3.8rem,8vw,6rem)!important}}
@media(max-width:760px){
 html.halloween-weekend .home-edited .halloween-copy h1{font-size:clamp(3.8rem,15vw,7rem)!important;line-height:.98!important}
 html.halloween-weekend .halloween-copy .halloween-kicker{font-size:.95rem}
 html.halloween-weekend .halloween-copy .halloween-intro{font-size:1.15rem}
}
/* Halloween field notes: torn tape, typewriter ink, worn paper and laboratory olive. */
html.halloween-weekend .home-edited header.hero{--paper:#d9cfaa;--ink:#202618;--cat:#e3c443;--text:#eee6c9;--muted:#c8c6ac;--steel:#171d12;--steel-2:#242c1b}
html.halloween-weekend .home-edited .halloween-field-notes{max-width:570px;margin:28px 0 32px}
html.halloween-weekend .home-edited .halloween-field-notes p{font-family:'Courier New',Courier,monospace!important;font-size:1.05rem!important;line-height:1.7!important;font-weight:700!important;margin:0 0 24px}
html.halloween-weekend .halloween-tape{background:#ded1a0;color:#1a2114;padding:5px 10px;box-decoration-break:clone;-webkit-box-decoration-break:clone;box-shadow:2px 3px 0 rgba(0,0,0,.35);text-shadow:.3px 0 currentColor}
html.halloween-weekend .halloween-field-notes .halloween-intro{transform:rotate(-1deg);margin-bottom:28px}
html.halloween-weekend .halloween-field-notes .halloween-punchline{transform:rotate(.7deg)}
html.halloween-weekend .halloween-punchline .halloween-tape{background:#e3c443;text-transform:uppercase}
html.halloween-weekend .halloween-field-notes .halloween-note{color:#e0dcc5;border-left:2px dashed #69734c;padding-left:16px}
@media(max-width:760px){html.halloween-weekend .home-edited .halloween-field-notes p{font-size:.98rem!important;line-height:1.85!important}html.halloween-weekend .halloween-tape{padding:4px 6px}}
/* Shared pages inherit the weekend palette, without altering portfolio artwork or forms. */
/* Use the full left field: no narrow paragraph measure or oversized vertical gaps. */
html.halloween-weekend .home-edited .halloween-field-notes{max-width:none;width:100%;margin:18px 0}
html.halloween-weekend .home-edited .halloween-copy p{max-width:none}
html.halloween-weekend .home-edited .halloween-field-notes p{max-width:none;margin-bottom:15px;line-height:1.5!important}
html.halloween-weekend .home-edited .halloween-copy .halloween-invite{max-width:none;margin:18px 0;line-height:1.1}
html.halloween-weekend .home-edited .halloween-copy .halloween-invite br{display:none}
@media(min-width:901px){
 html.halloween-weekend .home-edited header.hero{padding-top:120px;min-height:100svh}
 html.halloween-weekend .home-edited .hero-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:28px}
 html.halloween-weekend .home-edited .halloween-copy{padding:12px 0 28px}
 html.halloween-weekend .home-edited .halloween-copy h1{font-size:clamp(5rem,7.1vw,8rem)!important;margin:12px 0 20px}
 html.halloween-weekend .home-edited .halloween-person img{height:auto;max-height:calc(100svh - 120px);width:100%;object-fit:contain;object-position:bottom}
}
/* Poster composition: concise billing, oversized title, dominant cast. */
html.halloween-weekend .home-edited .halloween-copy .halloween-kicker{font-family:'Courier New',monospace;font-weight:900;font-size:.83rem;letter-spacing:.13em;color:#ded3a5}
html.halloween-weekend .home-edited .halloween-field-notes{margin:24px 0 18px}
html.halloween-weekend .home-edited .halloween-field-notes .halloween-intro{font-size:clamp(1.1rem,1.5vw,1.5rem)!important;line-height:1.85!important;transform:rotate(-1.8deg);margin-bottom:24px}
html.halloween-weekend .halloween-tape{padding:5px 12px}
html.halloween-weekend .home-edited .halloween-field-notes .halloween-note{border:0;padding:0;font-size:1.1rem!important;line-height:1.45!important;margin:20px 0;color:#f1e6c6}
html.halloween-weekend .home-edited .halloween-field-notes .halloween-punchline{margin:18px 0;transform:rotate(.8deg);font-size:1.15rem!important}
html.halloween-weekend .home-edited .halloween-field-notes .halloween-services{font-size:.85rem!important;letter-spacing:.12em;color:#c6ca9d}
html.halloween-weekend .home-edited .halloween-copy .halloween-invite{font-size:clamp(1.8rem,2.7vw,2.8rem);margin:20px 0}
@media(min-width:901px){
 html.halloween-weekend .home-edited header.hero{padding-top:128px;min-height:100svh}
 html.halloween-weekend .home-edited .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px}
 html.halloween-weekend .home-edited .halloween-copy{padding:20px 0 32px}
 html.halloween-weekend .home-edited .halloween-copy h1{font-size:clamp(5.5rem,7.5vw,9rem)!important;line-height:.92!important;transform:rotate(-2deg);transform-origin:left bottom;margin:20px 0 28px}
 html.halloween-weekend .home-edited .halloween-person img{max-height:none;height:calc(100svh - 140px);min-height:700px;width:100%;object-fit:contain;object-position:bottom}
}
@media(max-width:760px){
 html.halloween-weekend .home-edited .halloween-field-notes .halloween-intro{font-size:1rem!important}
 html.halloween-weekend .home-edited .halloween-copy h1{transform:rotate(-2deg);transform-origin:left bottom}
 html.halloween-weekend .home-edited .halloween-field-notes .halloween-note{font-size:1rem!important}
}
html.halloween-weekend .home-edited .halloween-copy .halloween-alias{font-family:HalloweenAnton,Impact,sans-serif!important;font-size:clamp(1.35rem,2.2vw,2.2rem)!important;line-height:1.12!important;letter-spacing:.035em;text-transform:uppercase;color:#e3c443;margin:10px 0 4px}
html.halloween-weekend .home-edited .halloween-copy .halloween-kicker{margin-bottom:4px}
@media(min-width:901px){html.halloween-weekend .home-edited .halloween-copy h1{margin-top:12px;margin-bottom:20px}html.halloween-weekend .home-edited .halloween-field-notes{margin-top:14px}html.halloween-weekend .home-edited .halloween-field-notes .halloween-note{margin:14px 0}}
/* Bring the poster's two halves inward without shrinking its type. */
@media(min-width:1101px){
 html.halloween-weekend .home-edited header.hero>.wrap{max-width:1480px!important;width:100%;margin-inline:auto;padding-inline:48px!important;box-sizing:border-box}
 html.halloween-weekend .home-edited .hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:0}
 html.halloween-weekend .home-edited .halloween-person img{margin-inline:0 auto}
}
