/* Contact-only layout, loaded after the shared brand stylesheet. */
.contact-page .page-opening{padding-top:64px;padding-bottom:60px}
.contact-page .page-opening h1{font-size:clamp(48px,5.6vw,76px);font-weight:400;margin:20px 0 24px}
.contact-page .page-opening>p:last-child{font-size:17px;line-height:1.75;max-width:42em}
.contact-page .inquiry-section{display:block;padding-top:76px;padding-bottom:104px}
.contact-page .inquiry-before{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(36px,6vw,88px);align-items:start}
.contact-page .inquiry-before>*,.contact-page .inquiry-card,.contact-page .inquiry-success{min-width:0}
.contact-page .inquiry-intro h2{font-size:clamp(30px,3.2vw,46px);line-height:1.35;font-weight:500;margin:22px 0 26px}
.contact-page .inquiry-intro>p:not(.overline){font-size:17px;line-height:1.75;color:#626955}
.contact-page .inquiry-process{list-style:none;padding:0;margin:32px 0;display:grid;gap:16px;font-size:16px}
.contact-page .inquiry-process li{list-style:none;display:flex;align-items:center;gap:12px}
.contact-page .inquiry-process li::marker,.contact-page .completion-process li::marker{content:""}
.contact-page .inquiry-process span{width:auto;font:500 13px/1.6 Arial,sans-serif;letter-spacing:.04em;color:#687254}
.contact-page .inquiry-note{font-size:15px;line-height:1.75;color:#646b56}
.contact-page .inquiry-direct{margin-top:34px}
.contact-page .inquiry-direct a{padding:18px 0}
.contact-page .inquiry-direct span{font-family:inherit;font-size:14px;font-weight:500;letter-spacing:-.025em;color:#656b58}
.contact-page .inquiry-direct strong{font:500 clamp(19px,1.8vw,25px)/1.7 Arial,sans-serif;letter-spacing:-.015em;overflow-wrap:anywhere}
.contact-page .inquiry-card{margin:0;padding:clamp(24px,3vw,42px);background:#fbf9f3;border:1px solid #d1ccbb;box-shadow:none}
.contact-page .inquiry-type>legend{font-size:16px;font-weight:600;margin-bottom:14px;color:#414837}
.contact-page .inquiry-type-options{gap:10px}
.contact-page .inquiry-type-options label{position:relative;min-height:54px;font-size:16px;font-weight:600;line-height:1.5;text-align:center;gap:0;padding:13px 10px;color:#4c5341;background:transparent}
.contact-page .inquiry-type-options label span{min-width:0;font-weight:600;overflow-wrap:anywhere}
.contact-page .inquiry-type-options label:has(input:checked){background:#5b624b;border-color:#5b624b;color:#fbf9f3}
.contact-page .inquiry-type-options input{position:absolute;width:1px;height:1px;opacity:0}
.contact-page .inquiry-type-options label:focus-within{outline:2px solid #687254;outline-offset:4px}
.contact-page .inquiry-required-note{font-size:14px;line-height:1.75;color:#656c58;margin:22px 0 30px}
.contact-page .inquiry-fields{gap:24px 20px}
.contact-page .inquiry-field>label,.contact-page .inquiry-options>legend{font-size:16px;font-weight:500;line-height:1.6;margin-bottom:10px;color:#414837}
.contact-page .inquiry-field label>span,.contact-page .inquiry-options legend>span{font-size:13px;color:#68705c}
.contact-page .inquiry-field input,.contact-page .inquiry-field textarea,.contact-page .inquiry-field select{min-width:0;max-width:100%;min-height:50px;font-size:16px;line-height:1.65;font-weight:400;padding:12px 14px;color:#414837}
.contact-page .inquiry-field input::placeholder,.contact-page .inquiry-field textarea::placeholder{font-size:15px;color:#7d826f}
.contact-page .inquiry-options>label{font-size:16px;line-height:1.6;align-items:flex-start;min-height:44px;padding:8px 0}
.contact-page .inquiry-options>label input{margin-top:4px}
.contact-page .inquiry-options>label span{min-width:0;overflow-wrap:anywhere}
.contact-page .inquiry-options .inquiry-note{font-size:14px;margin-top:10px}
.contact-page .inquiry-form>p.inquiry-note{margin-top:28px;font-size:14px}
.contact-page .inquiry-privacy{margin-top:28px;padding:24px;background:#eeebdf;scroll-margin-top:30px}
.contact-page .inquiry-privacy h3{font-size:17px;font-weight:600;line-height:1.6}
.contact-page .inquiry-privacy dl{font-size:14px;line-height:1.75;margin:16px 0}
.contact-page .inquiry-privacy dl>div{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:9px 0}
.contact-page .inquiry-privacy dt,.contact-page .inquiry-privacy dd{color:#59624e}
.contact-page .inquiry-privacy p{font-size:14px;line-height:1.75;color:#59624e}
.contact-page .inquiry-privacy dd,.contact-page .inquiry-privacy a{overflow-wrap:anywhere}
.contact-page .inquiry-consents{padding:24px 0 8px}
.contact-page .inquiry-consents label{min-height:48px;font-size:16px;line-height:1.65;align-items:flex-start;padding:10px 0}
.contact-page .inquiry-consents input{margin-top:4px}
.contact-page .inquiry-consents b{font-size:13px;color:#68705c}
.contact-page .inquiry-submit{font-size:16px;font-weight:600;min-height:56px;justify-content:center;gap:20px;padding:15px 20px}
.contact-page .inquiry-submit:disabled{opacity:.7;cursor:wait}
.contact-page .inquiry-status{font-size:15px;line-height:1.7;color:#626b50;margin-top:16px}
.contact-page .inquiry-status:empty,.contact-page .field-error:empty{display:none}
.contact-page .inquiry-errors{font-size:15px;line-height:1.75;margin:24px 0;padding:16px 18px;color:#7a4727;background:#f3e8db}
.contact-page .field-error{font-size:14px;line-height:1.6;margin-top:7px;color:#854c2c}
.contact-page .inquiry-fallback{font-size:14px;line-height:1.75;margin-top:20px;color:#606854}
.contact-page .inquiry-section[data-state=complete]{padding-top:64px;padding-bottom:88px}
.contact-page .inquiry-success{max-width:760px;margin-inline:auto;padding:0;min-height:0;text-align:center;scroll-margin-top:32px;outline:none}
.contact-page .completion-check{display:block;margin:0 auto 28px;color:#687254;width:72px;height:72px}
.contact-page .inquiry-success h2{font-size:clamp(28px,3.5vw,42px);font-weight:500;line-height:1.4;margin:0;letter-spacing:-.05em;overflow-wrap:break-word;word-break:keep-all}
.contact-page .inquiry-success .completion-description{font-size:18px;line-height:1.75;color:#626b56;margin:18px auto 0;max-width:34em;word-break:keep-all}
.contact-page .inquiry-reference-card{display:grid;gap:8px;max-width:500px;margin:32px auto;background:#eeebdf;padding:21px 24px}
.contact-page .inquiry-reference-card>span{font-size:14px;font-weight:500;color:#626b56}
.contact-page .inquiry-reference{display:block;font:600 17px/1.65 Arial,sans-serif;letter-spacing:.025em;color:#414837;border:0;padding:0;overflow-wrap:anywhere}
.contact-page .completion-process{list-style:none;padding:0;margin:0 auto 32px;display:flex;justify-content:center;align-items:center;gap:0;font-size:16px;line-height:1.7}
.contact-page .completion-process li{list-style:none;display:flex;align-items:center;font-weight:400;color:#747968;white-space:nowrap}
.contact-page .completion-process li.is-complete{color:#4f5f3d;font-weight:600}
.contact-page .completion-process li:not(:last-child)::after{content:"→";display:block;margin:0 16px;color:#8b907e;font:400 15px/1 Arial,sans-serif}
.contact-page .completion-action{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 28px;min-height:56px;font-size:16px;font-weight:600}
.contact-page .completion-support{max-width:500px;margin:38px auto 0;padding-top:24px;border-top:1px solid #d1ccbb;text-align:left}
.contact-page .completion-support>p{font-size:14px;font-weight:500;color:#68705c;margin:0 0 10px}
.contact-page .completion-support dl{margin:0;display:grid;gap:10px;font-size:16px;line-height:1.65}
.contact-page .completion-support dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}
.contact-page .completion-support dt{color:#69705e}
.contact-page .completion-support dd{margin:0;min-width:0}
.contact-page .completion-support a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.contact-page .footer{margin-top:0}
@media(max-width:1000px){
  .contact-page .inquiry-before{grid-template-columns:.75fr 1.25fr;gap:32px}
  .contact-page .inquiry-fields{grid-template-columns:1fr}
}
@media(max-width:760px){
  .contact-page .page-opening{padding:44px 20px 42px}
  .contact-page .page-opening h1{font-size:46px;margin:18px 0}
  .contact-page .page-opening>p:last-child{font-size:16px}
  .contact-page .inquiry-section{padding-top:44px;padding-bottom:64px}
  .contact-page .inquiry-before{display:block}
  .contact-page .inquiry-intro h2{font-size:30px;margin:18px 0 20px}
  .contact-page .inquiry-intro>p:not(.overline){font-size:16px}
  .contact-page .inquiry-process{grid-template-columns:1fr 1fr;gap:12px 20px;margin:24px 0}
  .contact-page .inquiry-card{margin-top:36px;padding:24px 20px}
  .contact-page .inquiry-direct{margin-top:24px}
  .contact-page .inquiry-fields{grid-template-columns:1fr;gap:22px}
  .contact-page .inquiry-field-wide{grid-column:auto}
  .contact-page .inquiry-required-note{margin:20px 0 26px}
  .contact-page .inquiry-privacy{padding:20px 16px}
  .contact-page .inquiry-privacy dl>div{grid-template-columns:1fr;gap:2px}
  .contact-page .inquiry-privacy dt{font-weight:500}
  .contact-page .inquiry-section[data-state=complete]{padding-top:48px;padding-bottom:64px}
  .contact-page .completion-check{width:64px;height:64px;margin-bottom:24px}
  .contact-page .inquiry-success h2{font-size:28px;line-height:1.45}
  .contact-page .inquiry-success .completion-description{font-size:16px;margin-top:16px}
  .contact-page .inquiry-reference-card{margin:28px auto;padding:20px 16px}
  .contact-page .inquiry-reference{font-size:16px}
  .contact-page .completion-process{font-size:15px;margin-bottom:28px}
  .contact-page .completion-process li:not(:last-child)::after{margin:0 9px;font-size:13px}
  .contact-page .completion-action{width:100%;max-width:360px}
  .contact-page .completion-support{margin-top:30px}
  .contact-page .completion-support dl>div{grid-template-columns:60px minmax(0,1fr);gap:10px}
}
@media(max-width:360px){
  .contact-page .inquiry-card{padding:22px 16px}
  .contact-page .inquiry-type-options label{font-size:15px;padding:12px 8px}
  .contact-page .completion-process{font-size:14px}
  .contact-page .completion-process li:not(:last-child)::after{margin:0 7px;font-size:12px}
}
