/* ── tutoring enquiry ─────────────────────────────────────────────────────────
   One element in two positions. Below 1600px it sits in the normal flow above
   the footer; above 1600px the side margin is wide enough (≥290px) to float it
   without ever covering the 1020px content column. */
.ad{display:block;max-width:640px;margin:34px auto 46px;background:var(--shiro);
  border:4px solid var(--matcha-deep);border-radius:22px;padding:20px 22px;
  box-shadow:0 7px 0 var(--rice-2)}
.ad[hidden]{display:none}
.ad h3{font-family:var(--maru);font-weight:700;font-size:1.24rem;line-height:1.25;
  color:var(--nori);margin-bottom:6px}
.ad .ad-sub{font-family:var(--ui);font-size:.9rem;line-height:1.6;
  color:var(--ink-3,#6F6250);margin-bottom:14px}
.ad label{display:block;font-family:var(--ui);font-weight:600;font-size:.82rem;
  color:var(--nori);margin:11px 0 5px}
.ad input[type=text],.ad input[type=email],.ad textarea{width:100%;font-family:var(--ui);
  font-size:.95rem;color:var(--nori);padding:10px 12px;border:3px solid var(--rice-2);
  border-radius:12px;background:var(--rice);transition:border-color .13s,box-shadow .13s}
.ad textarea{min-height:80px;resize:vertical}
.ad input:focus,.ad textarea:focus{outline:none;border-color:var(--mikan);
  box-shadow:0 0 0 4px var(--mikan-soft)}
.ad .subjects{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ad .subj{display:inline-flex;align-items:center;margin:0;font-family:var(--ui);
  font-size:.78rem;font-weight:600;color:var(--matcha-deep);white-space:nowrap;
  border:3px solid var(--rice-2);border-radius:999px;padding:5px 10px;cursor:pointer;
  user-select:none;transition:all .12s}
.ad .subj:hover{border-color:var(--matcha);background:var(--matcha-soft)}
.ad .subj input{position:absolute;opacity:0;width:0;height:0}
.ad .subj.on{background:var(--matcha);border-color:var(--matcha-deep);color:var(--shiro)}
.ad .row{display:flex;gap:10px;align-items:flex-end}
.ad .row>div{flex:1}
.ad .consent{display:flex;gap:9px;align-items:flex-start;margin-top:13px;
  font-family:var(--ui);font-size:.8rem;line-height:1.55;color:var(--ink-3,#6F6250)}
.ad .consent input{margin-top:2px;width:16px;height:16px;flex-shrink:0;accent-color:var(--matcha)}
.ad .send{width:100%;margin-top:14px;font-family:var(--maru);font-weight:700;font-size:1rem;
  color:var(--shiro);background:var(--mikan);border-radius:999px;padding:12px 20px;
  box-shadow:0 4px 0 var(--mikan-deep);transition:transform .08s,box-shadow .08s}
.ad .send:active{transform:translateY(4px);box-shadow:none}
.ad .send[disabled]{opacity:.6;pointer-events:none}
.ad .note{font-family:var(--ui);font-size:.73rem;line-height:1.6;
  color:var(--ink-3,#8B7A6F);margin-top:11px}
.ad .note a{color:var(--matcha-deep)}
.ad .msg{font-family:var(--ui);font-size:.85rem;font-weight:600;border-radius:12px;
  padding:10px 12px;margin-top:12px;line-height:1.55}
.ad .msg.ok{background:var(--matcha-soft);border:3px solid var(--matcha);color:var(--matcha-deep)}
.ad .msg.no{background:var(--ume-soft);border:3px solid var(--ume);color:var(--ume)}
.ad .close{position:absolute;top:10px;right:12px;width:26px;height:26px;border-radius:50%;
  font-family:var(--maru);font-weight:700;color:var(--ink-3,#8B7A6F);background:transparent;
  display:flex;align-items:center;justify-content:center;line-height:1}
.ad .close:hover{background:var(--rice-2);color:var(--nori)}
.ad{position:relative}
/* the honeypot must be reachable by a naive bot but invisible to a person */
.ad .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media(min-width:1600px){
  .ad{position:fixed;top:96px;right:24px;width:290px;max-width:290px;margin:0;
      padding:16px 17px;max-height:calc(100vh - 124px);overflow-y:auto;z-index:20;
      scrollbar-width:thin}
  .ad h3{font-size:1.06rem;margin-bottom:4px}
  .ad .ad-sub{font-size:.8rem;line-height:1.5;margin-bottom:9px}
  .ad label{margin:8px 0 4px;font-size:.78rem}
  .ad input[type=text],.ad input[type=email],.ad textarea{padding:8px 10px;font-size:.88rem}
  .ad textarea{min-height:58px}
  .ad .send{margin-top:11px;padding:10px 18px;font-size:.94rem}
  .ad .note{font-size:.69rem;margin-top:9px}
  .ad .consent{font-size:.75rem;margin-top:10px}
}
