/* TCC-TCM — brand system v2.0
   Colour values come from chekhter-tcm-tokens-colour-v2.css. Do not invent new ones. */

:root{
  --cream:#FDF8E5; --silk:#FBF0CB; --champagne:#FBE18C; --honey:#F1D071;
  --brass:#C1A743; --bronze:#A7813B; --tobacco:#7F5C33;
  --chartreuse:#AEC03E; --moss:#879D40; --forest:#3F6639; --pine:#20462A;
  --warm-white:#F6F5F3; --stone:#6F6859; --olive-charcoal:#3B3827; --espresso:#1C1509;
  --brick:#98352C; --silk-line:#EDDFB7; --espresso-line:#403726;
  --serif:'Marcellus',Georgia,'Times New Roman',serif;
  --sans:'Karla',system-ui,-apple-system,'Segoe UI',sans-serif;
  --wrap:1120px; --pad:clamp(20px,5vw,56px);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--olive-charcoal);
  font-family:var(--sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--pine);margin:0;line-height:1.15}
h1{font-size:clamp(34px,5vw,58px);line-height:1.05}
h2{font-size:clamp(26px,3.3vw,38px)}
h3{font-size:clamp(20px,2.2vw,25px)}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:62ch}

a{color:var(--forest);text-decoration:underline;text-decoration-color:var(--bronze);
  text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--pine);text-decoration-color:var(--forest)}
:focus-visible{outline:2px solid var(--pine);outline-offset:3px;border-radius:2px}
.on-dark :focus-visible{outline-color:var(--honey)}

.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--pad);top:12px;z-index:50;background:var(--pine);color:var(--warm-white);
  padding:12px 18px;border-radius:2px;text-decoration:none}

/* ---------- header ---------- */
.site-head{border-bottom:1px solid var(--silk-line);background:var(--cream);
  position:sticky;top:0;z-index:20}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 0;flex-wrap:wrap}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.1}
.brand:hover{color:inherit}
.brand .wm{font-family:var(--serif);font-size:clamp(19px,2.4vw,24px);letter-spacing:.14em;
  color:var(--pine);margin-right:-.14em}
.brand .ds{font-size:11px;letter-spacing:.06em;color:var(--stone);margin-top:4px}
.site-nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,28px);flex-wrap:wrap;font-size:15px}
.site-nav a:not(.btn){color:var(--olive-charcoal);text-decoration:none}
.site-nav a:not(.btn):hover{color:var(--forest);text-decoration:underline;
  text-decoration-color:var(--bronze)}
.site-nav a[aria-current=page]{color:var(--pine);text-decoration:underline;
  text-decoration-color:var(--brass);text-underline-offset:5px}

/* ---------- buttons ---------- */
.btn{display:inline-block;font:500 15px/1 var(--sans);padding:14px 24px;border-radius:2px;
  text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:background-color .15s,color .15s,border-color .15s}
.btn-primary{background:var(--forest);color:var(--warm-white)}
.btn-primary:hover{background:var(--pine);color:var(--warm-white)}
.btn-secondary{background:transparent;color:var(--pine);border-color:var(--pine)}
.btn-secondary:hover{background:var(--silk);color:var(--pine)}
.btn-dark{background:var(--honey);color:var(--espresso)}
.btn-dark:hover{background:var(--champagne);color:var(--espresso)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:28px}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  gap:clamp(28px,5vw,64px);align-items:center;padding:clamp(40px,6vw,80px) 0}
.hero .lede{font-size:clamp(18px,1.6vw,20px);max-width:36ch;margin-top:22px}
.hero .creds{font-size:15px;color:var(--stone);margin-top:20px;max-width:40ch}
.shot{position:relative;margin:0}
.shot img{border-radius:2px}
.plate{position:absolute;left:50%;top:9%;transform:translateX(-50%);
  background:rgb(28 21 9 / .88);padding:clamp(12px,2vw,22px) clamp(16px,2.8vw,32px);
  text-align:center}
.plate::after{content:"";position:absolute;inset:6px;border:1px solid var(--brass)}
.plate .wm{font-family:var(--serif);color:var(--warm-white);letter-spacing:.15em;
  margin-right:-.15em;font-size:clamp(18px,2.8vw,32px);line-height:1;white-space:nowrap}
.plate .ds{color:var(--champagne);font-size:clamp(10px,1.2vw,14px);letter-spacing:.03em;
  margin-top:9px;white-space:nowrap}

