/* ================================================================ Dental practices: the reminder card (porcelain, periwinkle, lilac, deep ink) */
:root{
  --d-bg:#fbfbfe; --d-peri:#5b5bd6; --d-peri-d:#4747c2; --d-lilac:#eeeefe; --d-lilac2:#e1e1fb; --d-ink:#17173a; --d-ink2:#2c2c55;
  --d-muted:#55557a; --d-pen:#25258a; --d-rose:#b8354f; --d-soft:#c3c3ec;
  --d-serif:'Instrument Serif',Georgia,'Times New Roman',serif; --d-hand:'Nanum Pen Script','Segoe Print','Bradley Hand',cursive;
}
.pg-dnt{background:var(--d-bg);color:var(--d-ink)}
.pg-dnt h1,.pg-dnt h2,.pg-dnt h3{font-family:var(--d-serif);font-weight:400;color:var(--d-ink);text-wrap:balance}
.pg-dnt h2{margin:16px 0 0;font-size:clamp(38px,4.5vw,64px);line-height:1.02;letter-spacing:-.012em}
.pg-dnt .dnt-it{font-style:italic;color:var(--d-peri)}
.dnt-head h2 .dnt-it{display:block}
.pg-dnt :focus-visible{outline-color:var(--d-peri)}
.dnt-head{max-width:780px}
.dnt-head > p:not(.dnt-k){margin:18px 0 0;max-width:58ch;font-size:17.5px;line-height:1.6;color:var(--d-muted);text-wrap:pretty}
/* section kicker: a tiny reminder card with its stub, then the label */
.dnt-k{display:inline-flex;align-items:center;gap:10px;margin:0;font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--d-peri)}
.dnt-k::before{content:"";flex:none;width:16px;height:11px;border:1.5px solid currentColor;border-radius:2.5px;
  background:linear-gradient(90deg,transparent 3.5px,currentColor 3.5px 5px,transparent 5px)}
.dnt-mini{margin:0;font:500 10.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d-muted)}
.dnt-ex{padding:4px 7px 3px;border-radius:5px;background:var(--d-lilac);color:var(--d-peri)}
.dnt-btn-peri{background:var(--d-peri);color:#fff;box-shadow:0 12px 24px -14px rgba(71,71,194,.9)}
.dnt-btn-peri:hover{background:var(--d-peri-d)}
.dnt-btn-line{background:transparent;color:var(--d-ink);box-shadow:inset 0 0 0 1.5px rgba(23,23,58,.78)}
.dnt-btn-line:hover{background:rgba(23,23,58,.05)}
.dnt-btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.dnt-btn-ghost:hover{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1.5px #fff}
.dnt-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* ---------------------------------------------------------------- hero: copy left, the reminder cards on a lilac desk at the right */
.dnt-hero{position:relative;isolation:isolate;overflow:clip;padding-block:clamp(40px,5vw,76px) clamp(48px,4.6vw,72px)}
.dnt-hero::before{content:"";position:absolute;z-index:-1;left:57%;right:0;top:clamp(20px,2.4vw,36px);bottom:clamp(20px,2.4vw,36px);
  border-radius:46px 0 0 46px;background:var(--d-lilac)}
.dnt-hero-in{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);column-gap:clamp(28px,4vw,64px);align-items:center}
.dnt-copy{min-width:0;max-width:620px}
.dnt-kick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;font:500 11.5px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--d-muted)}
.dnt-kick i{width:20px;height:1.5px;background:var(--d-peri)}
.dnt-hero h1{margin:22px 0 0;font-size:clamp(40px,4.7vw,70px);line-height:1;letter-spacing:-.016em}
.dnt-hero h1 > span{display:block}
.dnt-sub{margin:24px 0 0;max-width:47ch;font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.6;color:var(--d-muted);text-wrap:pretty}
.pg-dnt .fine{color:var(--d-ink)}
.pg-dnt .fine .hl{background:var(--d-lilac2)}
.pg-dnt .fine .dot{background:var(--d-peri)}

