/* ============================================================
   TERMS & DISCLAIMER - light document page
   ============================================================ */

body.masori-terms{background:var(--paper);color:var(--ink);font-size:16px}
body.masori-terms ::selection{background:var(--m-700);color:var(--ivory)}
body.masori-terms .container{width:min(1180px,92vw)}
body.masori-terms [id]{scroll-margin-top:110px}
body.masori-terms a:focus-visible,
body.masori-terms button:focus-visible{outline-color:var(--rose)}

/* ---------- title band (dark) ---------- */
.title-band{position:relative;background:radial-gradient(110% 130% at 50% -20%,var(--m-600) 0%,var(--m-800) 48%,var(--m-950) 100%);color:var(--parchment);text-align:center;padding:clamp(150px,15vw,190px) 20px clamp(60px,7vw,96px)}
.title-band::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.05;mix-blend-mode:soft-light;pointer-events:none}
.title-band>*{position:relative;z-index:1}
.title-band h1{font-family:var(--serif);font-weight:400;color:var(--ivory);font-size:clamp(2.4rem,5vw,4rem);margin-top:22px}
.title-band .meta{margin-top:22px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--rose);line-height:2.3}
.title-band .lede{max-width:60ch;margin:20px auto 0;color:#D9C4BC;font-size:15.5px}

/* ---------- document ---------- */
.doc{padding:clamp(56px,7vw,100px) 0 clamp(70px,8vw,120px)}
.doc-grid{display:grid;grid-template-columns:264px 1fr;gap:clamp(40px,5vw,84px);align-items:start}
.toc{position:sticky;top:104px}
.toc .toc-title{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--m-500);padding-bottom:14px;border-bottom:1px solid var(--hd)}
.toc ol{list-style:none;border-left:1px solid var(--hd-soft);margin-top:6px;padding:0}
.toc a{display:flex;gap:12px;font-size:11.5px;letter-spacing:.08em;color:var(--ink-soft);padding:8px 0 8px 16px;border-left:1px solid transparent;margin-left:-1px;transition:color .25s,border-color .25s}
.toc a .n{font-size:9.5px;letter-spacing:.14em;color:var(--rose);min-width:18px;padding-top:2px}
.toc a:hover{color:var(--m-700)}
.toc a.active{color:var(--m-800);border-left-color:var(--m-700)}
.toc a.active .n{color:var(--m-500)}

.clauses section{padding:clamp(30px,3.6vw,46px) 0;border-top:1px solid var(--hd-soft)}
.clauses section:first-child{border-top:none;padding-top:0}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:18px}
.sec-head .sn{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--rose);min-width:44px}
.sec-head h2{font-family:var(--serif);font-weight:500;color:var(--m-800);font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.15}
.clauses h3{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--m-700);margin:26px 0 10px}
.clauses p{color:var(--ink-soft);font-size:15px;max-width:70ch;margin-bottom:14px}
.clauses p:last-child{margin-bottom:0}
.clauses a{color:var(--m-700);border-bottom:1px solid var(--rose)}
.cl{display:block}
.cl .cn{font-size:10px;letter-spacing:.16em;color:var(--m-500);margin-right:10px}
.tbc{color:var(--m-500);font-style:italic}
.tbc::before{content:"["}
.tbc::after{content:"]"}
.note-strip{margin-top:14px;border:1px solid var(--hd);background:var(--paper-2);padding:16px 20px;font-size:12.5px;color:var(--ink-soft);max-width:70ch}
.note-strip b{font-weight:500;color:var(--m-700)}

/* ---------- closing strip (dark) ---------- */
.end-strip{background:radial-gradient(70% 120% at 50% 100%,var(--m-600) 0%,var(--m-800) 55%,var(--m-950) 100%);color:var(--parchment);text-align:center;padding:clamp(64px,8vw,110px) 20px}
.end-strip h2{font-family:var(--serif);font-weight:400;color:var(--ivory);font-size:clamp(1.9rem,3.6vw,2.9rem);margin-top:18px}
.end-strip p{color:#D9C4BC;max-width:52ch;margin:16px auto 34px;font-size:15px}
/* .end-actions layout comes from the shared button-row rules in style.css. */

@media (max-width:900px){
  .doc-grid{grid-template-columns:1fr}
  .toc{position:static;margin-bottom:8px}
  .toc ol{display:grid;grid-template-columns:1fr 1fr;border-left:none;gap:0 24px}
  .toc a{border-left:none;padding-left:0}
}
@media (max-width:560px){
  .toc ol{grid-template-columns:1fr}
  /* .end-actions button sizing/layout comes from style.css. */
}

@media print{
  body.masori-terms{background:#fff;color:#000;font-size:12px}
  .site-header,.toc,.end-strip,.footer-links,.placeholder-note,.mobile-menu{display:none!important}
  .title-band{background:none;color:#000;padding:0 0 20px;text-align:left}
  .title-band::after{display:none}
  .title-band h1,.sec-head h2{color:#000}
  .title-band .lede,.clauses p{color:#222;max-width:none}
  .doc{padding:0}
  .doc-grid{display:block}
  .clauses section{border-color:#ccc;padding:14px 0}
  .footer{background:none;color:#333;border:none;padding:20px 0 0}
  .footer .wordmark,.footer-bottom a,.footer-ghost{color:#000}
  .footer-ghost{display:none}
}