/* ---------- sections ---------- */
section{padding:clamp(44px,6vw,80px) 0}
.tint{background:var(--silk)}
.sec-intro{max-width:60ch;margin-top:14px}
.rule{border:0;border-top:1px solid var(--brass);margin:0}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:0;margin-top:36px;border-top:1px solid var(--brass)}
.card{padding:26px 28px 24px 0}
.card + .card{border-left:1px solid var(--silk-line);padding-left:28px}
.card h3{margin-bottom:10px}
.card p{font-size:16px;margin-bottom:14px}
.card .meta{font-size:14px;color:var(--stone);margin-bottom:12px}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,5vw,64px);align-items:center}
.split.narrow-img{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:28px 32px;margin-top:36px;counter-reset:step}
.step{border-top:1px solid var(--brass);padding-top:18px}
.step h3{font-size:20px;margin-bottom:8px}
.step p{font-size:16px}
.step .n{font-family:var(--serif);font-size:14px;color:var(--tobacco);
  letter-spacing:.1em;display:block;margin-bottom:10px}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px 32px;margin-top:8px}
.fact{border-top:1px solid var(--brass);padding-top:16px}
.fact b{display:block;font-family:var(--serif);font-weight:400;color:var(--pine);
  font-size:26px;line-height:1.1;margin-bottom:6px}
.fact span{font-size:15px;color:var(--stone)}

/* feature band — one per page */
.band{background:var(--champagne);padding:clamp(34px,5vw,52px) 0}
.band h2{font-size:clamp(24px,3vw,34px)}
.band .sub{font-family:var(--serif);color:var(--pine);
  font-size:clamp(19px,2.2vw,25px);line-height:1.25;margin:8px 0 0}
.band .note{margin-top:14px;font-size:16px;max-width:54ch}
.band-in{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap}

/* ---------- tables and lists ---------- */
table{width:100%;border-collapse:collapse;margin-top:24px}
th{text-align:left;font-weight:500;font-size:14px;color:var(--stone);
  padding:0 18px 12px 0;border-bottom:1px solid var(--brass)}
td{padding:16px 18px 16px 0;border-bottom:1px solid var(--silk-line);vertical-align:top;font-size:16px}
td:first-child{color:var(--pine);font-family:var(--serif);font-size:19px}
.scroll{overflow-x:auto}

.plain{list-style:none;margin:24px 0 0;padding:0}
.plain li{padding:14px 0 14px 22px;border-top:1px solid var(--silk-line);position:relative}
.plain li::before{content:"";position:absolute;left:0;top:25px;width:10px;height:1px;background:var(--brass)}

details{border-top:1px solid var(--silk-line);padding:4px 0}
details summary{cursor:pointer;padding:16px 0;font-family:var(--serif);color:var(--pine);
  font-size:19px;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";float:right;color:var(--brass);font-size:22px;line-height:1}
details[open] summary::after{content:"\2013"}
details .body{padding:0 0 18px;max-width:64ch}

/* ---------- footer ---------- */
.site-foot{background:var(--espresso);color:var(--warm-white);padding:clamp(40px,5vw,64px) 0 32px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px 40px}
.site-foot h2{color:var(--champagne);font-size:21px;margin-bottom:12px}
.site-foot a:not(.btn){color:var(--honey);text-decoration-color:var(--brass)}
.site-foot a:not(.btn):hover{color:var(--champagne);text-decoration-color:var(--honey)}
.site-foot address{font-style:normal}
.foot-legal{margin-top:36px;padding-top:20px;border-top:1px solid var(--espresso-line);
  color:var(--brass);font-size:14px;display:flex;gap:10px 26px;flex-wrap:wrap;justify-content:space-between}
.foot-legal a{color:var(--brass) !important}

.legal-body{max-width:70ch;padding-bottom:clamp(40px,6vw,72px)}
.legal-body h2{margin:36px 0 12px}
.legal-body h3{margin:24px 0 8px}
.legal-body ul{padding-left:22px}
.legal-body li{margin-bottom:8px}
.updated{color:var(--stone);font-size:15px}

@media (max-width:820px){
  .hero,.split,.split.narrow-img{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .card + .card{border-left:0;border-top:1px solid var(--silk-line);padding-left:0}
  .card{padding-right:0}
  .site-head{position:static}
  .head-in{padding:14px 0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
}

address.mail{font-style:normal;margin:1em 0;line-height:1.7}
