.contact-page { background: #f8f5ef; }
.contact-hero { padding: 120px 0; }
.contact-hero__inner { align-items: center; display: grid; gap: 80px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-hero__breadcrumb { color: #817569; display: flex; font-size: .7rem; gap: 9px; margin-bottom: 37px; }
.contact-hero__breadcrumb a { color: inherit; text-decoration: none; }
.contact-hero__label { color: #a9782d; font-size: .67rem; font-weight: 700; letter-spacing: .15em; margin: 0 0 15px; text-transform: uppercase; }
.contact-hero h1 { color: #171513; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(3.2rem, 5.4vw, 5.8rem); font-weight: 500; letter-spacing: -.035em; line-height: .92; margin: 0; max-width: 600px; }
.contact-hero__body { color: #5e564d; font-size: 1rem; line-height: 1.75; margin: 29px 0 0; max-width: 510px; }
.contact-hero__actions { display: flex; gap: 11px; margin-top: 33px; }
.contact-hero__actions a { border: 1px solid #c79a43; color: #7b551c; font-size: .66rem; font-weight: 700; letter-spacing: .07em; padding: 16px 20px; text-decoration: none; text-transform: uppercase; }
.contact-hero__actions a:first-child { background: #c79a43; color: #171513; }
.contact-hero__media { height: min(660px, 70vh); min-height: 540px; overflow: hidden; }
.contact-hero__media img { height: 100%; object-fit: cover; width: 100%; }
@media (max-width: 900px) { .contact-hero { padding: 90px 0; } .contact-hero__inner { gap: 45px; } .contact-hero__media { min-height: 450px; } }
@media (max-width: 680px) { .contact-hero { padding: 58px 0 66px; } .contact-hero__inner { display: flex; flex-direction: column; gap: 35px; } .contact-hero__content, .contact-hero__media { width: 100%; } .contact-hero__breadcrumb { margin-bottom: 27px; } .contact-hero h1 { font-size: clamp(3rem, 12vw, 4.1rem); } .contact-hero__body { font-size: .92rem; margin-top: 22px; } .contact-hero__actions { display: grid; gap: 10px; } .contact-hero__actions a { text-align: center; } .contact-hero__media { aspect-ratio: 4 / 4.8; height: auto; min-height: 0; } }

.contact-details { background: #fffdfa; padding: 90px 0; }
.contact-section-heading { margin: 0 auto 48px; max-width: 680px; text-align: center; }
.contact-section-heading > p, .contact-section-label { color: #a9782d; font-size: .67rem; font-weight: 700; letter-spacing: .15em; margin: 0 0 14px; text-transform: uppercase; }
.contact-section-heading h2, .contact-message h2 { color: #171513; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2.8rem, 4.4vw, 4.7rem); font-weight: 500; line-height: .95; margin: 0; }
.contact-section-heading > span { color: #655c51; display: block; font-size: .88rem; line-height: 1.7; margin-top: 19px; }
.contact-details__grid { display: grid; gap: 20px; grid-template-columns: repeat(4, 1fr); }
.contact-details__grid article { background: #fff; border: 1px solid #e9e0d5; border-radius: 10px; display: flex; flex-direction: column; min-height: 315px; padding: 30px; transition: box-shadow .25s ease, transform .25s ease; }
.contact-details__grid article:hover { box-shadow: 0 17px 30px rgba(58, 44, 28, .08); transform: translateY(-6px); }
.contact-details__icon { color: #b78332; font-family: Georgia, serif; font-size: 2.2rem; line-height: 1; margin-bottom: 26px; }
.contact-details h3 { font-family: "Cormorant Garamond", Georgia, serif; font-size: 2rem; font-weight: 500; margin: 0 0 17px; }
.contact-details p { color: #655c51; font-size: .83rem; line-height: 1.65; margin: 0 0 15px; }
.contact-details .contact-details__primary { color: #1d1915; font-size: .9rem; font-weight: 600; }
.contact-details small { color: #655c51; font-size: .75rem; line-height: 1.65; }
.contact-details article > a { border: 1px solid #c79a43; color: #80591e; font-size: .65rem; font-weight: 700; letter-spacing: .06em; margin-top: auto; padding: 13px 16px; text-align: center; text-decoration: none; text-transform: uppercase; }
.contact-details article > a.is-gold { background: #c79a43; color: #171513; }
.contact-message { background: #f8f5ef; padding: 110px 0; }
.contact-message__inner { align-items: stretch; display: grid; gap: clamp(42px, 7vw, 85px); grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); }
.contact-message__fields { display: grid; gap: 17px; grid-template-columns: repeat(2, 1fr); }
.contact-message__fields p { margin: 0; }
.contact-message__field--full { grid-column: 1 / -1; }
.contact-message label { color: #554c42; display: block; font-size: .67rem; font-weight: 700; letter-spacing: .06em; margin-bottom: 7px; text-transform: uppercase; }
.contact-message input, .contact-message textarea { background: #fff; border: 1px solid #ded5c8; box-sizing: border-box; font: inherit; outline-color: #c79a43; padding: 13px; width: 100%; }
.contact-message input { height: 51px; }.contact-message textarea { resize: vertical; }
.contact-message button { background: #c79a43; border: 1px solid #c79a43; color: #171513; cursor: pointer; font-size: .67rem; font-weight: 700; letter-spacing: .08em; margin-top: 20px; min-height: 52px; width: 100%; text-transform: uppercase; }
.contact-message small { color: #746b60; display: block; font-size: .72rem; margin-top: 13px; }
.contact-message__notice { background: #e9f1e8; color: #38613f; font-size: .8rem; margin: 0 0 20px; padding: 12px; }.contact-message__notice--error { background: #f7e8e4; color: #914331; }
.contact-message__next { background: #fff; border: 1px solid #e7ded2; border-radius: 10px; box-shadow: 0 14px 29px rgba(52, 39, 25, .07); padding: clamp(30px, 4vw, 48px); }
.contact-message__next ol { list-style: none; margin: 30px 0 0; padding: 0; }
.contact-message__next li { align-items: flex-start; border-bottom: 1px solid #e9e0d5; display: flex; gap: 17px; padding: 0 0 22px; position: relative; }
.contact-message__next li + li { padding-top: 22px; }.contact-message__next li:not(:last-child)::after { color: #c79a43; content: '↓'; left: 8px; position: absolute; top: calc(100% - 8px); }
.contact-message__next li:last-child { border: 0; padding-bottom: 0; }.contact-message__next li span { color: #a9782d; font-size: .68rem; font-weight: 700; letter-spacing: .08em; }.contact-message__next li p { color: #554c42; font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.35rem; line-height: 1.05; margin: 0; }
@media (max-width: 900px) { .contact-details { padding: 75px 0; }.contact-details__grid { grid-template-columns: repeat(2, 1fr); }.contact-details__grid article { min-height: 285px; padding: 28px; }.contact-message { padding: 85px 0; }.contact-message__inner { gap: 40px; grid-template-columns: 1.1fr .9fr; } }
@media (max-width: 680px) { .contact-details, .contact-message { padding: 66px 0; }.contact-section-heading { margin-bottom: 32px; }.contact-details__grid, .contact-message__inner { grid-template-columns: 1fr; }.contact-details__grid { gap: 16px; }.contact-details__grid article { min-height: 0; }.contact-message__fields { grid-template-columns: 1fr; }.contact-message__inner { gap: 28px; } }

.contact-studio { background: #fffdfa; padding: 100px 0; }
.contact-studio__inner { align-items: stretch; display: grid; gap: clamp(42px, 7vw, 84px); grid-template-columns: minmax(0, .67fr) minmax(0, 1fr); }
.contact-studio h2 { color: #171513; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2.7rem, 4vw, 4.1rem); font-weight: 500; line-height: .95; margin: 0 0 34px; }
.contact-studio h3 { color: #5a4f43; font-size: .66rem; letter-spacing: .09em; margin: 25px 0 9px; text-transform: uppercase; }
.contact-studio address { color: #4f463d; font-size: .88rem; font-style: normal; line-height: 1.7; }
.contact-studio dl { display: grid; gap: 8px; margin: 0; max-width: 300px; }
.contact-studio dl div { display: flex; font-size: .78rem; justify-content: space-between; }.contact-studio dt { color: #70665a; }.contact-studio dd { color: #29221c; margin: 0; }
.contact-studio__landmark { color: #70665a; font-size: .8rem; line-height: 1.65; margin: 26px 0; max-width: 370px; }
.contact-studio__actions { display: flex; flex-wrap: wrap; gap: 10px; }.contact-studio__actions a { border: 1px solid #c79a43; color: #80591e; font-size: .65rem; font-weight: 700; letter-spacing: .06em; padding: 14px 16px; text-decoration: none; text-transform: uppercase; }.contact-studio__actions a:last-child { background: #c79a43; color: #171513; }
.contact-studio__map { border: 1px solid #e4dbcf; border-radius: 10px; min-height: 475px; overflow: hidden; }.contact-studio__map iframe { border: 0; height: 100%; min-height: 475px; width: 100%; }
@media (max-width: 680px) { .contact-studio { padding: 66px 0; }.contact-studio__inner { grid-template-columns: 1fr; }.contact-studio__map, .contact-studio__map iframe { min-height: 420px; } }