.dnt-desk{position:relative;min-width:0}
.dnt-stage{position:relative;width:118%;aspect-ratio:1.2}
@media (max-width:1279px){ .dnt-stage{width:108%} }
/* one card = a wrapper (position, fan angle, shadow) around the printed card (paper, perforated edge) */
.dnt-cw{position:absolute;left:8%;bottom:8%;width:84%;aspect-ratio:1.6;container-type:inline-size;transform-origin:4% 100%;
  transform:rotate(var(--r)) translate(var(--x),var(--y));
  filter:drop-shadow(0 1px 1px rgba(23,23,58,.1)) drop-shadow(0 16px 22px rgba(23,23,58,.13));
  transition:transform 1s cubic-bezier(.22,.9,.28,1) var(--fd,0s),opacity .6s ease var(--fd,0s)}
.dnt-at0{--r:-2.5deg;--x:0%;--y:0%;z-index:3}
.dnt-at1{--r:-9deg;--x:-.6%;--y:-1.6%;z-index:2}
.dnt-at2{--r:-15.5deg;--x:-1.2%;--y:-3.2%;z-index:1}
.dnt-cw.dnt-out{--r:9deg;--x:74%;--y:12%;z-index:4;opacity:0;transition:transform .8s cubic-bezier(.5,0,.7,.4),opacity .25s ease .55s}
.dnt-cw.dnt-snap{transition:none}
.dnt-stage{transition:opacity .5s ease,translate 1s cubic-bezier(.22,.9,.28,1)}
.dnt-pre .dnt-stage{translate:0 16px}
.dnt-pre .dnt-cw{transform:rotate(-2.5deg) translate(0,3%)}
.dnt-intro .dnt-at1{--fd:.1s}
.dnt-intro .dnt-at0{--fd:.2s}

.dnt-card{--u:calc(100cqi / 480);position:absolute;inset:0;display:flex;flex-direction:column;
  padding:calc(19 * var(--u)) calc(22 * var(--u)) calc(15 * var(--u)) calc(34 * var(--u));
  border-radius:calc(8 * var(--u));background:#fff;color:var(--d-ink);
  -webkit-mask:radial-gradient(circle calc(4.4 * var(--u)) at 0 50%,#0000 94%,#000) 0 calc(5 * var(--u)) / 100% calc(13.5 * var(--u)) repeat-y;
  mask:radial-gradient(circle calc(4.4 * var(--u)) at 0 50%,#0000 94%,#000) 0 calc(5 * var(--u)) / 100% calc(13.5 * var(--u)) repeat-y}
.dnt-card p{margin:0}
.dnt-ch{position:relative;padding-right:calc(84 * var(--u))}
.dnt-cbiz b{display:block;font:600 calc(15 * var(--u))/1.15 var(--body);letter-spacing:-.012em}
.dnt-cbiz span{display:block;margin-top:calc(5 * var(--u));font:500 max(7px,calc(9 * var(--u)))/1.25 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted);white-space:nowrap}
.dnt-mark{position:absolute;top:calc(-6 * var(--u));right:calc(-8 * var(--u));width:calc(84 * var(--u));height:auto;overflow:visible}
.dnt-mark .dnt-teeth{fill:var(--d-peri)}
.dnt-mark .dnt-nums{fill:var(--d-ink);opacity:.6;font-family:var(--mono);font-weight:500;text-anchor:middle;dominant-baseline:central}
.dnt-card .dnt-ct{margin-top:calc(9 * var(--u));font:italic 400 calc(37 * var(--u))/1 var(--d-serif);letter-spacing:-.01em;color:var(--d-peri)}
.dnt-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:calc(18 * var(--u));margin-top:calc(8 * var(--u))}
.dnt-card .dnt-fl{display:flex;align-items:flex-end;gap:calc(8 * var(--u));height:calc(43 * var(--u))}
.dnt-card .dnt-fl-name{grid-column:1 / -1}
.dnt-lb{flex:none;padding-bottom:calc(5 * var(--u));font:500 max(7px,calc(9 * var(--u)))/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d-muted)}
.dnt-ln{position:relative;flex:1;min-width:0;height:100%;display:flex;align-items:flex-end;border-bottom:1px solid rgba(23,23,58,.3)}
.dnt-hw{display:block;padding:0 calc(6 * var(--u)) 0 calc(4 * var(--u));margin-bottom:calc(-1 * var(--u));font:400 calc(34 * var(--u))/1 var(--d-hand);color:var(--d-pen);white-space:nowrap;
  clip-path:inset(-50% -10% -50% -4%)}
