:root{--g:#0c3b2b;--g2:#145a42;--gl:#e8f0ec;--ink:#17201c;--mute:#4a5852;--rule:#c9d6cf;--bg:#fff;--grid:rgba(12,59,43,.07)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 "Fira Sans",system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--g2);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--g)}
h1,h2,h3{font-weight:500;line-height:1.2;letter-spacing:-.01em;color:var(--g)}
h1{font-size:clamp(2rem,5vw,3.25rem);margin:.3em 0 .4em}h2{font-size:clamp(1.5rem,3vw,2rem);margin:2em 0 .6em}h3{font-size:1.2rem;margin:1.6em 0 .4em}
.dt-wrap{max-width:1140px;margin:0 auto;padding:0 16px}@media(min-width:700px){.dt-wrap{padding:0 32px}}
.dt-skip{position:absolute;left:-999px}.dt-skip:focus{left:8px;top:8px;background:var(--g);color:#fff;padding:8px 12px;z-index:9}
.dt-label,.dt-mono{font-family:"IBM Plex Mono",monospace;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--g2)}
.dt-label{margin:0 0 .4rem}
.dt-head{border-bottom:1px solid var(--rule);background:#fff;position:sticky;top:0;z-index:5}
.dt-head__in{display:flex;align-items:center;justify-content:space-between;min-height:64px;flex-wrap:wrap}
.dt-mark{display:flex;gap:.6rem;align-items:center;color:var(--g);text-decoration:none;font-size:1.2rem}.dt-mark b{font-weight:600;margin-left:.2em}
.dt-burger{font:500 .85rem "IBM Plex Mono",monospace;text-transform:uppercase;background:none;border:1px solid var(--g);color:var(--g);padding:.45rem .8rem;cursor:pointer}
.dt-nav{display:none;width:100%;flex-direction:column;padding:.5rem 0 1rem}.dt-nav.is-open{display:flex}
.dt-nav a{color:var(--ink);text-decoration:none;padding:.55rem 0;border-top:1px solid var(--rule)}
.dt-nav__cta{color:var(--g)!important;font-weight:600}
@media(min-width:900px){.dt-burger{display:none}.dt-nav{display:flex;flex-direction:row;width:auto;padding:0;gap:1.6rem;align-items:center}.dt-nav a{border:0;padding:0;font-size:.97rem}.dt-nav a:hover{color:var(--g2)}.dt-nav__cta{border:1px solid var(--g)!important;padding:.45rem .9rem!important}}
.dt-crumbs{font:.8rem "IBM Plex Mono",monospace;padding-top:1rem;color:var(--mute)}.dt-crumbs a{color:var(--mute)}
.dt-hero{position:relative;border-bottom:1px solid var(--rule);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px}
.dt-hero--page{padding:2.5rem 0 2.5rem}
.dt-lede{font-size:1.2rem;color:var(--mute);max-width:46rem}
.dt-home{padding:3rem 0 3.5rem}.dt-home__grid{display:grid;gap:2rem}
@media(min-width:900px){.dt-home__grid{grid-template-columns:1.15fr .85fr;align-items:center}.dt-home{padding:5rem 0}}
.dt-home h1{font-size:clamp(2.2rem,5.5vw,3.6rem)}
.dt-btn{display:inline-block;background:var(--g);color:#fff;text-decoration:none;padding:.85rem 1.4rem;font-weight:500;border:1px solid var(--g)}.dt-btn:hover{background:var(--g2);color:#fff}
.dt-btn--ghost{background:transparent;color:var(--g)}.dt-btn--ghost:hover{color:#fff}
.dt-btn--block{display:block;text-align:center;margin-top:1rem}
.dt-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.dt-plate{margin:2rem auto}.dt-plate img{border:1px solid var(--rule);padding:6px;background:#fff}.dt-plate figcaption{margin-top:.5rem;color:var(--mute)}
.dt-home__fig{position:relative}.dt-home__fig img{border:1px solid var(--g);padding:8px;background:#fff}
.dt-home__fig::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px dashed var(--g2);z-index:-1}
.dt-prose{max-width:760px;padding-bottom:3rem}.dt-prose p,.dt-prose li{color:#24302b}
.dt-prose table{border-collapse:collapse;width:100%;font-size:.95rem}.dt-prose th,.dt-prose td{border-bottom:1px solid var(--rule);padding:.5rem;text-align:left;vertical-align:top}
.dt-split{display:grid;gap:2.5rem;padding-top:1rem}@media(min-width:900px){.dt-split{grid-template-columns:1fr 300px}}
.dt-spec{border:1px solid var(--g);padding:1.4rem;align-self:start;position:sticky;top:90px;font-size:.95rem}
.dt-spec dl{margin:0}.dt-spec dt{font:500 .72rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);margin-top:.9rem}.dt-spec dd{margin:.15rem 0 0;border-bottom:1px solid var(--rule);padding-bottom:.5rem}
.dt-spec ul{list-style:none;padding:0;margin:0}.dt-spec li{padding:.3rem 0;border-bottom:1px solid var(--rule)}
.dt-sect{padding:3.5rem 0;border-bottom:1px solid var(--rule)}.dt-sect--tint{background:var(--gl)}
.dt-sect h2{margin-top:0}
.dt-cards{display:grid;gap:0;border-top:1px solid var(--g);border-left:1px solid var(--rule)}
@media(min-width:640px){.dt-cards{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.dt-cards{grid-template-columns:repeat(4,1fr)}}
.dt-card{padding:1.4rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);background:#fff;display:block}
.dt-card:hover{background:var(--gl)}.dt-card h3{margin:.4rem 0 .5rem;font-size:1.1rem}.dt-card p{margin:0;font-size:.95rem;color:var(--mute)}
.dt-steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:1.2rem}@media(min-width:800px){.dt-steps{grid-template-columns:repeat(4,1fr)}}
.dt-steps li{counter-increment:s;border-top:2px solid var(--g);padding-top:.8rem}.dt-steps li::before{content:"0" counter(s);font:500 .8rem "IBM Plex Mono",monospace;color:var(--g2);display:block;margin-bottom:.4rem}
.dt-two{display:grid;gap:2rem}@media(min-width:860px){.dt-two{grid-template-columns:1fr 1fr;align-items:center}}
.dt-list{list-style:none;padding:0;margin:0}.dt-list li{border-top:1px solid var(--rule);padding:.8rem 0}.dt-list a{font-weight:500}
.dt-cta{background:var(--g);color:#e6efe9;padding:3rem 0}.dt-cta h2{color:#fff;margin:.2rem 0 .6rem}.dt-cta .dt-label{color:#9fd1b8}
.dt-cta__in{display:grid;gap:1.5rem}@media(min-width:800px){.dt-cta__in{grid-template-columns:1fr auto;align-items:center}}
.dt-cta .dt-btn{background:#fff;color:var(--g)}.dt-cta .dt-btn:hover{background:var(--gl)}
.dt-foot{font-size:.93rem;padding-top:3rem;color:var(--mute)}.dt-foot__grid{display:grid;gap:2rem}@media(min-width:800px){.dt-foot__grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.dt-foot ul{list-style:none;padding:0;margin:0}.dt-foot li{padding:.2rem 0}.dt-foot a{color:var(--ink)}.dt-foot__brand{font-weight:600;color:var(--g);font-size:1.1rem;margin:0 0 .5rem}
.dt-foot__base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;border-top:1px solid var(--rule);margin-top:2rem;padding:1rem 16px 2rem}
.dt-form{display:grid;gap:1rem;max-width:620px}.dt-form label{font-weight:500;display:block;margin-bottom:.3rem}
.dt-form input,.dt-form textarea,.dt-form select{width:100%;font:inherit;padding:.7rem;border:1px solid #7c8c85;background:#fff;color:var(--ink)}
.dt-form input:focus,.dt-form textarea:focus,.dt-form select:focus{outline:2px solid var(--g2);outline-offset:1px}
.dt-form button{font:inherit;cursor:pointer;justify-self:start}.dt-hp{position:absolute;left:-5000px}
.dt-status{font-weight:500;color:var(--g)}
.dt-work{border-top:1px solid var(--g);padding:1.6rem 0}.dt-work h2{margin:.3rem 0 .8rem;font-size:1.4rem}
.dt-work dl{display:grid;gap:.4rem 1.2rem;margin:0}@media(min-width:700px){.dt-work dl{grid-template-columns:150px 1fr}}
.dt-work dt{font:500 .75rem "IBM Plex Mono",monospace;text-transform:uppercase;color:var(--g2);padding-top:.25rem}.dt-work dd{margin:0}
.dt-toc{border:1px solid var(--rule);border-left:3px solid var(--g);padding:1rem 1.2rem;margin:1rem 0 2rem;font-size:.95rem}.dt-toc ol{margin:.3rem 0 0;padding-left:1.2rem}.dt-toc li{padding:.15rem 0}
.dt-faq{margin-top:3rem;border-top:1px solid var(--g)}.dt-faq details{border-bottom:1px solid var(--rule);padding:.9rem 0}.dt-faq summary{cursor:pointer;font-weight:500;color:var(--g);list-style:none;display:flex;justify-content:space-between;gap:1rem}.dt-faq summary::after{content:"+";font-family:"IBM Plex Mono",monospace}.dt-faq details[open] summary::after{content:"\2212"}.dt-faq summary::-webkit-details-marker{display:none}.dt-faq details div{padding-top:.5rem;color:#24302b}
.dt-note{border:1px dashed var(--g2);background:var(--gl);padding:1rem 1.2rem;margin:1.5rem 0}.dt-note p{margin:.3rem 0}
.dt-prose h2{scroll-margin-top:90px}
