/* Bachelor party planner only; shared navigation, footer and site styles remain unchanged. */
.bachelor-planner{color-scheme:dark;--bg:#000;--card:#0a0008;--border:rgba(255,255,255,.18);--muted:rgba(255,255,255,.75);--pink:#FF40C6;--blue:#1F51FF;--text:#fff;--serif:'Instrument Serif',serif;--sans:'Montserrat',sans-serif}
.bachelor-planner *{box-sizing:border-box}
.bachelor-planner button,.bachelor-planner input,.bachelor-planner select,.bachelor-planner textarea{font:inherit}
.bachelor-planner a{color:var(--pink);text-underline-offset:4px}
.bachelor-planner button,.bachelor-planner a,.bachelor-planner input,.bachelor-planner select,.bachelor-planner textarea{touch-action:manipulation}
.bachelor-planner button{cursor:pointer}
.bachelor-planner button:disabled{opacity:.5;cursor:default}
.bachelor-planner :focus-visible{outline:2px solid var(--pink);outline-offset:4px}
.bachelor-planner .eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:600;color:var(--pink);margin:0 0 14px}
.bachelor-planner .intro{padding:56px 0 32px;max-width:810px}
.bachelor-planner h1{font-family:var(--serif);font-size:clamp(42px,6.5vw,60px);font-weight:400;line-height:1.1;letter-spacing:-.01em;margin:0 0 24px}
.bachelor-planner h1 em{color:var(--pink);font-weight:400}
.bachelor-planner .lead{font-size:16px;line-height:1.6;letter-spacing:-.02em;max-width:680px;color:rgba(255,255,255,.85);margin:0 0 30px}
.bachelor-planner .planner-jump{max-width:260px;margin-bottom:26px}
.bachelor-planner .planner-hero{margin:0 0 34px}
.bachelor-planner .planner-hero img,.bachelor-planner .sample-photo img{display:block;width:100%;height:auto}
.bachelor-planner figcaption{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.6}
.bachelor-planner .sample-story{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start}
.bachelor-planner .sample-photo{margin:28px 0 0}
.bachelor-planner .answer{border-left:2px solid var(--pink);padding:2px 0 2px 20px}
.bachelor-planner .answer h2{font-size:16px;font-weight:700;line-height:1.35;margin:0 0 8px}
.bachelor-planner .answer p{color:rgba(255,255,255,.85);font-size:16px;line-height:1.6;letter-spacing:-.02em;margin:0}
.bachelor-planner .builder{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;align-items:start;max-width:810px;margin:8px 0 54px}
.bachelor-planner form{min-width:0}
.bachelor-planner .section-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 14px;margin-bottom:8px}
.bachelor-planner .section-top h2,.bachelor-planner .brief-panel h2{font-family:var(--serif);font-size:36px;font-weight:400;line-height:1.1;letter-spacing:-.02em;margin:0 0 10px}
.bachelor-planner .muted{color:var(--muted);font-size:14px;margin:0 0 22px}
.bachelor-planner .text-button{border:0;background:none;color:var(--pink);font-size:13px;padding:5px 0;text-decoration:underline;text-underline-offset:4px}
.bachelor-planner .section-top .text-button{white-space:nowrap}
.bachelor-planner fieldset{border:0;border-top:1px solid var(--border);margin:0 0 28px;padding:20px 0 0;min-width:0}
.bachelor-planner legend{padding:0 12px 0 0;font-weight:600;font-size:16px;line-height:1.4}
.bachelor-planner .step{color:var(--pink);font-size:12px;margin-right:10px;letter-spacing:1px}
.bachelor-planner .fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.bachelor-planner .field{min-width:0}
.bachelor-planner .field.full{grid-column:1/-1}
.bachelor-planner label{display:block;font-size:16px;font-weight:600;line-height:1.3;letter-spacing:-.2px;margin-bottom:10px}
.bachelor-planner input,.bachelor-planner textarea,.bachelor-planner select{display:block;width:100%;min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:0;padding:10px 12px;background:rgba(64,48,60,.68);color:#fff;font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.5;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.bachelor-planner input,.bachelor-planner select{min-height:44px}
.bachelor-planner input::placeholder,.bachelor-planner textarea::placeholder{color:rgba(255,255,255,.55)}
.bachelor-planner input:focus,.bachelor-planner textarea:focus,.bachelor-planner select:focus{border-color:rgba(255,64,198,.5)}
.bachelor-planner textarea{resize:vertical}
.bachelor-planner select option{background:#1b1018;color:#fff}
.bachelor-planner .field-link{font-size:12px;display:inline-block;margin-top:7px}
.bachelor-planner input:user-invalid{border-color:#ffb5a7}
.bachelor-planner .brief-panel{border:1px solid var(--border);border-radius:0;padding:24px;background:var(--card);scroll-margin-top:24px}
.bachelor-planner [hidden]{display:none!important}
.bachelor-planner #party-form{scroll-margin-top:24px}
.bachelor-planner .form-footer{display:flex;align-items:baseline;gap:20px;margin-top:10px}
.bachelor-planner #form-status{font-size:13px;color:var(--muted);margin:0}
.bachelor-planner #brief{font:400 14px/1.6 var(--sans);background:rgba(64,48,60,.68);color:rgba(255,255,255,.85);min-height:475px;max-height:850px}
.bachelor-planner .button{display:flex;justify-content:center;align-items:center;text-align:center;width:100%;min-height:44px;padding:10px 16px;border-radius:50px;font-family:var(--serif);font-size:16px;font-weight:400;line-height:1.4;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.bachelor-planner .primary{background:var(--pink);color:#fff;border:0;margin-top:18px}
.bachelor-planner .secondary{border:0;color:#fff;background:var(--blue)}
.bachelor-planner .button:hover{transform:scale(1.03)}
.bachelor-planner .primary:hover{box-shadow:0 8px 25px rgba(255,64,198,.4)}
.bachelor-planner .secondary:hover{box-shadow:0 8px 25px rgba(31,81,255,.4)}
.bachelor-planner .brief-actions{display:flex;justify-content:space-between;gap:16px;margin-top:5px}
.bachelor-planner #status{font-size:13px;color:var(--pink);min-height:22px;margin:8px 0 14px}
.bachelor-planner .privacy{font-size:12px;color:var(--muted);margin:14px 0 0}
.bachelor-planner .reset{color:var(--muted)}
.bachelor-planner .sample-concept{border-top:1px solid var(--border);padding-top:42px;max-width:810px;margin-bottom:58px}
.bachelor-planner .sample-concept h2{font-family:var(--serif);font-size:clamp(30px,4vw,42px);font-weight:400;font-style:italic;color:var(--pink);line-height:1.1;letter-spacing:-.01em;margin:0 0 16px}
.bachelor-planner .sample-concept h3{font-size:16px;font-weight:700;margin:28px 0 6px}
.bachelor-planner .sample-concept p{color:rgba(255,255,255,.85);font-size:16px;line-height:1.6;letter-spacing:-.02em}
.bachelor-planner .sample-concept .sample-label{font-size:14px;color:var(--pink);font-style:italic}
.bachelor-planner .sample-concept a.text-button{display:inline-block;margin-top:12px}
.bachelor-planner .notice{padding:18px;border:1px solid var(--pink)}
.bachelor-planner .sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
@media(max-width:850px){
.bachelor-planner .builder{grid-template-columns:1fr;gap:24px}
.bachelor-planner .brief-panel{position:static}
.bachelor-planner #brief{min-height:400px}
.bachelor-planner .intro{padding-top:42px}
}
@media(max-width:640px){
.bachelor-planner .sample-story{grid-template-columns:1fr;gap:8px}
.bachelor-planner .sample-photo{max-width:380px;margin:16px auto 0}
.bachelor-planner .planner-hero{margin-bottom:28px}
.bachelor-planner .planner-jump{max-width:100%}
}
@media(max-width:480px){
.bachelor-planner .section-top{flex-direction:column;gap:0;margin-bottom:10px}
.bachelor-planner .section-top h2{margin-bottom:3px}
.bachelor-planner .fields{grid-template-columns:1fr}
.bachelor-planner .brief-panel{padding:20px}
.bachelor-planner .intro{padding-bottom:26px}
.bachelor-planner .sample-concept{padding-top:32px}
}
@media(prefers-reduced-motion:reduce){
.bachelor-planner .button{transition:none}
.bachelor-planner .button:hover{transform:none}
}

body[data-page="bachelor-party-vancouver"] #page-content{padding-top:0}
.bachelor-planner{max-width:1000px;margin:0 auto;padding:136px 24px 0;color:#fff;font:400 16px/1.6 'Montserrat',sans-serif}
.bachelor-planner .intro,.bachelor-planner .builder,.bachelor-planner .sample-concept,.bachelor-planner #bachelor-party-details{margin-left:auto;margin-right:auto;max-width:810px}
.bachelor-planner .intro{padding-top:28px}
.bachelor-planner #party-form,.bachelor-planner .brief-panel{scroll-margin-top:145px}
.bachelor-planner #bachelor-party-details{border-top:1px solid var(--border);padding-top:16px;padding-bottom:64px}
.bachelor-planner .service-detail-content{max-width:none;padding:0;margin:0}
@media(max-width:1099px){.bachelor-planner{padding-top:110px}.bachelor-planner #party-form,.bachelor-planner .brief-panel{scroll-margin-top:110px}}
@media(max-width:480px){.bachelor-planner{padding-left:20px;padding-right:20px}}

/* Direct booking request and optional contact shortcut. */
.bachelor-planner .planner-contact-option{margin:0 0 28px}
.bachelor-planner .planner-contact-option p{font-size:14px;color:var(--muted);margin:0 0 12px}
.bachelor-planner .planner-contact-option .button{max-width:260px}
.bachelor-planner .brief-panel .planner-contact-option{margin:28px 0 0;border-top:1px solid var(--border);padding-top:20px}
.bachelor-planner #booking-request-form{margin-top:24px}
.bachelor-planner #booking-request-form fieldset{margin-bottom:18px}
.bachelor-planner #booking-status{font-size:14px;line-height:1.6;margin:14px 0 0;scroll-margin-top:145px}
.bachelor-planner #booking-status[data-kind="error"]{color:#ffb5a7}
.bachelor-planner #booking-status[data-kind="success"]{color:#93e8bc}
.bachelor-planner #booking-status[data-kind="pending"]{color:var(--muted)}
.bachelor-planner .brief-actions{justify-content:flex-start;flex-wrap:wrap;gap:20px}
@media(max-width:480px){.bachelor-planner .planner-contact-option .button{max-width:100%}}
