/* Choffor — Terms & Conditions (ivory / ink / teal, matches operators 1.2.23 homepage) */
.terms-page{background:var(--ivory);color:var(--ink)}
.terms-page .footer{color:#fff}
.terms-page .footer-wordmark{color:var(--ivory,#f5f4f0)}.terms-page .footer .brand-dot{color:var(--champagne)}
.terms-main{padding-bottom:40px}
.terms-hero{padding-top:170px;padding-bottom:64px;border-bottom:1px solid #c4ad8270;position:relative}
.terms-hero .service-breadcrumb{margin-bottom:38px}
.terms-hero .service-breadcrumb a{color:var(--teal)}
.terms-kicker{color:var(--teal);letter-spacing:.22em;text-transform:uppercase;margin-bottom:22px}
.terms-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(58px,8vw,124px);line-height:.95;letter-spacing:-.035em;margin:0;color:var(--ink)}
.terms-hero h1 em{color:var(--teal)}
.terms-meta{display:flex;align-items:center;gap:16px;margin-top:34px;font-size:14px;color:var(--muted)}
.terms-rule{display:inline-block;width:56px;height:1px;background:var(--champagne);flex:none}

.terms-layout{display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:clamp(36px,6vw,96px);padding-top:64px;align-items:start}
.terms-layout>*{min-width:0}
.terms-section-body{overflow-wrap:break-word}
.terms-layout-single{grid-template-columns:minmax(0,1fr)}
.terms-aside{position:sticky;top:120px;font-size:13px}
.terms-aside .eyebrow{margin-bottom:18px}
.terms-toc ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.terms-toc li{border-bottom:1px solid var(--line)}
.terms-toc a{display:flex;gap:16px;align-items:baseline;padding:15px 0;color:var(--ink);text-decoration:none;transition:color .2s,padding .25s var(--motion-ease,ease)}
.terms-toc a:hover,.terms-toc a.is-active{color:var(--teal);padding-left:6px}
.terms-toc a.is-active .terms-num{color:var(--teal)}
.terms-num{font-size:10px;letter-spacing:.18em;color:var(--brass);font-variant-numeric:tabular-nums}
.terms-aside-foot{margin-top:26px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.terms-aside-foot a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.terms-print{font:inherit;font-size:12px;letter-spacing:.04em;background:none;border:1px solid #17243840;border-radius:999px;padding:10px 16px;color:var(--ink);cursor:pointer;min-height:44px}
.terms-print:hover{border-color:var(--teal);color:var(--teal)}

.terms-doc{max-width:860px;outline:none}
.terms-section{background:#fff;border:1px solid #c4ad825c;border-radius:var(--surface-radius,20px);padding:clamp(28px,4vw,52px);margin-bottom:22px;scroll-margin-top:110px;box-shadow:0 16px 45px #1724380a}
.terms-section-head{display:flex;align-items:baseline;gap:18px;padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid #c4ad8270}
.terms-section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4vw,54px);line-height:1;letter-spacing:-.03em;margin:0;color:var(--ink)}
.terms-section-body{font-size:16px;line-height:1.75;color:#24324a}
.terms-section-body p{margin:0 0 16px;max-width:68ch}
.terms-section-body p:last-child{margin-bottom:0}
.terms-section-body .tc-lead{font-size:18px;line-height:1.6;color:var(--muted);margin-bottom:26px}
.terms-section-body h3{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:36px 0 12px;scroll-margin-top:110px}
.terms-section-body h3:first-child,.terms-section-body .tc-lead+h3{margin-top:0}
.terms-section-body strong{font-weight:600;color:var(--ink)}
.terms-section-body a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.terms-section-body .tc-note{font-size:14px;color:var(--muted)}

.tc-list{list-style:none;margin:0 0 8px;padding:0}
.tc-list li{position:relative;padding:14px 0 14px 30px;border-bottom:1px solid #17243814;max-width:72ch}
.tc-list li:last-child{border-bottom:0}
.tc-list li::before{content:"";position:absolute;left:2px;top:27px;width:14px;height:1px;background:var(--teal)}

.tc-contact{margin:22px 0;padding:22px 26px;border-radius:16px;background:var(--ink);color:#fff;display:flex;flex-direction:column;gap:6px}
.tc-contact .tc-label{margin:0;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne)}
.tc-contact .tc-email{margin:0;font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);line-height:1.2}
.tc-contact .tc-email a{color:#fff;text-decoration-color:#c4ad8299}

.tc-table-wrap{margin:14px 0 30px;border:1px solid #c4ad825c;border-radius:16px;overflow:hidden}
.tc-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.55}
.tc-table th{background:var(--ink);color:#fff;text-align:left;font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:14px 20px}
.tc-table td{padding:16px 20px;border-top:1px solid #17243814;vertical-align:top}
.tc-table td:first-child{width:52%}
.tc-table td:last-child{color:var(--ink);font-weight:500}
.tc-table tbody tr:nth-child(even) td{background:#f7f5f0}

.terms-company{font-style:normal;margin-top:36px;padding:clamp(28px,4vw,48px);border-radius:var(--surface-radius,20px);background:var(--ink);color:#d8dde4;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.7}
.terms-company-name{font-family:var(--serif);font-size:44px;line-height:1;color:#fff;margin-bottom:14px}
.terms-company-name::after{content:".";color:var(--champagne)}
.terms-company a{color:#fff;text-decoration:underline;text-decoration-color:#c4ad8299;text-underline-offset:3px}

.footer-legal{display:inline-flex;gap:22px;flex-wrap:wrap}
.footer-legal a[aria-current]{color:var(--champagne);text-decoration:underline;text-underline-offset:3px}

@media(max-width:1000px){
  .terms-layout{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:36px}
  .terms-aside{position:static}
  .terms-toc ol{display:flex;gap:8px;overflow-x:auto;border:0;padding-bottom:6px;margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter);scrollbar-width:none}
  .terms-toc ol::-webkit-scrollbar{display:none}
  .terms-toc li{border:0;flex:none}
  .terms-toc a{padding:11px 16px;border:1px solid #c4ad8270;border-radius:999px;background:#fff;gap:10px;min-height:44px;align-items:center;white-space:nowrap}
  .terms-toc a:hover,.terms-toc a.is-active{padding-left:16px;border-color:var(--teal)}
  .terms-aside-foot{flex-direction:row;align-items:center;flex-wrap:wrap;gap:16px;margin-top:16px}
}
@media(max-width:640px){
  .terms-hero{padding-top:118px;padding-bottom:40px}
  .terms-hero .service-breadcrumb{margin-bottom:26px}
  .terms-hero h1{font-size:64px}
  .terms-kicker{font-size:9px;margin-bottom:16px}
  .terms-meta{font-size:13px;margin-top:24px;gap:12px}
  .terms-rule{width:32px}
  .terms-section{padding:26px 20px;border-radius:18px;margin-bottom:16px}
  .terms-section-head{gap:12px;padding-bottom:16px;margin-bottom:20px}
  .terms-section-head h2{font-size:38px}
  .terms-section-body{font-size:16px;line-height:1.7}
  .terms-section-body .tc-lead{font-size:17px}
  .tc-list li{padding:12px 0 12px 24px}
  .tc-list li::before{top:25px;width:11px}
  .tc-contact{padding:18px 20px}
  /* Tables become stacked cards on phones */
  .tc-table-wrap{border:0;border-radius:0;overflow:visible}
  .tc-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tc-table,.tc-table tbody,.tc-table tr,.tc-table td{display:block;width:auto}
  .tc-table tr{border:1px solid #c4ad825c;border-radius:14px;margin-bottom:10px;overflow:hidden;background:#fff}
  .tc-table tbody tr:nth-child(even) td{background:transparent}
  .tc-table td{border:0;padding:12px 16px}
  .tc-table td:first-child{width:auto;border-bottom:1px solid #17243814}
  .tc-table td:last-child{background:#f7f5f0!important}
  .tc-table td[data-label]::before{content:attr(data-label);display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:600;margin-bottom:4px}
  .terms-company{padding:26px 22px;font-size:13px}
  .terms-company-name{font-size:38px}
}
@media(prefers-reduced-motion:reduce){.terms-toc a{transition:none}}
@media print{
  .header,.footer,.terms-aside,.skip-link{display:none!important}
  body.terms-page{background:#fff;padding:0}
  .terms-hero{padding:0 0 16px}
  .terms-hero h1{font-size:40px}
  .terms-layout{display:block;padding:16px 0 0}
  .terms-section{box-shadow:none;border:0;border-top:1px solid #999;border-radius:0;padding:18px 0;break-inside:auto}
  .terms-section-body{font-size:11pt;color:#000}
  .tc-contact,.terms-company{background:#fff;color:#000;border:1px solid #999}
  .tc-contact .tc-email a,.terms-company a,.terms-company-name{color:#000}
  .tc-table th{background:#eee;color:#000}
  .tc-table tr{break-inside:avoid}
}

/* ---- 1.2.18: shared legal styling — Privacy Policy additions ---- */
.terms-intro .terms-section-body>p:first-child{font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);line-height:1.35;letter-spacing:-.01em;color:var(--ink);max-width:44ch;margin-bottom:22px}
.terms-intro .terms-section-body>p{max-width:68ch}
.terms-section-body .tc-list .tc-list{margin:12px 0 0;padding-left:4px}
.terms-section-body .tc-list .tc-list li{padding:9px 0 9px 26px;border-bottom:1px dashed #17243814;font-size:15px;color:var(--muted)}
.terms-section-body .tc-list .tc-list li:last-child{border-bottom:0}
.terms-section-body .tc-list .tc-list li::before{top:20px;width:8px;height:8px;border-radius:50%;background:none;border:1px solid var(--brass)}
.terms-section-body p:not(.tc-postal)>strong:first-child:only-of-type{color:var(--teal)}
.tc-contact-postal{gap:14px;padding:clamp(24px,3vw,36px)}
.tc-contact-postal .tc-postal{margin:0;font-size:15px;line-height:1.7;color:#d8dde4}
.tc-contact-postal .tc-postal strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,34px);line-height:1.1;color:#fff;margin-bottom:8px}
.tc-contact-postal p:last-child{margin:0;padding-top:14px;border-top:1px solid #c4ad8240;color:#d8dde4;font-size:15px}
.tc-contact-postal a{color:#fff;text-decoration-color:#c4ad8299;font-family:var(--serif);font-size:clamp(20px,2vw,24px);display:inline-block;margin-top:4px}
.legal-privacy .terms-section-head h2{font-size:clamp(30px,3.2vw,44px);line-height:1.08}
@media(max-width:640px){
  .terms-intro .terms-section-body>p:first-child{font-size:21px}
  .terms-section-body .tc-list .tc-list li{padding:8px 0 8px 22px}
  .terms-section-body .tc-list .tc-list li::before{top:18px;width:7px;height:7px}
  .legal-privacy .terms-section-head h2{font-size:30px}
}
@media print{.tc-contact-postal .tc-postal,.tc-contact-postal p:last-child,.tc-contact-postal a,.tc-contact-postal .tc-postal strong{color:#000}}
