.contact-poster { --bg:#f0eee7; --text:#171715; --muted:#5b5c55; --accent:#f44d20; --accent-bright:#f44d20; --line:#17171540; background:var(--bg); color:var(--text); }
.contact-poster::before { display:none; }
.contact-poster .grain { opacity:.04; }
.contact-poster .site-header,.contact-poster main,.contact-poster footer { width:min(1360px,calc(100% - 96px)); }
.contact-poster .site-header { height:88px; border-color:var(--text); }
.contact-poster .logo { font-size:1.5rem; }
.contact-poster nav a { color:#56564f; }
.contact-poster nav a:hover,.contact-poster nav a.active { color:#171715; }
.contact-poster .nav-contact.active { background:#171715; color:var(--bg); border-color:#171715; }
.contact-poster .contact-page { display:block; min-height:0; padding:32px 0 0; }
.poster-topline { display:flex; justify-content:space-between; gap:16px; text-transform:uppercase; letter-spacing:.13em; font-size:.61rem; }
.poster-topline i { color:var(--accent); margin-left:12px; font-size:1rem; font-style:normal; }
.contact-title { position:relative; margin:42px 0 34px; }
.contact-poster .contact-page h1 { font:600 clamp(4rem,11.5vw,11.6rem)/.98 var(--display); letter-spacing:-.075em; margin:0; }
.contact-poster .contact-page h1 em { color:var(--text); font-style:normal; display:block; }
.contact-poster .contact-page h1 em span { color:var(--accent); }
.signal-mark { position:absolute; top:-10px; right:1%; color:var(--bg); background:var(--accent); display:grid; place-items:center; width:clamp(90px,15vw,205px); aspect-ratio:1; border-radius:50%; font:400 clamp(80px,13vw,180px)/1 Arial,sans-serif; transform:rotate(-12deg); transition:transform .4s; }
.contact-title:hover .signal-mark { transform:rotate(0deg); }
.contact-intro { display:grid; grid-template-columns:1fr 1fr; align-items:start; margin:35px 0 45px; }
.poster-label { padding-top:7px; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
.poster-label::before { content:""; display:inline-block; width:8px; height:8px; background:var(--accent); border-radius:50%; margin-right:12px; }
.contact-poster .contact-lead { font:500 clamp(1.1rem,2vw,1.8rem)/1.4 var(--body); color:var(--text); margin:0; }
.contact-poster .contact-list { margin:0; border-top:2px solid var(--text); }
.contact-poster .contact-list a { position:relative; isolation:isolate; overflow:hidden; grid-template-columns:180px minmax(0,1fr) 60px; gap:18px; min-height:130px; padding:20px 0; border-bottom:1px solid var(--text); transition:color .25s; }
.contact-poster .contact-list a::before { content:""; position:absolute; z-index:-1; inset:0; background:var(--accent); transform:translateX(-101%); transition:transform .4s cubic-bezier(.2,.75,.2,1); }
.contact-poster .contact-list a:hover,.contact-poster .contact-list a:focus-visible { background:transparent; padding:20px 0; transform:none; box-shadow:none; color:#171715; }
.contact-poster .contact-list a:hover::before,.contact-poster .contact-list a:focus-visible::before { transform:translateX(0); }
.contact-poster .contact-list strong { font:500 clamp(1.2rem,2.8vw,2.7rem)/1.25 var(--body); letter-spacing:-.045em; overflow-wrap:anywhere; }
.contact-poster .contact-list span { color:inherit; padding-left:12px; font-size:.64rem; }
.contact-poster .contact-list i { color:inherit; font:400 54px/1 Arial,sans-serif; }
.contact-poster .contact-list a:hover i { transform:translate(4px,-4px); }
.poster-bottom { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:24px; padding:34px 0 45px; }
.contact-poster .contact-note { margin:0; font-size:.78rem; color:var(--muted); }
.poster-signature { font:italic 20px/1.1 Georgia,serif; transform:rotate(-5deg); width:max-content; }
.poster-signature b { font-size:40px; font-weight:400; }
.poster-code { font:bold 35px/.8 monospace; letter-spacing:-4px; }
.poster-code small { display:block; font:9px/1.5 var(--body); letter-spacing:.12em; margin-top:9px; }
.contact-poster footer { border-top:1px solid var(--text); padding-block:24px; color:var(--muted); }
.contact-poster :focus-visible { outline:3px solid #f44d20; outline-offset:5px; }
@media(max-width:900px) {
 .contact-poster .site-header,.contact-poster main,.contact-poster footer { width:calc(100% - 48px); }
 .contact-poster .contact-list a { grid-template-columns:120px minmax(0,1fr) 40px; }
 .contact-poster .contact-page h1 { font-size:11vw; }
}
@media(max-width:600px) {
 .contact-poster .site-header,.contact-poster main,.contact-poster footer { width:calc(100% - 36px); }
 .contact-poster .site-header { height:74px; }
 .contact-poster nav { gap:16px; }
 .contact-poster .logo { font-size:1.25rem; }
 .contact-poster nav a { font-size:.65rem; }
 .contact-poster .nav-contact { padding:7px 10px; }
 .contact-poster .contact-page { padding-top:22px; }
 .poster-topline { font-size:.47rem; letter-spacing:.05em; align-items:center; }
 .contact-title { margin:48px 0 24px; }
 .contact-poster .contact-page h1 { font-size:11vw; line-height:1.1; }
 .signal-mark { width:70px; font-size:61px; top:-12px; right:3px; }
 .contact-intro { grid-template-columns:1fr; gap:18px; margin:24px 0 32px; }
 .poster-label { font-size:.55rem; }
 .contact-poster .contact-lead { font-size:1.25rem; }
 .contact-poster .contact-list a { grid-template-columns:minmax(0,1fr) 32px; gap:10px; min-height:115px; padding:20px 0; }
 .contact-poster .contact-list a span { grid-column:1/-1; padding:0; font-size:.56rem; }
 .contact-poster .contact-list strong { font-size:clamp(1rem,5.2vw,1.6rem); }
 .contact-poster .contact-list i { font-size:35px; }
 .poster-bottom { grid-template-columns:1fr auto; padding:28px 0 32px; }
 .contact-poster .contact-note { font-size:.64rem; }
 .poster-signature { font-size:15px; }
 .poster-signature b { font-size:30px; }
 .poster-code { display:none; }
}
@media(prefers-reduced-motion:reduce) { .contact-poster *,.contact-poster *::before { transition:none!important; } }
