.otf-contact{max-width:1200px;margin:0 auto;padding-top:clamp(32px,4vw,56px);padding-bottom:clamp(48px,6vw,80px)}.otf-contact__head{text-align:center;margin-bottom:clamp(28px,4vw,44px)}.otf-contact__head h1{font-size:clamp(32px,4.2vw,50px);line-height:1.04;margin:10px 0 12px}.otf-contact__head p{color:var(--otf-text);opacity:.78;font-size:15px;line-height:1.7;max-width:52ch;margin:0 auto}.otf-shops{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.5vw,28px)}.otf-shop{background:var(--otf-surface);border:1px solid var(--otf-divider);border-radius:var(--otf-r-lg);overflow:hidden;display:flex;flex-direction:column}.otf-shop__photo{height:200px;overflow:hidden;background:var(--otf-bg)}.otf-shop__photo img{width:100%;height:100%;object-fit:cover;display:block}.otf-shop__body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}.otf-shop__body h2{font-size:26px;margin:0 0 6px;line-height:1.1}.otf-shop__tag{display:inline-block;align-self:flex-start;font-family:var(--otf-body);font-weight:700;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--otf-accent-700);background:var(--otf-accent-100);border-radius:var(--otf-r-pill);padding:5px 12px;margin-bottom:12px}.otf-shop__addr{margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--otf-text);opacity:.8}.otf-shop__hours{width:100%;border-collapse:collapse;margin-bottom:18px}.otf-shop__hours th,.otf-shop__hours td{text-align:left;padding:9px 0;border-bottom:1px solid var(--otf-divider);font-family:var(--otf-body);font-size:13.5px;font-weight:400;color:var(--otf-text)}.otf-shop__hours th{color:var(--otf-text);opacity:.6;font-weight:600;width:44%}.otf-shop__hours td{text-align:right;font-weight:600}.otf-shop__btns{display:flex;gap:10px;margin-top:auto;flex-wrap:wrap}.otf-shop__btns .otf-btn{flex:1;text-align:center;justify-content:center;min-width:120px;padding:13px 18px!important}.otf-reach{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(22px,3vw,32px)}.otf-reach__card{display:block;text-decoration:none;border:1.5px solid var(--otf-divider);border-radius:var(--otf-r-lg);padding:20px 22px;background:transparent;transition:border-color .2s,background .2s}.otf-reach__card:hover{border-color:var(--otf-accent);background:var(--otf-accent-100)}.otf-reach__card b{display:block;font-family:var(--otf-display);font-weight:400;font-size:19px;color:var(--otf-text);margin-bottom:5px}.otf-reach__card span{font-size:13px;line-height:1.55;color:var(--otf-text);opacity:.72}.otf-contact__form{margin-top:clamp(38px,5vw,64px);max-width:640px}.otf-contact__form h2{font-size:clamp(24px,3vw,32px);margin:0 0 18px}.otf-contact__fields{display:grid;gap:12px;margin-bottom:18px}.otf-contact__fields input,.otf-contact__fields textarea{border:1px solid var(--otf-divider);background:var(--otf-bg);padding:13px 18px;font-size:14px;font-family:var(--otf-body);color:var(--otf-text);width:100%}.otf-contact__fields input:focus,.otf-contact__fields textarea:focus{outline:2px solid var(--otf-accent);outline-offset:0}.otf-contact__ok{background:var(--otf-sage-100);border:1px solid var(--otf-sage);color:#3e5a2e;padding:14px 18px;border-radius:var(--otf-r-lg);margin-bottom:16px;font-size:14px}.otf-contact__err{background:#f9e8e6;border:1px solid #D9A09A;color:#7a3a32;padding:14px 18px;border-radius:var(--otf-r-lg);margin-bottom:16px;font-size:14px}@media(max-width:1023px){.otf-shops{grid-template-columns:1fr}.otf-reach{grid-template-columns:1fr 1fr}}@media(max-width:479px){.otf-reach{grid-template-columns:1fr}.otf-shop__btns .otf-btn{flex:1 1 100%}}
/* one shop only — centre the single card */
.otf-shops:has(> .otf-shop:only-child){grid-template-columns:minmax(0,560px);justify-content:center}
