/* Derma Circuit — editorial layout family */
:root{--bg:#f2f8f3;--bg-alt:#e0f0e3;--surface:#fcfdfc;--ink:#183a1f;--ink-soft:#487050;--line:#c3dfc9;--primary:#248939;--primary-dark:#155b23;--accent:#9f2cc9;--font-d:"Noto Serif", Constantia, Georgia, serif;--font-b:Verdana, Geneva, Tahoma, sans-serif;--w:1080px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-b);color:var(--ink);background:var(--bg);line-height:1.7}
img{max-width:100%;display:block}
a{color:var(--primary-dark);text-decoration:none}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3{font-family:var(--font-d);font-weight:700;color:var(--ink);line-height:1.1;margin:0 0 .5em}
p{margin:0 0 1.05em;color:var(--ink-soft)}
.o2k-wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
.o2k-skip{position:absolute;left:-999px}
.o2k-skip:focus{left:24px;top:8px;background:var(--primary);color:#fff;padding:8px 14px;z-index:20}
.o2k-mast{padding:22px 0 0;text-align:center;border-bottom:3px double var(--ink)}
.o2k-mast-name{font-family:var(--font-d);font-weight:700;font-size:2rem;letter-spacing:-.01em}
.o2k-mast-tag{display:block;font-size:.82rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin:6px 0 18px}
.o2k-strip{border-bottom:1px solid var(--line);padding:10px 0}
.o2k-strip-row{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;align-items:center}
.o2k-strip a{font-size:.84rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft)}
.o2k-strip a.is-active,.o2k-strip a:hover{color:var(--primary-dark)}
.o2k-strip-item{position:relative}
.o2k-strip-sub{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--line);padding:10px;min-width:220px;text-align:left;z-index:10}
.o2k-strip-item:hover .o2k-strip-sub,.o2k-strip-item.sub-open .o2k-strip-sub{display:block}
.o2k-strip-sub a{display:block;padding:6px 8px;text-transform:none;font-weight:400}
.o2k-navtoggle{display:none}
.o2k-hero{padding:54px 0 40px;text-align:center}
.o2k-kicker{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--primary-dark);margin-bottom:14px}
.o2k-hero h1{font-size:3rem;max-width:22ch;margin-left:auto;margin-right:auto}
.o2k-lede{font-size:1.15rem;max-width:56ch;margin:0 auto 24px;font-style:italic}
.o2k-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.o2k-btn{padding:12px 22px;font-weight:700;font-size:.88rem;text-transform:uppercase;letter-spacing:.03em}
.o2k-btn-primary{background:var(--ink);color:var(--bg)}
.o2k-btn-outline{border:1.5px solid var(--ink)}
.o2k-stats{display:flex;justify-content:center;gap:40px;margin-top:32px;padding-top:26px;border-top:1px solid var(--line)}
.o2k-stat b{display:block;font-family:var(--font-d);font-size:1.4rem}
.o2k-stat span{font-size:.76rem;color:var(--ink-soft);text-transform:uppercase}
.o2k-section{padding:48px 0;border-top:1px solid var(--line)}
.o2k-head{max-width:640px;margin:0 auto 30px;text-align:center}
.o2k-numbered{counter-reset:art}
.o2k-numbered>li{counter-increment:art;display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.o2k-numbered>li::before{content:counter(art,decimal-leading-zero);font-family:var(--font-d);font-size:1.8rem;color:var(--line)}
.o2k-numbered h3{font-size:1.15rem}
.o2k-numbered a{font-weight:700;font-size:.86rem}
.o2k-side-layout{display:grid;grid-template-columns:1fr 300px;gap:44px}
.o2k-aside{background:var(--bg-alt);border:1px solid var(--line);padding:22px}
.o2k-aside h3{font-size:.92rem;text-transform:uppercase;letter-spacing:.04em}
.o2k-aside li{padding:6px 0;border-bottom:1px dotted var(--line);font-size:.9rem}
.o2k-cta{padding:52px 0;text-align:center;background:var(--ink);color:var(--bg)}
.o2k-cta h2{color:var(--bg)}
.o2k-cta p{color:rgba(255,255,255,.75);max-width:56ch;margin:0 auto 20px}
.o2k-cta .o2k-btn-primary{background:var(--bg);color:var(--ink)}
.o2k-cta .o2k-btn-outline{border-color:rgba(255,255,255,.5);color:var(--bg)}
.o2k-quotes{columns:3;column-gap:24px}
.o2k-quote{break-inside:avoid;border-top:2px solid var(--ink);padding-top:12px;margin-bottom:24px}
.o2k-quote cite{display:block;margin-top:10px;font-size:.82rem;font-style:normal;color:var(--ink-soft)}
.o2k-faq-list dt{font-family:var(--font-d);font-weight:700;font-size:1.05rem;padding:16px 0 4px;border-top:1px solid var(--line)}
.o2k-faq-list dd{margin:0 0 6px}
.o2k-pricing{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink)}
.o2k-tier{padding:26px;border-left:1px solid var(--line)}
.o2k-tier:first-child{border-left:none}
.o2k-tier-price{font-family:var(--font-d);font-size:2rem;margin:10px 0}
.o2k-tier li{font-size:.86rem;padding:5px 0;border-bottom:1px dotted var(--line)}
.o2k-team{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
.o2k-member{padding:22px;border-right:1px solid var(--line)}
.o2k-member:last-child{border-right:none}
.o2k-foot{border-top:3px double var(--ink);padding:36px 0 20px;text-align:center}
.o2k-foot-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:14px 0}
.o2k-foot-links a{font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
.o2k-err{padding:100px 0;text-align:center}
.o2k-err b{font-family:var(--font-d);font-size:5rem;display:block}
.o2k-form input,.o2k-form textarea{width:100%;padding:11px;border:1px solid var(--ink);font-family:var(--font-b);margin-bottom:14px;background:var(--surface)}
.o2k-form label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
@media(max-width:860px){.o2k-side-layout,.o2k-pricing,.o2k-team{grid-template-columns:1fr}.o2k-tier,.o2k-member{border-left:none;border-right:none;border-top:1px solid var(--line)}.o2k-quotes{columns:1}.o2k-hero h1{font-size:2.1rem}.o2k-strip-row{gap:12px}}
