.contact-page-wrapper{--status-open:#10b981;--status-open-soft:#d1fae5;--status-open-text:#065f46;--status-closed:var(--text-tertiary);--status-closed-soft:#f3f4f6;--status-closed-text:#4b5563;background-color:var(--bg-page);width:100%;min-height:100vh;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.contact-page{max-width:1100px;margin:0 auto;padding:56px 24px 64px}.page-header{max-width:720px;margin-bottom:40px}.page-header__title{font-family:var(--font-serif);font-size:var(--text-page-title);letter-spacing:var(--tracking-heading);color:var(--text-primary);margin:0 0 12px;font-weight:400;line-height:1.15}.page-header__title-accent{color:var(--accent)}.page-header__subtitle{font-size:var(--text-base);color:var(--text-secondary);max-width:600px;margin:0;line-height:1.6}.page-header__actions{flex-wrap:wrap;gap:18px;margin-top:18px;display:flex}.page-header__actions a{color:var(--accent);font-size:var(--text-sm);align-items:center;gap:5px;font-weight:600;text-decoration:none;display:inline-flex}.page-header__actions a span{transition:transform .2s}.page-header__actions a:hover{color:var(--accent-hover)}.page-header__actions a:hover span{transform:translate(3px)}.contact-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:40px;display:grid}.contact-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;padding:24px;transition:border-color .15s,box-shadow .2s,transform .2s;display:flex}.contact-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.contact-card--featured{background:linear-gradient(145deg, var(--accent-soft) 0%, var(--bg-card) 68%);border-color:#185fa533}.contact-card--featured .contact-card__primary{color:var(--accent);font-size:var(--text-xl)}.contact-card--featured:hover{border-color:#185fa559}.contact-card__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.contact-card__icon{border-radius:var(--radius-md);background:var(--accent-soft);width:40px;height:40px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-card__icon svg{width:20px;height:20px}.contact-card__title{font-size:var(--text-body);letter-spacing:-.01em;color:var(--text-primary);margin:0 0 6px;font-weight:600}.contact-card__description{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 16px;line-height:1.55}.contact-card__primary{font-size:var(--text-body);color:var(--text-primary);letter-spacing:-.01em;word-break:break-word;margin-bottom:6px;font-weight:600;line-height:1.4;text-decoration:none;transition:color .15s;display:block}a.contact-card__primary:hover{color:var(--accent)}.contact-card__primary--small{font-size:var(--text-base);font-weight:500}.contact-card__note{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.contact-card__link{font-size:var(--text-sm);color:var(--accent);align-self:flex-start;align-items:center;gap:5px;margin-top:12px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.contact-card__link:hover{color:var(--accent-hover)}.contact-card__link svg{width:13px;height:13px;transition:transform .2s}.contact-card__link:hover svg{transform:translate(3px)}.schedule-status-badge{border-radius:var(--radius-pill);font-size:var(--text-sm);white-space:nowrap;border:1px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-weight:500;line-height:1;transition:all .2s;display:inline-flex}.schedule-status-badge.open{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.schedule-status-badge.closed{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.schedule-status-badge.closing-soon{color:#854d0e;background:#fef9c3;border-color:#fef08a}.status-dot{background:var(--status-closed);border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:all .2s}.schedule-status-badge.open .status-dot{background:var(--status-open);box-shadow:0 0 0 3px #10b9812e}.schedule-status-badge.closed .status-dot{background:var(--status-closed)}.schedule-status-badge.closing-soon .status-dot{background:#ca8a04;box-shadow:0 0 0 3px #ca8a042e}.status-text{font-weight:600}.status-separator{opacity:.5;margin:0 2px}.status-details{font-weight:400}.hours-list{margin:0;padding:0;list-style:none}.hours-list li{font-size:var(--text-sm);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.hours-list li:last-child{border-bottom:none;padding-bottom:0}.hours-list li:first-child{padding-top:0}.hours-list__day{color:var(--text-secondary)}.hours-list__time{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:500}.hours-list__time--closed{color:var(--text-tertiary);font-weight:400}.map-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.map-section__header{border-bottom:1px solid var(--border-subtle);padding:20px 24px}.map-section__title{font-size:var(--text-base);color:var(--text-primary);letter-spacing:-.005em;margin:0 0 4px;font-weight:600}.map-section__subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.map-container{background:var(--bg-subtle);height:360px;position:relative}.map-container iframe{border:0;width:100%;height:100%;display:block}.map-section__footer{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.map-section__footer .contact-card__link{margin-top:0}.map-section__address{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.map-section__address strong{color:var(--text-primary);font-weight:500}@media (width<=720px){.contact-page{padding:40px 20px 48px}.contact-grid{grid-template-columns:1fr;gap:12px}.contact-card{padding:20px}.contact-card__header{gap:8px}.contact-card__primary{font-size:var(--text-base)}.schedule-status-badge{font-size:var(--text-sm);gap:5px;padding:4px 8px}.map-container{height:280px}.map-section__footer{flex-direction:column;align-items:flex-start}}@media (width<=380px){.contact-card{padding:16px}.contact-card__icon{width:36px;height:36px}.schedule-status-badge{font-size:var(--text-sm);padding:3px 7px}}@media (width<=340px){.status-separator,.status-details{display:none}}
