:root{
  --ground:#EEF3F1;
  --text:#111615;
  --muted:#5E6E6A;
  --line:#BAC8C4;
  --accent:#00A85A;
  --paper:#F8FBFA;
  --display:"Aptos Display","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --body:Aptos,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;
  --s-1:.72rem;
  --s0:.86rem;
  --s1:1rem;
  --s2:1.22rem;
  --s3:1.65rem;
  --s4:2.5rem;
  --s5:clamp(3rem,8vw,4.8rem);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ground);
  color:var(--text);
  font-family:var(--body);
  font-size:var(--s1);
  line-height:1.65;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
a,button,summary{touch-action:manipulation}
img,svg{max-width:100%}
.ctc-svg,.ctc-mini-svg{width:100%;height:auto;display:block}
.ctc-skip{
  position:absolute;
  left:1rem;
  top:1rem;
  z-index:20;
  padding:.65rem .9rem;
  background:var(--text);
  color:var(--ground);
  transform:translateY(-160%);
}
.ctc-skip:focus{transform:translateY(0)}
.ctc-topbar{
  max-width:var(--max);
  margin:0 auto;
  padding:1.05rem clamp(1rem,3vw,2rem);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  border-bottom:1px solid var(--line);
}
.ctc-brand{
  display:flex;
  align-items:center;
  gap:.8rem;
  min-width:0;
}
.ctc-brand-mark{
  width:3.1rem;
  aspect-ratio:1;
  border:1px solid var(--text);
  display:grid;
  place-items:center;
  font-family:var(--mono);
  font-size:var(--s0);
  letter-spacing:.08em;
}
.ctc-brand strong{
  display:block;
  font-weight:600;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.ctc-brand small{
  display:block;
  color:var(--muted);
  font-family:var(--mono);
  font-size:var(--s-1);
  line-height:1.25;
  margin-top:.18rem;
}
.ctc-nav{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.15rem .8rem;
  justify-content:flex-end;
  font-family:var(--mono);
  font-size:var(--s0);
}
.ctc-nav a{
  padding:.45rem .08rem;
  border-bottom:1px solid transparent;
  color:var(--muted);
  transition:color .22s ease,border-color .22s ease,transform .22s ease;
}
.ctc-nav a:hover,.ctc-nav a[aria-current="page"]{
  color:var(--text);
  border-color:var(--accent);
  transform:translateX(2px);
}
.ctc-shell{
  max-width:var(--max);
  margin:0 auto;
  padding:0 clamp(1rem,3vw,2rem) 5rem;
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:clamp(2rem,5vw,4.8rem);
}
.ctc-content{min-width:0}
.ctc-rail{
  position:sticky;
  top:1rem;
  align-self:start;
  padding-top:2rem;
  z-index:5;
}
.ctc-rail-card{
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  background:color-mix(in srgb,var(--ground) 82%,white);
}
.ctc-rail-card summary{
  cursor:pointer;
  list-style:none;
  padding:.85rem 1rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-family:var(--mono);
  font-size:var(--s-1);
  text-transform:uppercase;
  letter-spacing:.16em;
}
.ctc-rail-card summary::-webkit-details-marker{display:none}
.ctc-rail-inner{padding:.25rem 0}
.ctc-rail-link{
  display:block;
  padding:.82rem 1rem .9rem;
  border-bottom:1px solid var(--line);
  transition:transform .22s ease,color .22s ease,border-color .22s ease;
  min-width:0;
}
.ctc-rail-link span{
  display:block;
  font-family:var(--mono);
  font-size:var(--s-1);
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:.15rem;
}
.ctc-rail-link strong{
  display:block;
  font-family:var(--mono);
  font-size:var(--s0);
  font-weight:500;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.ctc-rail-link:hover,.ctc-rail-link.is-active{
  transform:translateX(.35rem);
  color:var(--accent);
  border-bottom-color:var(--accent);
}
.ctc-rail-link:hover span,.ctc-rail-link.is-active span{color:var(--text)}
.ctc-rail-email strong{font-size:.78rem}
.ctc-section{
  position:relative;
  margin-top:clamp(3rem,8vw,7rem);
}
.ctc-section:first-child{margin-top:0}
.ctc-section:before{
  content:"";
  display:block;
  width:min(12rem,45%);
  height:1px;
  background:var(--accent);
  margin-bottom:1.05rem;
  transform-origin:left;
}
.ctc-hero{
  padding-top:clamp(2.2rem,5vw,5rem);
  text-align:center;
}
.ctc-hero:before{margin-left:auto;margin-right:auto}
.ctc-kicker{
  margin:0 0 .8rem;
  font-family:var(--mono);
  font-size:var(--s-1);
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--muted);
}
.ctc-display,h1,h2,h3{
  font-family:var(--display);
  line-height:.98;
  letter-spacing:-.045em;
  text-wrap:balance;
}
h1,h2,h3,p{overflow-wrap:anywhere}
.ctc-display{
  font-size:var(--s5);
  font-weight:600;
  max-width:10.8ch;
  margin:.1rem auto 1.35rem;
}
.ctc-headline span{
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 50%,transparent 50%);
  mask-image:linear-gradient(90deg,#000 0,#000 50%,transparent 50%);
  -webkit-mask-size:200% 100%;
  mask-size:200% 100%;
  -webkit-mask-position:0 0;
  mask-position:0 0;
  animation:ctc-wipe 1.05s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes ctc-wipe{
  from{-webkit-mask-position:100% 0;mask-position:100% 0}
  to{-webkit-mask-position:0 0;mask-position:0 0}
}
h2{
  font-size:clamp(2rem,4.6vw,var(--s4));
  font-weight:600;
  max-width:13ch;
  margin:.1rem 0 1.25rem;
}
.ctc-reading h2,.ctc-proof h2,.ctc-next h2{max-width:15ch}
h3{
  font-size:var(--s3);
  font-weight:600;
  margin:.25rem 0 .85rem;
}
.ctc-intro{
  font-size:var(--s2);
  line-height:1.55;
  max-width:66ch;
  margin:0 auto 2.5rem;
  color:var(--muted);
}
.ctc-plate{
  position:relative;
  overflow:hidden;
  background:var(--paper);
  border:1px solid var(--text);
  padding:clamp(1rem,2vw,1.55rem);
  margin:clamp(2rem,4vw,3rem) auto 0;
  max-width:930px;
}
.ctc-plate:before,.ctc-plate:after{
  content:"";
  position:absolute;
  width:3rem;
  height:3rem;
  border-color:var(--text);
  border-style:solid;
  pointer-events:none;
}
.ctc-plate:before{left:.65rem;top:.65rem;border-width:1px 0 0 1px}
.ctc-plate:after{right:.65rem;bottom:.65rem;border-width:0 1px 1px 0}
.ctc-plate-holes{
  position:absolute;
  left:.75rem;
  top:50%;
  width:.55rem;
  height:6.2rem;
  transform:translateY(-50%);
  background:
    radial-gradient(circle,var(--ground) 0 38%,transparent 40%) center top/.55rem .55rem no-repeat,
    radial-gradient(circle,var(--ground) 0 38%,transparent 40%) center center/.55rem .55rem no-repeat,
    radial-gradient(circle,var(--ground) 0 38%,transparent 40%) center bottom/.55rem .55rem no-repeat;
}
.ctc-plate .ctc-svg{
  transition:transform 8s ease;
  transform-origin:center;
}
.ctc-kenburns .ctc-svg{animation:ctc-drift 16s ease-in-out infinite alternate}
@keyframes ctc-drift{
  from{transform:scale(1.01) translate(-.25rem,.15rem)}
  to{transform:scale(1.045) translate(.35rem,-.2rem)}
}
.ctc-caption{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  border-top:1px solid var(--line);
  margin-top:.9rem;
  padding-top:.8rem;
  text-align:left;
  color:var(--muted);
  font-size:var(--s0);
}
.ctc-caption span{
  flex:0 0 auto;
  color:var(--text);
  font-family:var(--mono);
  letter-spacing:.08em;
}
.ctc-marquee{
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:.9rem 0;
}
.ctc-marquee:before{display:none}
.ctc-marquee-track{
  display:flex;
  width:max-content;
  gap:1.2rem;
  animation:ctc-marquee 34s linear infinite;
}
.ctc-marquee:hover .ctc-marquee-track{animation-play-state:paused}
.ctc-marquee span{
  font-family:var(--mono);
  font-size:var(--s0);
  text-transform:uppercase;
  letter-spacing:.13em;
  color:var(--muted);
}
.ctc-marquee span:after{
  content:"";
  display:inline-block;
  width:.36rem;
  height:.36rem;
  border:1px solid var(--accent);
  margin-left:1.2rem;
  transform:rotate(45deg) translateY(-.08rem);
}
@keyframes ctc-marquee{
  to{transform:translateX(-50%)}
}
.ctc-reading{
  max-width:74ch;
}
.ctc-reading p:not(.ctc-kicker){
  font-size:var(--s2);
  line-height:1.65;
  margin:0 0 1.25rem;
}
.ctc-card-grid,.ctc-price-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.ctc-stretch{align-items:stretch}
.ctc-card,.ctc-price-card{
  background:var(--ground);
  padding:clamp(1.2rem,2.4vw,2rem);
  min-width:0;
}
.ctc-card{
  display:flex;
  flex-direction:column;
}
.ctc-card p:not(.ctc-card-no),.ctc-price-card p:not(.ctc-card-no):not(.ctc-price){color:var(--muted)}
.ctc-card-no{
  margin:0 0 1.1rem;
  font-family:var(--mono);
  font-size:var(--s-1);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}
.ctc-text-link{
  margin-top:auto;
  display:inline-flex;
  align-self:flex-start;
  padding-top:.75rem;
  border-bottom:1px solid var(--accent);
  color:var(--text);
  font-family:var(--mono);
  font-size:var(--s0);
  transition:transform .22s ease,color .22s ease;
}
.ctc-text-link:hover{transform:translateX(.35rem);color:var(--accent)}
.ctc-caption-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.6rem);
}
.ctc-caption-row figure,.ctc-small-plate{
  margin:0;
  border-top:1px solid var(--text);
  padding-top:1rem;
}
.ctc-caption-row figcaption,.ctc-small-plate figcaption{
  margin-top:.7rem;
  color:var(--muted);
  font-size:var(--s0);
}
.ctc-proof{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(18rem,34rem);
  gap:clamp(2rem,5vw,4rem);
  align-items:start;
}
.ctc-footnotes{
  list-style:none;
  counter-reset:notes;
  margin:0;
  padding:0;
  border-top:1px solid var(--line);
}
.ctc-footnotes li{
  counter-increment:notes;
  position:relative;
  padding:1rem 0 1rem 3.2rem;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  transition:transform .22s ease,color .22s ease,border-color .22s ease;
}
.ctc-footnotes li:before{
  content:counter(notes,decimal-leading-zero);
  position:absolute;
  left:0;
  top:1rem;
  font-family:var(--mono);
  color:var(--text);
}
.ctc-footnotes li:hover{
  transform:translateX(.35rem);
  color:var(--text);
  border-bottom-color:var(--accent);
}
.ctc-footnotes li:hover:before{color:var(--accent)}
.ctc-slip{
  max-width:32rem;
  margin-left:auto;
  transform:rotate(-1.2deg);
  background:var(--paper);
  border:1px solid var(--text);
  padding:1.2rem 1.35rem 1.4rem;
}
.ctc-slip p:not(.ctc-kicker){
  font-size:var(--s2);
  line-height:1.55;
  margin:.2rem 0 .8rem;
}
.ctc-slip span{
  font-family:var(--mono);
  color:var(--muted);
}
.ctc-next{
  text-align:center;
  padding:clamp(2rem,5vw,4rem);
  border:1px solid var(--text);
  background:var(--paper);
}
.ctc-next:before{margin-left:auto;margin-right:auto}
.ctc-next h2{margin-left:auto;margin-right:auto}
.ctc-next p:not(.ctc-kicker){
  max-width:62ch;
  margin:0 auto 1.3rem;
  color:var(--muted);
}
.ctc-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  justify-content:center;
  align-items:center;
}
.ctc-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  padding:.78rem 1rem .82rem;
  border:1px solid var(--text);
  background:var(--text);
  color:var(--ground);
  font-family:var(--mono);
  font-size:var(--s0);
  line-height:1.2;
  transition:color .22s ease,border-color .22s ease,transform .22s ease;
}
.ctc-button:hover{
  color:white;
  border-color:var(--accent);
  transform:translateX(.25rem);
}
.ctc-button-secondary{
  background:transparent;
  color:var(--text);
}
.ctc-button-secondary:hover{color:var(--accent)}
.ctc-price-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:2rem;
}
.ctc-price{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.2rem,4.5vw,3.8rem);
  letter-spacing:-.05em;
  line-height:1;
  margin:.7rem 0 1rem;
}
.ctc-price span{
  display:block;
  font-family:var(--mono);
  font-size:var(--s-1);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.45rem;
}
.ctc-two-col{
  display:grid;
  grid-template-columns:minmax(13rem,22rem) minmax(0,1fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.ctc-lined-list{
  list-style:none;
  padding:0;
  margin:0;
  border-top:1px solid var(--line);
}
.ctc-lined-list li{
  position:relative;
  padding:1rem 0 1rem 2rem;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  transition:transform .22s ease,color .22s ease,border-color .22s ease;
}
.ctc-lined-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:1.55rem;
  width:.55rem;
  height:.55rem;
  border:1px solid var(--accent);
  transform:rotate(45deg);
}
.ctc-lined-list li:hover{
  transform:translateX(.35rem);
  color:var(--text);
  border-bottom-color:var(--accent);
}
.ctc-long{
  border-left:1px solid var(--text);
  padding-left:clamp(1.1rem,3vw,2rem);
}
.ctc-timeline{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  padding:0;
  margin:0;
  list-style:none;
  background:var(--line);
  border:1px solid var(--line);
}
.ctc-timeline li{
  background:var(--ground);
  padding:1.1rem;
  min-width:0;
}
.ctc-timeline span{
  display:block;
  font-family:var(--mono);
  font-size:var(--s-1);
  color:var(--accent);
  margin-bottom:1.25rem;
}
.ctc-timeline strong{
  display:block;
  font-size:var(--s2);
  line-height:1.15;
  margin-bottom:.55rem;
}
.ctc-timeline p{
  margin:0;
  color:var(--muted);
  font-size:var(--s0);
  line-height:1.5;
}
.ctc-process-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.2rem,2.5vw,2rem);
}
.ctc-small-plate{
  background:var(--paper);
  border:1px solid var(--line);
  padding:1rem;
}
.ctc-contact-email{
  font-family:var(--mono);
  font-size:clamp(1.2rem,4vw,2.4rem);
  line-height:1.2;
  margin:.2rem auto 1.5rem;
  overflow-wrap:anywhere;
}
.ctc-contact-email a{
  border-bottom:1px solid var(--accent);
  transition:color .22s ease;
}
.ctc-contact-email a:hover{color:var(--accent)}
.ctc-footer{
  max-width:var(--max);
  margin:0 auto;
  padding:2rem clamp(1rem,3vw,2rem);
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  color:var(--muted);
  font-size:var(--s0);
}
.ctc-footer p{margin:0;max-width:70ch}
.ctc-footer a{
  border-bottom:1px solid transparent;
  transition:color .22s ease,border-color .22s ease,transform .22s ease;
}
.ctc-footer a:hover{color:var(--accent);border-color:var(--accent)}
.ctc-footer nav{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  justify-content:flex-end;
  font-family:var(--mono);
}
.ctc-js .ctc-reveal-hidden{
  opacity:0;
  transform:translateY(18px);
}
.ctc-js .ctc-reveal-ready{
  transition:opacity .58s ease,transform .58s ease;
}
.ctc-js .ctc-rule-ready:before{
  transition:transform .72s ease;
}
.ctc-js .ctc-reveal-hidden.ctc-rule-ready:before{
  transform:scaleX(0);
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
  .ctc-js .ctc-reveal-hidden{opacity:1;transform:none}
}
@media (max-width:980px){
  .ctc-topbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .ctc-nav{justify-content:flex-start}
  .ctc-shell{
    grid-template-columns:1fr;
    gap:0;
  }
  .ctc-rail{
    position:relative;
    top:auto;
    padding-top:1rem;
  }
  .ctc-rail-card{border:1px solid var(--line)}
  .ctc-rail-inner{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ctc-card-grid,.ctc-price-grid{grid-template-columns:1fr}
  .ctc-proof,.ctc-two-col{grid-template-columns:1fr}
  .ctc-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  body{font-size:.96rem}
  .ctc-topbar{padding-top:.85rem}
  .ctc-brand-mark{width:2.6rem}
  .ctc-nav{font-size:.78rem;gap:.1rem .6rem}
  .ctc-shell{padding-bottom:3.5rem}
  .ctc-rail-inner{grid-template-columns:1fr}
  .ctc-display{max-width:11.5ch}
  .ctc-hero{text-align:left}
  .ctc-hero:before{margin-left:0}
  .ctc-intro{font-size:1.08rem;margin-left:0}
  .ctc-caption{display:block}
  .ctc-caption span{display:block;margin-bottom:.25rem}
  .ctc-caption-row,.ctc-process-grid,.ctc-timeline{grid-template-columns:1fr}
  .ctc-reading p:not(.ctc-kicker){font-size:1.06rem}
  .ctc-slip{margin-left:0;transform:none}
  .ctc-next{text-align:left;padding:1.25rem}
  .ctc-next:before,.ctc-next h2{margin-left:0}
  .ctc-actions{justify-content:flex-start}
  .ctc-footer{flex-direction:column}
  .ctc-footer nav{justify-content:flex-start}
}