.contact-page{background:var(--warm-white);min-height:100vh;padding:140px 5% 100px;position:relative;overflow:hidden}.contact-page:before{content:"";pointer-events:none;background:radial-gradient(55% 60% at 100% 0,#a8b39c1a 0%,#0000 65%),radial-gradient(35% 45% at 0 100%,#6f826a12 0%,#0000 60%);position:absolute;inset:0}.contact-inner{grid-template-columns:1fr 1fr;align-items:start;gap:100px;max-width:1200px;margin:0 auto;display:grid;position:relative}.contact-photo-wrap{margin-bottom:36px;position:relative}.contact-photo-wrap:before{content:"";border:1px solid var(--sage-light);z-index:0;border-radius:12px;position:absolute;inset:16px -16px -16px 16px}.contact-photo{z-index:1;object-fit:cover;object-position:center;border:1px solid #d8c8b88c;border-radius:12px;width:100%;height:340px;display:block;position:relative;box-shadow:0 18px 45px #2e313014}.contact-intro{color:var(--text-mid);max-width:440px;margin-bottom:48px;font-size:1.05rem;line-height:1.85}.contact-details{flex-direction:column;gap:0;margin-bottom:48px;display:flex}.contact-detail{border-bottom:1px solid var(--sand-light);align-items:flex-start;gap:20px;padding:20px 0;display:flex}.contact-detail:first-child{border-top:1px solid var(--sand-light)}.detail-icon{background:var(--sage-pale);border:1px solid var(--sage-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.95rem;display:flex}.detail-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-light);margin-bottom:3px;font-size:.7rem}.detail-value{color:var(--text-dark);font-size:.95rem}.detail-value a{color:var(--sage);text-decoration:none}.detail-value a:hover{text-decoration:underline}.contact-social-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-light);margin-bottom:14px;font-size:.7rem}.contact-socials{gap:12px;display:flex}.contact-socials a{border:1px solid var(--sand);width:42px;height:42px;color:var(--text-mid);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:flex}.contact-socials a:hover{border-color:var(--sage);color:var(--sage);background:var(--sage-pale)}.contact-form-wrap{background:var(--cream);border:1px solid #d8c8b880;border-radius:12px;padding:52px 48px;position:relative}.contact-form-wrap:before{content:"";background:linear-gradient(90deg, var(--sage-light), var(--sand-light), transparent);border-radius:12px 12px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.form-title{font-family:var(--font-sans);color:var(--text-dark);margin-bottom:8px;font-size:1.52rem;font-weight:300}.form-sub{color:var(--text-light);margin-bottom:36px;font-size:.9rem;line-height:1.7}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{margin-bottom:22px}.form-group.full{grid-column:1/-1}label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);margin-bottom:8px;font-size:.72rem;display:block}label span{color:var(--terracotta)}input,select,textarea{background:var(--warm-white);border:1px solid var(--sand-light);width:100%;font-family:var(--font-sans);color:var(--text-dark);appearance:none;border-radius:6px;outline:none;padding:14px 18px;font-size:.95rem;font-weight:300;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:var(--text-light)}input:focus,select:focus,textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px #a8b39c1f}select{cursor:pointer;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 d='M1 1l5 5 5-5' stroke='%238a7e78' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}textarea{resize:vertical;min-height:130px;line-height:1.7}.form-submit{background:var(--sage);color:#fff;width:100%;font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:none;border-radius:40px;margin-top:8px;padding:17px;font-size:.8rem;font-weight:400;transition:background .25s,transform .2s}.form-submit:hover{background:#6d8868;transform:translateY(-1px)}.form-submit:active{transform:translateY(0)}.form-message{text-align:center;border-radius:8px;margin-top:20px;padding:16px 20px;font-size:.9rem;line-height:1.6;display:none}.form-message.show{display:block}.form-message.success{border:1px solid var(--sage-light);color:#4a6e45;background:#a8b39c1f}.form-message.error{color:var(--terracotta);background:#6f826a1a;border:1px solid #6f826a66}.faq{background:var(--cream);padding:100px 5%}.faq-inner{max-width:860px;margin:0 auto}.faq-header{margin-bottom:52px}.faq-list{flex-direction:column;gap:0;display:flex}.faq-item{border-bottom:1px solid var(--sand-light)}.faq-item:first-of-type{border-top:1px solid var(--sand-light)}.faq-question{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:24px 0;display:flex}.faq-question-text{font-family:var(--font-sans);color:var(--text-dark);font-size:1rem;font-weight:400;line-height:1.35}.faq-icon{border:1px solid var(--sand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .2s,border-color .2s,transform .3s;display:flex}.faq-icon svg{transition:transform .3s}.faq-item.open .faq-icon{background:var(--sage-pale);border-color:var(--sage-light)}.faq-item.open .faq-icon svg{transform:rotate(45deg)}.faq-answer{max-height:0;color:var(--text-mid);padding:0;font-size:.95rem;line-height:1.85;transition:max-height .4s,padding .3s;overflow:hidden}.faq-item.open .faq-answer{max-height:300px;padding-bottom:24px}@media (max-width:860px){.contact-inner{grid-template-columns:1fr;gap:48px}.form-row{grid-template-columns:1fr}.contact-form-wrap{padding:36px 28px}}