.dnt-crow{display:flex;align-items:center;justify-content:space-between;gap:calc(12 * var(--u));margin-top:calc(16 * var(--u))}
.dnt-days{position:relative}
.dnt-days ol{display:flex;list-style:none;margin:0;padding:0}
.dnt-days li{width:calc(36 * var(--u));text-align:center;font:500 max(7px,calc(9.5 * var(--u)))/calc(24 * var(--u)) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--d-ink2)}
.dnt-ringpos{position:absolute;top:calc(-4 * var(--u));left:calc((var(--wd,0) * 36 - 5) * var(--u));width:calc(46 * var(--u));height:calc(32 * var(--u))}
.dnt-ring{display:block;width:100%;height:100%;overflow:visible}
.dnt-card .dnt-box{display:flex;align-items:center;gap:calc(7 * var(--u));font:500 max(7px,calc(9.5 * var(--u)))/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d-ink2)}
.dnt-box > span{display:block;flex:none;width:calc(22 * var(--u));height:calc(22 * var(--u))}
.dnt-bx{display:block;width:100%;height:100%;overflow:visible}
.dnt-bx rect{fill:none;stroke:var(--d-ink);stroke-width:1.3;opacity:.62}
.dnt-ink{fill:none;stroke:var(--d-pen);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1.1;stroke-dashoffset:0}
.dnt-ring .dnt-ink{stroke-width:1.6}
.dnt-card .dnt-cf{display:flex;justify-content:space-between;gap:calc(10 * var(--u));margin-top:auto;padding-top:calc(9 * var(--u));border-top:1px solid rgba(91,91,214,.32);
  font:500 max(6.5px,calc(8.5 * var(--u)))/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d-peri)}
.dnt-cf span:last-child{color:var(--d-muted)}
.dnt-card .dnt-cn{margin-top:auto;padding-bottom:calc(7 * var(--u));font:italic 400 calc(13.5 * var(--u))/1.2 var(--d-serif);color:var(--d-muted)}
.dnt-card .dnt-cn + .dnt-cf{margin-top:0}
/* the ink: hidden until the card is written, then wiped in field by field */
.dnt-card:not(.is-w) .dnt-hw,.dnt-pre .dnt-hw{clip-path:inset(-50% 104% -50% -4%)}
.dnt-card:not(.is-w) .dnt-ink,.dnt-pre .dnt-ink{stroke-dashoffset:1.05}
.dnt-card.is-w .dnt-hw{transition:clip-path var(--t) linear calc(var(--wb,.5s) + var(--d))}
.dnt-card.is-w .dnt-ink{transition:stroke-dashoffset .45s cubic-bezier(.4,0,.2,1) calc(var(--wb,.5s) + var(--d))}
.dnt-intro{--wb:1.15s}

