.contact-page-shell{max-width:1120px;margin:0 auto;padding:80px 5.1244vw 110px}
.contact-breadcrumb{font-family:var(--en);font-size:11px;letter-spacing:.08em;color:#666;margin-bottom:58px}
.contact-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.contact-page-section{padding:clamp(45px,7vw,85px) clamp(20px,6vw,80px);background:#e4e8d7;text-align:center}
.contact-inner{max-width:980px;margin:0 auto}
.contact-heading{text-align:center}
.contact-heading>p:first-child{margin:0 0 20px;font-family:var(--en);font-size:10px;letter-spacing:.2em}
.contact-heading h2,.contact-heading h1{margin:0;font-family:var(--serif);font-size:clamp(31px,4vw,54px);font-weight:500;letter-spacing:.1em;line-height:1.8}
.contact-intro{max-width:560px;margin:24px auto 0;font-size:13px;line-height:2;color:#555}
.contact-form{max-width:840px;margin:50px auto 0;padding:clamp(26px,4vw,48px);background:rgba(255,255,255,.58);border:1px solid var(--line);text-align:left}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.contact-form label{display:block;margin-bottom:24px}
.contact-form label>span{display:flex;align-items:center;gap:10px;margin-bottom:9px;font-family:var(--serif);font-size:14px;letter-spacing:.06em}
.contact-form label>span b{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.08em;color:var(--clay)}
.contact-choice{border:0;margin:0 0 24px;padding:0}
.contact-choice legend{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-family:var(--serif);font-size:14px;letter-spacing:.06em}
.contact-choice legend b{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.08em;color:var(--clay)}
.contact-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.contact-choice-option{position:relative;display:block!important;margin:0!important;cursor:pointer}
.contact-choice-option input{position:absolute;width:1px;height:1px;opacity:0}
.contact-choice-option>span{display:block!important;height:100%;margin:0!important;border:1px solid rgba(22,22,22,.22);background:rgba(255,255,255,.54);padding:14px 16px;transition:border-color .2s,background .2s,box-shadow .2s}
.contact-choice-option strong{display:block;font-family:var(--serif);font-size:14px;font-weight:500;letter-spacing:.04em}
.contact-choice-option small{display:block;margin-top:4px;color:#666;font-size:11px;line-height:1.7}
.contact-choice-option:hover>span{border-color:var(--green);background:rgba(255,255,255,.84)}
.contact-choice-option input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
.contact-choice-option input:checked+span{border-color:var(--green);background:#eef1e8;box-shadow:inset 4px 0 0 var(--green)}
.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid rgba(22,22,22,.26);border-radius:0;background:rgba(255,255,255,.68);color:var(--text);font:inherit;font-size:13px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.contact-choice-option input{width:1px;height:1px;padding:0;border:0;background:none}
.contact-form input{height:48px}
.contact-form textarea{min-height:154px;resize:vertical;line-height:1.9}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#999}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(70,92,75,.12)}
.contact-note{margin:-4px 0 20px;color:#666;font-size:11px;line-height:1.8}
.contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}
.contact-status{flex:1;min-height:1.8em;margin:0;color:var(--green);font-size:11px;line-height:1.8}
.contact-submit{display:inline-flex;align-items:center;gap:24px;border:1px solid var(--text);background:var(--text);color:#fff;padding:13px 22px;font-size:12px;cursor:pointer;transition:background .2s,color .2s}
.contact-submit:hover{background:transparent;color:var(--text)}
.contact-submit span{font-size:18px;color:#e2a17f}
.contact-direct{margin:25px 0 0;text-align:center;font-size:11px;color:#666}
.contact-direct a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:767px){
  .contact-page-shell{padding:58px 5.333vw 78px}
  .contact-breadcrumb{margin-bottom:36px}
  .contact-page-section{padding:42px 16px}
  .contact-heading h2,.contact-heading h1{font-size:28px}
  .contact-form{margin-top:38px;padding:24px 18px}
  .contact-form-grid{grid-template-columns:1fr;gap:0}
  .contact-choice-grid{grid-template-columns:1fr}
  .contact-form-footer{display:block}
  .contact-submit{margin-top:12px}
  .contact-direct{overflow-wrap:anywhere}
}
