/* The upgrade contract uses the portal's original Spark logo and shared base styles. */
.terms-page .back-to-portal{font-size:13px;text-decoration:none;color:var(--muted)}
.terms-page .back-to-portal:hover{color:var(--ink);text-decoration:underline}
.terms-page .back-to-portal span{margin-left:4px}
.terms-main{width:min(800px,calc(100% - 64px));margin:0 auto;padding:48px 0 70px}
.terms-intro{padding-bottom:30px}
.terms-date{font-size:13px;color:var(--muted);margin-bottom:14px}
.terms-intro h1{font-size:clamp(29px,4vw,38px);line-height:1.2;letter-spacing:-1.1px;font-weight:650}
.terms-subtitle{font-size:17px;line-height:1.6;color:var(--muted);margin-top:14px;max-width:620px}
.terms-contents{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;background:#fff}
.terms-contents summary{cursor:pointer;padding:17px 20px;font-size:14px;font-weight:600}
.terms-contents[open] summary{border-bottom:1px solid var(--line)}
.terms-contents nav{padding:18px 20px}
.terms-contents ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;row-gap:12px;list-style:none;margin:0;padding:0}
.terms-contents li{font-size:13px;line-height:1.55}
.terms-contents a{text-decoration:none}
.terms-contents a:hover{text-decoration:underline}
.terms-section{padding:31px 0 33px;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.terms-section h2{display:flex;align-items:baseline;gap:14px;font-size:21px;line-height:1.4;letter-spacing:-.35px;font-weight:650;margin:0 0 19px}
.terms-number{flex:0 0 auto;min-width:25px;color:var(--red);font-weight:700;font-variant-numeric:tabular-nums}
.terms-section p{font-size:16px;line-height:1.75;margin:0 0 16px}
.terms-section p:last-child{margin-bottom:0}
.terms-section a{overflow-wrap:anywhere;text-decoration-thickness:1px}
.warranty-table{margin:22px 0 24px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.warranty-table table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:14px;line-height:1.6}
.warranty-table caption{padding:12px 16px;background:var(--spark-navy);color:#fff;text-align:left;font-size:13px;font-weight:600}
.warranty-table th,.warranty-table td{vertical-align:top;padding:13px 16px;border-bottom:1px solid var(--line);overflow-wrap:break-word}
.warranty-table thead th{background:var(--soft);font-size:12px;font-weight:600}
.warranty-table th:first-child{width:42%}
.warranty-table th:nth-child(2){width:37%}
.warranty-table th:nth-child(3){width:21%}
.warranty-table tbody th{font-weight:600}
.warranty-table tbody tr:last-child th,.warranty-table tbody tr:last-child td{border-bottom:0}
.cancellation-section{margin-top:34px;border:1px solid var(--line);padding:26px 28px;border-radius:12px}
.cancellation-section h2{margin-bottom:19px}
.cancellation-section p{font-size:14px;line-height:1.7}
.cancellation-fields{margin-top:25px}
.cancellation-field{display:flex;flex-direction:column;gap:16px;margin-top:20px;font-size:13px;line-height:1.5}
.writing-line{display:block;border-bottom:1px solid #c9cbd1;min-height:8px}
.terms-page .site-footer{align-items:flex-start}
@media(max-width:600px){
  .terms-main{width:calc(100% - 36px);padding:31px 0 48px}
  .terms-page .site-header{gap:18px}
  .terms-page .site-header img{width:112px}
  .terms-page .back-to-portal{font-size:12px;max-width:140px;text-align:right;line-height:1.5}
  .terms-intro{padding-bottom:25px}
  .terms-subtitle{font-size:16px}
  .terms-contents ol{grid-template-columns:1fr}
  .terms-section{padding:27px 0}
  .terms-section h2{font-size:19px;gap:10px;margin-bottom:16px}
  .terms-number{min-width:23px}
  .terms-section p{font-size:15px;line-height:1.75}
  .warranty-table table{font-size:12px;line-height:1.55}
  .warranty-table caption{padding:11px 12px}
  .warranty-table th,.warranty-table td{padding:11px 9px}
  .warranty-table thead th{font-size:11px}
  .warranty-table th:first-child{width:40%}
  .warranty-table th:nth-child(2){width:37%}
  .warranty-table th:nth-child(3){width:23%}
  .cancellation-section{padding:22px 19px}
  .cancellation-section p{font-size:14px}
}
@media print{
  @page{size:A4;margin:18mm}
  .terms-page{font-size:11pt;color:#000}
  .terms-page .mock-banner,.terms-page .skip-link,.terms-page .back-to-portal,.terms-contents,.terms-page .site-footer{display:none}
  .terms-page .site-header{width:100%;min-height:0;padding:0 0 7mm;margin-bottom:7mm;border-bottom:1px solid #ccc}
  .terms-main{width:100%;padding:0}
  .terms-intro{padding-bottom:6mm}
  .terms-intro h1{font-size:23pt}
  .terms-subtitle{font-size:11pt}
  .terms-date{font-size:9pt}
  .terms-section{padding:6mm 0;scroll-margin:0}
  .terms-section h2{font-size:13pt;break-after:avoid}
  .terms-section p{font-size:10pt;line-height:1.5;orphans:3;widows:3}
  .terms-section a{text-decoration:none}
  .warranty-table{break-inside:avoid}
  .warranty-table table{font-size:9pt}
  .warranty-table caption{background:#fff;color:#000;border-bottom:1px solid #ccc}
  .cancellation-section{break-before:page;break-inside:avoid;margin-top:0;padding:8mm}
  .cancellation-field{margin-top:5mm;gap:4mm;font-size:10pt}
}