/* ---------------------------------------------------------------- how it works: three reminder cards with tear-off stubs */
.dnt-how{padding-block:clamp(64px,7.4vw,112px) clamp(64px,8vw,112px)}
.dnt-steps{list-style:none;margin:52px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.dnt-step{filter:drop-shadow(0 1px 1px rgba(23,23,58,.08)) drop-shadow(0 18px 24px rgba(23,23,58,.09))}
.dnt-scard{--sw:76px;position:relative;display:grid;grid-template-columns:var(--sw) minmax(0,1fr);height:100%;border-radius:16px;background:#fff;
  -webkit-mask:radial-gradient(circle 9px at var(--sw) 0,#0000 95%,#000),radial-gradient(circle 9px at var(--sw) 100%,#0000 95%,#000);
  -webkit-mask-composite:source-in;
  mask:radial-gradient(circle 9px at var(--sw) 0,#0000 95%,#000),radial-gradient(circle 9px at var(--sw) 100%,#0000 95%,#000);mask-composite:intersect}
.dnt-stub{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 22px;border-radius:16px 0 0 16px;background:var(--d-lilac)}
.dnt-stub::after{content:"";position:absolute;top:16px;bottom:16px;right:-1px;width:2px;background:repeating-linear-gradient(180deg,rgba(91,91,214,.5) 0 4px,transparent 4px 9px)}
.dnt-sn{font:italic 400 58px/.9 var(--d-serif);color:var(--d-peri)}
.dnt-sw{writing-mode:vertical-rl;rotate:180deg;font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--d-muted)}
.dnt-sm{min-width:0;padding:26px clamp(20px,2vw,28px) 30px}
.dnt-sl2{display:flex;align-items:center;gap:9px;margin:0;font:500 11px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d-muted)}
.dnt-sl2 svg{flex:none;width:16px;height:16px;color:var(--d-peri)}
.dnt-sm h3{margin:14px 0 0;font-size:clamp(25px,2.1vw,30px);line-height:1.08;letter-spacing:-.006em}
.dnt-sm p:last-child{margin:12px 0 0;font-size:15.5px;line-height:1.6;color:var(--d-muted);text-wrap:pretty}
.dnt-steps.dnt-deal .dnt-step{transform:translateY(26px) rotate(-2.5deg)}
.dnt-steps.dnt-deal.dnt-dealt .dnt-step{opacity:1;transform:none;
  transition:opacity .5s ease calc(var(--i) * 140ms),transform .8s cubic-bezier(.2,.9,.25,1) calc(var(--i) * 140ms)}
.dnt-how-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:36px 0 0;font-size:15.5px;line-height:1.5;color:var(--d-muted)}
.dnt-how-foot a{display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;font-weight:600;color:var(--d-peri);text-decoration:none;border-bottom:1.5px solid rgba(91,91,214,.35)}
.dnt-how-foot a:hover{border-color:var(--d-peri)}
.dnt-how-foot svg{width:11px;height:11px}

/* ---------------------------------------------------------------- sample calls: a call log with the chosen call's summary */
.dnt-calls{padding-block:clamp(72px,9vw,128px);background:var(--d-lilac)}
.dnt-log{display:grid;grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:clamp(24px,3.2vw,48px);margin-top:48px;align-items:start}
.dnt-log-cap{display:flex;justify-content:space-between;gap:10px;margin:0 0 10px;padding:0 4px 12px;border-bottom:1px solid rgba(23,23,58,.14);
  font:500 10.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d-muted)}
.dnt-tabs{display:flex;flex-direction:column;gap:6px}
.dnt-tabs button{position:relative;display:grid;gap:6px;justify-items:start;text-align:left;padding:15px 16px 16px 20px;border:0;border-radius:12px;background:transparent;color:var(--d-ink);cursor:pointer;
  transition:background-color .2s,box-shadow .2s}
.dnt-tabs button::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:transparent;transition:background-color .2s}
.dnt-tabs button:hover{background:rgba(255,255,255,.6)}
.dnt-tabs button[aria-selected="true"]{background:#fff;box-shadow:0 1px 2px rgba(23,23,58,.08),0 12px 26px -16px rgba(23,23,58,.35)}
.dnt-tabs button[aria-selected="true"]::before{background:var(--d-peri)}
.dnt-tt{font:500 10.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d-peri)}
.dnt-tn{font:400 25px/1.05 var(--d-serif);letter-spacing:-.004em}
.dnt-tw{font-size:13.5px;line-height:1.3;color:var(--d-muted)}
.dnt-panel{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(22px,2.8vw,40px);align-items:start;border-radius:18px}
.dnt-panel:focus-visible{outline-offset:10px}
.dnt-script dl{margin:14px 0 0}
.dnt-sl{display:grid;grid-template-columns:112px minmax(0,1fr);gap:4px 16px;padding:14px 0;border-top:1px solid rgba(23,23,58,.1)}
.dnt-sl:first-child{border-top:0;padding-top:6px}
.dnt-sl dt{padding-top:5px;font:500 10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted)}
.dnt-sl dd{margin:0;font-size:16.5px;line-height:1.55;color:var(--d-ink2)}
.dnt-sl:not(.dnt-sl-ai) dd{font:italic 400 23px/1.25 var(--d-serif);letter-spacing:-.004em;color:var(--d-ink)}
.dnt-sl-ai dt{color:var(--d-peri)}
.dnt-sum{padding:22px 22px 22px;border-radius:20px;background:#fff;box-shadow:0 1px 2px rgba(23,23,58,.08),0 26px 44px -28px rgba(23,23,58,.4)}
.dnt-sum-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.dnt-sum-name{margin:12px 0 0;font:400 36px/1 var(--d-serif);letter-spacing:-.012em}
.dnt-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:14px 0 0;padding:0}
.dnt-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px 0 9px;border-radius:999px;font:600 13px/1 var(--body);white-space:nowrap}
.dnt-chip svg{flex:none;width:13px;height:13px}
.dnt-chip-urgent{background:#fbe9ed;color:var(--d-rose)}
.dnt-chip-desk{background:var(--d-ink);color:#fff}
.dnt-chip-book{background:var(--d-lilac);color:#3f3fb4}
.dnt-sum-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:16px 0 0}
.dnt-sum-dl div{padding:10px 0;border-top:1px solid rgba(23,23,58,.1)}
.dnt-sum-dl .dnt-wide{grid-column:1 / -1}
.dnt-sum-dl dt{font:500 10px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d-muted)}
.dnt-sum-dl dd{margin:3px 0 0;font-size:15.5px;line-height:1.45;color:var(--d-ink)}
.dnt-day{margin-top:8px;border-radius:12px;background:var(--d-bg);box-shadow:inset 0 0 0 1px rgba(91,91,214,.2);overflow:hidden}
.dnt-day-h{display:flex;justify-content:space-between;align-items:baseline;gap:2px 12px;flex-wrap:wrap;padding:10px 14px 9px;background:var(--d-lilac)}
.dnt-sum .dnt-day-h{margin:0}
.dnt-day-h b{font:600 13.5px/1.25 var(--body)}
.dnt-day-h span{font:500 10px/1.25 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted)}
.dnt-day ol,.dnt-day ul{list-style:none;margin:0;padding:4px 0}
.dnt-day li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:baseline;padding:8px 14px;font-size:14.5px;line-height:1.35}
.dnt-st{font:500 13px/1.3 var(--mono);color:var(--d-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.dnt-st small{margin-left:3px;font-size:10px;letter-spacing:.06em}
.dnt-sp b{font-weight:600}
.dnt-sp small{display:block;margin-top:3px;font:500 10px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d-peri)}
.dnt-day li.dnt-slot-on{background:#fff;box-shadow:inset 3px 0 0 var(--d-peri)}
.dnt-hours li{grid-template-columns:92px minmax(0,1fr)}
.dnt-hours li > span{font:500 12px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--d-muted)}
.dnt-hours li > b{font-weight:500;font-variant-numeric:tabular-nums}
.dnt-hours li.dnt-slot-on > b{font-weight:700}
.dnt-fine{margin:36px 0 0;font:500 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted)}

