    :root{
      --cream:#f4f2ed;
      --red:#8b0304;
      --ink:#2b2723;
      --soft-ink:#2f2a26;
      --body:#4e4e4e;
      --muted:#68625c;
      --line:rgba(139,3,4,.18);
      --line-soft:rgba(43,39,35,.10);
      --font-title:"Americana","Americana BT",Georgia,serif;
      --font-body:"Montserrat",Arial,sans-serif;
      --ease:cubic-bezier(.22,.72,.22,1);
    }

    *{
      box-sizing:border-box;
    }

    html{
      scroll-behavior:smooth;
    }

    body{
      margin:0;
      background:var(--cream);
      color:var(--body);
      font-family:var(--font-body);
      font-size:14px;
      line-height:1.76;
      font-weight:400;
      letter-spacing:.004em;
    }

    a{
      color:inherit;
      text-decoration:none;
      transition:color .28s ease;
    }

    a:hover{
      color:var(--red);
    }

    img{
      display:block;
      max-width:100%;
    }

    /* =========================
       HERO — aligned with Contact
    ========================= */

    .terms-hero{
      position:relative;
      height:75vh;
      min-height:620px;
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
      background:#0f0b09;
      color:#fff;
    }

    .terms-hero-media,
    .terms-hero-overlay{
      position:absolute;
      inset:0;
    }

    .terms-hero-media{
      z-index:1;
    }

    .terms-hero-media img{
      width:100%;
      height:100%;
      object-fit:cover;
      transform:scale(1.02);
      filter:saturate(.92) contrast(1.02);
    }

    .terms-hero-overlay{
      z-index:2;
      background:linear-gradient(
        to bottom,
        rgba(12,10,9,.18) 0%,
        rgba(12,10,9,.32) 45%,
        rgba(12,10,9,.58) 100%
      );
    }

    .terms-hero-content{
      position:relative;
      z-index:3;
      width:min(820px,calc(100% - 48px));
      height:100%;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:140px 32px 80px;
      text-align:center;
    }

    .terms-hero h1{
      margin:0;
      color:#f4eadf;
      font-family:var(--font-title);
      font-size:30px;
      line-height:1.08;
      font-weight:400;
      letter-spacing:.003em;
      text-transform:none;
      text-shadow:0 6px 34px rgba(0,0,0,.34);
    }

    /* =========================
       CONTENT
    ========================= */

    .terms-page{
      background:var(--cream);
      padding:104px 0 112px;
    }

    .terms-container{
      width:min(1120px,calc(100% - 72px));
      margin:0 auto;
    }

    .terms-intro{
      max-width:760px;
      margin:0 auto 70px;
      text-align:center;
    }

    .terms-intro span{
      display:block;
      margin:0 0 16px;
      color:var(--red);
      font-size:10px;
      line-height:1;
      font-weight:700;
      letter-spacing:.18em;
      text-transform:uppercase;
    }

    .terms-intro h2{
      margin:0 0 22px;
      color:var(--ink);
      font-family:var(--font-title);
      font-size:30px;
      line-height:1.14;
      font-weight:400;
      letter-spacing:.003em;
      text-transform:none;
    }

    .terms-intro h2::after{
      content:"";
      display:block;
      width:54px;
      height:1px;
      margin:20px auto 0;
      background:rgba(139,3,4,.35);
    }

    .terms-intro p{
      margin:0 auto;
      color:var(--body);
      font-size:14px;
      line-height:1.82;
      font-weight:400;
      letter-spacing:.005em;
    }

    .terms-layout{
      display:grid;
      grid-template-columns:260px minmax(0,1fr);
      gap:86px;
      align-items:start;
    }

    .terms-side{
      position:sticky;
      top:96px;
      padding-top:6px;
    }

    .terms-side-title{
      margin:0 0 20px;
      color:var(--ink);
      font-family:var(--font-title);
      font-size:21px;
      line-height:1.16;
      font-weight:400;
    }

    .terms-side p{
      margin:0 0 22px;
      color:var(--muted);
      font-size:13px;
      line-height:1.72;
    }

    .terms-side a{
      display:inline-flex;
      position:relative;
      padding-bottom:5px;
      color:var(--body);
      font-size:13px;
      line-height:1.2;
      font-weight:600;
    }

    .terms-side a::after{
      content:"";
      position:absolute;
      left:0;
      bottom:0;
      width:100%;
      height:1px;
      background:var(--red);
      transition:transform .35s var(--ease);
    }

    .terms-side a:hover::after{
      transform:scaleX(1.12);
    }

    .terms-content{
      display:grid;
      gap:26px;
    }

    .terms-block{
      padding:0 0 30px;
      border-bottom:1px solid var(--line-soft);
    }

    .terms-block:last-child{
      padding-bottom:0;
      border-bottom:0;
    }

    .terms-block h3{
      display:flex;
      align-items:flex-start;
      gap:14px;
      margin:0 0 14px;
      color:var(--soft-ink);
      font-family:var(--font-title);
      font-size:21px;
      line-height:1.2;
      font-weight:400;
      letter-spacing:.001em;
      text-transform:none;
    }

    .terms-number{
      flex:0 0 auto;
      min-width:28px;
      color:var(--red);
      font-family:var(--font-body);
      font-size:10px;
      line-height:1.2;
      font-weight:700;
      letter-spacing:.14em;
      padding-top:6px;
    }

    .terms-block p{
      margin:0 0 12px;
      color:var(--body);
      font-size:14px;
      line-height:1.78;
    }

    .terms-block p:last-child{
      margin-bottom:0;
    }

    .terms-block ul{
      margin:0;
      padding:0;
      list-style:none;
    }

    .terms-block li{
      position:relative;
      margin:0;
      padding:7px 0 7px 18px;
      color:var(--body);
      font-size:14px;
      line-height:1.7;
    }

    .terms-block li::before{
      content:"";
      position:absolute;
      left:0;
      top:19px;
      width:4px;
      height:4px;
      background:var(--red);
      border-radius:50%;
    }

    .terms-note{
      margin-top:54px;
      padding:30px 34px;
      background:rgba(238,233,222,.58);
      border-left:1px solid var(--red);
      border-radius:3px;
    }

    .terms-note h3{
      margin:0 0 12px;
      color:var(--ink);
      font-family:var(--font-title);
      font-size:22px;
      line-height:1.18;
      font-weight:400;
    }

    .terms-note p{
      margin:0;
      color:var(--body);
      font-size:14px;
      line-height:1.78;
    }

    /* =========================
       FADE IN
    ========================= */

    .fadein-up{
      opacity:0;
      transform:translate3d(0,38px,0);
      transition:opacity 1.35s var(--ease), transform 1.35s var(--ease);
      will-change:opacity,transform;
    }

    .fadein-up.is-visible{
      opacity:1;
      transform:translate3d(0,0,0);
    }

    /* =========================
       RESPONSIVE
    ========================= */

    @media(max-width:980px){
      .terms-layout{
        grid-template-columns:1fr;
        gap:52px;
      }

      .terms-side{
        position:relative;
        top:auto;
        max-width:720px;
        margin:0 auto;
        text-align:center;
      }

      .terms-content{
        max-width:760px;
        margin:0 auto;
      }
    }

    @media(max-width:820px){
      .terms-container{
        width:min(680px,calc(100% - 44px));
      }

      .terms-hero{
        height:58vh;
        min-height:520px;
      }

      .terms-hero-content{
        padding-top:120px;
      }

      .terms-page{
        padding:84px 0 88px;
      }

      .terms-intro{
        margin-bottom:56px;
      }
    }

    @media(max-width:560px){
      .terms-container{
        width:calc(100% - 44px);
      }

      .terms-hero{
        height:54vh;
        min-height:440px;
      }

      .terms-hero-content{
        width:100%;
        padding:110px 24px 60px;
      }

      .terms-hero h1,
      .terms-intro h2{
        font-size:30px;
        line-height:1.12;
      }

      .terms-page{
        padding:72px 0 78px;
      }

      .terms-intro{
        margin-bottom:46px;
      }

      .terms-block{
        padding-bottom:26px;
      }

      .terms-block h3{
        gap:11px;
        font-size:20px;
      }

      .terms-number{
        min-width:24px;
      }

      .terms-note{
        margin-top:44px;
        padding:26px 22px;
      }
    }
