/*
Theme Name: Zikosoft
Theme URI: https://zikosoft.io
Author: Zikosoft LLC
Description: Marketing theme for Zikosoft — AI-native software studio. Ported from the static HTML build.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: Proprietary
Text Domain: zikosoft
*/

/* ------------------------------------------------------------------ *
 * Global resets — mirrors the original design's base styles.
 * All component styling is inline in the templates (as designed);
 * this file only holds what cannot be inlined: resets, keyframes,
 * pseudo-classes and form focus states.
 * ------------------------------------------------------------------ */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  padding: 0;
  font-family: 'Poppins', sans-serif;
  color: #1c1713;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.zk-agents__intro-cta:hover { color: #000000; }
.zk-hero__cta-secondary:hover { color: #000000; }
a { color: inherit; text-decoration: none; }

img { max-width: 100%; height: auto; }
::selection { background: #eee1d8; }

/* Contact form fields (from Contact page) */
input, textarea, select, button { font-family: inherit; }
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: #daa580 !important;
  box-shadow: 0 0 0 4px rgba(218,165,128,0.12);
}
::placeholder { color: #a7a29e; }

/* ---- Keyframes: Home ---- */
@keyframes marquee   { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes heroRise  { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes heroGlow  { from { opacity: 0; transform: translateX(-50%) scale(.85); } to { opacity: 1; transform: translateX(-50%) scale(1); } }
@keyframes shimmer   { to { background-position: 200% center; } }
@keyframes heroPulse { 0%,100% { opacity: 1; } 50% { opacity: .5; } }
.hero-rise { opacity: 0; animation: heroRise .8s cubic-bezier(.22,.61,.36,1) forwards; }

/* ---- Keyframes: About / Services / Contact ---- */
@keyframes revUp { from { opacity: 0; transform: translateY(42px); } to { opacity: 1; transform: translateY(0); } }
@keyframes drift { 0% { transform: translate(0,0) scale(1); } 33% { transform: translate(46px,-34px) scale(1.12); } 66% { transform: translate(-34px,24px) scale(0.94); } 100% { transform: translate(0,0) scale(1); } }
@keyframes pulse { 0%,100% { opacity: 0.55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.35); } }
@keyframes pop   { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } }

/* Scroll-reveal helper for Home sections (applied by main.js) */
.zk-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.zk-reveal.zk-in { opacity: 1; transform: none; }


/* Spinning-ring "Let's Talk AI" nav button */
@keyframes spin{to{transform:rotate(360deg)}}
.ai-ring{position:relative;padding:2px;border-radius:30px;overflow:hidden;display:inline-flex;align-items:center}
.ai-ring::before{content:"";position:absolute;inset:-60%;background:conic-gradient(from 0deg,var(--ai-a),var(--ai-b),var(--ai-a));animation:spin 3.5s linear infinite}
.ai-ring:hover::before{animation-duration:1.6s}
.ai-ring > a{position:relative;z-index:1}

/* ---- Contact page, aligned to the home-page visual system ---- */
.contact-page{overflow-x:hidden;width:100%;background:#fff;color:#1c1713}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #f4f0ed}
.site-header-inner{max-width:1240px;margin:auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-brand,.footer-brand{display:flex;align-items:center;gap:11px;flex:none;font-size:24px;letter-spacing:-.5px}
.brand-light{font-weight:400}.brand-bold{font-weight:700}
.contact-nav{display:flex;align-items:center;gap:26px}
.contact-nav>a{font-size:15px;font-weight:500;color:#423c37;transition:color .2s}
.contact-nav>a:hover{color:#c58b62}
.contact-nav .ai-ring a{background:#fff;padding:10px 20px;border-radius:28px;font-size:15px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.spark{color:#a2704d;font-size:12px}.gradient-text{background:linear-gradient(90deg,#c58b62,#ac694d);-webkit-background-clip:text;background-clip:text;color:transparent}
.header-cta{background:#1c1713;color:#fff!important;font-weight:600;font-size:15px;padding:12px 24px;border-radius:9px;white-space:nowrap;box-shadow:0 8px 22px rgba(197,139,98,.28);transition:transform .2s,background .2s,box-shadow .2s}
.header-cta:hover{background:#392f28;transform:translateY(-2px);box-shadow:0 12px 30px rgba(197,139,98,.42)}
.contact-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff 22%,#f6efea 100%);padding:82px 40px 90px}
.contact-glow{position:absolute;width:850px;height:650px;left:-210px;bottom:-330px;background:radial-gradient(closest-side,rgba(222,175,141,.32),transparent);pointer-events:none;animation:contactGlow 1.4s ease forwards}
.contact-grid{position:relative;max-width:1160px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:74px;align-items:center}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:#8d6348;text-transform:uppercase}
.contact-intro h1{font-size:62px;line-height:1.07;letter-spacing:-1.6px;margin:24px 0 0;max-width:520px}
.animated-gradient{background-size:200% auto;animation:shimmer 5s linear infinite}
.intro-copy{font-size:18px;line-height:1.7;color:#736d69;max-width:520px;margin:24px 0 0}
.contact-points{margin-top:36px;display:grid;gap:12px;max-width:500px}
.contact-point{display:flex;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid #e9ddd4;color:#1c1713}
.contact-point:hover{color:#1c1713}
.point-icon{width:40px;height:40px;border:1px solid #ddc7b8;border-radius:11px;display:grid;place-items:center;color:#b37855;background:rgba(255,255,255,.7);font-size:18px;flex:none}
.contact-point small{display:block;font-size:9px;letter-spacing:1.25px;color:#938d89;margin-bottom:4px;font-weight:700}
.contact-point strong{font-size:14px;font-weight:600}
.trust-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px;color:#736d69;font-size:11px;font-weight:600}
.trust-note i{width:4px;height:4px;border-radius:50%;background:#c58b62}
.form-card{position:relative;background:#fff;border:1px solid #e8ddd6;border-radius:20px;padding:38px;box-shadow:0 26px 70px rgba(74,49,33,.12);overflow:hidden}
.form-topline{position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#c58b62,#ac694d)}
.form-heading{margin-bottom:26px}.form-heading h2,.zk-contact-success h2{font-size:27px;letter-spacing:-.5px;margin:10px 0 7px}.form-heading p,.zk-contact-success p{font-size:14px;line-height:1.6;color:#736d69;margin:0}
.form-card label{display:block;font-size:12px;font-weight:600;color:#48423e;margin:0 0 16px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-card input,.form-card textarea,.form-card select{display:block;width:100%;margin-top:7px;padding:13px 14px;border-radius:9px;border:1px solid #ded7d2;background:#fcfaf8;color:#1c1713;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}
.form-card textarea{resize:vertical;line-height:1.5;min-height:112px}
.form-card input:hover,.form-card textarea:hover,.form-card select:hover{background:#fff;border-color:#cfb8a8}
.primary-button,.secondary-button{font-family:inherit;border:0;cursor:pointer}
.primary-button{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:#1c1713;color:#fff;font-weight:600;font-size:15px;padding:15px 22px;border-radius:10px;box-shadow:0 10px 26px rgba(197,139,98,.3);transition:transform .2s,background .2s,box-shadow .2s}
.primary-button:hover{background:#392f28;transform:translateY(-2px);box-shadow:0 14px 34px rgba(197,139,98,.42)}
.form-footnote{text-align:center;color:#938d89;font-size:11px;margin:13px 0 0}
.form-error{display:none;text-align:center;color:#a33c32;background:#fff3f1;border:1px solid #f0cbc6;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.45;margin:12px 0 0}
.form-error.is-visible{display:block}
.primary-button:disabled{cursor:wait;opacity:.72;transform:none;box-shadow:none}
.zk-contact-success{display:none;text-align:center;padding:65px 16px;animation:pop .4s cubic-bezier(.2,.8,.2,1) both}
.success-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:auto;background:linear-gradient(135deg,#c58b62,#ac694d);color:#fff;font-size:28px;box-shadow:0 12px 30px rgba(197,139,98,.35)}
.secondary-button{margin-top:24px;padding:12px 20px;border-radius:9px;background:#f7f1ed;color:#8d6348;font-weight:600}
.next-steps{padding:92px 40px 100px;background:#fff}
.section-heading{max-width:720px;margin:0 auto 46px;text-align:center}.section-heading h2{font-size:40px;line-height:1.2;letter-spacing:-.9px;margin:14px 0 12px}.section-heading p{font-size:15px;line-height:1.7;color:#736d69;margin:0}
.steps-grid{max-width:1160px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.steps-grid article{position:relative;padding:30px;border:1px solid #eee5df;border-radius:15px;background:linear-gradient(160deg,#fff,#fcfaf8);transition:transform .25s,box-shadow .25s,border-color .25s}
.steps-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(74,49,33,.09);border-color:#dbc4b4}
.steps-grid article>span{color:#c58b62;font:700 11px/1 'Space Mono',monospace;letter-spacing:1px}.steps-grid h3{font-size:19px;margin:21px 0 9px}.steps-grid p{font-size:13.5px;line-height:1.65;color:#736d69;margin:0}
.consultation-section{padding:96px 40px 92px;background:linear-gradient(180deg,#f8f3ef 0%,#f4ebe5 100%);position:relative;overflow:hidden}
.consultation-section::before{content:"";position:absolute;width:560px;height:560px;right:-220px;top:-270px;border-radius:50%;background:radial-gradient(circle,rgba(197,139,98,.18),transparent 68%);pointer-events:none}
.consultation-heading{position:relative;max-width:1160px;margin:0 auto 46px;display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}
.consultation-heading h2{font-size:42px;line-height:1.2;letter-spacing:-1px;margin:14px 0 0;max-width:650px}
.consultation-heading>p{font-size:15px;line-height:1.75;color:#736d69;margin:0;max-width:480px}
.consultant-grid{position:relative;max-width:1160px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.consultant-card{display:grid;grid-template-columns:42% 58%;min-height:350px;background:#fff;border:1px solid #e5d7ce;border-radius:19px;overflow:hidden;box-shadow:0 14px 40px rgba(74,49,33,.07);transition:transform .3s,box-shadow .3s,border-color .3s}
.consultant-card:hover{transform:translateY(-7px);border-color:#d5b8a4;box-shadow:0 24px 54px rgba(74,49,33,.13)}
.consultant-photo{position:relative;overflow:hidden;background:#d9cec7}
.consultant-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(32,23,18,.52))}
.consultant-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.88);transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .3s}
.consultant-card:hover .consultant-photo img{transform:scale(1.035);filter:saturate(1)}
.consultant-photo>span{position:absolute;z-index:1;left:15px;right:15px;bottom:15px;display:flex;align-items:center;gap:7px;color:#fff;font-size:9px;font-weight:600;letter-spacing:.3px}
.consultant-photo>span i{width:7px;height:7px;border-radius:50%;background:#7fe3a2;box-shadow:0 0 0 4px rgba(127,227,162,.18);animation:heroPulse 2s ease-in-out infinite}
.adam-photo img{object-position:center 28%}
.consultant-content{padding:29px 28px;display:flex;flex-direction:column;align-items:flex-start}
.consultant-meta{width:100%;display:flex;justify-content:space-between;gap:10px;color:#a07458;font:700 9px/1 'Space Mono',monospace;letter-spacing:.8px}
.consultant-content h3{font-size:28px;line-height:1.1;letter-spacing:-.6px;margin:22px 0 4px}
.consultant-role{font-size:12px!important;font-weight:700;color:#9a694c!important;margin:0 0 16px!important}
.consultant-content>p:not(.consultant-role){font-size:12.5px;line-height:1.65;color:#736d69;margin:0 0 22px}
.calendly-button{margin-top:auto;width:100%;display:flex;align-items:center;justify-content:space-between;background:#1c1713;color:#fff!important;font-size:13px;font-weight:600;padding:13px 15px;border-radius:9px;box-shadow:0 8px 20px rgba(197,139,98,.2);transition:background .2s,transform .2s,box-shadow .2s}
.calendly-button span{font-size:16px;color:#d7aa8b}.calendly-button:hover{background:#392f28;transform:translateY(-2px);box-shadow:0 12px 28px rgba(197,139,98,.35)}
.consultation-note{text-align:center;color:#746860;font-size:11px;font-weight:600;margin:30px 0 0}.consultation-note span{color:#a46d4d}
.contact-cta{background:linear-gradient(120deg,#2c1f15,#3a291c 52%,#38291e);color:#fff;padding:64px max(40px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:40px}
.contact-cta .eyebrow{color:#d5b49f}.contact-cta h2{font-size:34px;line-height:1.25;letter-spacing:-.6px;max-width:650px;margin:10px 0 0}.contact-cta>a{flex:none;background:#fff;color:#291f18;font-weight:700;font-size:14px;padding:15px 24px;border-radius:9px;transition:transform .2s,box-shadow .2s}.contact-cta>a:hover{color:#291f18;transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.22)}
.home-footer{background:#291f18;color:#fff;padding:64px 40px 0}.footer-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr 1fr .8fr;gap:40px;padding-bottom:54px}.home-footer h3{font-size:16px;color:#dad1cb;margin:0 0 18px}.footer-address h3:nth-of-type(2){margin-top:22px}.footer-address p{font-size:14px;line-height:1.85;color:#c4bbb5;margin:0}.footer-address a:hover{color:#fff}.footer-links{display:flex;flex-direction:column;gap:14px;font-size:14px;color:#d7cfc9}.footer-links a{transition:color .2s}.footer-links a:hover{color:#fff}
.footer-brand-row{max-width:1240px;margin:auto;border-top:1px solid rgba(255,255,255,.1);padding:40px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:40px}.footer-brand{color:#fff;font-size:26px}.footer-brand:hover{color:#fff}.footer-brand-copy{max-width:460px}.footer-brand-copy p{font-size:14px;line-height:1.6;color:#c4bbb5}.footer-badges{display:flex;gap:14px}.footer-badges span{width:64px;height:64px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;text-align:center;text-transform:uppercase;font-size:8px;line-height:1.3;color:#d7cfc9}
.footer-bottom{max-width:1240px;margin:auto;border-top:1px solid rgba(255,255,255,.1);padding:30px 0 40px;display:flex;justify-content:space-between;align-items:center;gap:30px;color:#c4bbb5;font-size:14px}.footer-bottom>div{display:flex;align-items:center;gap:10px}.footer-bottom a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.09);display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}.footer-bottom a:hover{background:#c58b62;color:#fff}
.sticky-ai-banner{position:sticky;bottom:0;z-index:60;background:linear-gradient(90deg,#b07a54,#bc7e63);padding:14px 40px;text-align:center;color:#fff;font-size:15px}.sticky-ai-banner a{font-weight:700;text-decoration:underline;text-underline-offset:3px}.sticky-ai-banner a:hover{color:#291f18}
@keyframes contactGlow{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@media(max-width:1050px){.contact-nav>a:not(:first-child){display:none}.contact-grid{gap:44px}.contact-intro h1{font-size:52px}}
@media(max-width:1000px){.consultant-card{grid-template-columns:40% 60%}.consultation-heading{gap:40px}.consultant-content{padding:26px 23px}}
@media(max-width:820px){.site-header-inner{padding:15px 22px}.header-cta{padding:11px 16px;font-size:13px}.contact-nav{display:none} .form-heading h2{font-size: 20px;} .contact-hero{padding:34px 24px 40px}.contact-grid{grid-template-columns:1fr;max-width:650px}.contact-intro h1{font-size:30px}.form-card{padding:32px}.steps-grid{grid-template-columns:1fr}.next-steps{padding:40px 24px}.consultation-section{padding:34px 24px}.consultation-heading{grid-template-columns:1fr;gap:16px}.consultation-heading h2{font-size:24px}.consultant-grid{grid-template-columns:1fr;max-width:620px}.consultant-card{min-height:340px}.contact-cta{padding:36px 24px;flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.home-footer{padding:54px 24px 0}.consultant-content h3{font-size: 20px;} }
@media(max-width:540px){.site-brand{font-size:21px}.header-cta{font-size:0}.header-cta::after{content:'Start a project';font-size:12px}.contact-intro h1{font-size:30px}.intro-copy{font-size:16px}.form-card{padding:28px 20px}.field-row{grid-template-columns:1fr;gap:0}.section-heading h2{font-size:24px}.consultation-heading h2{font-size:24px}.consultant-card{grid-template-columns:1fr}.consultant-photo{height:270px}.adam-photo{height:300px}.consultant-content{padding:26px 22px}.consultation-note{line-height:1.8}.contact-cta h2{font-size:20px}.footer-grid{grid-template-columns:1fr}.footer-brand-row,.footer-bottom{flex-direction:column}.footer-badges{flex-wrap:wrap}.sticky-ai-banner{font-size:12px;padding:11px 18px}}
@media(prefers-reduced-motion:reduce){.contact-page *{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}


/* ==================================================================
   GLOBAL RESPONSIVE FALLBACK
   Templates use extensive inline styles with fixed grid tracks and
   40px padding. This block overrides them on mobile via attribute
   selectors + !important. Also styles the JS-injected hamburger and
   drawer used on every page's header.
   ================================================================== */

/* Hamburger button (JS-injected into each page's header) */
.zk-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#1c1713;color:#fff;border:0;cursor:pointer;padding:0;position:relative;z-index:210;flex-shrink:0}
.zk-burger:hover{background:#392f28}
.zk-burger-icon,.zk-burger-icon::before,.zk-burger-icon::after{content:"";display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease,top .25s ease,opacity .2s ease}
.zk-burger-icon{position:relative}
.zk-burger-icon::before,.zk-burger-icon::after{position:absolute;left:0}
.zk-burger-icon::before{top:-6px}
.zk-burger-icon::after{top:6px}
.zk-burger[aria-expanded="true"] .zk-burger-icon{background:transparent}
.zk-burger[aria-expanded="true"] .zk-burger-icon::before{top:0;transform:rotate(45deg)}
.zk-burger[aria-expanded="true"] .zk-burger-icon::after{top:0;transform:rotate(-45deg)}

/* Slide-in drawer with nav links */
.zk-drawer{position:fixed;inset:0;background:#fff;z-index:205;padding:88px 26px 40px;overflow-y:auto;transform:translateX(100%);transition:transform .3s cubic-bezier(.22,.61,.36,1);visibility:hidden;display:flex;flex-direction:column;gap:2px}
.zk-drawer-close{position:absolute;top:22px;right:22px;width:44px;height:44px;border-radius:10px;background:#1c1713;color:#fff;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;z-index:1}
.zk-drawer-close:hover{background:#392f28}
.zk-drawer-close::before,.zk-drawer-close::after{content:"";position:absolute;width:20px;height:2px;background:#fff;border-radius:2px}
.zk-drawer-close::before{transform:rotate(45deg)}
.zk-drawer-close::after{transform:rotate(-45deg)}
.zk-drawer.is-open{transform:none;visibility:visible}
.zk-drawer a{display:block;padding:16px 4px;font-family:'Manrope',system-ui,sans-serif;font-size:17px;font-weight:600;color:#1c1713!important;border-bottom:1px solid #f0eae4;text-decoration:none}
.zk-drawer a:hover{color:#c58b62!important}
.zk-drawer a.zk-drawer-cta{margin-top:22px;padding:16px 20px;background:#1c1713;color:#fff!important;text-align:center;border-radius:11px;border:0;font-size:16px}
.zk-drawer a.zk-drawer-cta:hover{background:#392f28;color:#fff!important}
body.zk-drawer-open{overflow:hidden}

/* Show hamburger + hide desktop nav below 900px */
@media(max-width:900px){
  .zk-burger{display:inline-flex}
  .zk-mobile-hide{display:none!important}
}

/* Content collapse under 720px — targets inline-styled grids/text */
@media(max-width:720px){
  /* Multi-column grids -> single column */
  [style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns:repeat(5"],
  [style*="grid-template-columns:1.05fr"],
  [style*="grid-template-columns:1.06fr"],
  [style*="grid-template-columns:1fr 1.9fr"],
  [style*="grid-template-columns:1.1fr"],
  [style*="grid-template-columns:.9fr"],
  [style*="grid-template-columns:.8fr"]{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  /* Reduce horizontal padding on inline-styled sections/footers/header row */
  section[style*="padding"][style*="40px"],
  footer[style*="padding"][style*="40px"],
  header > div[style*="padding"][style*="40px"]{
    padding-left:22px!important;
    padding-right:22px!important;
  }
      .trusted-ecosystem h2{
                font-size: 18px!important;
      }
      .zk-reveal.zk-in{
        padding: 50px 40px 50px!important;
      }
  /* Sticky bottom banner on Home */
  div[style*="sticky"][style*="bottom:0"]{
    padding-left:20px!important;
    padding-right:20px!important;
    font-size:13px!important;
  }
  /* Scale down oversized inline-styled headings */
  h1[style*="font-size:58px"],
  h1[style*="font-size:56px"],
  h1[style*="font-size:62px"]{
    font-size:24px!important;
    line-height:1.14!important;
    letter-spacing:-.7px!important;
  }
  h2[style*="font-size:38px"],
  h2[style*="font-size:40px"],
  h2[style*="font-size:42px"]{
    font-size:24px!important;
    line-height:1.2!important;
            margin-top: 0!important;
  }
  h3[style*="font-size:28px"]{font-size:22px!important}
  /* Body copy */
  p[style*="font-size:20px"]{font-size:16px!important;line-height:1.55!important}
  p[style*="font-size:18px"]{font-size:15px!important}
  /* Hero CTAs stack full-width */
  a[style*="padding:17px 32px"]{width:100%;text-align:center;justify-content:center}
}
/* =========================================
   WPForms - Contact Page #13
   ========================================= */

.contact-page .form-card .wpforms-container {
    margin: 0 !important;
    padding: 0 !important;
}

.contact-page .form-card .wpforms-form {
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide WPForms default form title/description if present */
.contact-page .form-card .wpforms-title,
.contact-page .form-card .wpforms-description {
    display: none !important;
}

/* -------------------------------
   Fields
-------------------------------- */

.contact-page .form-card .wpforms-field {
    padding: 0 !important;
    margin: 0 0 16px !important;
}

.contact-page .form-card .wpforms-field-label {
    display: block !important;
    margin: 0 0 8px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: #48423c !important;
}

/* Input / select / textarea */
.contact-page .form-card .wpforms-field input[type="text"],
.contact-page .form-card .wpforms-field input[type="email"],
.contact-page .form-card .wpforms-field select,
.contact-page .form-card .wpforms-field textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    border: 1px solid #e1d9d2 !important;
    border-radius: 10px !important;
    background: #fff !important;

    color: #2b2520 !important;
    font-family: inherit !important;
    font-size: 14px !important;

    padding: 13px 14px !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Input height */
.contact-page .form-card .wpforms-field input[type="text"],
.contact-page .form-card .wpforms-field input[type="email"],
.contact-page .form-card .wpforms-field select {
    height: 48px !important;
}

/* Textarea */
.contact-page .form-card .wpforms-field textarea {
    min-height: 108px !important;
    resize: vertical !important;
}

/* Placeholder */
.contact-page .form-card .wpforms-field input::placeholder,
.contact-page .form-card .wpforms-field textarea::placeholder {
    color: #aaa29c !important;
    opacity: 1 !important;
}

/* Focus */
.contact-page .form-card .wpforms-field input:focus,
.contact-page .form-card .wpforms-field select:focus,
.contact-page .form-card .wpforms-field textarea:focus {
    border-color: #c58b62 !important;
    box-shadow: 0 0 0 2px rgba(197, 139, 98, .10) !important;
}

/* -------------------------------
   Name + Email in one row
-------------------------------- */

.contact-page .form-card .wpforms-field-name,
.contact-page .form-card .wpforms-field-email {
    box-sizing: border-box !important;
}

/*
   If WPForms fields are separate fields,
   put Name and Email beside each other.
*/
.contact-page .form-card .wpforms-form > .wpforms-field-name {
    width: calc(50% - 7px) !important;
    display: inline-block !important;
    vertical-align: top !important;
    margin-right: 10px !important;
}

.contact-page .form-card .wpforms-form > .wpforms-field-email {
    width: calc(50% - 7px) !important;
    display: inline-block !important;
    vertical-align: top !important;
}

/* -------------------------------
   Submit button
-------------------------------- */
/* WPForms dropdown */
#wpforms-form-13 #wpforms-13-field_5 {
    appearance: auto !important;
    -webkit-appearance: auto !important;
    -moz-appearance: auto !important;

    cursor: pointer;
}
.contact-page .form-card .wpforms-submit-container {
    margin: 2px 0 0 !important;
    padding: 0 !important;
}

.contact-page .form-card .wpforms-submit {
    width: 100% !important;
    height: 52px !important;

    border: 0 !important;
    border-radius: 10px !important;

    background: #1c1713 !important;
    color: #fff !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;

    cursor: pointer !important;
    box-shadow: 0 8px 20px rgba(28, 23, 19, .12) !important;

    transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.contact-page .form-card .wpforms-submit:hover {
    background: #2b2520 !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 24px rgba(28, 23, 19, .18) !important;
}

/* WPForms loading spinner */
.contact-page .form-card .wpforms-submit-spinner {
    margin-left: 8px !important;
}

/* Required star */
.contact-page .form-card .wpforms-required-label {
    color: #c58b62 !important;
}

/* -------------------------------
   Mobile
-------------------------------- */

@media (max-width: 700px) {

    .contact-page .form-card .wpforms-form > .wpforms-field-name,
    .contact-page .form-card .wpforms-form > .wpforms-field-email {
        width: 100% !important;
        display: block !important;
        margin-right: 0 !important;
    }

}
/* =========================================
   CONTACT FORM - WPForms #13
   ========================================= */

/* Make ONLY the fields area a 2-column grid */
#wpforms-form-13 .wpforms-field-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 14px;
    row-gap: 0;
}

/* Name - LEFT COLUMN */
#wpforms-form-13 #wpforms-13-field_3-container {
    grid-column: 1;
}

/* Work Email - RIGHT COLUMN */
#wpforms-form-13 #wpforms-13-field_2-container {
    grid-column: 2;
}

/* Company - FULL WIDTH */
#wpforms-form-13 #wpforms-13-field_4-container {
    grid-column: 1 / -1;
}

/* What can we help you build? - FULL WIDTH */
#wpforms-form-13 #wpforms-13-field_5-container {
    grid-column: 1 / -1;
}

/* Project Details - FULL WIDTH */
#wpforms-form-13 #wpforms-13-field_6-container {
    grid-column: 1 / -1;
}

/* Inputs */
#wpforms-form-13 input,
#wpforms-form-13 select,
#wpforms-form-13 textarea {
    width: 100%;
    box-sizing: border-box;
}

/* Submit button - FULL WIDTH */
#wpforms-form-13 .wpforms-submit-container {
    grid-column: 1 / -1;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    #wpforms-form-13 .wpforms-field-container {
        display: block;
    }

    #wpforms-form-13 .wpforms-field {
        width: 100%;
    }

}