/* kanal-tedavisi.com
   Palette: Mine #F4F7F9 (enamel), Lacivert #14304A (ink), Pulpa #C63D4F (pulp red),
   Nane #CFE8E1 (mint), Dentin #F1E2C0, Kok #4E6579 (muted text) */
:root{
  --mine:#F4F7F9; --lacivert:#14304A; --pulpa:#C63D4F; --pulpa-text:#B3344A;
  --nane:#CFE8E1; --dentin:#F1E2C0; --kok:#4E6579; --line:#D5DEE6;
  --ui:"Lexend",system-ui,-apple-system,"Segoe UI",sans-serif;
  --text:"Literata",Georgia,"Times New Roman",serif;
  --measure:40rem; --wide:72rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--mine);color:var(--lacivert);font:400 1.125rem/1.75 var(--text);text-rendering:optimizeLegibility}
a{color:var(--pulpa-text);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--lacivert);outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--lacivert);color:#fff;padding:.6rem 1rem;font-family:var(--ui);z-index:20}
.skip:focus{left:1rem;top:1rem}
img,svg{max-width:100%}

/* header */
.top{background:#fff;border-bottom:1px solid var(--line)}
.top-in{max-width:var(--wide);margin:0 auto;padding:.9rem clamp(1rem,4vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--lacivert)}
.brand-mark{width:2.3rem;height:2.3rem;flex:none}
.brand-t{font:600 1.15rem/1.15 var(--ui);letter-spacing:-.01em}
.brand-t small{display:block;font-weight:400;font-size:.8rem;color:var(--kok);letter-spacing:0}
.top nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1.4rem}
.top nav a{font:400 .98rem/1.4 var(--ui);color:var(--lacivert);text-decoration:none;padding:.3rem 0;border-bottom:2px solid transparent}
.top nav a:hover{border-bottom-color:var(--line)}
.top nav a[aria-current="page"]{border-bottom-color:var(--pulpa)}

main{max-width:var(--wide);margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2rem 4rem;align-items:center;padding:3.5rem 0 3rem}
.hero h1{font:600 clamp(2.2rem,4.4vw,3.5rem)/1.08 var(--ui);letter-spacing:-.025em;margin:0 0 1.5rem}
.hero h1 span{display:block;color:var(--pulpa-text)}
.lede{max-width:34rem;font-size:1.2rem;line-height:1.65}
.lede p{margin:0 0 1rem}
.hero-fig{margin:0}
.hero-fig svg{display:block;width:100%;height:auto}
.hero-fig figcaption{font:400 .92rem/1.5 var(--ui);color:var(--kok);margin-top:.8rem;max-width:34rem}

/* guide list: a single vertical canal line */
.guides{padding:1.5rem 0 1rem;max-width:52rem}
.guides>h2,.more h2{font:600 1.5rem/1.2 var(--ui);margin:0 0 1.4rem;letter-spacing:-.01em}
.guide-list{list-style:none;margin:0;padding:0 0 0 1.6rem;position:relative}
.guide-list::before{content:"";position:absolute;left:.35rem;top:.4rem;bottom:.4rem;width:3px;border-radius:3px;background:var(--pulpa)}
.guide-list li{position:relative;padding:0 0 1.8rem}
.guide-list li::before{content:"";position:absolute;left:-1.6rem;top:.45rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--mine);border:3px solid var(--pulpa);transform:translateX(-.03rem)}
.guide-list a{font:500 1.3rem/1.3 var(--ui);color:var(--lacivert);text-decoration:none}
.guide-list a:hover .g-t{text-decoration:underline;text-decoration-color:var(--pulpa);text-underline-offset:.2em}
.g-d{margin:.35rem 0 0;max-width:var(--measure);color:var(--kok);font-size:1.05rem;line-height:1.6}

.note{background:var(--nane);border-radius:6px;padding:1.6rem clamp(1.2rem,3vw,2rem);margin:1.5rem 0 4rem;max-width:52rem}
.note h2{font:600 1.2rem/1.3 var(--ui);margin:0 0 .6rem}
.note p{margin:0;max-width:var(--measure)}

/* article */
.page{padding:3rem 0 4rem}
.page-head{max-width:48rem;margin:0 0 2.5rem}
.page-head h1{font:600 clamp(2rem,4vw,3rem)/1.12 var(--ui);letter-spacing:-.02em;margin:0 0 1rem}
.standfirst{font-size:1.25rem;line-height:1.6;margin:0 0 1rem;max-width:var(--measure)}
.meta{font:400 .92rem/1.5 var(--ui);color:var(--kok);margin:0}
.page-body{display:grid;grid-template-columns:minmax(0,var(--measure));gap:2rem 4rem}
.essay .page-body{grid-template-columns:14rem minmax(0,var(--measure))}
.toc{position:sticky;top:1.5rem;align-self:start;font:400 .92rem/1.45 var(--ui);border-left:3px solid var(--nane);padding:.2rem 0 .2rem 1rem}
.toc-h{font-weight:600;margin:0 0 .6rem}
.toc ul{list-style:none;margin:0;padding:0}
.toc li{margin:0 0 .55rem}
.toc a{color:var(--lacivert);text-decoration:none}
.toc a:hover{color:var(--pulpa-text);text-decoration:underline}
.prose>*:first-child{margin-top:0}
.prose h2{font:600 1.45rem/1.25 var(--ui);letter-spacing:-.01em;margin:2.6rem 0 .8rem;scroll-margin-top:1rem}
.prose h3{font:600 1.15rem/1.3 var(--ui);margin:2rem 0 .5rem}
.prose p,.prose ul,.prose ol{margin:0 0 1.15rem}
.prose ul,.prose ol{padding-left:1.3rem}
.prose li{margin:0 0 .45rem}
.prose li::marker{color:var(--pulpa)}
.prose strong{font-weight:600}
.prose table{width:100%;border-collapse:collapse;margin:1.6rem 0;font:400 .95rem/1.5 var(--ui);display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;vertical-align:top;padding:.65rem .8rem;border-bottom:1px solid var(--line)}
.prose thead th{background:#fff;border-bottom:2px solid var(--lacivert);font-weight:600}
.advice{background:var(--nane);padding:1rem 1.2rem;border-radius:6px;font:400 .98rem/1.6 var(--ui);margin-top:2.4rem}
.more{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--line);max-width:48rem}
.more ul{list-style:none;margin:0;padding:0}
.more li{margin:0 0 .7rem;font:400 1.08rem/1.4 var(--ui)}

/* footer */
.foot{background:var(--lacivert);color:#E3EAF0;margin-top:2rem}
.foot-in{max-width:var(--wide);margin:0 auto;padding:2.2rem clamp(1rem,4vw,2rem) 2.6rem;font:400 .92rem/1.6 var(--ui)}
.foot-note{max-width:40rem;margin:0 0 1rem}
.foot-links{margin:0;display:flex;flex-wrap:wrap;gap:.4rem 1.5rem}
.foot a{color:#fff}
.foot :focus-visible{outline-color:#fff}

@media (max-width:960px){
  .hero{grid-template-columns:1fr;padding-top:2.4rem}
  .hero-fig{max-width:34rem}
  .essay .page-body{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;background:#fff;border-left:3px solid var(--pulpa);padding:1rem 1.1rem;border-radius:0 6px 6px 0}
}
@media (max-width:520px){
  body{font-size:1.06rem}
  .top nav ul{gap:.1rem 1rem}
  .top nav a{font-size:.93rem}
  .lede{font-size:1.1rem}
  .guide-list a{font-size:1.15rem}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
