/*
Theme Name: Evalueon
Theme URI: https://evalueon.com/
Author: Evalueon
Description: Lightweight mobile-first one-page theme for Evalueon Smart App Development.
Version: 1.0.2
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: evalueon
*/
:root{--red:#e30613;--ink:#0a1018;--muted:#5e6671;--line:#e7e9ed;--soft:#f7f8fa;--dark:#07111c;--radius:22px;--shadow:0 14px 35px rgba(7,17,28,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.section{padding:86px 0}.eyebrow{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);font-weight:800}.section-title{font-size:clamp(2rem,4vw,3.3rem);line-height:1.03;margin:.45rem 0 1.1rem}.muted{color:var(--muted)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(231,233,237,.75)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{display:block;width:190px;max-height:52px;object-fit:contain}.menu{display:flex;gap:30px;align-items:center;font-weight:650;font-size:.93rem}.menu a:hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;font-weight:750;border:1px solid var(--ink);transition:.2s ease;cursor:pointer}.btn-red{background:var(--red);border-color:var(--red);color:#fff}.btn-red:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(227,6,19,.22)}.btn-light{background:#fff}.menu-toggle{display:none;border:0;background:none;font-size:1.6rem}
.hero{position:relative;overflow:hidden;padding:70px 0 90px;background:linear-gradient(180deg,#fff 0%,#fff 72%,#fbfbfc 100%)}.hero:before{content:"";position:absolute;left:8%;right:8%;top:42px;height:110px;border-top:9px solid #f0f1f3;border-radius:50%;pointer-events:none}.evoluon-bg{position:absolute;left:18%;bottom:12px;width:310px;opacity:.10;filter:grayscale(1);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:48px}.hero h1{font-size:clamp(3rem,6.4vw,5.6rem);line-height:.96;letter-spacing:-.055em;margin:12px 0 24px}.hero h1 span{display:block;color:var(--red)}.hero-copy{font-size:1.12rem;max-width:600px;color:#303842}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 25px}.platforms{display:flex;gap:20px;font-weight:700;font-size:.92rem}.hero-art{position:relative;display:flex;justify-content:center}.hero-art img{width:min(100%,500px);filter:drop-shadow(0 18px 20px rgba(0,0,0,.13));border-radius:34px}
.about-grid{display:grid;grid-template-columns:.9fr 1.5fr;gap:60px;align-items:start}.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.principle{text-align:center;padding:20px 18px;border-left:1px solid var(--line)}.icon{font-size:2rem;color:var(--red);line-height:1}.principle h3{font-size:1rem;margin:14px 0 8px}.principle p{font-size:.9rem;color:var(--muted)}
.expertise{background:var(--soft);text-align:center}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}.card{background:#fff;border:1px solid #eceef1;border-radius:var(--radius);padding:30px 25px;box-shadow:var(--shadow)}.card h3{margin:13px 0 8px;font-size:1.08rem}.card p{color:var(--muted);font-size:.93rem}
.approach{background:radial-gradient(circle at 100% 0,#142537 0,transparent 32%),linear-gradient(110deg,#07111c,#0a1623);color:#fff}.approach .section-title{margin-bottom:35px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;position:relative}.steps:before{content:"";position:absolute;left:8%;right:8%;top:22px;height:1px;background:#52606c}.step{position:relative;text-align:center}.num{width:46px;height:46px;border:2px solid var(--red);border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--dark);font-weight:800}.step p{color:#c5ccd3;font-size:.9rem}
.projects{text-align:center}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;text-align:left}.project{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;border-radius:var(--radius);padding:25px;background:linear-gradient(135deg,#f2efff,#fff);box-shadow:var(--shadow);border:1px solid #eceef1;overflow:hidden}.project.route{background:linear-gradient(135deg,#e7f7ef,#fff)}.project img{height:310px;width:165px;object-fit:cover;object-position:center;border-radius:25px;box-shadow:0 14px 28px rgba(0,0,0,.15)}.status{color:var(--red);font-weight:800;font-size:.75rem;letter-spacing:.12em}.project h3{font-size:2rem;margin:4px 0}.project p{color:#4e5660}
.cta{padding:0 0 65px}.cta-box{position:relative;overflow:hidden;border-radius:24px;padding:38px 46px;background:linear-gradient(110deg,#350307,#9e0711 52%,#18060a);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-box:after{content:"";position:absolute;right:4%;top:16%;width:280px;height:80px;border-top:5px solid rgba(255,30,45,.55);border-radius:50%}.cta-box h2{font-size:2rem;margin:0}.cta-box p{margin:.4rem 0 0;color:#f1dadd;max-width:640px}
.contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d8dce1;border-radius:10px;padding:14px 15px;font:inherit;background:#fff}.contact-form textarea{min-height:145px;resize:vertical}.check{display:flex;align-items:flex-start;gap:10px;font-size:.86rem;color:#555}.notice{padding:12px 14px;border-radius:10px;background:#edf8f0;color:#185b2c;margin-bottom:16px}.error{background:#fff0f0;color:#8b1010}.hp{position:absolute!important;left:-9999px!important}
.site-footer{background:#06111d;color:#d7dde3;padding:42px 0}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:35px;align-items:start}.site-footer .brand img{filter:none}.footer-links{display:grid;gap:8px}.site-footer small{color:#98a5b2}.legal{padding:70px 0}.legal h1{font-size:clamp(2.4rem,5vw,4rem)}.legal h2{margin-top:2.2rem}.legal h3{margin-top:1.6rem}.legal p,.legal li{color:#3f4852}.legal .note{background:#f7f8fa;border-left:4px solid var(--red);padding:16px 18px}
@media(max-width:900px){.menu{display:none}.menu.open{display:flex;position:absolute;top:76px;left:0;right:0;background:#fff;padding:24px 20px;flex-direction:column;border-bottom:1px solid var(--line)}.menu-toggle{display:block}.header-cta{display:none}.hero{padding-top:46px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{font-size:1.02rem}.hero-art{order:2}.evoluon-bg{left:5%;width:240px;opacity:.07}.about-grid{grid-template-columns:1fr}.principles{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.steps:before{display:none}.project-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1160px)}.section{padding:64px 0}.brand img{width:160px}.hero h1{font-size:3.25rem}.hero-grid{gap:18px}.hero-art img{width:100%;border-radius:22px}.actions .btn{width:100%}.principles,.cards,.steps{grid-template-columns:1fr}.principle{border-left:0;border-top:1px solid var(--line)}.project{grid-template-columns:105px 1fr;padding:18px;gap:18px}.project img{width:105px;height:210px;border-radius:18px}.project h3{font-size:1.55rem}.cta-box{padding:30px 24px;display:block}.cta-box .btn{margin-top:22px}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.hero:before{top:30px}.platforms{font-size:.85rem}}

/* v1.0.1 mobile fixes */
.legal{display:block;visibility:visible;opacity:1;overflow:visible}
.legal>.wrap{display:block;visibility:visible;opacity:1;overflow:visible;min-width:0}
.check{min-width:0;width:100%;max-width:100%}
.check input[type="checkbox"]{flex:0 0 auto;margin-top:.2em}
.check span{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.privacy-page,.privacy-content{display:block!important;visibility:visible!important;opacity:1!important}
@media(max-width:560px){
  .legal{padding:48px 0}
  .legal>.wrap{width:min(100% - 28px,1160px);margin-inline:auto}
  .legal h1,.legal h2,.legal h3,.legal p,.legal li{max-width:100%;overflow-wrap:break-word}
  .check{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:10px}
  .check span{width:100%;white-space:normal}
  .privacy-page,.privacy-content{height:auto!important;max-height:none!important;overflow:visible!important}
}

/* v1.0.5 definitive layout corrections */

/* Desktop/tablet: vertically center the four About statements
   against the complete text column on the left. */
@media(min-width:901px){
  .about-grid{
    align-items:center !important;
  }
  .about-grid .principles{
    align-self:center !important;
  }
}

/* Contact privacy checkbox: keep checkbox and sentence together
   across the full form width on desktop/tablet. */
.contact-form .check.full{
  grid-column:1 / -1 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  text-align:left !important;
}
.contact-form .check.full input[type="checkbox"]{
  flex:0 0 auto !important;
  width:auto !important;
  margin:.2em 0 0 0 !important;
}
.contact-form .check.full span{
  flex:1 1 auto !important;
  display:block !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  text-align:left !important;
}

/* Mobile: preserve the already-approved wrapping behaviour. */
@media(max-width:560px){
  .contact-form .check.full{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    column-gap:10px !important;
    align-items:start !important;
  }
  .contact-form .check.full span{
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }
}
