.ct-head-in{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,5vw,80px);align-items:end}
.ct-head h1{font-size:clamp(1.9rem,3.9vw,3.6rem);max-width:15ch}
.ct-direct{display:grid;gap:0;border-top:1px solid var(--line)}
.ct-direct a{display:flex;flex-direction:column;gap:10px;padding:20px 0;border-bottom:1px solid var(--line);transition:padding .3s var(--ease)}
.ct-direct a:hover{padding-left:10px}
.ct-direct b{font:600 clamp(1.1rem,2vw,1.6rem)/1.1 var(--disp);word-break:break-word}
.ct-tel b{color:var(--larch-hi)}

.ct-in{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(40px,6vw,88px);align-items:start}
.ct-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.fld{display:flex;flex-direction:column;gap:8px;border:0;margin:0;padding:0;min-width:0}
.fld.full{grid-column:1/-1}
.fld label,.fld legend{font:600 11px/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;color:#3B3935;padding:0;margin-bottom:8px}
.fld legend{margin-bottom:12px}
.fld input,.fld select,.fld textarea{font:400 16px/1.4 var(--body);color:var(--ink);background:#F1F0EE;border:0;border-bottom:2px solid #A9A59E;padding:13px 14px;border-radius:0;width:100%;transition:border-color .25s,background .25s;appearance:none}
.fld select{background-image:linear-gradient(45deg,transparent 50%,#161616 50%),linear-gradient(135deg,#161616 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--larch);background:#fff}
.fld input::placeholder,.fld textarea::placeholder{color:#8A867F}
.msg{display:none;font-size:13px;color:#9B2F1A;font-weight:600}
.fld.err .msg{display:block}
.fld.err input,.fld.err select{border-color:#9B2F1A}
.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.chips label{margin:0;cursor:pointer;letter-spacing:0;text-transform:none}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:flex;align-items:center;min-height:62px;padding:12px 14px;border:1.5px solid #B9B5AE;font:600 14px/1.25 var(--body);color:var(--ink);transition:border-color .2s,background .2s,color .2s}
.chips label:hover span{border-color:var(--ink)}
.chips input:checked+span{background:var(--ink);color:var(--bone);border-color:var(--ink);box-shadow:inset 0 -4px 0 var(--larch)}
.chips input:focus-visible+span{outline:2px solid var(--larch);outline-offset:2px}
.sub{flex-direction:row;align-items:center;gap:24px;flex-wrap:wrap;margin-top:6px}
.sub .btn{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.sub .btn:hover{background:#2c2b28}
.conf{margin:0;font-size:13.5px;color:#55524D;max-width:38ch}
.ct-done{padding:40px;background:var(--ink);color:var(--bone);border-top:4px solid var(--larch)}
.ct-done .lbl{display:block;margin-bottom:16px;color:var(--larch-hi)}
.ct-done p{color:#D3CEC5;margin:18px 0 22px}
.ct-done .tlink{color:var(--larch-hi)}

.ct-side{background:var(--ink);color:var(--bone);padding:clamp(26px,3vw,40px)}
.nx{list-style:none;margin:18px 0 0;padding:0}
.nx li{display:grid;grid-template-columns:36px 1fr;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}
.nx li>span{font:600 13px/1.5 var(--disp);color:var(--larch)}
.nx b{font:600 13.5px/1.3 var(--disp)}
.nx p{margin:6px 0 0;font-size:14.5px;color:var(--mute)}
.ct-slot{margin-top:26px;padding:20px;background:rgba(201,138,59,.1);border-left:3px solid var(--larch)}
.ct-slot p{font-size:14.5px;color:#D3CEC5;margin:10px 0 14px}
.ct-slot b{color:var(--bone)}
.slots{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.slots i{height:14px;border:1.5px solid var(--larch)}
.slots i.t{background:var(--larch)}
.ct-info{margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ct-info dt{font:600 10.5px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.ct-info dd{margin:0;font-size:14.5px}

@media (max-width:1080px){
  .ct-head-in,.ct-in{grid-template-columns:1fr}
  .chips{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .ct-form{grid-template-columns:1fr}
  .ct-info{grid-template-columns:1fr}
  .sub .btn{width:100%;justify-content:space-between}
}
