/*
Theme Name: KDM IT
Author: KDM IT
Description: KDM IT managed services website with cybersecurity, IT support, networking and a native WordPress contact form.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: kdm-it
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#101f2b;--muted:#62717b;--lime:#c5f269;--paper:#f5f6f2;--line:#dce1dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}header{position:sticky;top:0;z-index:10;background:rgba(245,246,242,.96);border-bottom:1px solid var(--line)}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.nav{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Manrope,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1.8px}.brand span{color:#668b36;letter-spacing:-1px}.navlinks{display:flex;gap:34px;align-items:center;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:16px 23px;border:0;background:var(--lime);font-weight:700;border-radius:5px;transition:background .2s,transform .2s}.button:hover{background:#b1e052;transform:translateY(-2px)}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#294052}.nav .button{padding:12px 19px;gap:20px}.mobile-toggle{display:none}.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;min-height:650px;padding:76px 0 85px}.eyebrow{text-transform:uppercase;letter-spacing:2.1px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;background:var(--lime);border-radius:50%;display:inline-block}.hero .eyebrow{color:#d7e5d1}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(44px,4.7vw,67px);line-height:1.08;letter-spacing:-3px;font-weight:600;margin:27px 0}h1 em{font-style:normal;color:var(--lime)}.hero p{color:#bdc8d0;font-size:17px;line-height:1.8;max-width:460px;margin:0 0 32px}.hero-actions{display:flex;align-items:center;gap:28px}.textlink{font-size:14px;border-bottom:1px solid #65717a;padding:8px 0}.hero-small{margin-top:35px;display:flex;gap:19px;color:#aabac2;font-size:11px}.hero-small span:before{content:'✓';color:var(--lime);margin-right:7px}.visual{height:430px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse,#2c4146 0,transparent 64%)}.orbit{position:absolute;border:1px solid #43534f;border-radius:50%;width:350px;height:350px;transform:rotateX(48deg) rotate(-25deg)}.orbit.two{width:455px;height:455px;transform:rotateX(45deg) rotate(42deg);border-style:dashed;opacity:.5}.gridbg{position:absolute;inset:0;background-image:linear-gradient(#98bb7b0d 1px,transparent 1px),linear-gradient(90deg,#98bb7b0d 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse,black,transparent 72%)}.shield{width:172px;height:202px;background:linear-gradient(135deg,#d5f79e,#83ad4a);clip-path:polygon(50% 0,95% 18%,91% 60%,75% 83%,50% 100%,25% 83%,9% 60%,5% 18%);display:grid;place-items:center;filter:drop-shadow(0 20px 50px #b5f26b33);position:relative}.shield svg{width:74px;height:74px;stroke:#19382b;fill:none;stroke-width:4}.float{position:absolute;z-index:2;padding:13px 17px;background:#1c303b;border:1px solid #3e5259;border-radius:8px;box-shadow:0 12px 35px #0003;font-size:12px;display:flex;align-items:center;gap:12px}.float b{font-size:12px;display:block}.float small{color:#9fb0ba;font-size:10px;display:block;margin-top:4px}.float i{font-style:normal;color:var(--lime);font-size:20px}.f1{top:40px;left:10px}.f2{right:-4px;top:185px}.f3{left:22px;bottom:26px}.visual-label{position:absolute;bottom:0;right:12px;color:#78908d;font-size:10px;letter-spacing:2px}.service-strip{border-bottom:1px solid var(--line);padding:25px 0}.strip-content{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.strip-content b{font-weight:500;font-size:14px;color:var(--ink)}section.content{padding:100px 0}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;gap:40px}.section-top h2,.approach h2,.contact h2{font-size:43px;line-height:1.15;letter-spacing:-1.8px;font-weight:600;margin:18px 0 0}.section-top p{color:var(--muted);line-height:1.8;max-width:365px;font-size:15px;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.service{padding:34px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.service:last-child{border:0}.service-icon{height:48px;width:48px;background:#eff5e8;border-radius:9px;display:grid;place-items:center;margin-bottom:30px}.service-icon svg{width:25px;height:25px;stroke:var(--ink);stroke-width:1.6;fill:none}.service .number{float:right;font-size:11px;color:#8a969c}.service h3{font-size:23px;letter-spacing:-.7px;margin:0 0 13px}.service p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 20px}.service ul{padding:0;list-style:none;font-size:12px;line-height:2.6;margin:0 0 27px}.service li:before{content:'↗';color:#70913c;margin-right:10px}.service a{margin-top:auto;font-size:13px;font-weight:700;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}.approach{background:#e9eee5;padding:85px 0}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}.approach p{font-size:15px;color:var(--muted);line-height:1.8;max-width:420px}.steps{padding-top:8px}.step{display:flex;gap:23px;padding:22px 0;border-bottom:1px solid #ced7c7}.step:first-child{padding-top:0}.step span{font-size:12px;color:#6b8055;padding-top:5px}.step h3{font-size:18px;margin:0 0 8px}.step p{font-size:13px;margin:0}.contact{padding:100px 0}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.contact-copy>p{color:var(--muted);font-size:15px;line-height:1.8;margin:25px 0 35px}.email{font-size:21px;display:inline-block;border-bottom:1px solid #b6c3ac;padding-bottom:10px}.contact-note{border-top:1px solid var(--line);padding-top:25px;margin-top:40px;color:var(--muted);font-size:12px;line-height:1.8}.form{padding:32px;background:#fff;border:1px solid var(--line);border-radius:8px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field label span{color:#74806f;font-weight:400}input,select,textarea{border:1px solid #d9dfd5;background:#fafbf8;border-radius:4px;padding:13px;width:100%;font-size:13px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #89ae52;border-color:transparent}textarea{resize:vertical;min-height:110px}.form .button{width:100%;justify-content:space-between}.privacy{font-size:10px;color:var(--muted);line-height:1.7;margin:15px 0 0}.hp{display:none}footer{background:var(--ink);color:#b2bfc5;padding:40px 0}.foot{display:flex;justify-content:space-between;align-items:center;gap:25px}.foot .brand{color:white}.foot p{font-size:11px;margin:8px 0 0}.foot-links{display:flex;gap:25px;font-size:12px}.copyright{border-top:1px solid #30414a;margin-top:30px;padding-top:22px;font-size:10px;display:flex;justify-content:space-between}.skip{position:absolute;left:15px;top:-70px;background:white;padding:15px;z-index:20}.skip:focus{top:10px}@media(min-width:1450px){.hero-grid{min-height:710px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:15px}h1{font-size:51px}.visual{transform:scale(.85)}.service{padding:25px}.approach-grid,.contact-grid{gap:50px}.hero-small{gap:10px;flex-wrap:wrap}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav{height:73px}.mobile-toggle{display:block;background:none;border:1px solid var(--line);padding:8px 12px;border-radius:4px;font-size:13px}.navlinks{display:none;position:absolute;top:73px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.hero-grid{grid-template-columns:1fr;padding:55px 0 35px;gap:15px}.hero h1{font-size:49px;letter-spacing:-2.3px}.hero p{font-size:15px}.hero-actions{gap:22px}.hero-small{font-size:10px}.visual{height:355px;transform:scale(.88);margin:0 -15px}.orbit.two{width:380px;height:380px}.f1{top:22px;left:0}.f2{right:0;top:155px}.f3{bottom:0;left:0}.visual-label{display:none}.strip-content{flex-wrap:wrap;gap:17px;justify-content:center}.strip-content>span{width:100%;text-align:center;font-size:10px}.strip-content b{font-size:11px}section.content,.contact{padding:65px 0}.section-top{display:block;margin-bottom:30px}.section-top h2,.approach h2,.contact h2{font-size:35px}.section-top p{margin-top:22px}.services{grid-template-columns:1fr}.service{border-right:0;border-bottom:1px solid var(--line);padding:30px}.service-icon{margin-bottom:20px}.approach{padding:60px 0}.approach-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.contact-note{margin-top:25px}.form{padding:23px}.fields{gap:0;grid-template-columns:1fr}.field.full{grid-column:auto}.foot{align-items:start;flex-direction:column}.foot-links{flex-wrap:wrap;gap:20px}.copyright{gap:15px;line-height:1.6}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.brand-logo{display:block;line-height:0;flex-shrink:0}.brand-logo img{display:block;width:125px;height:auto}.foot .brand-logo{background:var(--paper);border-radius:4px}.foot .brand-logo img{width:150px}@media(max-width:760px){.brand-logo img{width:105px}} 
body.admin-bar header{top:32px}.contact-status{padding:15px;border:1px solid #87ae4e;background:#eff5e8;margin-bottom:20px}.contact-status.error{border-color:#b36b42;background:#fff3ec}.wp-content{padding:60px 0;min-height:50vh}.wp-content img{max-width:100%;height:auto}@media(max-width:782px){body.admin-bar header{top:46px}}@media(max-width:600px){body.admin-bar header{top:0}}
.captcha-field input[type=number]{max-width:160px}.captcha-field small{font-size:11px;color:var(--muted);line-height:1.6}
