*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --blue:#003EAB;      --terra:#CC6118;      --ink:#545860;         --paper:#FAF5EC;       --white:#fff;
  --line:rgba(84,88,96,.16);
}
html{min-height:100%}
body{
  min-height:100dvh;background:var(--paper);color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.55;
  display:flex;flex-direction:column;align-items:center;
  padding:clamp(1.6rem,6vw,3.5rem) 1.2rem;
}
a{color:inherit}

.card{width:100%;max-width:440px;text-align:center}
.brand{color:var(--blue);font-weight:800;font-size:clamp(1.5rem,6vw,1.9rem);letter-spacing:.01em}
.sub{color:var(--terra);font-weight:700;margin-top:.35rem;font-size:1.02rem}
.claim{margin-top:.9rem;font-style:italic;color:var(--ink);opacity:.85}
.note{margin-top:1.6rem;font-size:.92rem;color:var(--ink);opacity:.8}

.contact{
  margin-top:2rem;background:var(--white);border-radius:14px;
  padding:1.5rem 1.4rem;text-align:left;box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.contact h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);opacity:.65;margin-bottom:.7rem}
.addr{font-size:.98rem;line-height:1.6;margin-bottom:1.1rem}
.big-link{display:block;text-decoration:none;font-weight:800;line-height:1.2;margin-bottom:.6rem}
.big-link.tel{font-size:clamp(1.5rem,6vw,1.9rem);color:var(--blue)}
.big-link.mail{font-size:1.05rem;color:var(--terra);overflow-wrap:anywhere}
.big-link:hover{text-decoration:underline}

.hours{margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid var(--line);width:100%;border-collapse:collapse}
.hours td{padding:.3rem 0;font-size:.92rem}
.hours td:last-child{text-align:right;font-weight:600}

footer{margin-top:2.2rem;font-size:.8rem;color:var(--ink);opacity:.65}
footer a{text-decoration:underline}
footer .sep{margin:0 .5em;opacity:.6}

.legal{max-width:640px;width:100%;background:var(--white);border-radius:14px;padding:2rem clamp(1.2rem,5vw,2.2rem);text-align:left;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.legal h1{color:var(--blue);font-size:1.4rem;margin-bottom:1.2rem}
.legal h2{font-size:1rem;margin:1.4rem 0 .4rem;color:var(--ink)}
.legal p{margin-bottom:.6rem;font-size:.96rem}
.legal a.back{display:inline-block;margin-bottom:1.4rem;font-size:.9rem;text-decoration:underline;color:var(--ink)}
