/* Harbor House — Business pages shared (Stage 6): plan, tickets, events, faq, memberships, about, accessibility, field trips, contact */
.band{border-radius:var(--radius-xl);padding:var(--sp-8) var(--sp-6);color:#fff;background:
  radial-gradient(circle at 16% 0%,rgba(255,201,60,.28),transparent 42%),
  linear-gradient(135deg,var(--band,var(--navy)),var(--navy-3));text-align:center;margin:var(--sp-6) 0;box-shadow:var(--shadow)}
.band h1{color:#fff;margin-bottom:var(--sp-2)}
.band p{color:#dbe6f5;max-width:65ch;margin:0 auto;font-size:var(--fs-lg);font-weight:600}
.band .kicker{color:var(--sun)}
.plan-clarify{background:#fff7d6;border:2px solid var(--sun);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);font-weight:600;box-shadow:var(--shadow-sm)}
@media (hover:hover){
  .info-card,.price-card,.tier-card,.program-card,.event-card{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
  .info-card:hover,.price-card:hover,.tier-card:hover,.program-card:hover,.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
}
.sample-note{font-size:var(--fs-sm);font-weight:700;color:var(--ink-soft)}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-5);margin:var(--sp-4) 0}
.info-card{background:#fff;border:2px solid rgba(15,35,64,.07);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}
.info-card h3{margin-top:0}
.info-ico{font-size:2rem;line-height:1;margin-bottom:var(--sp-3)}
.hours-table{width:100%;border-collapse:collapse;font-weight:600}
.hours-table th,.hours-table td{padding:var(--sp-2) var(--sp-3);text-align:left;border-bottom:1px dashed rgba(15,35,64,.14)}
.hours-table tr:last-child th,.hours-table tr:last-child td{border-bottom:none}
.arrival-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-4) 0}
.arrival-chip{min-height:48px;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-full);border:3px solid rgba(15,35,64,.15);background:#fff;color:var(--navy);font-family:var(--font-display);font-weight:700;font-size:var(--fs-base);cursor:pointer}
.arrival-chip[aria-pressed="true"]{border-color:var(--navy);background:var(--sun)}
.arrival-chip:focus-visible,.filter-chip:focus-visible,.acc-btn:focus-visible,.qty-btn:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.arrival-panel{background:var(--cream);border:2px solid var(--sun);border-radius:var(--radius-lg);padding:var(--sp-5);font-weight:600;min-height:80px}
.acc-list{max-width:820px}
.acc-item{border:2px solid rgba(15,35,64,.09);border-radius:var(--radius);margin-bottom:var(--sp-3);background:#fff;overflow:hidden}
.acc-item h3{margin:0}
.acc-btn{width:100%;text-align:left;background:none;border:none;cursor:pointer;min-height:52px;padding:var(--sp-3) var(--sp-4);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3)}
.acc-btn::after{content:"＋";font-weight:800;color:var(--coral-dark);flex-shrink:0}
.acc-btn[aria-expanded="true"]::after{content:"－"}
.acc-panel{padding:0 var(--sp-4) var(--sp-4)}
.acc-panel p{margin:0 0 var(--sp-2);font-weight:600;color:var(--ink-soft)}
.filter-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-4) 0}
.filter-chip{min-height:48px;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-full);border:3px solid rgba(15,35,64,.15);background:#fff;color:var(--navy);font-family:var(--font-display);font-weight:700;cursor:pointer}
.filter-chip[aria-pressed="true"]{border-color:var(--navy);background:var(--teal);color:#fff}
.event-card{background:#fff;border:2px solid rgba(15,35,64,.07);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm);margin-bottom:var(--sp-4)}
.event-card h3{margin-top:0}
.event-meta{font-weight:800;color:var(--navy);margin-bottom:var(--sp-2)}
.event-details{font-weight:600;color:var(--ink-soft);margin-top:var(--sp-3)}
.event-more{min-height:48px;background:none;border:2px solid var(--teal);color:var(--teal-dark);border-radius:var(--radius-full);padding:var(--sp-2) var(--sp-4);font-family:var(--font-display);font-weight:700;cursor:pointer;margin-top:var(--sp-2)}
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-5);margin:var(--sp-4) 0}
.price-card{background:#fff;border:2px solid rgba(15,35,64,.07);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm);text-align:center}
.price-card h3{margin-top:0}
.price-amount{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:800;color:var(--coral-dark);margin:0}
.qty-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px dashed rgba(15,35,64,.14);flex-wrap:wrap}
.qty-row:last-of-type{border-bottom:none}
.qty-btn{min-width:48px;min-height:48px;border-radius:50%;border:3px solid var(--navy);background:#fff;color:var(--navy);font-size:1.3rem;font-weight:800;cursor:pointer;line-height:1}
.qty-num{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:800;min-width:2ch;text-align:center}
.summary-box{background:var(--navy);color:#fff;border-radius:var(--radius-lg);padding:var(--sp-5);margin:var(--sp-4) 0}
.summary-box h3{color:var(--sun)}
.summary-line{display:flex;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-1) 0;font-weight:700}
.summary-total{display:flex;justify-content:space-between;gap:var(--sp-4);border-top:2px solid rgba(255,255,255,.3);margin-top:var(--sp-3);padding-top:var(--sp-3);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:800}
.confirm-panel{max-width:720px;background:#fff;border:4px solid var(--teal);border-radius:var(--radius-lg);padding:var(--sp-6);box-shadow:var(--shadow)}
.confirm-panel:focus{outline:3px solid var(--sun);outline-offset:3px}
.sim-label{display:inline-block;background:var(--coral);color:#fff;font-family:var(--font-display);font-weight:800;letter-spacing:.1em;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-full);margin:0 0 var(--sp-3)}
.confirm-warn{font-size:var(--fs-lg)}
.confirm-plan{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-3) var(--sp-5);margin:var(--sp-4) 0}
.confirm-plan dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:800}
.confirm-plan dd{margin:0;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;color:var(--navy)}
.next-steps{font-weight:600}
.next-steps li{margin-bottom:var(--sp-2)}
.form-error{background:#fdecea;border:2px solid var(--coral-dark);color:#7a1f0e;border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);font-weight:800}
.field-help{font-size:var(--fs-sm);color:var(--ink-soft);font-weight:600;margin:var(--sp-1) 0 0}
.optional{font-weight:700;color:var(--ink-soft);font-size:var(--fs-sm)}
.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-5);margin:var(--sp-4) 0}
.tier-card{position:relative;background:#fff;border:2px solid rgba(15,35,64,.07);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}
.tier-card h3{margin-top:0}
.tier-pop{border:3px solid var(--sun);box-shadow:var(--shadow)}
.table-scroll{overflow:auto;-webkit-overflow-scrolling:touch;max-height:72vh;border-radius:var(--radius-lg)}
.compare-table{width:100%;border-collapse:separate;border-spacing:0;min-width:520px;font-weight:600;background:#fff}
.compare-table th,.compare-table td{padding:var(--sp-3);border-bottom:1px solid rgba(15,35,64,.1);text-align:left}
.compare-table th{font-family:var(--font-display);color:var(--navy)}
.compare-table thead th{position:sticky;top:0;z-index:2;background:var(--navy);color:#fff;box-shadow:0 2px 6px rgba(15,35,64,.25)}
/* Family column (2nd) = Most popular */
.compare-table th:nth-child(2),.compare-table td:nth-child(2){background:#fff7d6}
.compare-table thead th:nth-child(2){background:var(--sun-dark);color:var(--navy)}
.col-pop{display:inline-block;background:var(--navy);color:var(--sun);font-size:var(--fs-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px var(--sp-2);border-radius:var(--radius-full);margin-left:var(--sp-1);vertical-align:middle;white-space:nowrap}
.timeline{list-style:none;margin:var(--sp-4) 0;padding:0 0 0 var(--sp-5);border-left:3px solid var(--sun)}
.timeline li{padding:0 0 var(--sp-5) var(--sp-4);position:relative;font-weight:600}
.timeline li::before{content:"";position:absolute;left:calc(-1 * var(--sp-5) - 9px);top:4px;width:15px;height:15px;border-radius:50%;background:var(--coral);border:3px solid #fff;box-shadow:var(--shadow-sm)}
.crew-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-5);margin:var(--sp-4) 0}
.crew-card{background:#fff;border:2px solid rgba(15,35,64,.07);border-radius:var(--radius-lg);padding:var(--sp-5);text-align:center;box-shadow:var(--shadow-sm)}
.crew-emoji{font-size:3rem;line-height:1.2;display:block;margin-bottom:var(--sp-2)}
.crew-role{font-weight:800;color:var(--coral-dark);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em}
.sense-world{font-family:var(--font-display);font-weight:800;color:var(--navy);min-width:180px}
.sense-cell{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-5);margin:var(--sp-4) 0}
.sense-table{width:100%;border-collapse:collapse}
.sense-row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:#fff;border:2px solid rgba(15,35,64,.07);border-radius:var(--radius);margin-bottom:var(--sp-2);font-weight:700;flex-wrap:wrap}
.lvl{display:inline-flex;gap:4px;align-items:center}
.lvl i{width:14px;height:14px;border-radius:50%;background:rgba(15,35,64,.15);display:inline-block}
.lvl-1 i:nth-child(-n+1){background:var(--teal)}
.lvl-2 i:nth-child(-n+2){background:var(--sun-dark)}
.lvl-3 i:nth-child(-n+3){background:var(--coral-dark)}
.feature-list{margin:0;padding-left:1.2em}
.feature-list li{margin-bottom:var(--sp-2);font-weight:600}
/* Tickets: member nudge */
.member-nudge{border-radius:var(--radius-xl);padding:var(--sp-6);color:#fff;margin:var(--sp-6) 0;box-shadow:var(--shadow);
  background:radial-gradient(circle at 16% 0%,rgba(255,201,60,.30),transparent 44%),linear-gradient(135deg,var(--navy),var(--navy-3))}
.member-nudge h2{color:var(--sun);margin-bottom:var(--sp-2)}
.member-nudge p{font-size:var(--fs-lg);font-weight:600;max-width:62ch}
/* Memberships: visits helper */
.visits-prompt{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;color:var(--navy)}
.visits-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-3) 0 var(--sp-4)}
.visit-chip{min-height:48px;padding:var(--sp-2) var(--sp-5);border-radius:var(--radius-full);border:3px solid rgba(15,35,64,.15);background:#fff;color:var(--navy);font-family:var(--font-display);font-weight:700;font-size:var(--fs-base);cursor:pointer}
.visit-chip[aria-pressed="true"]{border-color:var(--navy);background:var(--sun)}
.visit-chip:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.visits-result{background:#fff;border:3px solid var(--sun);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm);max-width:640px}
.crew-steppers{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin:var(--sp-3) 0 var(--sp-4)}
.crew-stepper{background:#fff;border:2px solid rgba(15,35,64,.12);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-sm)}
.crew-label{display:block;font-family:var(--font-display);font-weight:700;color:var(--navy);margin-bottom:var(--sp-2)}
.crew-price{font-family:var(--font-body);font-weight:600;font-size:var(--fs-sm);color:var(--ink-soft)}
.stepper{display:flex;align-items:center;gap:var(--sp-3)}
.step-btn{width:44px;height:44px;border-radius:50%;border:3px solid var(--navy);background:var(--sun);color:var(--navy);font-size:1.35rem;font-weight:800;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.step-btn:hover:not(:disabled){background:var(--navy);color:#fff}
.step-btn:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.step-btn:disabled{opacity:.35;cursor:not-allowed}
.crew-count{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:800;color:var(--navy);min-width:2ch;text-align:center}
.visits-line{font-weight:700;margin:0 0 var(--sp-2)}
.visits-verdict{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:800;color:var(--teal-dark);margin:0 0 var(--sp-2)}
.program-includes{font-weight:600;color:var(--ink-soft);background:var(--cream);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3)}
.program-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-5);margin:var(--sp-4) 0}
.program-card{background:#fff;border:2px solid rgba(15,35,64,.07);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}
.program-card h3{margin-top:0}
.sched-list{list-style:none;margin:var(--sp-3) 0;padding:0}
.sched-list li{padding:var(--sp-2) 0;border-bottom:1px dashed rgba(15,35,64,.14);font-weight:600}
.sched-list li:last-child{border-bottom:none}
.link-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4);margin:var(--sp-4) 0}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-4) 0}
.check-list{list-style:none;margin:var(--sp-3) 0;padding:0}
.check-list li{padding:var(--sp-2) 0 var(--sp-2) var(--sp-6);position:relative;font-weight:600}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--teal-dark);font-weight:800}
.print-only{display:none}
@media print{
  header,footer,nav,.no-print,[data-chrome]{display:none!important}
  .print-only{display:block!important}
  body{background:#fff}
}
@media (max-width:640px){
  .band{padding:var(--sp-6) var(--sp-4)}
  .confirm-panel{padding:var(--sp-5)}
  .arrival-chip,.filter-chip{flex:1 1 44%;text-align:center}
}
