/*
Theme Name: Zikosoft
Theme URI: https://zikosoft.com
Author: Zikosoft
Author URI: https://zikosoft.com
Description: Marketing theme for Zikosoft — an AI-native software studio. Includes a teal-accented home page plus Space Grotesk / Manrope styled About, Services and Contact page templates. Interactivity (case-study tabs, FAQ & industry accordions, animated counters, contact form, scroll reveals) is handled in vanilla JS.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
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;
}
a { color: inherit; text-decoration: none; }
a:hover { color: #c58b62; }
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}.contact-hero{padding:64px 24px 72px}.contact-grid{grid-template-columns:1fr;max-width:650px}.contact-intro h1{font-size:48px}.form-card{padding:32px}.steps-grid{grid-template-columns:1fr}.next-steps{padding:72px 24px}.consultation-section{padding:72px 24px}.consultation-heading{grid-template-columns:1fr;gap:16px}.consultation-heading h2{font-size:36px}.consultant-grid{grid-template-columns:1fr;max-width:620px}.consultant-card{min-height:340px}.contact-cta{padding:54px 24px;flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.home-footer{padding:54px 24px 0}}
@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:40px}.intro-copy{font-size:16px}.form-card{padding:28px 20px}.field-row{grid-template-columns:1fr;gap:0}.section-heading h2{font-size:32px}.consultation-heading h2{font-size:31px}.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:29px}.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}}
