.vn-press { color:#282329; background:#fff; }
.vn-press::selection,.vn-press ::selection { background:#e9b7cd; color:#351026; }
.vn-press * { box-sizing:border-box; }
.vn-press :focus-visible { outline:3px solid #b81f63; outline-offset:3px; }
.vn-press-hero { background:radial-gradient(circle at 76% 24%,#6a244c 0,#40152f 49%,#2c1024 100%); color:#fff; padding:clamp(3.5rem,7vw,7rem) 0; }
.vn-press-hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.vn-press-hero h1 { font-size:clamp(2.8rem,4.7vw,4.9rem); line-height:1.07; letter-spacing:-.035em; margin:.32em 0 .28em; font-weight:750; }
.vn-press-hero h1 span { display:block; color:#f6d5e5; }
.vn-press-eyebrow { text-transform:uppercase; letter-spacing:.11em; font-size:clamp(1rem,1.25vw,1.2rem); font-weight:650; margin:0; }
.vn-press-lead { font-size:clamp(1.35rem,1.8vw,1.8rem); line-height:1.42; font-weight:400; max-width:24em; margin:0 0 1.7rem; }
.vn-press-event-info { border-top:1px solid rgba(255,255,255,.4); padding-top:1.3rem; }
.vn-press-event-info p { font-size:clamp(1.15rem,1.6vw,1.45rem); line-height:1.45; margin:0 0 .85rem; }
.vn-press-event-info strong { font-weight:600; }
.vn-press-hero .vn-press-portrait { display:block; width:min(100%,510px); height:auto; justify-self:end; border-radius:1.1rem; box-shadow:0 24px 60px rgba(18,4,13,.28); }
.vn-press-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:2.1rem; }
.vn-press-button { display:inline-block; border:2px solid #b81f63; border-radius:.5rem; padding:.9rem 1.25rem; background:#b81f63; color:#fff; font-size:1.06rem; font-weight:750; text-decoration:none; cursor:pointer; line-height:1.35; }
.vn-press-button:hover { background:#8c1249; border-color:#8c1249; color:#fff; }
.vn-press-button-light { background:transparent; border-color:#fff; color:#fff; }
.vn-press-button-light:hover { background:#fff; border-color:#fff; color:#40152f; }
.vn-press-kicker { color:#9e174f; text-transform:uppercase; letter-spacing:.14em; font-size:.9rem; font-weight:800; margin:0 0 .8rem; }
.vn-press-section { padding-top:clamp(3rem,6vw,5rem); padding-bottom:clamp(3rem,6vw,5rem); scroll-margin-top:6rem; }
.vn-press-section h2 { font-size:clamp(2rem,3.5vw,3.2rem); color:#40152f; }
.vn-press-intro { max-width:61rem; line-height:1.7; font-size:clamp(1.12rem,1.45vw,1.3rem); }
.vn-press-intro strong { color:#40152f; }
.vn-press-content { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr); gap:2rem; align-items:start; margin-top:2rem; }
.vn-press-form,.vn-press-aside { padding:clamp(1.2rem,3vw,2rem); background:#fbf7f9; border:1px solid #eadce3; border-radius:.8rem; }
.vn-press-form h3 { margin:1.6rem 0 .9rem; color:#40152f; font-size:1.25rem; }
.vn-press-form h3:first-of-type { margin-top:0; }
.vn-press-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.vn-press-field { display:block; margin-bottom:1rem; font-weight:600; }
.vn-press-field span { display:block; margin-bottom:.35rem; }
.vn-press-field input,.vn-press-field textarea { display:block; width:100%; padding:.65rem .75rem; border:1px solid #83747d; border-radius:.35rem; background:#fff; color:#282329; }
.vn-press-field b,.vn-press-days b { color:#9e174f; }
.vn-press-member { border:1px solid #d8c5cf; border-radius:.5rem; padding:1rem; margin:0 0 1rem; min-width:0; }
.vn-press-member legend { float:none; width:auto; padding:0 .3rem; font-size:1rem; font-weight:700; }
.vn-press-self { display:flex; align-items:center; gap:.55rem; margin:0 0 1rem; font-weight:700; cursor:pointer; }
.vn-press-self input { width:1.1rem; height:1.1rem; accent-color:#9e174f; }
.vn-press-days { border:0; padding:0; margin:1.5rem 0; }
.vn-press-days legend { font-size:1rem; font-weight:700; }
.vn-press-days label { display:block; margin:.5rem 0; }
.vn-press-days input { accent-color:#9e174f; }
#vn-press-add,.vn-press-remove { border:0; padding:.4rem 0; color:#8c1249; background:none; text-decoration:underline; cursor:pointer; font-weight:700; }
.vn-press-privacy { font-size:.9rem; line-height:1.6; }
.vn-press-trap { position:absolute!important; left:-10000px; width:1px; height:1px; overflow:hidden; }
.vn-press-errors,.vn-press-success { padding:1rem 1.25rem; margin-bottom:1.5rem; border-radius:.4rem; }
.vn-press-errors { background:#fff0f2; border:1px solid #a20f3b; color:#72142f; }
.vn-press-success { background:#e8f5eb; border:1px solid #337a48; color:#174c29; }
.vn-press-aside h3 { color:#40152f; font-size:1.5rem; }
.vn-press-aside p { line-height:1.65; font-size:1.07rem; }
.vn-press-aside address { border-top:1px solid #d8c5cf; margin-top:1.5rem; padding-top:1.3rem; font-style:normal; display:grid; gap:.35rem; font-size:1.1rem; }
.vn-press-aside address a { color:#8c1249; font-weight:700; overflow-wrap:anywhere; }
.vn-press-kit { background:#faf6f8; }
.vn-press-kit-lead { max-width:62rem; font-size:clamp(1.12rem,1.4vw,1.3rem); line-height:1.65; }
.vn-press-announcement { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr); gap:1.5rem 2rem; background:#fff; border:1px solid #e4d4dc; border-radius:.9rem; padding:clamp(1.4rem,3vw,2.4rem); margin-top:2rem; box-shadow:0 14px 36px rgba(64,21,47,.07); }
.vn-press-announcement h3 { color:#40152f; font-size:clamp(1.5rem,2.3vw,2.25rem); line-height:1.22; margin:0 0 1.1rem; }
.vn-press-announcement-copy>p:not(.vn-press-kicker) { font-size:1.1rem; line-height:1.7; }
.vn-press-announcement-visual img { width:100%; height:auto; border-radius:.6rem; display:block; }
.vn-press-announcement-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; border-top:1px solid #eadce3; padding-top:1.25rem; }
.vn-press-button-outline { background:#fff; border-color:#8c1249; color:#8c1249; }
.vn-press-button-outline:hover { color:#fff; }
.vn-press-copy-status { color:#326544; font-weight:700; }
.vn-press-kit-group { margin-top:2rem; }
.vn-press-kit-group h3 { color:#40152f; border-bottom:1px solid #d8c5cf; padding-bottom:.5rem; }
.vn-press-kit-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; }
.vn-press-kit-items article { display:flex; flex-direction:column; justify-content:space-between; background:#fff; border:1px solid #eadce3; border-radius:.6rem; padding:1.2rem; }
.vn-press-kit-thumb { width:100%; max-height:170px; object-fit:contain; margin-bottom:.9rem; background:#faf6f8; border-radius:.3rem; }
.vn-press-kit-items h4 { font-size:1.1rem; }
.vn-press-dimensions { color:#685d64; font-size:.9rem; }
.vn-press-kit-items a { align-self:flex-start; font-weight:700; color:#8c1249; }
.vn-press-group-intro { max-width:60rem; margin:.6rem 0 1.5rem; color:#60545b; font-size:1.05rem; line-height:1.6; }
.vn-press-social-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.vn-press-social-card,.vn-press-workshop-card { overflow:hidden; background:#fff; border:1px solid #e4d4dc; border-radius:.85rem; box-shadow:0 10px 28px rgba(64,21,47,.06); }
.vn-press-social-card { display:flex; flex-direction:column; }
.vn-press-social-visual { display:flex; justify-content:center; align-items:center; height:250px; padding:1rem; background:#f1e9e5; }
.vn-press-social-visual img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:.25rem; box-shadow:0 4px 18px rgba(41,23,31,.12); }
.vn-press-social-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; gap:.65rem; padding:1.3rem; }
.vn-press-format { color:#9e174f; font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.vn-press-social-body h4,.vn-press-workshop-body h4 { margin:0; color:#40152f; font-size:1.35rem; line-height:1.24; }
.vn-press-social-body p { margin:0 0 .5rem; line-height:1.55; color:#544950; }
.vn-press-kit-download { display:inline-block; margin-top:auto; padding:.72rem 1rem; border:1px solid #9e174f; border-radius:.45rem; background:#9e174f; color:#fff!important; font-weight:750; line-height:1.3; text-decoration:none; text-align:center; }
.vn-press-kit-download:hover { background:#76113c; border-color:#76113c; color:#fff!important; }
.vn-press-workshop-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.vn-press-workshop-card { display:grid; grid-template-columns:190px minmax(0,1fr); min-width:0; }
.vn-press-workshop-visual { display:flex; align-items:center; justify-content:center; min-height:100%; padding:.8rem; background:#f1e9e5; }
.vn-press-workshop-visual img { display:block; width:100%; height:auto; max-height:100%; object-fit:contain; border-radius:.3rem; box-shadow:0 5px 20px rgba(41,23,31,.13); }
.vn-press-workshop-body { display:flex; flex-direction:column; align-items:flex-start; gap:.6rem; padding:1.3rem; }
.vn-press-workshop-schedule { margin:.25rem 0 0; color:#40152f; font-size:1.05rem; font-weight:800; }
.vn-press-workshop-venue { margin:0; color:#6d5b66; font-size:.94rem; line-height:1.45; }
.vn-press-workshop-description { margin:.3rem 0 .6rem; color:#4d4349; line-height:1.6; }
.vn-press-workshop-description p { margin:0; }
.vn-press-workshop-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin-top:auto; padding-top:.4rem; }
.vn-press-workshop-actions .vn-press-kit-download { margin:0; }
.vn-press-workshop-link { color:#8c1249; font-weight:750; line-height:1.4; }
@media(max-width:1199px) { .vn-press-social-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .vn-press-workshop-grid { grid-template-columns:1fr; } }
@media(max-width:767px) { .vn-press-social-grid { grid-template-columns:1fr; } .vn-press-social-visual { height:270px; } .vn-press-workshop-card { grid-template-columns:1fr; } .vn-press-workshop-visual { min-height:0; height:350px; } .vn-press-workshop-visual img { width:auto; max-width:100%; max-height:100%; } }
@media(max-width:991px) { .vn-press-hero-grid { grid-template-columns:1fr; } .vn-press-hero .vn-press-portrait { justify-self:start; width:min(100%,480px); } .vn-press-announcement { grid-template-columns:1fr; } .vn-press-announcement-visual { max-width:640px; } }
@media(max-width:767px) { .vn-press-content,.vn-press-two { grid-template-columns:1fr; } .vn-press-hero { padding:3rem 0; } .vn-press-hero h1 { font-size:clamp(2.6rem,10vw,3.5rem); } .vn-press-lead { font-size:1.35rem; } .vn-press-actions { flex-direction:column; align-items:stretch; } .vn-press-actions a { text-align:center; } .vn-press-announcement-actions { align-items:stretch; flex-direction:column; } .vn-press-announcement-actions .vn-press-button { width:100%; text-align:center; } }