/* ---------------------------------------------------------------- who handles what: one wide card, the front desk on the stub */
.dnt-desk-sec{padding-block:clamp(72px,9vw,128px)}
.dnt-split{margin-top:48px;filter:drop-shadow(0 1px 1px rgba(23,23,58,.08)) drop-shadow(0 22px 30px rgba(23,23,58,.1))}
.dnt-split-in{--at:64%;display:grid;grid-template-columns:minmax(0,64fr) minmax(0,36fr);border-radius:22px;background:#fff;overflow:hidden;
  -webkit-mask:radial-gradient(circle 12px at var(--at) 0,#0000 95%,#000),radial-gradient(circle 12px at var(--at) 100%,#0000 95%,#000);
  -webkit-mask-composite:source-in;
  mask:radial-gradient(circle 12px at var(--at) 0,#0000 95%,#000),radial-gradient(circle 12px at var(--at) 100%,#0000 95%,#000);mask-composite:intersect}
.dnt-split h3{margin:0;font-size:clamp(27px,2.4vw,33px);line-height:1.1}
.dnt-split ul{list-style:none;margin:20px 0 0;padding:0}
.dnt-split li{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-top:1px solid rgba(23,23,58,.09);font-size:16px;line-height:1.45}
.dnt-split li svg{flex:none;width:18px;height:18px;margin-top:2px}
.dnt-split-main{padding:clamp(26px,3.4vw,46px)}
.dnt-split-main ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.dnt-split-main li svg{color:var(--d-peri)}
.dnt-split-stub{position:relative;padding:clamp(26px,3.4vw,46px);background:var(--d-lilac)}
.dnt-split-stub::before{content:"";position:absolute;left:-1px;top:22px;bottom:22px;width:2px;background:repeating-linear-gradient(180deg,rgba(91,91,214,.5) 0 5px,transparent 5px 11px)}
.dnt-split-stub li{border-top-color:rgba(23,23,58,.12)}
.dnt-split-stub li svg{color:var(--d-ink2)}
.dnt-split-stub p{margin:20px 0 0;font-size:14.5px;line-height:1.55;color:var(--d-muted)}

/* ---------------------------------------------------------------- pricing: a printed fee schedule and the estimate */
.dnt-price{padding-block:clamp(72px,9vw,128px);background:var(--d-lilac)}
.dnt-price-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(20px,3vw,40px);margin-top:48px;align-items:stretch}
.dnt-fees{display:flex;flex-direction:column;padding:clamp(24px,3.2vw,44px);border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(23,23,58,.08),0 26px 44px -30px rgba(23,23,58,.4)}
.dnt-fees-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:3px double var(--d-ink)}
.dnt-fees-t{margin:0;font:400 clamp(34px,3.2vw,44px)/1 var(--d-serif);letter-spacing:-.01em}
.dnt-fee-list{list-style:none;margin:6px 0 0;padding:0}
.dnt-fee-list li{display:grid;grid-template-columns:30px minmax(0,auto) minmax(18px,1fr) auto;align-items:end;column-gap:10px;padding:17px 0;border-bottom:1px solid rgba(23,23,58,.1)}
.dnt-fno{align-self:start;padding-top:4px;font:500 12px/1 var(--mono);color:var(--d-peri)}
.dnt-fname b{display:block;font:600 17px/1.25 var(--body)}
.dnt-fname small{display:block;margin-top:3px;font-size:14px;line-height:1.35;color:var(--d-muted)}
.dnt-fdot{height:3px;margin-bottom:7px;background:radial-gradient(circle,rgba(23,23,58,.42) 1px,transparent 1.4px) 0 0 / 7px 3px repeat-x}
.dnt-fee{font:400 28px/1 var(--d-serif);font-variant-numeric:tabular-nums;white-space:nowrap}
.dnt-fee small{margin-left:2px;font:500 11px/1 var(--mono);letter-spacing:.04em;color:var(--d-muted)}
.dnt-fees-note{margin:18px 0 22px;font-size:14.5px;line-height:1.5;color:var(--d-muted)}
.dnt-fees-ex{display:grid;gap:8px;margin:auto 0 0;padding:16px 18px;border-radius:10px;background:var(--d-bg);box-shadow:inset 0 0 0 1px rgba(91,91,214,.2);font-size:15px;line-height:1.5;color:var(--d-ink2)}
.dnt-est{position:relative;display:flex;flex-direction:column;padding:clamp(24px,3.2vw,44px);border-radius:22px;background:var(--d-ink);color:#fff;
  box-shadow:0 30px 50px -30px rgba(23,23,58,.7)}
.dnt-est-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.dnt-est-t{margin:0;font:italic 400 clamp(30px,2.8vw,38px)/1 var(--d-serif);color:#fff}
.dnt-est .dnt-ex{background:rgba(255,255,255,.1);color:#cfcfff}
.dnt-est-l{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:30px}
.dnt-est-l label{font:500 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#bcbce8;cursor:pointer}
.dnt-est-l .dnt-est-v{font:400 32px/1 var(--d-serif);font-variant-numeric:tabular-nums;white-space:nowrap}
.dnt-rail{--th:28px;position:relative;height:44px;margin-top:10px}
.dnt-rail::before{content:"";position:absolute;left:0;right:0;top:50%;height:6px;margin-top:-3px;border-radius:3px;background:rgba(255,255,255,.14)}
.dnt-rail::after{content:"";position:absolute;left:0;top:50%;height:6px;margin-top:-3px;border-radius:3px;pointer-events:none;
  width:calc(var(--th) / 2 + var(--p,.1429) * (100% - var(--th)));background:linear-gradient(90deg,#8484ee,#a9a9ff)}
.dnt-ticks{position:absolute;left:0;right:0;top:calc(50% + 9px);height:7px;pointer-events:none}
.dnt-ticks i{position:absolute;top:0;left:calc(var(--th) / 2 + var(--f) * (100% - var(--th)));width:1px;height:4px;background:rgba(255,255,255,.3)}
.dnt-ticks i.dnt-tk-m{height:7px;background:rgba(255,255,255,.6)}
.dnt-rail input{position:absolute;z-index:1;inset:0;width:100%;height:100%;margin:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}
.dnt-rail input::-webkit-slider-runnable-track{height:44px;background:transparent}
.dnt-rail input::-moz-range-track{height:44px;background:transparent}
.dnt-rail input::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:8px;border-radius:50%;background:#fff;
  box-shadow:inset 0 0 0 7px var(--d-peri),0 0 0 4px rgba(169,169,255,.22),0 6px 12px rgba(0,0,0,.35)}
.dnt-rail input::-moz-range-thumb{width:28px;height:28px;border:0;border-radius:50%;background:#fff;
  box-shadow:inset 0 0 0 7px var(--d-peri),0 0 0 4px rgba(169,169,255,.22),0 6px 12px rgba(0,0,0,.35)}
.dnt-rail input:focus{outline:none}
.dnt-rail:has(input:focus-visible){outline:2px solid #a9a9ff;outline-offset:6px;border-radius:12px}
.dnt-scale{position:relative;height:16px;margin-top:4px}
.dnt-scale span{position:absolute;top:0;left:calc(14px + var(--f) * (100% - 28px));translate:-50% 0;font:500 10.5px/1 var(--mono);letter-spacing:.04em;color:#a3a3d6}
.dnt-scale span:first-child{translate:-14px 0}
.dnt-scale span:last-child{translate:calc(-100% + 14px) 0}
.dnt-est-lines{margin:26px 0 0}
.dnt-est-lines div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-top:1px solid rgba(255,255,255,.12)}
.dnt-est-lines dt{font-weight:600;font-size:15.5px;line-height:1.35}
.dnt-est-lines dt small{display:block;margin-top:3px;font-weight:400;font-size:13.5px;color:#bcbce8}
.dnt-est-lines dd{margin:0;font:500 16px/1.3 var(--body);font-variant-numeric:tabular-nums;white-space:nowrap}
.dnt-total{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:6px 14px;padding-top:18px;border-top:1px solid rgba(255,255,255,.34)}
.dnt-total p{margin:0 0 8px;font:500 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#bcbce8}
.dnt-total strong{font:400 clamp(52px,5.2vw,72px)/.9 var(--d-serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.dnt-est-btn{align-self:flex-start;margin-top:28px}

/* ---------------------------------------------------------------- FAQ */
.dnt-faq{--fq-line:rgba(23,23,58,.14);--fq-muted:var(--d-muted);padding-block:clamp(72px,9vw,128px)}
.dnt-faq-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,5vw,80px);align-items:start}
.dnt-faq summary{font:400 clamp(21px,1.8vw,24px)/1.25 var(--d-serif);letter-spacing:-.004em}
.dnt-faq summary i{color:var(--d-peri)}
.dnt-faq details p{font-size:16px}

/* ---------------------------------------------------------------- closing: the practice's mark, full size */
.dnt-close{position:relative;overflow:clip;padding-block:clamp(64px,8vw,112px) clamp(76px,9vw,124px);background:var(--d-ink);color:#fff;text-align:center}
.dnt-arch{display:block;width:min(340px,70%);height:auto;margin:0 auto;overflow:visible}
.dnt-arch .dnt-teeth{fill:rgba(169,169,255,.28);stroke:#9d9df4;stroke-width:.45}
.dnt-arch .dnt-teeth rect{transition:fill .5s ease calc(var(--n) * 55ms)}
.dnt-arch .dnt-teeth path{fill:none;stroke-width:.3;opacity:.7}
.dnt-arch .dnt-nums{fill:#aeaede;font-family:var(--mono);font-weight:500;text-anchor:middle;dominant-baseline:central}
.dnt-arch .dnt-nums text{transition:opacity .4s ease calc(var(--n) * 55ms)}
.dnt-arch.dnt-dim .dnt-teeth rect{fill:rgba(169,169,255,0)}
.dnt-arch.dnt-dim .dnt-nums text{opacity:.25}
.dnt-arch.dnt-dim.dnt-lit .dnt-teeth rect{fill:rgba(169,169,255,.28)}
.dnt-arch.dnt-dim.dnt-lit .dnt-nums text{opacity:1}
.dnt-close h2{margin:28px auto 0;max-width:22ch;color:#fff;font-size:clamp(40px,5.2vw,76px);line-height:1}
.dnt-close h2 > span{display:block}
.dnt-close .dnt-it{color:#a9a9ff}
.dnt-close p{margin:22px auto 0;max-width:46ch;font-size:17.5px;line-height:1.6;color:#c6c6ea}
.dnt-close .dnt-cta{justify-content:center;margin-top:34px}

/* ---------------------------------------------------------------- footer */
.dnt-foot{background:#10102c;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.dnt-foot .grid3 i:not(.o){background:#a9a9ff}
.dnt-foot .p3-tag{font:italic 400 26px/1.15 var(--d-serif)}

/* ---------------------------------------------------------------- narrower screens */
@media (max-width:1199px){
  .dnt-log{grid-template-columns:minmax(0,1fr);gap:18px}
  .dnt-log-cap{display:none}
  .dnt-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;border-radius:16px;background:rgba(255,255,255,.45);box-shadow:inset 0 0 0 1px rgba(91,91,214,.16)}
  .dnt-tabs button{padding:12px 14px 13px 16px}
  .dnt-tabs button::before{top:12px;bottom:12px}
}
@media (max-width:1099px){
  .dnt-sl{grid-template-columns:minmax(0,1fr);gap:4px;padding:12px 0}
  .dnt-sl dt{padding-top:0}
  .dnt-steps{grid-template-columns:minmax(0,1fr);gap:18px}
  .dnt-sm{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:32px;align-items:start;padding:26px 30px 28px}
  .dnt-sm .dnt-sl2{grid-column:1}
  .dnt-sm h3{grid-column:1;margin-top:12px}
  .dnt-sm p:last-child{grid-column:2;grid-row:1 / span 2;margin:0;align-self:center}
  .dnt-split-main ul{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:999px){
  .dnt-hero::before{display:none}
  .dnt-hero{padding-bottom:0}
  .dnt-hero-in{grid-template-columns:minmax(0,1fr);row-gap:clamp(34px,6vw,48px)}
  .dnt-copy{max-width:680px}
  .dnt-hero h1{font-size:clamp(38px,8vw,66px)}
  .dnt-desk{padding-block:clamp(26px,5vw,44px) clamp(30px,5vw,48px)}
  .dnt-desk::before{content:"";position:absolute;z-index:-1;inset:0 calc(-1 * var(--gut));background:var(--d-lilac)}
  .dnt-stage{width:min(100%,620px);margin:0 auto}
  .dnt-cw{left:12%}
  .dnt-price-grid,.dnt-faq-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:899px){
  .dnt-split-in{--at:0;grid-template-columns:minmax(0,1fr);-webkit-mask:none;mask:none}
  .dnt-split-stub::before{left:22px;right:22px;top:-1px;bottom:auto;width:auto;height:2px;background:repeating-linear-gradient(90deg,rgba(91,91,214,.5) 0 5px,transparent 5px 11px)}
}
@media (max-width:767px){
  .dnt-panel{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:699px){
  .dnt-scard{--sw:58px}
  .dnt-sn{font-size:46px}
  .dnt-sm{display:block;padding:22px 20px 24px}
  .dnt-sm p:last-child{margin-top:10px}
  .dnt-tabs button{padding:11px 8px 12px 12px;gap:4px}
  .dnt-tabs button::before{top:11px;bottom:11px}
  .dnt-tl,.dnt-tw{display:none}
  .dnt-tn{font-size:19px;line-height:1.08}
  .dnt-sl:not(.dnt-sl-ai) dd{font-size:21px}
  .dnt-sum{padding:18px 16px 18px}
  .dnt-sum-name{font-size:32px}
  .dnt-fee-list li{grid-template-columns:26px minmax(0,1fr) auto;row-gap:4px}
  .dnt-fdot{display:none}
  .dnt-fee{font-size:24px;align-self:start}
  .dnt-est-btn{align-self:stretch}
}
@media (max-width:599px){
  .dnt-hero{padding-top:28px}
  .dnt-hero h1{margin-top:18px;font-size:clamp(34px,10.2vw,46px)}
  .dnt-sub{margin-top:20px;font-size:16.5px}
  .dnt-cta{margin-top:26px}
  .dnt-cta > .btn{flex:1 1 auto}
  .dnt-stage{aspect-ratio:1.12}
  .dnt-cw{left:11%;bottom:8%;width:86%}
  .dnt-at1{--r:-7.5deg}
  .dnt-at2{--r:-13deg}
  .dnt-head > p:not(.dnt-k){font-size:16.5px}
  .dnt-sum-dl{grid-template-columns:minmax(0,1fr)}
  .dnt-close p{font-size:16.5px}
}
@media (max-width:379px){
  .dnt-tn{font-size:17.5px}
  .dnt-chip{font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
  .dnt-steps.dnt-deal .dnt-step{opacity:1;transform:none}
}
