:root{--contact-dark:#111210;--contact-deep:#191a17;--contact-paper:#f1ece2;--contact-white:#fbf8f1;--contact-gold:#b79350;--contact-line:rgba(55,48,37,.16)}

.contact-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr);min-height:calc(100vh - 88px);background:var(--contact-dark)}
.contact-hero__visual{position:sticky;top:0;align-self:start;height:calc(100vh - 88px);min-height:760px;overflow:hidden;background:#0d0e0d}
.contact-hero__visual>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:56% center}
.contact-hero__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,8,7,.92) 0%,rgba(7,8,7,.12) 65%),linear-gradient(90deg,rgba(0,0,0,.14),transparent)}
.contact-hero__copy{position:absolute;z-index:2;left:clamp(34px,6vw,88px);right:clamp(34px,6vw,88px);bottom:8%;color:#f4eee4}
.contact-hero__copy h1{max-width:720px;margin:25px 0 30px;font-size:clamp(40px,4vw,60px);font-weight:400;line-height:1.6;letter-spacing:.055em}
.contact-hero__copy>p:last-child{color:#cbc3b7;font-size:15px;line-height:2}

.contact-panel{background:var(--contact-paper);padding:clamp(65px,6.5vw,105px) clamp(42px,6vw,92px) 90px}
.contact-panel__intro{max-width:730px;margin-bottom:42px}
.contact-panel__intro h2{font-size:clamp(38px,4vw,56px);font-weight:400;line-height:1.55;letter-spacing:.055em;margin:22px 0 24px}
.contact-panel__intro>p:last-child{max-width:680px;color:#68645d;line-height:2}

.smartphone-route{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:42px;padding:25px 28px;background:#1b1c19;color:#f3eee4;border-left:3px solid var(--contact-gold)}
.smartphone-route .eyebrow{font-size:9px;margin-bottom:9px}
.smartphone-route h3{font-size:17px;font-weight:400;letter-spacing:.04em;margin:0 0 8px}
.smartphone-route p:not(.eyebrow){max-width:560px;color:#aaa49a;font-size:12px;line-height:1.8;margin:0}
.smartphone-route>a{flex:0 0 auto;color:#dfc77d;font-size:12px;letter-spacing:.07em;border-bottom:1px solid #8f7440;padding:9px 0}
.smartphone-route>a span{margin-left:10px}

.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px;max-width:900px}
.field{min-width:0}.field--wide{grid-column:1/-1}
.field label{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:#393731;font-size:12px;letter-spacing:.055em}
.field label em{font-style:normal;color:#8d6c33;font-size:9px;border:1px solid rgba(141,108,51,.46);padding:2px 5px}
.field label span{color:#8b877e;font-size:10px}
.field input,.field select,.field textarea{width:100%;border:1px solid rgba(55,48,37,.19);border-radius:0;background:rgba(255,255,255,.65);color:#25241f;padding:15px 16px;font:14px/1.7 "Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.field textarea{min-height:175px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#aaa69e}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#9f7c3f;box-shadow:0 0 0 3px rgba(183,147,80,.1)}
.select-wrap{position:relative}.select-wrap:after{content:"";position:absolute;right:18px;top:50%;width:7px;height:7px;border-right:1px solid #7e6b49;border-bottom:1px solid #7e6b49;transform:translateY(-65%) rotate(45deg);pointer-events:none}
.field select{appearance:none;padding-right:44px}

.consent{display:flex;align-items:flex-start;gap:10px;color:#716d65;font:12px/1.8 "Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
.consent input{width:16px;height:16px;margin:5px 0 0;accent-color:#9e7c3f}
.submit-area{padding-top:5px}
.submit-area button{width:100%;min-height:62px;border:0;background:#9e7c3f;color:white;font:14px/1.4 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.08em;cursor:pointer;transition:background .2s,transform .2s}
.submit-area button:hover{background:#87682f;transform:translateY(-1px)}
.submit-area button span{margin-left:15px}
.submit-area p{margin:15px 0 0;color:#69655e;font-size:12px;text-align:center}
.submit-area small{display:block;margin-top:8px;color:#9a958b;font-size:9px;line-height:1.7;text-align:center}

.contact-assurance{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:0 auto;padding:105px 28px 115px}
.contact-assurance article{padding:15px 40px 22px;border-right:1px solid var(--contact-line)}
.contact-assurance article:last-child{border-right:0}
.contact-assurance span{color:var(--contact-gold);font:18px Georgia,serif}
.contact-assurance h2{font-size:20px;font-weight:400;line-height:1.65;letter-spacing:.045em;margin:24px 0 15px}
.contact-assurance p{color:#6d6962;font-size:13px;line-height:2;margin:0}

@media(max-width:1100px){
  .contact-hero{grid-template-columns:.82fr 1.18fr}.contact-panel{padding-inline:42px}
  .contact-hero__copy{left:36px;right:36px}.contact-hero__copy h1{font-size:40px}
}

@media(max-width:760px){
  .contact-hero{grid-template-columns:1fr;min-height:0}
  .contact-hero__visual{position:relative;top:auto;height:auto;min-height:480px}.contact-hero__visual>img{object-position:62% center}
  .contact-hero__copy{left:22px;right:22px;bottom:38px}
  .contact-hero__copy h1{font-size:clamp(31px,9vw,40px);line-height:1.55;margin:18px 0 20px}
  .contact-hero__copy>p:last-child{font-size:13px;line-height:1.9}
  .contact-panel{padding:62px 22px 72px}.contact-panel__intro{margin-bottom:32px}
  .contact-panel__intro h2{font-size:clamp(31px,9vw,40px);margin:18px 0 20px}
  .contact-panel__intro>p:last-child{font-size:14px;line-height:1.9}
  .smartphone-route{align-items:flex-start;flex-direction:column;padding:22px 20px;gap:15px;margin-bottom:34px}
  .smartphone-route>a{min-height:44px;display:flex;align-items:center}
  .contact-form{grid-template-columns:1fr;gap:21px}.field--wide{grid-column:auto}
  .field input,.field select,.field textarea{font-size:16px}
  .contact-assurance{grid-template-columns:1fr;padding:65px 22px 75px}
  .contact-assurance article{padding:32px 0;border-right:0;border-bottom:1px solid var(--contact-line)}
  .contact-assurance article:first-child{padding-top:0}.contact-assurance article:last-child{border-bottom:0;padding-bottom:0}
}
