*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  overflow-x:hidden;
  background:#fbf8f4;
  color:#171311;
  font-family:Arial,Helvetica,sans-serif;
}
a{color:inherit;text-decoration:none}
.legal-page{
  min-height:100vh;
  background:linear-gradient(180deg,#fffdfb 0%,#fbf8f4 100%);
}
.legal-page__inner{
  width:min(100%,1024px);
  margin:0 auto;
  padding:82px 80px 90px;
}
h1{
  margin:0;
  color:#5a301c;
  font-family:Arial,Helvetica,sans-serif;
  font-size:3.45rem;
  line-height:1;
  font-weight:400;
  letter-spacing:-.035em;
}
.title-rule{
  display:block;
  width:82px;
  height:3px;
  margin:38px 0 53px;
  background:#6c3c22;
}
.intro{
  margin:0 0 46px;
  font-size:1.12rem;
  line-height:1.55;
}
.operator{
  padding-bottom:55px;
  border-bottom:1px solid #d8c8bb;
}
.operator h2{
  margin:0 0 22px;
  color:#6b432d;
  font-size:1.52rem;
  line-height:1.2;
  font-weight:700;
}
.operator p,.notice p,.legal-block p{
  margin:0;
  font-size:1.12rem;
  line-height:1.62;
}
.contact{margin-top:42px!important}
.notice{
  padding:38px 16px 43px;
  border-bottom:1px solid #d8c8bb;
}
.notice p+p{margin-top:4px}
.legal-block{
  padding:42px 0 48px;
  border-bottom:1px solid #d8c8bb;
}
.legal-block h2{
  margin:0 0 13px;
  color:#6b432d;
  font-family:Arial,Helvetica,sans-serif;
  font-size:1.52rem;
  line-height:1.2;
  font-weight:400;
}
.legal-block p+p{margin-top:3px}

@media(max-width:900px){
  .legal-page__inner{padding:62px 42px 70px}
  h1{font-size:4.35rem}
  .title-rule{margin:32px 0 45px}
}
@media(max-width:600px){
  .legal-page__inner{padding:40px 20px 52px}
  h1{font-size:3rem}
  .title-rule{width:64px;height:2px;margin:24px 0 34px}
  .intro{margin-bottom:32px;font-size:1rem}
  .operator{padding-bottom:38px}
  .operator h2{font-size:1.3rem;margin-bottom:18px}
  .operator p,.notice p,.legal-block p{font-size:1rem;line-height:1.55}
  .contact{margin-top:28px!important}
  .notice{padding:28px 0 31px}
  .legal-block{padding:30px 0 34px}
  .legal-block h2{font-size:1.4rem;margin-bottom:12px}
}


/* v1.1 – typography aligned to the other approved sections;
   tablet/mobile compacted to avoid unnecessary scrolling */
@media (max-width: 900px) {
  html, body, .legal-page {
    max-width: 100%;
    overflow-x: hidden;
  }

  .legal-page__inner {
    width: 100%;
    max-width: 100%;
    padding: 34px 34px 38px;
  }

  h1 {
    font-family: Arial,Helvetica,sans-serif;
    font-size: 2.75rem;
    line-height: 1.02;
    font-weight: 700;
  }

  .title-rule {
    margin: 20px 0 28px;
  }

  .intro {
    margin-bottom: 25px;
  }

  .operator {
    padding-bottom: 27px;
  }

  .contact {
    margin-top: 22px !important;
  }

  .notice {
    padding-top: 22px;
    padding-bottom: 24px;
  }

  .legal-block {
    padding-top: 24px;
    padding-bottom: 26px;
  }

  .legal-block h2 {
    font-family: Arial,Helvetica,sans-serif;
    font-size: 1.35rem;
    font-weight: 700;
  }
}

@media (max-width: 600px) {
  .legal-page__inner {
    padding: 24px 18px 30px;
  }

  h1 {
    font-size: 2.2rem;
  }

  .title-rule {
    width: 56px;
    margin: 15px 0 21px;
  }

  .intro {
    margin-bottom: 21px;
  }

  .operator {
    padding-bottom: 23px;
  }

  .operator h2 {
    font-size: 1.15rem;
    margin-bottom: 12px;
  }

  .operator p,
  .notice p,
  .legal-block p,
  .intro {
    font-size: .9rem;
    line-height: 1.43;
  }

  .contact {
    margin-top: 19px !important;
  }

  .notice {
    padding: 19px 0 21px;
  }

  .legal-block {
    padding: 21px 0 23px;
  }

  .legal-block h2 {
    font-size: 1.12rem;
    margin-bottom: 9px;
  }
}


/* v2: compact vertical rhythm only – typography proportions unchanged */
@media (min-width:901px){
  .legal-page__inner{padding-top:48px;padding-bottom:52px}
  .title-rule{margin-top:24px;margin-bottom:32px}
  .intro{margin-bottom:30px}
  .operator{padding-bottom:36px}
  .contact{margin-top:28px!important}
  .notice{padding-top:25px;padding-bottom:28px;margin-bottom:0}
  .legal-block{padding-top:28px;padding-bottom:30px;margin-bottom:0}
}
