
:root{
  --paper:#fbfaf6;
  --ink:#2d2a27;
  --muted:#77716a;
  --red:#e70012;
  --deep-red:#a61f24;
  --line:rgba(45,42,39,.15);
}
.contact-page{
  margin:0;
  background:var(--paper);
  color:var(--ink);
}
.contact-header{
  background:rgba(251,250,246,.96);
  color:var(--ink);
  border-bottom:1px solid rgba(45,42,39,.08);
}
.contact-header .brand,
.contact-header .global-nav a{color:var(--ink);}
.contact-wrap{
  width:min(1040px, calc(100% - 120px));
  margin:0 auto;
}
.contact-intro{
  padding:154px 0 78px;
  border-bottom:1px solid var(--line);
}
.contact-intro-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:8vw;
  align-items:end;
}
.contact-intro .eyebrow{margin-bottom:24px;}
.contact-intro h1{
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(36px,3.8vw,56px);
  font-weight:400;
  line-height:1.2;
  letter-spacing:.06em;
}
.contact-intro-copy{
  padding-bottom:4px;
}
.contact-intro p{
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:16px;
  line-height:2;
  letter-spacing:.06em;
}
.contact-form-section{
  padding:112px 0 126px;
}
.contact-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:9vw;
  align-items:start;
}
.contact-side h2,
.contact-direct h2{
  margin:24px 0 0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(28px,2.8vw,42px);
  font-weight:400;
  line-height:1.5;
  letter-spacing:.05em;
}
.contact-side p{
  margin:24px 0 0;
  font-size:14px;
  line-height:2;
  color:var(--muted);
}
.contact-form{
  width:100%;
}
.subject-fieldset{
  margin:0 0 56px;
  padding:0;
  border:0;
}
.subject-fieldset legend{
  margin-bottom:24px;
  font-size:14px;
  letter-spacing:.06em;
}
.subject-option{
  display:flex;
  align-items:center;
  gap:14px;
  padding:15px 0;
  border-bottom:1px solid var(--line);
  cursor:pointer;
}
.subject-option:first-of-type{
  border-top:1px solid var(--line);
}
.subject-option input{
  width:16px;
  height:16px;
  accent-color:var(--red);
}
.subject-option span{
  font-family:"Noto Serif JP",serif;
  font-size:15px;
  letter-spacing:.035em;
}
.subject-option small{
  margin-left:7px;
  font-family:"Cormorant Garamond",serif;
  font-size:16px;
  letter-spacing:.03em;
  color:var(--muted);
}
.field-row{
  margin-bottom:34px;
}
.field-row label{
  display:block;
}
.field-row label>span{
  display:block;
  margin-bottom:10px;
  font-size:13px;
  letter-spacing:.05em;
}
.field-row b{
  color:var(--deep-red);
  font-weight:400;
}
.field-row input,
.field-row textarea{
  width:100%;
  box-sizing:border-box;
  border:0;
  border-bottom:1px solid rgba(45,42,39,.34);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  padding:12px 2px 14px;
  font:inherit;
  outline:none;
}
.field-row textarea{
  border:1px solid rgba(45,42,39,.24);
  padding:15px;
  resize:vertical;
}
.field-row input:focus,
.field-row textarea:focus{
  border-color:var(--deep-red);
}
.two-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:38px;
}
.form-note{
  margin-top:-10px;
}
.form-note p{
  margin:0;
  font-size:12px;
  color:var(--muted);
}
.submit-button{
  margin-top:34px;
  min-width:180px;
  padding:15px 38px 13px;
  border:1px solid rgba(45,42,39,.35);
  background:transparent;
  color:var(--ink);
  cursor:not-allowed;
  opacity:.62;
}
.submit-button span{
  display:block;
  font-family:"Cormorant Garamond",serif;
  font-size:23px;
  line-height:1;
}
.submit-button small{
  display:block;
  margin-top:4px;
  font-size:10px;
  letter-spacing:.18em;
}
.contact-direct{
  padding:92px 0 104px;
  background:#f4f1eb;
}
.direct-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:9vw;
}
.direct-list{
  border-top:1px solid var(--line);
}
.direct-row{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:28px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.direct-row span{
  font-family:"Cormorant Garamond",serif;
  font-size:19px;
}
.direct-row a{
  color:var(--ink);
  text-decoration:none;
}
.contact-footer{
  background:var(--paper);
}
.contact-footer-line{
  height:2px;
  background:var(--red);
}
.contact-footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding-top:28px;
  padding-bottom:30px;
}
.footer-tagline{
  font-family:"Cormorant Garamond",serif;
  font-size:17px;
  letter-spacing:.04em;
}
.contact-footer small{
  font-size:11px;
  letter-spacing:.05em;
}
@media (max-width:900px){
  .contact-wrap{width:min(100% - 40px,680px);}
  .contact-intro{padding:126px 0 64px;}
  .contact-intro-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .contact-grid,
  .direct-grid{
    grid-template-columns:1fr;
    gap:48px;
  }
  .two-fields{grid-template-columns:1fr;gap:34px;}
}
@media (max-width:560px){
  .contact-form-section{padding:78px 0 88px;}
  .contact-direct{padding:72px 0 78px;}
  .subject-option{align-items:flex-start;}
  .subject-option small{display:block;margin:3px 0 0;}
  .direct-row{
    grid-template-columns:1fr;
    gap:8px;
  }
  .contact-footer-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}
