.appt-page{margin-top:58px;}
.appt-hero{background:#1a1a1a;padding:60px 40px 48px;text-align:center;}
.appt-hero-eyebrow{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#b8973a;margin-bottom:12px;}
.appt-hero-title{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:300;color:#fff;margin-bottom:10px;}
.appt-hero-sub{font-size:13px;color:rgba(255,255,255,.6);max-width:500px;margin:0 auto;line-height:1.8;}

/* Appointment type tabs */
.appt-type-tabs{background:#f9f8f5;border-bottom:1px solid #eee;padding:0;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
.appt-type-tabs::-webkit-scrollbar{height:3px;}
.appt-type-tabs::-webkit-scrollbar-thumb{background:#b8973a;}
.appt-tabs-inner{display:inline-flex;min-width:100%;padding:0 40px;}
.appt-tab{display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:20px 28px;border:none;background:none;cursor:pointer;transition:all .2s;border-bottom:3px solid transparent;font-family:'Poppins',sans-serif;white-space:nowrap;position:relative;}
.appt-tab:hover{background:rgba(184,151,58,.05);}
.appt-tab.active{border-bottom-color:#b8973a;}
.appt-tab-icon{font-size:22px;line-height:1;}
.appt-tab-label{font-size:11px;font-weight:600;letter-spacing:.06em;color:#555;transition:color .2s;}
.appt-tab.active .appt-tab-label{color:#b8973a;}

/* Layout */
.appt-layout{display:grid;grid-template-columns:380px 1fr;gap:0;max-width:1200px;margin:0 auto;}
.appt-info{padding:48px 40px;background:#f9f8f5;border-right:1px solid #eee;}
.appt-info h2{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;color:#1a1a1a;margin-bottom:12px;}
.appt-info-text{font-size:13px;color:#666;line-height:1.9;margin-bottom:20px;}
.appt-perk{display:flex;gap:10px;align-items:flex-start;padding:8px 0;font-size:13px;color:#555;border-bottom:1px solid #eee;}
.appt-perk:last-child{border-bottom:none;}
.appt-perk svg{color:#b8973a;flex-shrink:0;margin-top:2px;}
.appt-type-detail{margin-top:28px;padding:20px;background:#fff;border:1px solid #eee;border-left:4px solid #b8973a;}
.appt-type-detail-title{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1a1a1a;margin-bottom:8px;}
.appt-type-detail-text{font-size:12px;color:#666;line-height:1.8;}
.contact-note-box{margin-top:24px;padding:16px;background:#1a1a1a;color:rgba(255,255,255,.7);font-size:12px;line-height:1.8;border-radius:4px;}
.contact-note-box a{color:#b8973a;}

/* Form */
.appt-form-wrap{padding:48px 48px 48px 40px;}
.appt-form-wrap h2{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;color:#1a1a1a;margin-bottom:24px;}
.form-group{margin-bottom:16px;}
.form-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#1a1a1a;display:block;margin-bottom:6px;}
.form-input,.form-select,.form-textarea{width:100%;padding:12px 14px;border:1px solid #ddd;font-family:'Poppins',sans-serif;font-size:13px;color:#1a1a1a;outline:none;transition:border-color .2s;background:#fff;appearance:none;-webkit-appearance:none;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#b8973a;box-shadow:0 0 0 3px rgba(184,151,58,.08);}
.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.form-textarea{resize:vertical;min-height:100px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-submit{width:100%;padding:16px;background:#1a1a1a;color:#fff;font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border:none;cursor:pointer;transition:background .25s;margin-top:8px;}
.form-submit:hover{background:#b8973a;}

@media(max-width:900px){
  .appt-layout{grid-template-columns:1fr;}
  .appt-info{border-right:none;border-bottom:1px solid #eee;padding:32px 20px;}
  .appt-form-wrap{padding:32px 20px;}
  .appt-tabs-inner{padding:0 20px;}
  .appt-tab{padding:16px 18px;}
  .appt-hero{padding:48px 20px 36px;} .appt-hero-title{font-size:30px;}
  .form-grid{grid-template-columns:1fr;}
}
