#contactApptBox{position:relative;overflow:hidden;padding:clamp(1.4rem,3.5vw,2.4rem);border:1px solid rgba(12,35,64,.09);border-radius:26px;background:linear-gradient(155deg,#fff 0%,#fffefb 72%,#faf6ed 100%);box-shadow:0 24px 60px rgba(5,27,51,.14)}#contactApptBox::before{position:absolute;top:0;right:0;width:180px;height:180px;border-radius:0 0 0 100%;background:radial-gradient(circle at top right,rgba(196,154,82,.13),transparent 68%);content:"";pointer-events:none}.appt-step-heading{position:relative;display:flex;align-items:center;gap:.9rem;margin-bottom:1.5rem}.appt-step-number{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border:1px solid rgba(196,154,82,.5);border-radius:50%;color:var(--color-gold);background:#fff;font-family:var(--font-display);font-size:.85rem}.appt-step-heading p{margin:0 0 .15rem;color:var(--color-gold);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.appt-step-heading h3,#contactApptBox .appt-step-heading h3{margin:0;color:var(--color-teal);font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.15}.contact-appt-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem;color:var(--color-teal);font-size:.78rem;font-weight:600;letter-spacing:.02em}.contact-appt-label span{color:var(--color-gold)}.appt-date-control{position:relative}.appt-date-control>span{position:absolute;top:50%;right:1rem;color:var(--color-ink-muted);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transform:translateY(-50%);pointer-events:none}.appt-date-input,#contactApptBox .appt-date-input{min-height:54px;margin:0;padding:.85rem 4.5rem .85rem 1rem;border:1px solid var(--color-line);border-radius:13px;color:var(--color-teal);background:#faf9f6;font-size:.92rem;font-weight:550}.slots-container{margin-top:1rem}.slots-hint,.slots-loading,.slots-empty{margin:0;padding:1.25rem;border:1px dashed var(--color-line);border-radius:13px;color:var(--color-ink-muted);background:rgba(247,244,237,.55);font-size:.8rem;text-align:center}.slots-loading{color:var(--color-teal)}.slots-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:0}.slot-btn{min-height:44px;padding:.6rem;border:1px solid var(--color-line);border-radius:11px;color:var(--color-teal);background:#fff;font-size:.8rem;font-weight:650}.slot-btn:hover,.slot-btn.selected{border-color:var(--color-teal);color:#fff;background:var(--color-teal);box-shadow:0 8px 20px rgba(12,35,64,.14);transform:translateY(-1px)}.appt-selected-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.35rem;padding:1rem 1.1rem;border:1px solid rgba(12,35,64,.09);border-left:4px solid var(--color-gold);border-radius:14px;background:#f2f7f7}.appt-summary-label{display:block;margin-bottom:.25rem;color:var(--color-ink-muted);font-size:.63rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.appt-selected-info p{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;color:var(--color-teal);font-size:.84rem}.appt-selected-info p strong{font-weight:650}.appt-selected-info p span::before{margin-right:.45rem;color:var(--color-gold);content:"·"}.appt-back-btn{flex:0 0 auto;padding:.55rem .75rem;border:1px solid rgba(12,35,64,.14);border-radius:999px;color:var(--color-teal);background:#fff;font-size:.68rem;font-weight:650}.appt-back-btn:hover{border-color:var(--color-gold);color:#8a641f}#contactApptForm{display:grid;gap:1rem}.form-grid-two{gap:1rem}#contactApptForm .form-row{display:grid;gap:.45rem;margin:0}#contactApptForm .form-row label{display:flex;align-items:center;justify-content:space-between;margin:0;color:var(--color-teal);font-size:.75rem;font-weight:650}#contactApptForm .form-row label b{color:var(--color-gold)}#contactApptForm .form-row label span{padding:.18rem .45rem;border-radius:999px;color:var(--color-ink-muted);background:#f3f1eb;font-size:.6rem;font-weight:550}#contactApptForm .form-row input,#contactApptForm .form-row select,#contactApptForm .form-row textarea{display:block;width:100%;min-width:0;min-height:52px;margin:0;padding:.82rem .95rem;border:1px solid var(--color-line);border-radius:12px;color:var(--color-teal);background:#faf9f6;font-family:inherit;font-size:.86rem;outline:0;transition:border-color .2s,box-shadow .2s,background .2s}#contactApptForm .form-row textarea{min-height:104px;resize:vertical;line-height:1.5}#contactApptForm .form-row input::placeholder,#contactApptForm .form-row textarea::placeholder{color:#9aa3ad}#contactApptForm .form-row input:focus,#contactApptForm .form-row select:focus,#contactApptForm .form-row textarea:focus{border-color:var(--color-gold);background:#fff;box-shadow:0 0 0 4px rgba(196,154,82,.1)}#contactApptForm .form-row small{color:var(--color-ink-muted);font-size:.65rem;line-height:1.4}.form-error:empty{display:none}.consent-check{display:flex;align-items:flex-start;gap:.7rem;margin:0;padding:.8rem .9rem;border:1px solid var(--color-line);border-radius:12px;color:var(--color-ink-muted);background:#fff;font-size:.7rem;line-height:1.55}.consent-check input{flex:0 0 18px;width:18px;height:18px;margin:.08rem 0 0;accent-color:var(--color-teal)}#contactApptForm .btn-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:.9rem 1.2rem;border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,#0c2340,#173b65);box-shadow:0 12px 28px rgba(12,35,64,.2);font-size:.82rem;font-weight:650;letter-spacing:.02em}#contactApptForm .btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#173b65,#214d7c);box-shadow:0 16px 32px rgba(12,35,64,.26);transform:translateY(-2px)}#contactApptForm .btn-submit .btn-text b{display:inline-block;margin-left:.45rem;color:var(--color-gold-soft);font-size:1rem}.btn-loading{display:none}.btn-submit.loading .btn-loading{display:inline}.appt-form-note{margin:-.35rem 0 0;color:var(--color-ink-muted);font-size:.65rem;line-height:1.5;text-align:center}.appt-success{padding:2.5rem 1rem}.appt-success .success-icon{display:grid;width:64px;height:64px;margin:0 auto 1.25rem;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--color-teal),#1d5b75);box-shadow:0 12px 26px rgba(12,35,64,.18);font-size:1.5rem}.appt-success .btn-primary{margin-top:1rem}@media(max-width:680px){.form-grid-two{grid-template-columns:1fr}.slots-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.appt-selected-info{align-items:flex-start;flex-direction:column}.appt-back-btn{align-self:flex-start}}@media(max-width:420px){#contactApptBox{padding:1.15rem;border-radius:20px}.appt-step-heading{gap:.7rem}.appt-step-number{flex-basis:36px;width:36px;height:36px}.slots-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appt-selected-info{padding:.85rem}.appt-selected-info p{display:grid;gap:.2rem}.appt-selected-info p span::before{display:none}}
