/* Visual upgrade for the three central Cambridge Code concepts. */
#distincion{background:linear-gradient(180deg,#fff 0%,#f7fafc 100%)}
.tcc-concept-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr);gap:56px;align-items:center}
.tcc-concept-copy .sec-title{font-size:clamp(30px,4vw,44px)}
.tcc-concept-copy .sec-lead{margin-bottom:24px}
.tcc-insight{margin-top:24px;padding:18px 20px;border-left:3px solid var(--purple);border-radius:0 12px 12px 0;background:var(--purple-soft)}
.tcc-insight strong{display:block;font-family:'Archivo',sans-serif;margin-bottom:5px}
.tcc-insight p{margin:0;color:var(--ink-soft);font-size:15px}
.tcc-diagram-card{position:relative;overflow:hidden;min-height:590px;border-radius:24px;background:#08233a;box-shadow:0 24px 65px rgba(25,35,52,.18);border:1px solid rgba(73,104,131,.2)}
.tcc-iceberg-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.tcc-diagram-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,20,31,.03) 0%,rgba(5,20,31,.05) 31%,rgba(2,14,26,.24) 58%,rgba(2,12,22,.56) 100%);pointer-events:none}
.tcc-ice-label{position:absolute;z-index:2;left:22px;max-width:265px;padding:14px 16px;border-radius:13px;backdrop-filter:blur(7px);box-shadow:0 10px 28px rgba(0,0,0,.16)}
.tcc-ice-label strong{display:block;font:800 15px/1.25 'Archivo',sans-serif;margin-bottom:5px}
.tcc-ice-label span{display:block;font-size:12.5px;line-height:1.45}
.tcc-ice-label.visible{top:25px;background:rgba(255,255,255,.91);color:#16212d}
.tcc-ice-label.hidden{bottom:25px;background:rgba(4,20,34,.83);color:#fff;border:1px solid rgba(194,233,247,.42)}
.tcc-ice-label.hidden span{color:#c8e0ea}
.tcc-waterline{position:absolute;z-index:2;left:0;right:0;top:37%;height:2px;background:linear-gradient(90deg,transparent,#ccefff 20%,#fff 50%,#ccefff 80%,transparent);box-shadow:0 0 14px #c7ecf8;opacity:.82}
.tcc-diagram-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.tcc-legend-item{border:1px solid var(--purple-line);border-radius:12px;padding:13px 15px;background:#fff}
.tcc-legend-item strong{display:block;font:700 13px/1.25 'Archivo',sans-serif;margin-bottom:4px}
.tcc-legend-item span{display:block;color:var(--muted);font-size:12.5px;line-height:1.4}

#como{background:#fff}
.tcc-slip-shell{margin-top:38px;border:1px solid #dfe5ea;border-radius:24px;padding:30px;background:#fff;box-shadow:0 22px 60px rgba(22,36,48,.1)}
.tcc-slip-layout{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(520px,1.28fr);gap:32px;align-items:center}
.tcc-slip-copy{display:grid;gap:18px}
.tcc-slip-point{position:relative;padding:0 0 0 22px;color:#303640;font-size:14.5px;line-height:1.58}
.tcc-slip-point::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:var(--purple)}
.tcc-slip-point strong{color:#111923}
.tcc-slip-visual{border-radius:18px;background:linear-gradient(180deg,#fbfcfd,#f5f8fa);border:1px solid #e8edf1;padding:12px}
.tcc-slip-graph{display:block;width:100%;height:auto}
.tcc-slip-summary{margin:25px 0 0;padding:16px 18px;border-radius:12px;background:#f1f7fa;color:#24323d;text-align:center;font-size:14px;border-left:4px solid var(--cyan)}

#oclusion{position:relative;overflow:hidden;background:#0b1525;color:#e7ebf0}
#oclusion::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 30%,rgba(5,161,204,.18),transparent 35%),radial-gradient(circle at 10% 90%,rgba(123,63,184,.17),transparent 35%)}
#oclusion .wrap{position:relative;z-index:1}
#oclusion h2{color:#fff}
#oclusion .sec-lead{color:#d3dae4;font-size:clamp(18px,2.3vw,22px);line-height:1.5}
.tcc-occlusion-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:54px;align-items:center}
.tcc-occlusion-copy .eyebrow-s{color:#83d6ec}
.tcc-applies{margin:28px 0 0;padding-top:23px;border-top:1px solid rgba(255,255,255,.15);color:#bdc8d5;line-height:1.75;font-size:14px}
.tcc-applies strong{display:block;color:#fff;font:800 12px/1.2 'Archivo',sans-serif;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.tcc-reveal-card{position:relative;min-height:410px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 70px rgba(0,0,0,.27);overflow:hidden;padding:34px;text-align:center}
.tcc-reveal-card::before,.tcc-reveal-card::after{content:"";position:absolute;border-radius:50%;width:230px;height:230px;top:66px}
.tcc-reveal-card::before{left:45px;background:linear-gradient(145deg,#e8eef5,#8795a5);opacity:.55}
.tcc-reveal-card::after{right:45px;background:linear-gradient(145deg,#3b5c78,#091422);opacity:.82;mix-blend-mode:multiply}
.tcc-reveal-label{position:relative;z-index:2;display:block;width:100%;padding:14px 16px;border-radius:11px;background:rgba(6,15,27,.76);border:1px solid rgba(255,255,255,.14);color:#fff;font:700 14px/1.3 'Archivo',sans-serif}
.tcc-reveal-arrow{position:relative;z-index:2;margin:18px 0;color:#8bdcf0;font-size:28px;line-height:1}
.tcc-time{position:relative;z-index:2;margin-top:25px;color:#8bdcf0;font:800 28px/1 'Archivo',sans-serif}
.tcc-time small{display:block;margin-top:8px;color:#c3ceda;font:600 12px/1.3 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.1em}

.dom-chip{position:relative;cursor:help;outline:none}
.dom-chip::after{content:attr(data-tip);position:absolute;z-index:40;left:50%;bottom:calc(100% + 13px);width:max-content;max-width:260px;padding:11px 13px;border-radius:10px;background:#141820;color:#fff;font:500 12.5px/1.45 'Inter',sans-serif;text-align:left;box-shadow:0 12px 30px rgba(0,0,0,.24);opacity:0;visibility:hidden;transform:translate(-50%,7px);transition:opacity .16s,transform .16s,visibility .16s;pointer-events:none}
.dom-chip::before{content:"";position:absolute;z-index:41;left:50%;bottom:calc(100% + 6px);border:7px solid transparent;border-top-color:#141820;opacity:0;visibility:hidden;transform:translateX(-50%);transition:opacity .16s,visibility .16s;pointer-events:none}
.dom-chip:hover::after,.dom-chip:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dom-chip:hover::before,.dom-chip:focus-visible::before{opacity:1;visibility:visible}

@media(max-width:980px){
  .tcc-slip-layout{grid-template-columns:1fr}
  .tcc-slip-copy{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .tcc-concept-grid,.tcc-occlusion-grid{grid-template-columns:1fr}
  .tcc-concept-grid{gap:34px}
  .tcc-diagram-card,.tcc-reveal-card{max-width:650px;width:100%;margin:0 auto}
}
@media(max-width:620px){
  .tcc-diagram-card{min-height:500px}
  .tcc-ice-label{left:14px;right:14px;max-width:none}
  .tcc-slip-shell{padding:18px 14px;border-radius:18px}
  .tcc-slip-copy{grid-template-columns:1fr}
  .tcc-slip-visual{overflow-x:auto}
  .tcc-slip-graph{min-width:610px}
  .tcc-diagram-legend{grid-template-columns:1fr}
  .tcc-reveal-card{min-height:360px}
  .tcc-reveal-card::before{left:15px}.tcc-reveal-card::after{right:15px}
  .dom-chip::after{position:fixed;left:16px;right:16px;bottom:22px;width:auto;max-width:none;transform:translateY(8px)}
  .dom-chip:hover::after,.dom-chip:focus-visible::after{transform:none}
  .dom-chip::before{display:none}
}
