/* ISP DNS Server — network-wide ad, tracker and parental filtering. */
.d360-page-dns-server main { overflow: clip; }
.dns2 { --dns-ink:#0c1527; --dns-copy:#607087; --dns-line:#dde5ed; --dns-green:#0aa77a; --dns-cyan:#14a8d4; --dns-blue:#4f6ee8; color: var(--dns-ink); background: #fff; }
.dns2 h1,.dns2 h2,.dns2 h3,.dns2 strong { font-family: 'Manrope','Inter',sans-serif; }
.dns2 p { text-wrap: pretty; }
.dns2-label { display: block; width: fit-content; margin: 0 0 15px; color: var(--dns-green); font-size: 10px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.dns2-text-link { display: inline-flex; align-items: center; gap: 9px; color: #35435a; font-size: 12px; font-weight: 780; }.dns2-text-link span { color: var(--dns-green); transition: transform .18s ease; }.dns2-text-link:hover { color: var(--dns-green); }.dns2-text-link:hover span { transform: translateY(3px); }

/* Hero */
.dns2-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(78px,8vw,112px) 0 0; background: radial-gradient(circle at 87% 9%,rgba(46,211,169,.14),transparent 29%),radial-gradient(circle at 7% 2%,rgba(72,158,236,.12),transparent 28%),linear-gradient(145deg,#f9fcff 0%,#fff 52%,#f4fbf8 100%); }
.dns2-hero::before { content: ''; position: absolute; z-index: -2; inset: 0; opacity: .35; pointer-events: none; background-image: linear-gradient(rgba(15,105,124,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(15,105,124,.055) 1px,transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(108deg,#000,transparent 66%); }
.dns2-hero__mesh { position: absolute; z-index: -1; top: -290px; right: -180px; width: 780px; height: 780px; border-radius: 50%; pointer-events: none; background: radial-gradient(circle,rgba(13,167,122,.09),transparent 68%); }
.dns2-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0,.82fr) minmax(570px,1.18fr); align-items: center; gap: clamp(58px,7vw,100px); padding-bottom: clamp(76px,8vw,105px); }
.dns2-kicker { display: flex; margin: 0 0 22px; align-items: center; gap: 11px; color: #087b62; font-size: 10px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }.dns2-kicker span { width: 8px; height: 8px; border-radius: 50%; background: #0db686; box-shadow: 0 0 0 6px rgba(13,182,134,.1),0 0 19px rgba(13,182,134,.52); }
.dns2-hero h1 { max-width: 700px; margin: 0; color: var(--dns-ink); font: 790 clamp(51px,5.5vw,76px)/1.01 'Manrope','Inter',sans-serif; letter-spacing: -.062em; }.dns2-hero h1 em { color: transparent; font-style: normal; background: linear-gradient(94deg,#078c6a 2%,#10ad87 45%,#168fcb 100%); -webkit-background-clip: text; background-clip: text; }
.dns2-hero__lead { max-width: 650px; margin: 25px 0 0; color: #5d6d82; font-size: 17px; line-height: 1.72; }.dns2-hero__actions { display: flex; margin-top: 32px; align-items: center; gap: 28px; }.dns2-hero__actions .btn-primary { border: 0; background: linear-gradient(105deg,#078f6b,#0dad84 58%,#159fbd); box-shadow: 0 19px 38px -17px rgba(8,143,107,.7); }.dns2-hero__actions .btn-primary:hover { box-shadow: 0 23px 44px -16px rgba(8,143,107,.8); transform: translateY(-2px); }
.dns2-hero__proof { display: flex; flex-wrap: wrap; gap: 10px 19px; margin: 26px 0 0; padding: 0; color: #6c798c; font-size: 10.5px; font-weight: 650; list-style: none; }.dns2-hero__proof li { display: flex; align-items: center; gap: 6px; }.dns2-hero__proof .fx-grid__icon { width: 15px; height: 15px; color: var(--dns-green); opacity: 1; }

/* Hero product console */
.dns2-console { overflow: hidden; border: 1px solid rgba(29,63,87,.19); border-radius: 22px; color: #e9eef7; background: #0d1728; box-shadow: 0 38px 90px rgba(18,43,60,.26),0 8px 24px rgba(18,43,60,.1); transform: perspective(1450px) rotateY(-1.2deg); }
.dns2-console__bar { display: grid; min-height: 48px; padding: 0 16px; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.08); color: #8795aa; background: #121e31; }.dns2-console__bar > span { display: flex; gap: 5px; }.dns2-console__bar > span i { width: 7px; height: 7px; border-radius: 50%; background: #fb7185; }.dns2-console__bar > span i:nth-child(2) { background: #fbbf24; }.dns2-console__bar > span i:nth-child(3) { background: #34d399; }.dns2-console__bar small { font: 600 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }.dns2-console__bar > b { display: flex; justify-self: end; align-items: center; gap: 6px; color: #62ddb6; font-size: 7px; letter-spacing: .07em; text-transform: uppercase; }.dns2-console__bar > b i { width: 5px; height: 5px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 8px #4ade80; }
.dns2-console__summary { display: grid; min-height: 155px; padding: 24px 27px; grid-template-columns: minmax(0,1fr) 105px minmax(130px,.75fr); align-items: center; gap: 24px; border-bottom: 1px solid rgba(255,255,255,.075); background: radial-gradient(circle at 60% 30%,rgba(14,169,142,.1),transparent 40%); }.dns2-console__summary > div:first-child span,.dns2-console__summary > div:first-child strong,.dns2-console__summary > div:first-child small { display: block; }.dns2-console__summary > div:first-child span { color: #8b99ae; font-size: 8px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }.dns2-console__summary > div:first-child strong { margin-top: 9px; color: #fff; font-size: 29px; letter-spacing: -.04em; }.dns2-console__summary > div:first-child small { margin-top: 4px; color: #718096; font-size: 8px; }
.dns2-console__ring { position: relative; width: 94px; height: 94px; margin: 0; }.dns2-console__ring svg { display: block; width: 100%; height: 100%; transform: rotate(-90deg); }.dns2-console__ring circle { fill: none; stroke: rgba(255,255,255,.08); stroke-width: 7; }.dns2-console__ring circle:last-child { stroke: #18c69a; stroke-linecap: round; stroke-dasharray: 226; stroke-dashoffset: 62; filter: drop-shadow(0 0 4px rgba(24,198,154,.35)); }.dns2-console__ring figcaption { position: absolute; inset: 0; display: grid; align-content: center; text-align: center; }.dns2-console__ring strong,.dns2-console__ring span { display: block; }.dns2-console__ring strong { color: #fff; font-size: 16px; }.dns2-console__ring span { margin-top: 3px; color: #77869a; font-size: 6.5px; text-transform: uppercase; }
.dns2-console__legend { display: grid; gap: 9px; }.dns2-console__legend span { display: grid; grid-template-columns: 7px minmax(0,1fr) auto; align-items: center; gap: 8px; color: #95a2b5; font-size: 8px; }.dns2-console__legend i { width: 7px; height: 7px; border-radius: 2px; }.dns2-console__legend b { color: #dce3ed; font-size: 8px; }.dns2-console__legend .is-ads { background: #20c997; }.dns2-console__legend .is-trackers { background: #38bdf8; }.dns2-console__legend .is-family { background: #a78bfa; }
.dns2-console__activity { padding: 13px 17px 16px; }.dns2-console__activity header { display: flex; min-height: 34px; padding: 0 8px; align-items: center; justify-content: space-between; color: #7f8da1; font-size: 7px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }.dns2-console__activity header small { color: #657389; font-size: 6.5px; }.dns2-console__activity > div { display: grid; min-height: 53px; padding: 8px; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 10px; border-top: 1px solid rgba(255,255,255,.065); }.dns2-console__activity > div > i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; font-style: normal; }.dns2-console__activity > div > i .fx-grid__icon { width: 14px; height: 14px; color: inherit; opacity: 1; }.dns2-console__activity > div > i.is-ads { color: #5ee0b6; background: rgba(32,201,151,.12); }.dns2-console__activity > div > i.is-trackers { color: #70d4fa; background: rgba(56,189,248,.12); }.dns2-console__activity > div > i.is-family { color: #c0a8ff; background: rgba(167,139,250,.13); }.dns2-console__activity > div > i.is-allowed { color: #8ce6b8; background: rgba(74,222,128,.1); }.dns2-console__activity > div > span { min-width: 0; }.dns2-console__activity > div > span strong,.dns2-console__activity > div > span small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.dns2-console__activity > div > span strong { color: #dce3ed; font: 650 8px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; }.dns2-console__activity > div > span small { margin-top: 4px; color: #69778d; font-size: 6.5px; }.dns2-console__activity > div > b { padding: 5px 7px; border-radius: 7px; color: #56d9ae; background: rgba(32,201,151,.09); font-size: 6.5px; text-transform: uppercase; }.dns2-console__activity > div:nth-of-type(4) > b { color: #80dba8; background: rgba(74,222,128,.08); }
.dns2-console__footer { display: flex; min-height: 39px; padding: 0 17px; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.07); color: #6f7d91; background: #101b2d; font-size: 6.5px; }.dns2-console__footer span { display: flex; align-items: center; gap: 6px; }.dns2-console__footer span i { width: 5px; height: 5px; border-radius: 50%; background: #42d79d; box-shadow: 0 0 7px #42d79d; }
.dns2-hero__stats { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #dfe7ed; }.dns2-hero__stats > div { display: flex; min-height: 108px; padding: 25px clamp(14px,3vw,34px); align-items: center; gap: 13px; }.dns2-hero__stats > div + div { border-left: 1px solid #dfe7ed; }.dns2-hero__stats strong { color: #078967; font: 770 clamp(22px,2.4vw,31px)/1 'Manrope','Inter',sans-serif; letter-spacing: -.04em; }.dns2-hero__stats span { color: #7b8798; font-size: 8px; font-weight: 750; line-height: 1.5; letter-spacing: .045em; text-transform: uppercase; }

/* Sticky sub-navigation */
.dns2-nav { position: sticky; z-index: 18; top: 70px; border-bottom: 1px solid #dfe5ec; background: rgba(255,255,255,.92); box-shadow: 0 13px 34px -29px rgba(15,23,42,.58); backdrop-filter: blur(18px) saturate(150%); }.dns2-nav .container { display: flex; justify-content: center; gap: 3px; overflow-x: auto; scrollbar-width: none; }.dns2-nav .container::-webkit-scrollbar { display: none; }.dns2-nav a { position: relative; display: inline-flex; min-height: 58px; padding: 0 18px; flex: 0 0 auto; align-items: center; color: #647186; font-size: 10px; font-weight: 750; white-space: nowrap; }.dns2-nav a::after { content: ''; position: absolute; right: 18px; bottom: -1px; left: 18px; height: 2px; opacity: 0; background: var(--dns-green); }.dns2-nav a:hover { color: #078967; }.dns2-nav a:hover::after { opacity: 1; }
#dns-protection,#dns-how,#dns-coverage,#dns-truth,#dns-setup,#dns-faq { scroll-margin-top: 138px; }

/* Protection cards */
.dns2-protection { padding: clamp(90px,9vw,125px) 0; background: #f7f9fc; }.dns2-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,.62fr); align-items: end; gap: clamp(48px,7vw,95px); margin-bottom: 44px; }.dns2-section-head h2 { max-width: 780px; margin: 0; color: var(--dns-ink); font: 770 clamp(39px,4.6vw,57px)/1.06 'Manrope','Inter',sans-serif; letter-spacing: -.054em; text-wrap: balance; }.dns2-section-head > p { max-width: 530px; margin: 0 0 4px; color: var(--dns-copy); font-size: 14px; line-height: 1.72; }
.dns2-policy-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.dns2-policy { --policy:#0aa77a; --soft:#e6f9f2; position: relative; min-height: 485px; padding: 28px; overflow: hidden; border: 1px solid #dce4ec; border-radius: 20px; background: #fff; box-shadow: 0 17px 45px -38px rgba(15,23,42,.55); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }.dns2-policy::before { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--policy); }.dns2-policy::after { content: ''; position: absolute; right: -85px; bottom: -105px; width: 230px; height: 230px; border-radius: 50%; background: var(--soft); }.dns2-policy:hover { border-color: color-mix(in srgb,var(--policy) 38%,#dce4ec); box-shadow: 0 28px 58px -39px rgba(15,23,42,.55); transform: translateY(-6px); }.dns2-policy--privacy { --policy:#168fcb; --soft:#e9f7fe; }.dns2-policy--family { --policy:#7857dd; --soft:#f1ecff; }.dns2-policy__top { display: flex; align-items: flex-start; justify-content: space-between; }.dns2-policy__top > span { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 15px; color: var(--policy); background: var(--soft); }.dns2-policy__top .fx-grid__icon { width: 25px; height: 25px; color: inherit; opacity: 1; }.dns2-policy__top small { color: #b0bac8; font: 800 11px/1 'Manrope',sans-serif; }.dns2-policy > b { position: relative; z-index: 1; display: block; margin-top: 37px; color: var(--policy); font-size: 8.5px; letter-spacing: .12em; text-transform: uppercase; }.dns2-policy h3 { position: relative; z-index: 1; max-width: 330px; margin: 12px 0; color: #1b2638; font-size: 23px; line-height: 1.23; letter-spacing: -.03em; }.dns2-policy > p { position: relative; z-index: 1; margin: 0; color: #677487; font-size: 12.5px; line-height: 1.7; }.dns2-policy ul { position: relative; z-index: 1; display: grid; gap: 10px; margin: 27px 0 0; padding: 19px 0 0; border-top: 1px solid #e8ecf1; color: #516075; font-size: 10.5px; list-style: none; }.dns2-policy li { display: flex; align-items: center; gap: 7px; }.dns2-policy li .fx-grid__icon { width: 14px; height: 14px; color: var(--policy); opacity: 1; }

/* How it works */
.dns2-flow { position: relative; overflow: hidden; padding: clamp(92px,9vw,128px) 0; color: #fff; background: radial-gradient(circle at 10% 10%,rgba(13,167,122,.18),transparent 30%),radial-gradient(circle at 92% 90%,rgba(20,168,212,.15),transparent 31%),#081221; }.dns2-flow::before { content: ''; position: absolute; inset: 0; opacity: .12; pointer-events: none; background-image: radial-gradient(rgba(255,255,255,.5) .7px,transparent .7px); background-size: 21px 21px; mask-image: linear-gradient(100deg,#000,transparent 55%); }.dns2-flow__grid { position: relative; display: grid; grid-template-columns: minmax(330px,.72fr) minmax(0,1.28fr); align-items: center; gap: clamp(65px,9vw,125px); }.dns2-flow .dns2-label { color: #64dfbb; }.dns2-flow__copy h2 { max-width: 650px; margin: 0; color: #fff; font: 770 clamp(39px,4.7vw,58px)/1.06 'Manrope','Inter',sans-serif; letter-spacing: -.054em; }.dns2-flow__copy > p { max-width: 610px; margin: 21px 0 0; color: #a2afc1; font-size: 14px; line-height: 1.75; }.dns2-flow__note { display: grid; margin-top: 31px; padding: 18px; grid-template-columns: 39px 1fr; gap: 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.045); }.dns2-flow__note > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: #63dcb8; background: rgba(34,197,148,.1); }.dns2-flow__note .fx-grid__icon { width: 19px; height: 19px; color: inherit; opacity: 1; }.dns2-flow__note p { margin: 0; }.dns2-flow__note strong,.dns2-flow__note small { display: block; }.dns2-flow__note strong { color: #eef3f8; font-size: 11px; }.dns2-flow__note small { margin-top: 5px; color: #8492a7; font-size: 9px; line-height: 1.55; }
.dns2-flow__steps { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }.dns2-flow__steps::before { content: ''; position: absolute; top: 34px; bottom: 34px; left: 26px; width: 1px; background: linear-gradient(#21c598,#2ba5ce,#775ce1); }.dns2-flow__steps li { position: relative; z-index: 1; display: grid; min-height: 123px; padding: 15px 0; grid-template-columns: 54px minmax(0,1fr); gap: 19px; }.dns2-flow__steps li > span { display: grid; width: 53px; height: 53px; place-items: center; border: 1px solid rgba(71,214,174,.26); border-radius: 15px; color: #63dfba; background: #101d2e; font: 800 10px/1 'Manrope',sans-serif; }.dns2-flow__steps li:nth-child(2) > span { color: #69d5f0; border-color: rgba(70,193,224,.27); }.dns2-flow__steps li:nth-child(3) > span { color: #9ab0ff; border-color: rgba(112,132,232,.28); }.dns2-flow__steps li:nth-child(4) > span { color: #c0aaff; border-color: rgba(157,128,235,.27); }.dns2-flow__steps small,.dns2-flow__steps strong { display: block; }.dns2-flow__steps small { margin: 2px 0 7px; color: #67d8b7; font-size: 7.5px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.dns2-flow__steps strong { color: #f3f6fa; font-size: 17px; }.dns2-flow__steps p { margin: 7px 0 0; color: #8997aa; font-size: 11px; line-height: 1.6; }

/* Device coverage map */
.dns2-coverage { padding: clamp(90px,9vw,124px) 0; background: linear-gradient(145deg,#f6fbfa,#f7f9fd); }.dns2-device-map { position: relative; height: 480px; margin-top: 25px; overflow: hidden; border: 1px solid #dce5eb; border-radius: 24px; background: radial-gradient(circle at center,rgba(24,190,150,.12),transparent 33%),#fff; box-shadow: 0 24px 65px -48px rgba(15,23,42,.5); }.dns2-device-map::before { content: ''; position: absolute; inset: 0; opacity: .42; background-image: radial-gradient(rgba(23,112,132,.2) .7px,transparent .7px); background-size: 20px 20px; mask-image: radial-gradient(circle at center,#000,transparent 70%); }.dns2-device-map > svg { position: absolute; inset: 0; width: 100%; height: 100%; }.dns2-device-map > svg path { fill: none; stroke: rgba(13,167,122,.27); stroke-width: 1.2; stroke-dasharray: 5 6; }
.dns2-device-map__core { position: absolute; z-index: 3; top: 50%; left: 50%; display: flex; width: 174px; height: 174px; align-items: center; justify-content: center; flex-direction: column; border: 1px solid rgba(34,197,148,.38); border-radius: 50%; color: #fff; background: radial-gradient(circle at 40% 30%,#14ad85,#087e64 68%); box-shadow: 0 25px 60px rgba(8,126,100,.24),0 0 65px rgba(13,167,122,.13); transform: translate(-50%,-50%); }.dns2-device-map__core > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 13px; background: rgba(255,255,255,.13); }.dns2-device-map__core .fx-grid__icon { width: 24px; height: 24px; color: inherit; opacity: 1; }.dns2-device-map__core strong { margin-top: 11px; font-size: 17px; }.dns2-device-map__core small { margin-top: 4px; color: #b9eadb; font-size: 8px; letter-spacing: .05em; text-transform: uppercase; }.dns2-device-map__core > i { position: absolute; inset: -17px; border: 1px dashed rgba(13,167,122,.29); border-radius: 50%; animation: dns2-spin 24s linear infinite; }
.dns2-device { position: absolute; z-index: 2; display: grid; width: 185px; min-height: 100px; padding: 18px; grid-template-columns: 39px 1fr; align-content: center; gap: 4px 12px; border: 1px solid #dfe6ed; border-radius: 16px; background: rgba(255,255,255,.95); box-shadow: 0 17px 38px -30px rgba(15,23,42,.5); }.dns2-device > span { display: grid; width: 38px; height: 38px; grid-row: span 2; place-items: center; border-radius: 11px; color: #098a6a; background: #e7f8f2; }.dns2-device .fx-grid__icon { width: 19px; height: 19px; color: inherit; opacity: 1; }.dns2-device b { align-self: end; color: #263246; font-size: 11px; }.dns2-device small { color: #7e899a; font-size: 8px; }.dns2-device--one { top: 53px; left: 62px; }.dns2-device--two { top: 53px; right: 62px; }.dns2-device--three { bottom: 53px; left: 62px; }.dns2-device--four { right: 62px; bottom: 53px; }
.dns2-coverage__foot { display: flex; min-height: 71px; align-items: center; justify-content: center; gap: 14px 31px; flex-wrap: wrap; color: #627187; font-size: 10px; font-weight: 700; }.dns2-coverage__foot span { display: flex; align-items: center; gap: 6px; }.dns2-coverage__foot .fx-grid__icon { width: 14px; height: 14px; color: var(--dns-green); opacity: 1; }
@keyframes dns2-spin { to { transform: rotate(360deg); } }

/* Honest limits */
.dns2-truth { padding: clamp(92px,9vw,128px) 0; background: #fff; }.dns2-truth__grid { display: grid; grid-template-columns: minmax(320px,.65fr) minmax(0,1.35fr); align-items: start; gap: clamp(65px,9vw,130px); }.dns2-truth__copy { position: sticky; top: 170px; }.dns2-truth__copy h2 { max-width: 590px; margin: 0; color: var(--dns-ink); font: 770 clamp(38px,4.5vw,55px)/1.07 'Manrope','Inter',sans-serif; letter-spacing: -.052em; }.dns2-truth__copy > p { max-width: 570px; margin: 20px 0 0; color: var(--dns-copy); font-size: 14px; line-height: 1.75; }
.dns2-truth__compare { overflow: hidden; border: 1px solid #dce4eb; border-radius: 21px; background: #fff; box-shadow: 0 22px 55px -43px rgba(15,23,42,.5); }.dns2-truth__compare article { display: grid; min-height: 300px; padding: 31px; grid-template-columns: 46px minmax(0,1fr); gap: 17px; }.dns2-truth__compare article + article { border-top: 1px solid #e2e7ed; background: #fafbfc; }.dns2-truth__compare article > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 13px; }.dns2-truth__compare .is-can { color: #078c69; background: #e6f8f1; }.dns2-truth__compare .is-can .fx-grid__icon { width: 22px; height: 22px; color: inherit; opacity: 1; }.dns2-truth__compare .is-cannot { color: #7a8597; background: #eef1f4; font-size: 20px; }.dns2-truth__compare small { color: var(--dns-green); font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.dns2-truth__compare article:last-child small { color: #758195; }.dns2-truth__compare h3 { max-width: 500px; margin: 9px 0 18px; color: #202b3e; font-size: 23px; letter-spacing: -.03em; }.dns2-truth__compare ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px 24px; margin: 0; padding: 0; color: #637085; font-size: 11px; line-height: 1.55; list-style: none; }.dns2-truth__compare li { position: relative; padding-left: 14px; }.dns2-truth__compare li::before { content: '•'; position: absolute; left: 0; color: var(--dns-green); }.dns2-truth__compare article:last-child li::before { color: #9ba4b3; }

/* Managed setup */
.dns2-setup { position: relative; overflow: hidden; padding: clamp(88px,9vw,120px) 0; background: radial-gradient(circle at 12% 10%,rgba(14,165,233,.1),transparent 28%),radial-gradient(circle at 88% 90%,rgba(13,167,122,.13),transparent 29%),linear-gradient(145deg,#eef8ff,#f3fbf7); }.dns2-setup__card { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(400px,.95fr); align-items: center; gap: clamp(55px,8vw,105px); padding: clamp(34px,6vw,66px); border: 1px solid rgba(42,112,128,.18); border-radius: 26px; background: rgba(255,255,255,.86); box-shadow: 0 32px 75px -52px rgba(16,48,65,.48); backdrop-filter: blur(12px); }.dns2-setup__copy h2 { max-width: 700px; margin: 0; color: var(--dns-ink); font: 770 clamp(40px,4.8vw,59px)/1.06 'Manrope','Inter',sans-serif; letter-spacing: -.054em; }.dns2-setup__copy > p { max-width: 630px; margin: 20px 0 0; color: var(--dns-copy); font-size: 14px; line-height: 1.72; }.dns2-setup__price { display: flex; margin: 28px 0 25px; align-items: center; gap: 14px; }.dns2-setup__price strong { color: #078967; font-size: 34px; letter-spacing: -.04em; }.dns2-setup__price span { color: #7b8798; font-size: 8px; font-weight: 750; line-height: 1.45; text-transform: uppercase; }.dns2-setup__copy .btn-primary { border: 0; background: linear-gradient(105deg,#078f6b,#0dad84 58%,#159fbd); box-shadow: 0 18px 38px -18px rgba(8,143,107,.72); }
.dns2-setup__included { overflow: hidden; border: 1px solid #dce4eb; border-radius: 19px; background: #fff; box-shadow: 0 20px 50px -41px rgba(15,23,42,.52); }.dns2-setup__included header { display: flex; min-height: 54px; padding: 0 20px; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5e9ef; color: #354258; background: #f8fafc; font-size: 10px; font-weight: 800; }.dns2-setup__included header b { padding: 5px 8px; border-radius: 999px; color: #078967; background: #e7f8f2; font-size: 7px; letter-spacing: .07em; text-transform: uppercase; }.dns2-setup__included ol { margin: 0; padding: 7px 20px 14px; list-style: none; }.dns2-setup__included li { display: grid; min-height: 78px; padding: 14px 0; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 13px; }.dns2-setup__included li + li { border-top: 1px solid #edf0f3; }.dns2-setup__included li > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #088c6a; background: #e9f8f3; font: 800 8px/1 'Manrope',sans-serif; }.dns2-setup__included strong,.dns2-setup__included small { display: block; }.dns2-setup__included strong { color: #273246; font-size: 11px; }.dns2-setup__included small { margin-top: 5px; color: #7b8798; font-size: 8.5px; line-height: 1.5; }

/* FAQ and final CTA */
.dns2-faq { padding: clamp(92px,9vw,125px) 0; background: #fff; }.dns2-faq__grid { display: grid; grid-template-columns: minmax(300px,.67fr) minmax(0,1.33fr); align-items: start; gap: clamp(65px,9vw,125px); }.dns2-faq__intro { position: sticky; top: 170px; }.dns2-faq__intro h2 { max-width: 560px; margin: 0; color: var(--dns-ink); font: 770 clamp(39px,4.5vw,54px)/1.07 'Manrope','Inter',sans-serif; letter-spacing: -.052em; }.dns2-faq__intro > p { max-width: 520px; margin: 20px 0 0; color: var(--dns-copy); font-size: 14px; line-height: 1.72; }.dns2-faq__intro > a { display: inline-flex; margin-top: 25px; color: #078967; font-size: 11px; font-weight: 800; }
.dns2-faq__list { display: grid; gap: 10px; }.dns2-faq__list details { overflow: hidden; border: 1px solid #dde4eb; border-radius: 15px; background: #fff; box-shadow: 0 12px 30px -28px rgba(15,23,42,.48); }.dns2-faq__list details[open] { border-color: rgba(13,167,122,.4); box-shadow: 0 16px 38px -30px rgba(13,100,82,.4); }.dns2-faq__list summary { display: flex; min-height: 68px; padding: 19px 20px; align-items: center; justify-content: space-between; gap: 20px; color: #263247; cursor: pointer; font-size: 12.5px; font-weight: 780; list-style: none; }.dns2-faq__list summary::-webkit-details-marker { display: none; }.dns2-faq__list summary span { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 50%; color: #078967; background: #e8f8f2; font-size: 15px; transition: transform .18s ease; }.dns2-faq__list details[open] summary span { transform: rotate(45deg); }.dns2-faq__list details p { margin: 0; padding: 0 20px 20px; color: #657286; font-size: 12px; line-height: 1.72; }
.dns2-final { position: relative; overflow: hidden; padding: 82px 0; color: #fff; background: radial-gradient(circle at 82% 20%,rgba(20,168,212,.18),transparent 31%),radial-gradient(circle at 10% 90%,rgba(13,167,122,.2),transparent 30%),#081221; }.dns2-final::before { content: ''; position: absolute; inset: 0; opacity: .14; pointer-events: none; background-image: radial-gradient(rgba(255,255,255,.42) .7px,transparent .7px); background-size: 20px 20px; }.dns2-final__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 60px; }.dns2-final .dns2-label { color: #70e0bf; }.dns2-final h2 { max-width: 760px; margin: 0; color: #fff; font: 770 clamp(39px,4.8vw,58px)/1.07 'Manrope','Inter',sans-serif; letter-spacing: -.054em; }.dns2-final__inner > div:last-child { flex: 0 0 auto; text-align: center; }.dns2-final .btn-primary { border: 0; background: linear-gradient(105deg,#07916c,#13b28a 60%,#16a1c1); box-shadow: 0 19px 39px -17px rgba(13,167,122,.75); }.dns2-final small { display: block; margin-top: 12px; color: #8492a6; font-size: 9px; }

@media (max-width:1120px) {
	.dns2-hero__grid { grid-template-columns: 1fr; }.dns2-hero__copy { max-width: 820px; margin: 0 auto; text-align: center; }.dns2-kicker,.dns2-hero__actions,.dns2-hero__proof { justify-content: center; }.dns2-hero h1,.dns2-hero__lead { margin-right: auto; margin-left: auto; }.dns2-console { width: min(760px,100%); margin: 0 auto; transform: none; }
	.dns2-flow__grid,.dns2-truth__grid,.dns2-faq__grid { grid-template-columns: 1fr; }.dns2-flow__copy,.dns2-truth__copy,.dns2-faq__intro { position: static; max-width: 760px; }.dns2-setup__card { grid-template-columns: 1fr; }.dns2-setup__included { width: min(680px,100%); }
}
@media (max-width:900px) {
	.dns2-nav { top: 65px; }.dns2-nav .container { justify-content: flex-start; }.dns2-section-head { grid-template-columns: 1fr; gap: 18px; }.dns2-section-head > p { max-width: 700px; }.dns2-policy-grid { grid-template-columns: 1fr; }.dns2-policy { min-height: 0; }.dns2-device-map { height: 620px; }.dns2-device-map > svg { display: none; }.dns2-device-map__core { width: 150px; height: 150px; }.dns2-device { width: 190px; }.dns2-device--one { top: 45px; left: 40px; }.dns2-device--two { top: 45px; right: 40px; }.dns2-device--three { bottom: 45px; left: 40px; }.dns2-device--four { right: 40px; bottom: 45px; }.dns2-final__inner { align-items: stretch; flex-direction: column; }.dns2-final__inner > div:last-child { text-align: left; }.dns2-final .btn { width: 100%; }.dns2-final small { text-align: center; }
}
@media (max-width:700px) {
	.dns2-hero { padding-top: 61px; }.dns2-hero__grid { gap: 48px; padding-bottom: 64px; }.dns2-hero h1 { font-size: clamp(43px,12vw,56px); }.dns2-hero__lead { font-size: 15px; }.dns2-hero__actions { align-items: stretch; flex-direction: column; gap: 18px; }.dns2-hero__actions .btn { width: 100%; }.dns2-text-link { justify-content: center; }.dns2-hero__proof { display: grid; width: fit-content; margin-right: auto; margin-left: auto; justify-content: start; text-align: left; }
	.dns2-console__summary { grid-template-columns: 1fr 90px; }.dns2-console__legend { grid-column: 1/-1; grid-template-columns: repeat(3,1fr); }.dns2-console__activity > div > span strong { font-size: 7px; }.dns2-hero__stats { grid-template-columns: repeat(2,1fr); }.dns2-hero__stats > div:nth-child(3) { border-top: 1px solid #dfe7ed; border-left: 0; }.dns2-hero__stats > div:nth-child(4) { border-top: 1px solid #dfe7ed; }
	.dns2-section-head h2,.dns2-flow__copy h2,.dns2-truth__copy h2,.dns2-setup__copy h2,.dns2-faq__intro h2,.dns2-final h2 { font-size: 37px; }.dns2-policy { padding: 24px; }.dns2-policy h3 { font-size: 21px; }.dns2-flow__steps li { grid-template-columns: 49px minmax(0,1fr); gap: 14px; }.dns2-flow__steps li > span { width: 48px; height: 48px; }.dns2-flow__steps::before { left: 23px; }
	.dns2-device-map { height: 730px; }.dns2-device-map__core { width: 135px; height: 135px; }.dns2-device { width: calc(100% - 48px); }.dns2-device--one { top: 28px; left: 24px; }.dns2-device--two { top: 146px; right: 24px; }.dns2-device--three { bottom: 146px; left: 24px; }.dns2-device--four { right: 24px; bottom: 28px; }.dns2-truth__compare ul { grid-template-columns: 1fr; }.dns2-setup__card { padding: 27px 22px; }.dns2-setup__price { align-items: flex-start; flex-direction: column; }.dns2-setup__copy .btn { width: 100%; }.dns2-final { padding-block: 68px; }
}
@media (max-width:480px) {
	.dns2-kicker { line-height: 1.5; }.dns2-console__bar { grid-template-columns: 1fr auto; }.dns2-console__bar small { display: none; }.dns2-console__summary { padding: 20px; }.dns2-console__activity { padding-inline: 10px; }.dns2-console__activity header small { display: none; }.dns2-console__activity > div { grid-template-columns: 30px minmax(0,1fr); }.dns2-console__activity > div > b { display: none; }.dns2-console__footer small { display: none; }.dns2-console__legend { grid-template-columns: 1fr; }.dns2-hero__stats > div { min-height: 94px; padding: 20px 12px; gap: 9px; }.dns2-hero__stats strong { font-size: 21px; }.dns2-hero__stats span { font-size: 6.8px; }.dns2-truth__compare article { padding: 24px 20px; grid-template-columns: 40px minmax(0,1fr); gap: 13px; }.dns2-truth__compare article > span { width: 39px; height: 39px; }.dns2-truth__compare h3 { font-size: 20px; }.dns2-setup__included ol { padding-inline: 15px; }.dns2-faq__list summary { padding-inline: 17px; }.dns2-faq__list details p { padding-inline: 17px; }
}
@media (prefers-reduced-motion:reduce) {
	.dns2-device-map__core > i { animation: none; }.dns2-policy,.dns2-text-link span,.dns2-faq__list summary span { transition: none; }.dns2-policy:hover { transform: none; }
}
