/* Contact — an inviting design conversation, framed in the Paradise palette. */
.contact-page { background: #f7f6f1; color: #082b40; }
.cp-wrap { width: min(1220px,90%); margin-inline: auto; }
.cp-skip { position: fixed; left: 16px; top: 12px; z-index: 300; background: #fff; padding: 12px 20px; transform: translateY(-160%); }
.cp-skip:focus { transform: none; }
.cp-title, .contact-page h1 { font-family: var(--font-display); font-weight: 400; letter-spacing: -.03em; }
.cp-title em, .contact-page h1 em { font-family: var(--font-accent); font-weight: 500; font-style: italic; }
.contact-page .eyebrow { font-size: 9px; letter-spacing: .18em; }
.contact-page .button { min-height: 49px; padding: 13px 25px; font-size: 11px; gap: 18px; }
.contact-page .button svg { width: 18px; height: 18px; }
.cp-intro { padding: 25px 0 34px; background: radial-gradient(ellipse at 5% 0%,#ecdfc32b,transparent 55%); }
.cp-meta { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid #082b401a; }
.cp-breadcrumb { display: flex; gap: 12px; align-items: center; text-transform: uppercase; letter-spacing: .13em; font-size: 8px; }
.cp-breadcrumb i { width: 25px; height: 1px; background: #b48b43; }
.cp-breadcrumb span { color: #997235; }
.cp-edition { display: flex; align-items: center; gap: 11px; font-size: 8px; letter-spacing: .14em; text-transform: uppercase; color: #7a827c; }
.cp-edition i { width: 5px; height: 5px; transform: rotate(45deg); background: #b48b43; }
.cp-intro-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 60px; align-items: end; padding-top: 28px; }
.cp-intro .eyebrow { margin-bottom: 12px; }
.cp-intro h1 { font-size: clamp(46px,5vw,70px); line-height: 1.03; }
.cp-intro h1 em { color: #a17a38; display: block; font-size: 1.06em; line-height: .98; margin-top: 3px; }
.cp-intro-note { max-width: 310px; justify-self: end; padding-bottom: 5px; }
.cp-intro-note p { color: #687772; font-size: 12px; line-height: 1.95; }
.cp-start-link { display: inline-flex; align-items: center; gap: 18px; margin-top: 15px; padding-bottom: 8px; border-bottom: 1px solid #b48b4360; color: #8f6c30; font-size: 10px; font-weight: 500; transition: gap .3s; }
.cp-start-link svg { width: 17px; height: 17px; stroke-width: 1.4; }
.cp-start-link:hover { gap: 24px; }
.cp-intro-grid > * { animation: riseIn 1s var(--ease-out) both; }
.cp-intro-note { animation-delay: .13s; }

.cp-contact { padding-bottom: 75px; scroll-margin-top: 110px; }
.cp-board { display: grid; grid-template-columns: .84fr 1.16fr; overflow: hidden; border: 1px solid #d5d7cf; border-radius: 6px; box-shadow: 0 20px 65px #082b4009; background: #fff; }
.cp-connect { display: flex; flex-direction: column; position: relative; background: linear-gradient(130deg,#082b40,#062237); color: #fff; min-width: 0; }
.cp-connect-copy { padding: 35px 36px 24px; }
.cp-connect .eyebrow { color: #d9bd82; font-size: 8px; margin-bottom: 13px; }
.cp-connect h2 { font-family: var(--font-display); font-size: 34px; font-weight: 400; letter-spacing: -.025em; line-height: 1.12; margin-bottom: 24px; }
.cp-contact-links { display: grid; gap: 0; }
.cp-contact-link { display: grid; grid-template-columns: 42px 1fr 15px; align-items: center; gap: 15px; padding: 16px 0; border-top: 1px solid #e5c98e26; transition: padding-left .3s; }
.cp-contact-link:hover { padding-left: 5px; }
.cp-contact-icon { width: 42px; height: 42px; display: block; flex-shrink: 0; }
.cp-contact-link span { min-width: 0; }
.cp-contact-link small { display: block; font-size: 7px; text-transform: uppercase; letter-spacing: .16em; color: #a7bdc7; margin-bottom: 7px; }
.cp-contact-link strong { display: block; font-size: 16px; font-weight: 500; line-height: 1.4; letter-spacing: -.02em; }
.cp-contact-link .cp-email-address { font-size: 12px; overflow-wrap: anywhere; line-height: 1.7; }
.cp-contact-link > svg { width: 15px; height: 15px; color: #d7bd83; }
.cp-photo { position: relative; flex: 1; min-height: 230px; overflow: hidden; background: #365049; }
.cp-photo img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center; transition: transform 1.5s; }
.cp-photo:hover img { transform: scale(1.035); }
.cp-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,#052439d9,transparent 65%); }
.cp-photo figcaption { position: absolute; left: 34px; right: 34px; bottom: 25px; z-index: 1; }
.cp-photo figcaption small { display: block; font-size: 7px; text-transform: uppercase; letter-spacing: .17em; color: #e0ca99; margin-bottom: 7px; }
.cp-photo figcaption strong { font-family: var(--font-accent); font-weight: 500; font-style: italic; font-size: 29px; line-height: 1.05; }

.cp-enquiry { padding: 35px 42px 32px; position: relative; min-width: 0; }
.cp-form-top { display: flex; gap: 20px; align-items: start; justify-content: space-between; margin-bottom: 24px; }
.cp-form-top .eyebrow { margin-bottom: 10px; font-size: 8px; }
.cp-form-top h2 { font-family: var(--font-display); font-size: 32px; font-weight: 400; letter-spacing: -.025em; line-height: 1.1; margin-bottom: 10px; }
.cp-form-top p:not(.eyebrow) { font-size: 10px; color: #7b847f; line-height: 1.8; }
.cp-form-seal { width: 48px; height: 48px; border: 1px solid #b48b433a; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; background: #f8f6ef; }
.cp-form-seal img { width: 33px; height: 33px; }
.cp-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 18px; }
.cp-full { grid-column: 1/-1; }
.cp-field { display: flex; flex-direction: column; gap: 8px; color: #34505d; font-size: 10px; font-weight: 500; min-width: 0; }
.cp-required { color: #a48343; }
.cp-field input, .cp-field select, .cp-field textarea { width: 100%; min-width: 0; border: 1px solid #d8ddd8; border-radius: 3px; background: #fafbf8; padding: 12px 13px; color: #082b40; font-size: 11px; line-height: 1.5; box-shadow: none; transition: border-color .25s,box-shadow .25s,background .25s; }
.cp-field input { height: 43px; }
.cp-field input::placeholder, .cp-field textarea::placeholder { color: #98a09a; opacity: 1; }
.cp-field select { height: 43px; cursor: pointer; appearance: none; padding-right: 34px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2378847e' stroke-width='1.4'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; }
.cp-field textarea { min-height: 95px; resize: vertical; }
.cp-field input:focus, .cp-field select:focus, .cp-field textarea:focus { border-color: #b48b43; box-shadow: 0 0 0 3px #b48b4312; background-color: #fff; outline: none; }
.cp-interest { border: 0; padding: 0; margin: 0; min-width: 0; }
.cp-interest legend { padding: 0; margin-bottom: 9px; font-size: 10px; font-weight: 500; color: #34505d; }
.cp-choices { display: flex; gap: 9px; }
.cp-choice { flex: 1; position: relative; display: block; cursor: pointer; }
.cp-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cp-choice span { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 8px; border: 1px solid #d8ddd8; border-radius: 3px; color: #7a867e; font-size: 10px; transition: all .25s; }
.cp-choice svg { width: 15px; height: 15px; color: #ab8a4d; }
.cp-choice input:checked + span { color: #082b40; border-color: #c6a162; background: #f5f0e5; }
.cp-choice input:focus-visible + span { outline: 2px solid #b48b43; outline-offset: 3px; }
.cp-form-bottom { display: flex; gap: 20px; justify-content: space-between; align-items: center; padding-top: 2px; }
.cp-form-note { font-size: 8px; line-height: 1.9; color: #7e8982; max-width: 230px; }
.cp-form-bottom .button { min-height: 45px; padding: 11px 20px; font-size: 10px; gap: 12px; }
.cp-email-note { display: flex; gap: 8px; align-items: start; padding-top: 17px; margin-top: 22px; border-top: 1px solid #e8e9e2; font-size: 8px; line-height: 1.8; color: #889187; }
.cp-email-note svg { width: 13px; height: 13px; color: #a4854b; margin-top: 1px; }
.cp-review[hidden], .cp-form[hidden], .cp-copy-status:empty { display: none !important; }
.cp-review { animation: riseIn .45s both; }
.cp-review-intro { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; padding: 17px; background: #f5f2e8; border: 1px solid #d9c49b; border-radius: 3px; }
.cp-review-intro svg { width: 25px; height: 25px; color: #a27b36; }
.cp-review-intro strong { font-size: 12px; font-weight: 600; }
.cp-review-intro p { font-size: 10px; line-height: 1.8; color: #798379; margin-top: 4px; }
.cp-review label { display: block; color: #34505d; font-size: 10px; font-weight: 500; margin-bottom: 8px; }
.cp-review textarea { width: 100%; min-height: 300px; padding: 18px; border: 1px solid #d8ddd8; border-radius: 3px; background: #fafbf8; resize: vertical; font-family: var(--font); font-size: 11px; line-height: 1.9; color: #4c615f; }
.cp-review-note a { overflow-wrap: anywhere; }
#enquiry, #service-area { scroll-margin-top: 22px; }
.cp-review-actions { display: flex; gap: 15px; align-items: center; flex-wrap: wrap; margin-top: 19px; }
.cp-copy { display: inline-flex; gap: 7px; align-items: center; padding: 10px 0; background: transparent; border-bottom: 1px solid #b48b4360; font-size: 10px; color: #8f6c2e; }
.cp-copy svg { width: 14px; height: 14px; }
.cp-edit { margin-left: auto; font-size: 10px; color: #71817c; background: transparent; padding: 10px 0; }
.cp-edit:hover { color: #8f6c2e; }
.cp-review-note { font-size: 9px; color: #7d8980; line-height: 1.8; margin-top: 18px; }
.cp-copy-status { padding: 12px 14px; background: #f1f5eb; color: #556747; font-size: 10px; line-height: 1.8; margin-top: 15px; border-radius: 3px; }

.cp-next { padding: 0 0 70px; }
.cp-next-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.cp-next .eyebrow { margin-bottom: 16px; }
.cp-title { font-size: clamp(36px,3.5vw,47px); line-height: 1.08; }
.cp-next-lead { font-size: 11px; color: #788078; line-height: 1.9; max-width: 350px; margin-top: 20px; }
.cp-next-list { list-style: none; padding: 0; }
.cp-next-list li { display: flex; gap: 22px; padding: 20px 0; border-top: 1px solid #d9ded5; }
.cp-next-list li:first-child { padding-top: 0; border-top: 0; }
.cp-next-list b { font-family: var(--font-accent); font-style: italic; font-weight: 500; font-size: 27px; color: #b48b43; line-height: 1; }
.cp-next-list h3 { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.cp-next-list p { font-size: 10px; color: #7b867d; line-height: 1.9; max-width: 380px; }

.cp-area { padding: 42px 0; position: relative; background: #082b40; color: #fff; overflow: hidden; }
.cp-area::before { content: ''; position: absolute; width: 380px; height: 380px; border: 1px solid #c9a9691a; border-radius: 50%; right: -80px; top: -250px; box-shadow: 0 0 0 50px #c9a96908,0 0 0 100px #c9a96905; }
.cp-area-grid { display: grid; grid-template-columns: auto 1fr 1fr auto; align-items: center; gap: 25px; position: relative; }
.cp-area-icon { width: 60px; height: 60px; border: 1px solid #cfad6d50; border-radius: 50%; display: grid; place-items: center; }
.cp-area-icon img { width: 37px; height: 37px; }
.cp-area .eyebrow { color: #c9ad70; font-size: 7px; margin-bottom: 10px; }
.cp-area h2 { font-family: var(--font-display); font-weight: 400; font-size: 29px; letter-spacing: -.025em; }
.cp-area p:not(.eyebrow) { font-size: 10px; line-height: 1.9; color: #b0c3c9; max-width: 290px; }
.cp-area a { display: inline-flex; align-items: center; gap: 14px; font-size: 9px; color: #e0c48a; border-bottom: 1px solid #c9ad7050; padding: 10px 0; }
.cp-area a svg { width: 16px; height: 16px; }

.cp-faq { padding: 70px 0 110px; }
.cp-faq-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; }
.cp-faq .eyebrow { margin-bottom: 16px; }
.cp-faq details { border-bottom: 1px solid #dce0d6; padding: 20px 0; }
.cp-faq details:first-child { padding-top: 0; }
.cp-faq summary { display: flex; justify-content: space-between; gap: 20px; align-items: center; list-style: none; cursor: pointer; font-size: 12px; font-weight: 500; line-height: 1.7; }
.cp-faq summary::-webkit-details-marker { display: none; }
.cp-faq summary::after { content: '+'; color: #ae8945; font-size: 21px; font-weight: 400; flex-shrink: 0; }
.cp-faq details[open] summary::after { content: '−'; }
.cp-faq details p { padding-top: 13px; color: #7b867d; font-size: 11px; line-height: 1.9; max-width: 440px; }
.cp-faq details a { color: #9e7939; text-decoration: underline; text-underline-offset: 3px; }
.contact-page .ftr-cta-photo { background-image: url('assets/contact/design-conversation.webp'); }
.contact-page main :focus-visible { outline: 2px solid #b48b43; outline-offset: 4px; }

@media(max-width:1024px) {
  .cp-intro-grid { gap: 35px; }
  .cp-intro-note { max-width: 260px; }
  .cp-intro-note p { font-size: 11px; }
  .cp-connect-copy { padding: 30px 27px 20px; }
  .cp-connect h2 { font-size: 30px; }
  .cp-contact-link { gap: 10px; grid-template-columns: 35px 1fr 12px; }
  .cp-contact-icon { width: 35px; height: 35px; }
  .cp-contact-link strong { font-size: 15px; }
  .cp-contact-link .cp-email-address { font-size: 11px; }
  .cp-enquiry { padding: 30px 28px 27px; }
  .cp-form-top h2 { font-size: 29px; }
  .cp-form-top { gap: 14px; }
  .cp-form-seal { width: 40px; height: 40px; }
  .cp-form-seal img { width: 28px; height: 28px; }
  .cp-form-bottom { gap: 15px; }
  .cp-form-note { font-size: 7px; }
  .cp-form-bottom .button { padding-inline: 16px; font-size: 9px; }
  .cp-next-grid, .cp-faq-grid { gap: 60px; }
  .cp-area-grid { grid-template-columns: auto 1fr 1fr; gap: 20px; }
  .cp-area a { grid-column: 2/4; justify-self: start; padding-block: 4px; }
}
@media(max-width:760px) {
  .cp-intro-grid { grid-template-columns: 1.3fr 1fr; gap: 30px; }
  .cp-intro h1 { font-size: 43px; }
  .cp-intro-note p { font-size: 10px; }
  .cp-start-link { font-size: 9px; gap: 12px; }
  .cp-board { grid-template-columns: 1fr; }
  .cp-connect { display: grid; grid-template-columns: 1.2fr 1fr; }
  .cp-connect-copy { padding: 28px; }
  .cp-connect h2 { font-size: 30px; margin-bottom: 20px; }
  .cp-contact-link { padding: 13px 0; }
  .cp-photo { min-height: 100%; }
  .cp-photo figcaption { left: 23px; right: 23px; bottom: 27px; }
  .cp-photo figcaption strong { font-size: 27px; }
  .cp-enquiry { padding: 34px; }
  .cp-form-top h2 { font-size: 33px; }
  .cp-form { gap: 18px; }
  .cp-field input, .cp-field select, .cp-field textarea { font-size: 12px; }
  .cp-field, .cp-interest legend { font-size: 11px; }
  .cp-form-note { font-size: 9px; }
  .cp-form-bottom .button { font-size: 11px; }
  .cp-email-note { font-size: 9px; }
  .cp-next-grid, .cp-faq-grid { gap: 35px; }
  .cp-area-grid { gap: 17px; }
  .cp-area-icon { width: 50px; height: 50px; }
  .cp-area h2 { font-size: 26px; }
  .cp-area p:not(.eyebrow) { font-size: 9px; }
  .cp-contact { padding-bottom: 55px; }
  .cp-next { padding-bottom: 55px; }
  .cp-faq { padding: 55px 0 90px; }
}
@media(max-width:560px) {
  .cp-intro { padding: 20px 0 26px; }
  .cp-meta { padding-bottom: 19px; }
  .cp-breadcrumb { font-size: 7px; gap: 9px; }
  .cp-breadcrumb i { width: 18px; }
  .cp-edition { font-size: 6px; letter-spacing: .08em; gap: 7px; }
  .cp-intro-grid { display: block; padding-top: 25px; }
  .cp-intro h1 { font-size: clamp(39px,10.3vw,54px); }
  .cp-intro .eyebrow { font-size: 8px; margin-bottom: 14px; }
  .cp-intro-note { margin-top: 20px; max-width: none; }
  .cp-intro-note p { font-size: 11px; line-height: 1.85; max-width: 360px; }
  .cp-start-link { margin-top: 14px; font-size: 10px; }
  .cp-connect { display: flex; }
  .cp-connect-copy { padding: 29px 25px 20px; }
  .cp-connect h2 { font-size: 32px; margin-bottom: 22px; }
  .cp-contact-link { grid-template-columns: 38px 1fr 14px; gap: 14px; padding: 15px 0; }
  .cp-contact-icon { width: 38px; height: 38px; }
  .cp-contact-link small { font-size: 7px; margin-bottom: 6px; }
  .cp-contact-link strong { font-size: 16px; }
  .cp-contact-link .cp-email-address { font-size: 11px; }
  .cp-photo { min-height: 220px; }
  .cp-photo figcaption { left: 25px; right: 25px; bottom: 22px; }
  .cp-enquiry { padding: 29px 24px 25px; }
  .cp-form-top { gap: 12px; margin-bottom: 24px; }
  .cp-form-top h2 { font-size: 30px; }
  .cp-form-top p:not(.eyebrow) { font-size: 10px; }
  .cp-form-seal { width: 36px; height: 36px; }
  .cp-form-seal img { width: 25px; height: 25px; }
  .cp-form { grid-template-columns: 1fr; gap: 17px; }
  .cp-choice span { height: 49px; font-size: 10px; padding: 8px 5px; gap: 7px; line-height: 1.4; text-align: center; }
  .cp-choice svg { width: 13px; height: 13px; }
  .cp-choices { gap: 7px; }
  .cp-field { font-size: 11px; gap: 8px; }
  .cp-field input, .cp-field select, .cp-field textarea { font-size: 16px; padding: 12px; }
  .cp-field input::placeholder, .cp-field textarea::placeholder { font-size: 12px; }
  .cp-field input, .cp-field select { height: 48px; }
  .cp-field textarea { min-height: 120px; }
  .cp-form-bottom { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 14px; }
  .cp-form-bottom .button { min-height: 49px; width: 100%; font-size: 11px; }
  .cp-form-note { text-align: center; max-width: none; font-size: 8px; }
  .cp-email-note { font-size: 8px; margin-top: 18px; padding-top: 15px; }
  .cp-review textarea { font-size: 12px; padding: 13px; min-height: 330px; }
  .cp-review-intro { padding: 14px; gap: 10px; }
  .cp-review-intro strong { font-size: 11px; }
  .cp-review-intro p { font-size: 9px; }
  .cp-review-actions { gap: 15px; }
  .cp-review-actions .button { width: 100%; }
  .cp-review-note { font-size: 9px; }
  .cp-next-grid, .cp-faq-grid { grid-template-columns: 1fr; gap: 30px; }
  .cp-title { font-size: 40px; }
  .cp-next .eyebrow, .cp-faq .eyebrow { font-size: 8px; margin-bottom: 13px; }
  .cp-next-lead { font-size: 11px; line-height: 1.9; margin-top: 17px; }
  .cp-next-list li { padding: 20px 0; gap: 20px; }
  .cp-next-list h3 { font-size: 13px; }
  .cp-next-list p { font-size: 10px; }
  .cp-area { padding: 33px 0; }
  .cp-area-grid { grid-template-columns: 50px 1fr; gap: 16px; }
  .cp-area h2 { font-size: 28px; }
  .cp-area p:not(.eyebrow) { grid-column: 1/-1; max-width: none; font-size: 11px; margin-top: 4px; }
  .cp-area a { grid-column: 1/-1; font-size: 10px; }
  .cp-faq { padding: 48px 0 75px; }
  .cp-faq summary { font-size: 12px; }
  .cp-faq details p { font-size: 11px; }
}
@media(max-width:350px) {
  .cp-intro h1 { font-size: 37px; }
  .cp-connect-copy { padding-inline: 21px; }
  .cp-contact-link { gap: 10px; grid-template-columns: 32px 1fr 12px; }
  .cp-contact-icon { width: 32px; height: 32px; }
  .cp-contact-link .cp-email-address { font-size: 10px; }
  .cp-enquiry { padding-inline: 20px; }
  .cp-form-top h2 { font-size: 27px; }
  .cp-form-seal { display: none; }
  .cp-choice span { font-size: 9px; gap: 5px; }
  .cp-choice svg { width: 12px; height: 12px; }
  .cp-title { font-size: 36px; }
}
/* Custom select controls retain the original named select for form submission. */
.cp-dropdown-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cp-select { position: relative; min-width: 0; width: 100%; }
.cp-select select[hidden] { display: none !important; }
.cp-select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; min-width: 0; height: 46px; padding: 8px 11px 8px 14px; border: 1px solid #d6dcd5; border-radius: 6px; background: linear-gradient(130deg,#fff,#f7f8f3); color: #15394c; text-align: left; font-family: var(--font); font-size: 12px; font-weight: 500; line-height: 1.5; cursor: pointer; box-shadow: 0 2px 4px #082b4003; transition: border-color .25s,box-shadow .25s,background .25s; }
.cp-select-value { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-select-caret { display: grid; place-items: center; width: 27px; height: 27px; flex-shrink: 0; border-radius: 50%; background: #b48b430c; color: #9e7b3b; transition: background .25s,color .25s; }
.cp-select-caret svg { width: 17px; height: 17px; stroke-width: 1.6; transition: transform .25s var(--ease-out); }
.cp-select-trigger:hover { border-color: #bd9b5f; background: #fff; }
.contact-page .cp-select-trigger:focus-visible, .cp-select.is-open .cp-select-trigger { outline: none; border-color: #b48b43; box-shadow: 0 0 0 3px #b48b4314,0 5px 15px #082b4006; }
.cp-select.is-open .cp-select-caret { background: #082b40; color: #e9c985; }
.cp-select.is-open .cp-select-caret svg { transform: rotate(180deg); }
.cp-select-trigger:disabled { opacity: .5; cursor: not-allowed; }
.cp-select-panel { position: fixed; z-index: 500; box-sizing: border-box; padding: 6px; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; border: 1px solid #c6ae7c99; border-radius: 9px; background: #fff; color: #16394b; box-shadow: 0 15px 40px #06263b20,0 3px 8px #082b4008; scrollbar-width: thin; scrollbar-color: #c9b17e #f4f4ee; font-family: var(--font); animation: cpSelectIn .18s var(--ease-out) both; }
.cp-select-panel[hidden] { display: none !important; }
.cp-select-panel.opens-above { animation-name: cpSelectAbove; }
.cp-select-panel::-webkit-scrollbar { width: 5px; }
.cp-select-panel::-webkit-scrollbar-thumb { background: #c9b17e; border-radius: 5px; }
.cp-select-panel::-webkit-scrollbar-track { background: #f4f4ee; }
.cp-select-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 41px; padding: 10px 12px; margin: 2px 0; border: 1px solid transparent; border-radius: 5px; font-size: 12px; font-weight: 450; line-height: 1.55; cursor: pointer; user-select: none; transition: background .15s,color .15s,border-color .15s; }
.cp-select-option > span { min-width: 0; overflow-wrap: anywhere; }
.cp-select-option > svg { width: 17px; height: 17px; flex-shrink: 0; opacity: 0; color: #e9c985; stroke-width: 1.8; }
.cp-select-option.is-active { background: #f5f0e5; border-color: #b48b432e; }
.cp-select-option[aria-selected="true"] { background: #082b40; color: #fff; border-color: #082b40; box-shadow: 0 3px 8px #082b4010; }
.cp-select-option[aria-selected="true"] > svg { opacity: 1; }
.cp-select-option[aria-selected="true"].is-active { border-color: #c3a368; }
.cp-select-option[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.site-dialog .cp-dropdown-field { font-size: 13px; font-weight: 700; gap: 5px; }
.site-dialog .cp-select-trigger { font-size: 13px; }
@keyframes cpSelectIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
@keyframes cpSelectAbove { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@media(max-width:760px) {
  .cp-select-trigger { height: 48px; font-size: 12px; }
  .cp-select-option { min-height: 43px; }
}
@media(max-width:560px) {
  .cp-select-trigger { height: 49px; font-size: 13px; padding-left: 13px; }
  .cp-select-option { min-height: 44px; padding: 10px 11px; font-size: 13px; }
  .cp-select-panel { border-radius: 8px; }
}
@media(prefers-reduced-motion:reduce) {
  .contact-page * { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .contact-page main [data-reveal] { opacity: 1; transform: none; filter: none; }
}
