.terms{padding:76px 0 100px}
.terms-grid{display:grid;grid-template-columns:minmax(250px,.43fr) minmax(0,1fr);gap:clamp(40px,7vw,100px);align-items:start}
.terms-heading{position:sticky;top:40px}
.terms h1{font:400 clamp(48px,5.3vw,76px)/1.03 var(--serif);letter-spacing:-.045em;margin:22px 0}
.terms-date{font-size:15px;color:var(--muted)}
.terms-contents{display:grid;gap:0;margin-top:32px}
.terms-contents a{padding:13px 0;border-bottom:1px solid #73867e;font-size:16px;line-height:1.4}
.terms a:not(.btn){text-decoration:underline;text-underline-offset:4px;color:var(--green)}
.terms a:not(.btn):hover{color:var(--green-deep);text-decoration-thickness:2px}
.terms-page .top :focus-visible,.terms :focus-visible{outline:3px solid var(--green);outline-offset:4px}
.terms-content{min-width:0;max-width:820px}
.terms-content section{scroll-margin-top:32px;margin-top:48px}
.terms-content h2{font:400 clamp(28px,3vw,38px)/1.15 var(--serif);letter-spacing:-.025em;margin:0 0 20px;color:var(--ink)}
.terms-content h3{font-size:20px;line-height:1.3;margin:0 0 16px}
.terms-content p,.terms-content li{font-size:18px;line-height:1.7;color:var(--muted)}
.terms-content p{margin:0 0 18px}
.terms-content strong{color:var(--ink)}
.terms-content ul{padding-left:24px;margin:20px 0}
.terms-content li{padding-left:4px;margin:0 0 16px}
.terms-content .terms-intro{font-size:21px;line-height:1.6;color:var(--ink);margin:30px 0 0}
.terms-promise{padding:clamp(26px,4vw,46px);background:var(--green);color:white;border-radius:0 0 40px 0}
.terms-promise .eyebrow{color:var(--lime)}
.terms-promise h2{color:white;font-size:clamp(40px,4.5vw,62px);margin:15px 0 18px}
.terms-promise p{color:white;font-size:21px;line-height:1.55}
.terms .terms-promise a,.terms .terms-promise a:hover{color:var(--lime)}
.terms-promise :focus-visible{outline-color:var(--lime)}
.terms-cancellation{background:var(--paper);border-left:3px solid #73867e;padding:28px;margin-top:26px}
.terms-cancellation blockquote{margin:24px 0 0}
.terms-cancellation blockquote p{color:var(--ink)}
.terms-next-step{border-top:1px solid #73867e;margin-top:54px;padding-top:36px}
.terms-next-step .btn{white-space:normal;text-align:center;max-width:100%}
@media(max-width:850px){
  .terms{padding:46px 0 72px}
  .terms-grid{grid-template-columns:1fr;gap:36px}
  .terms-heading{position:static}
  .terms h1{max-width:550px}
  .terms-contents{margin-top:24px}
  .terms-content{max-width:none}
}
@media(max-width:480px){
  .terms-content p,.terms-content li{font-size:17px}
  .terms-content .terms-intro,.terms-promise p{font-size:19px}
  .terms-cancellation{padding:22px}
  .terms-content a{overflow-wrap:anywhere}
}
@media print{
  .terms-page .top,.terms-page .footer,.terms-contents,.terms-next-step{display:none}
  .terms{padding:0}
  .terms-grid{display:block}
  .terms-heading{position:static}
  .terms-content{max-width:none}
  .terms h1{font-size:34px}
  .terms-promise{background:white;border:2px solid #073f35;padding:20px;border-radius:0}
  .terms .terms-promise :is(h2,p,a,.eyebrow){color:#13231f}
  .terms-content section{margin-top:28px}
  .terms-content h2{break-after:avoid}
}
