.contact-page{background:#f8f6f2}
.contact-hero{position:relative;background:#262622;color:#f8f6f2;padding:185px 0 105px;overflow:hidden}
.contact-hero:before{content:'';position:absolute;width:55vw;height:55vw;max-width:850px;max-height:850px;right:-10vw;top:-24vw;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 110px rgba(255,255,255,.012),0 0 0 230px rgba(255,255,255,.012)}
.contact-hero-inner{position:relative;display:grid;grid-template-columns:63% 1fr;gap:8%;align-items:end}
.contact-hero h1{font-size:clamp(62px,7vw,112px);line-height:1.01;margin:19px 0 0}
.contact-hero-inner>p{font-size:16px;line-height:1.7;max-width:390px;color:#e2ddd6;margin-bottom:10px}
.contact-hero-line{position:absolute;bottom:0;left:4.5vw;right:4.5vw;height:1px;background:rgba(255,255,255,.19)}
.contact-main{background:#f8f6f2}
.contact-layout{display:grid;grid-template-columns:39% 1fr;gap:11%;align-items:start}
.contact-info{padding-top:8px}
.contact-info h2{font-size:clamp(43px,4.6vw,72px);margin:19px 0 25px}
.contact-intro{font-size:15px;line-height:1.75;max-width:410px;color:#5e5953;margin-bottom:47px}
.contact-detail{padding:20px 0 21px;border-top:1px solid #ccc4b9;display:flex;flex-direction:column;gap:11px}
.contact-detail:last-child{border-bottom:1px solid #ccc4b9}
.contact-detail>span{font-size:10px;font-weight:700;letter-spacing:.17em;color:#81756a}
.contact-detail a{font-family:'Noto Serif Display',Georgia,serif;font-size:clamp(20px,2.1vw,30px);line-height:1.35;letter-spacing:-.02em}
.contact-detail i{font-family:'DM Sans',sans-serif;font-size:18px;font-style:normal;margin-left:8px}.contact-detail a:hover{color:#95775c}
.service-area{position:relative;margin-top:34px;padding:27px 54px 30px 28px;border:1px solid #cfc4b6;background:rgba(255,255,255,.35)}
.service-area-label{display:block;margin-bottom:16px;color:#81756a;font-size:10px;font-weight:700;letter-spacing:.17em}
.service-area p{max-width:360px;margin:0;font-family:'Noto Serif Display',Georgia,serif;font-size:clamp(20px,2vw,27px);line-height:1.42;letter-spacing:-.02em}
.service-area strong{font-weight:500}
.service-area-mark{position:absolute;top:23px;right:27px;color:#a18c77;font-size:22px;line-height:1}
.contact-form-wrap{background:#fff;padding:clamp(28px,4.5vw,65px);box-shadow:0 18px 65px rgba(48,42,35,.045)}
.contact-form-wrap h2{font-size:clamp(36px,3.7vw,56px);margin:12px 0 14px}
.contact-form-wrap>p:not(.eyebrow){font-size:13px;line-height:1.65;color:#706a64;max-width:580px;margin-bottom:34px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.form-field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;min-width:0}
.form-field label{font-size:12px;font-weight:600;color:#403d39}.form-field label span{color:#9d7050}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid #d7d0c6;border-radius:0;background:#faf9f7;color:#242420;padding:14px 15px;font:13px/1.5 'DM Sans',Arial,sans-serif;outline:0;transition:border-color .2s,background .2s}
.form-field input,.form-field select{height:49px}.form-field textarea{resize:vertical;min-height:145px}
.form-field input::placeholder,.form-field textarea::placeholder{color:#96918b}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#766758;background:#fff;box-shadow:0 0 0 2px rgba(118,103,88,.12)}
.form-field input:user-invalid,.form-field textarea:user-invalid{border-color:#b55143}
.form-actions{display:flex;align-items:center;gap:20px;margin-top:7px}.form-actions .button{border:0;cursor:pointer;min-height:48px}.form-actions>p{font-size:10px;line-height:1.55;color:#77716b;max-width:255px;margin:0}
.form-actions .button:disabled{opacity:.6;cursor:wait;transform:none}
.form-status{font-size:12px;line-height:1.5;margin:13px 0 0;color:#5a5a50;min-height:18px}
.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.contact-local{background:#e9e2d8}
.contact-local-grid{display:grid;grid-template-columns:58% 1fr;gap:9%;align-items:end}
.contact-local h2{font-size:clamp(43px,4.8vw,74px);margin:18px 0 0}
.contact-local-grid>div:last-child p{font-size:15px;line-height:1.7;max-width:450px;color:#56514c}
.text-link{display:inline-flex;gap:33px;align-items:center;margin-top:20px;padding-bottom:7px;border-bottom:1px solid #686059;font-size:13px;font-weight:600}.text-link span{font-size:18px;font-weight:400}.text-link:hover{color:#9c7653}
@media(max-width:1050px){.contact-layout{gap:6%;grid-template-columns:40% 1fr}.contact-hero-inner{grid-template-columns:60% 1fr}.contact-hero h1{font-size:clamp(62px,7vw,90px)}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){.contact-hero{padding:145px 0 75px}.contact-hero-inner{grid-template-columns:1fr;gap:26px}.contact-hero h1{font-size:clamp(57px,9vw,78px)}.contact-hero-inner>p{font-size:14px;max-width:570px}.contact-layout{grid-template-columns:1fr;gap:55px}.contact-intro{max-width:600px;margin-bottom:30px}.contact-form-wrap{padding:35px}.form-row{grid-template-columns:1fr 1fr;gap:15px}.contact-local-grid{grid-template-columns:1fr;gap:28px}}
@media(max-width:540px){.contact-hero{padding-top:130px}.contact-hero h1{font-size:53px}.contact-form-wrap{padding:25px 19px}.form-row{grid-template-columns:1fr;gap:0}.form-actions{align-items:start;flex-direction:column;gap:14px}.contact-local h2{font-size:43px}}
