/* ============================================================
   iDjEV Web Solutions — Main Stylesheet
   Version 1.0 · 2026
   Building Digital. Building Trust.
   ============================================================ */

/* === CSS CUSTOM PROPERTIES === */
:root {
  --navy:        #0B2E6E;
  --navy-deep:   #061A42;
  --navy-mid:    #0F3A7A;
  --gold:        #C89B3C;
  --gold-light:  #E8BC5A;
  --gold-dim:    rgba(200,155,60,0.12);
  --red:         #C0272D;
  --cream:       #FAF7F2;
  --cream-dk:    #EDE8DF;
  --white:       #FFFFFF;
  --text:        #0D1B33;
  --muted:       #5E6A82;
  --border:      rgba(11,46,110,0.12);
  --border-lt:   rgba(255,255,255,0.10);

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'DM Sans', Arial, sans-serif;

  --nav-h:       72px;
  --section-pad: clamp(80px,10vw,120px) clamp(24px,6vw,80px);
  --radius-sm:   3px;
  --radius:      6px;

  --t-fast: 0.18s ease;
  --t-med:  0.32s ease;
  --t-slow: 0.55s cubic-bezier(0.16,1,0.3,1);
}

/* === RESET === */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
body{
  font-family:var(--font-body);
  color:var(--text);
  background:var(--white);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}
ul{list-style:none;}
input,select,textarea{font-family:inherit;}

/* === TYPOGRAPHY === */
.eyebrow{
  font-size:.72rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);
  display:flex;align-items:center;gap:10px;
  margin-bottom:16px;
}
.eyebrow::before{
  content:'';display:block;
  width:28px;height:1.5px;
  background:var(--gold);flex-shrink:0;
}
.section-heading{
  font-family:var(--font-display);
  font-size:clamp(2rem,4.5vw,3.6rem);
  font-weight:700;line-height:1.1;
  margin-bottom:20px;
}
.section-sub{
  font-size:1.05rem;color:var(--muted);
  max-width:560px;font-weight:300;
  line-height:1.75;margin-bottom:48px;
}
.lead{font-size:1.05rem;font-weight:300;line-height:1.75;}

/* === BUTTONS === */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 30px;
  font-family:var(--font-body);font-size:.88rem;
  font-weight:600;letter-spacing:.04em;
  border-radius:var(--radius-sm);
  transition:all var(--t-med);white-space:nowrap;cursor:pointer;
}
.btn-primary{background:var(--gold);color:var(--navy);border:2px solid var(--gold);}
.btn-primary:hover{background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-2px);}
.btn-outline-white{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.32);}
.btn-outline-white:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.05);}
.btn-outline-navy{background:transparent;color:var(--navy);border:1.5px solid rgba(11,46,110,.25);}
.btn-outline-navy:hover{border-color:var(--navy);background:rgba(11,46,110,.04);}
.btn-cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}

/* === NAVIGATION === */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--nav-h);
  display:flex;align-items:center;
  padding:0 clamp(24px,5vw,60px);
  transition:background var(--t-med),box-shadow var(--t-med);
}
.nav--transparent{background:transparent;}
.nav--solid{
  background:var(--navy-deep);
  box-shadow:0 1px 0 rgba(200,155,60,.15);
}
.nav-inner{
  display:flex;align-items:center;
  justify-content:space-between;
  width:100%;max-width:1280px;margin:0 auto;
}
.nav-logo{display:flex;align-items:center;flex-shrink:0;}
.nav-logo svg{height:42px;width:auto;}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-link{
  font-size:.86rem;font-weight:500;
  color:rgba(255,255,255,.72);
  transition:color var(--t-fast);
  position:relative;padding-bottom:3px;
}
.nav-link::after{
  content:'';position:absolute;
  bottom:-2px;left:0;
  width:0;height:1.5px;
  background:var(--gold);
  transition:width var(--t-med);
}
.nav-link:hover{color:var(--white);}
.nav-link:hover::after{width:100%;}
.nav-link.active{color:var(--white);}
.nav-link.active::after{width:100%;}
.nav-cta{margin-left:16px;}
.nav-hamburger{
  display:none;flex-direction:column;
  gap:5px;cursor:pointer;padding:4px;
}
.nav-hamburger span{
  display:block;width:24px;height:2px;
  background:var(--white);transition:all var(--t-med);
}
.nav-mobile{
  display:none;position:fixed;inset:0;
  background:var(--navy-deep);z-index:999;
  flex-direction:column;
  align-items:center;justify-content:center;gap:28px;
}
.nav-mobile.open{display:flex;}
.nav-mobile .nav-link{
  font-size:1.8rem;
  font-family:var(--font-display);font-weight:700;
  color:rgba(255,255,255,.75);
}
.nav-mobile .nav-link:hover{color:var(--gold);}
.nav-mobile-close{
  position:absolute;top:24px;right:24px;
  font-size:1.6rem;color:var(--white);
  cursor:pointer;opacity:.6;
  transition:opacity var(--t-fast);
}
.nav-mobile-close:hover{opacity:1;}

/* === HERO === */
.hero{
  min-height:100vh;
  background:var(--navy-deep);
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;
  padding:calc(var(--nav-h) + 60px) clamp(24px,6vw,80px) 100px;
}
.hero-pattern{
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 4L56 30L30 56L4 30Z' fill='none' stroke='rgba(200,155,60,0.07)' stroke-width='0.7'/%3E%3Cpath d='M30 14L46 30L30 46L14 30Z' fill='none' stroke='rgba(200,155,60,0.045)' stroke-width='0.5'/%3E%3Ccircle cx='30' cy='30' r='2.5' fill='none' stroke='rgba(200,155,60,0.04)' stroke-width='0.5'/%3E%3Cline x1='30' y1='0' x2='30' y2='60' stroke='rgba(200,155,60,0.022)' stroke-width='0.4'/%3E%3Cline x1='0' y1='30' x2='60' y2='30' stroke='rgba(200,155,60,0.022)' stroke-width='0.4'/%3E%3C/svg%3E");
  pointer-events:none;
}
.hero-glow{
  position:absolute;top:-200px;right:-150px;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(200,155,60,.07) 0%,transparent 65%);
  pointer-events:none;
}
.hero-glow-2{
  position:absolute;bottom:-150px;left:-100px;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(15,58,122,.55) 0%,transparent 70%);
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:2;
  max-width:1280px;margin:0 auto;width:100%;
}
.hero-headline{
  font-family:var(--font-display);
  font-size:clamp(3.4rem,8.5vw,7.8rem);
  font-weight:700;line-height:.96;
  color:var(--white);
  margin-bottom:36px;
  letter-spacing:-.025em;
}
.hero-headline .line-gold{color:var(--gold);display:block;font-style:italic;}
.hero-headline .line-white{display:block;}
.hero-headline .line-indent{
  display:block;
  padding-left:clamp(24px,7vw,100px);
}
.hero-sub{
  font-size:clamp(.95rem,1.5vw,1.15rem);
  color:rgba(255,255,255,.58);
  max-width:500px;font-weight:300;
  line-height:1.75;margin-bottom:44px;
}
.hero-scroll{
  position:absolute;
  bottom:36px;left:clamp(24px,6vw,80px);
  display:flex;align-items:center;gap:12px;
  color:rgba(255,255,255,.28);
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  z-index:2;
  animation:scrollBob 2.4s ease-in-out infinite;
}
.hero-scroll-line{
  width:40px;height:1px;
  background:linear-gradient(to right,var(--gold),transparent);
}
@keyframes scrollBob{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

/* === TRUST BAR === */
.trust-bar{
  background:var(--navy);
  padding:28px clamp(24px,6vw,80px);
  border-top:1px solid rgba(200,155,60,.14);
  border-bottom:1px solid rgba(200,155,60,.14);
}
.trust-bar-inner{
  max-width:1280px;margin:0 auto;
  display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:24px;
}
.trust-item{display:flex;align-items:center;gap:12px;}
.trust-num{
  font-family:var(--font-display);
  font-size:1.9rem;font-weight:700;
  color:var(--gold);line-height:1;
}
.trust-label{
  font-size:.78rem;color:rgba(255,255,255,.52);
  line-height:1.4;max-width:110px;
}
.trust-divider{width:1px;height:36px;background:rgba(255,255,255,.07);}

/* === SECTIONS (shared) === */
.section{padding:var(--section-pad);}
.section-inner{max-width:1280px;margin:0 auto;}
.section-header{margin-bottom:56px;}
.section--dark{background:var(--navy-deep);color:var(--white);}
.section--dark .section-heading,.section--dark h2{color:var(--white);}
.section--dark .section-sub{color:rgba(255,255,255,.52);}
.section--navy{background:var(--navy);color:var(--white);}
.section--navy .section-heading,.section--navy h2{color:var(--white);}
.section--navy .section-sub{color:rgba(255,255,255,.52);}
.section--cream{background:var(--cream);}
.section--white{background:var(--white);}

/* === PROBLEM CARDS === */
.problem-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:2px;background:var(--cream-dk);
}
.problem-card{
  background:var(--white);padding:36px 32px;
  transition:background var(--t-fast);
}
.problem-card:hover{background:var(--cream);}
.problem-icon{
  width:48px;height:48px;background:var(--navy);
  border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;font-size:1.3rem;
}
.problem-card h3{
  font-family:var(--font-display);
  font-size:1.3rem;font-weight:700;
  color:var(--navy);margin-bottom:10px;
}
.problem-card p{font-size:.88rem;color:var(--muted);line-height:1.65;}

/* === SERVICES CARDS === */
.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:20px;
}
.service-card{
  border:1.5px solid var(--border);
  padding:36px 28px 32px;
  border-radius:var(--radius);
  transition:all var(--t-med);
  position:relative;overflow:hidden;
}
.service-card::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:3px;
  background:var(--gold);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--t-med);
}
.service-card:hover{
  border-color:rgba(200,155,60,.35);
  box-shadow:0 12px 40px rgba(11,46,110,.1);
  transform:translateY(-4px);
}
.service-card:hover::before{transform:scaleX(1);}
.service-card-bg-num{
  font-family:var(--font-display);
  font-size:5rem;font-weight:700;
  color:rgba(11,46,110,.05);
  line-height:1;
  position:absolute;top:8px;right:16px;
  pointer-events:none;
}
.service-icon{font-size:1.8rem;margin-bottom:20px;display:block;}
.service-card h3{
  font-family:var(--font-display);
  font-size:1.4rem;font-weight:700;
  color:var(--navy);margin-bottom:10px;
}
.service-card p{
  font-size:.87rem;color:var(--muted);
  line-height:1.65;margin-bottom:20px;
}
.service-card-link{
  font-size:.82rem;font-weight:600;
  color:var(--navy);
  display:inline-flex;align-items:center;gap:6px;
  transition:gap var(--t-fast),color var(--t-fast);
}
.service-card:hover .service-card-link{gap:11px;color:var(--gold);}

/* === PRINCIPLES === */
.principles-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:2px;
  background:rgba(255,255,255,.07);
}
.principle-card{
  padding:36px 30px;
  background:rgba(255,255,255,.03);
  transition:background var(--t-fast);
}
.principle-card:hover{background:rgba(255,255,255,.06);}
.principle-num{
  font-family:var(--font-display);
  font-size:4.5rem;font-weight:700;
  color:rgba(200,155,60,.1);
  line-height:1;margin-bottom:12px;
}
.principle-bar{
  width:28px;height:2px;
  background:var(--red);margin-bottom:16px;
}
.principle-title{
  font-family:var(--font-display);
  font-size:1.2rem;font-weight:700;
  color:var(--gold);margin-bottom:10px;
}
.principle-body{
  font-size:.84rem;
  color:rgba(255,255,255,.58);
  line-height:1.68;
}

/* === PROCESS === */
.process-row{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;position:relative;
}
.process-row::before{
  content:'';position:absolute;
  top:23px;left:12%;right:12%;
  height:1px;
  background:linear-gradient(to right,transparent,rgba(200,155,60,.25),transparent);
}
.process-step{text-align:center;padding:0 12px 0;}
.process-dot{
  width:46px;height:46px;
  background:var(--white);
  border:2px solid rgba(200,155,60,.3);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
  font-family:var(--font-display);
  font-size:1rem;font-weight:700;
  color:var(--navy);
  transition:all var(--t-med);
  position:relative;z-index:1;
}
.process-step:hover .process-dot{
  background:var(--gold);
  border-color:var(--gold);
}
.process-step h4{
  font-family:var(--font-display);
  font-size:1rem;font-weight:700;
  color:var(--navy);margin-bottom:6px;
}
.process-step p{font-size:.78rem;color:var(--muted);line-height:1.5;}

/* === CREDENTIALS / STATS === */
.stats-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2px;
  background:rgba(255,255,255,.08);
  margin-bottom:48px;
}
.stat-block{
  padding:28px 24px;
  background:rgba(255,255,255,.03);
  text-align:center;
  transition:background var(--t-fast);
}
.stat-block:hover{background:rgba(255,255,255,.06);}
.stat-num{
  font-family:var(--font-display);
  font-size:2.8rem;font-weight:700;
  color:var(--gold);line-height:1;
  margin-bottom:8px;
}
.stat-label{font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.4;}

.cert-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}
.cert-item{
  padding:14px 18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-left:3px solid var(--gold);
  border-radius:var(--radius-sm);
  transition:background var(--t-fast);
}
.cert-item:hover{background:rgba(255,255,255,.07);}
.cert-title{font-size:.82rem;color:var(--white);font-weight:500;margin-bottom:3px;}
.cert-issuer{font-size:.72rem;color:rgba(255,255,255,.38);}
.cert-year{font-size:.68rem;color:var(--gold);font-weight:600;margin-top:3px;}

/* === CTA SECTION === */
.cta-section{
  background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 60%,var(--navy-deep) 100%);
  padding:var(--section-pad);
  text-align:center;
  position:relative;overflow:hidden;
}
.cta-section::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 4L56 30L30 56L4 30Z' fill='none' stroke='rgba(200,155,60,0.05)' stroke-width='0.5'/%3E%3C/svg%3E");
  pointer-events:none;
}
.cta-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;}
.cta-section .section-heading{color:var(--white);}
.cta-section .lead{color:rgba(255,255,255,.56);margin-bottom:40px;}
.cta-guarantee{
  margin-top:36px;
  padding:16px 28px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  font-size:.82rem;
  color:rgba(255,255,255,.5);
  display:inline-block;
}
.cta-guarantee strong{color:var(--gold);}

/* === CASE STUDY CARD === */
.case-study-card{
  background:var(--white);
  border:1.5px solid var(--border);
  border-radius:var(--radius);
  padding:40px;
  display:grid;
  grid-template-columns:200px 1fr;
  gap:40px;align-items:start;
  transition:box-shadow var(--t-med);
  text-decoration:none;color:inherit;
}
.case-study-card:hover{
  box-shadow:0 16px 56px rgba(11,46,110,.12);
  border-color:rgba(200,155,60,.3);
}
.cs-sector-badge{
  font-size:.68rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);
  background:rgba(200,155,60,.1);
  padding:4px 12px;border-radius:20px;
  display:inline-block;margin-bottom:14px;
}
.case-study-card h3{
  font-family:var(--font-display);
  font-size:1.7rem;font-weight:700;
  color:var(--navy);margin-bottom:12px;
}
.case-study-card p{font-size:.88rem;color:var(--muted);line-height:1.65;}
.cs-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.cs-tag{
  font-size:.72rem;font-weight:500;
  padding:4px 12px;border-radius:20px;
  background:var(--cream);
  color:var(--navy);
  border:1px solid var(--border);
}
.cs-side-label{
  font-size:.68rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:12px;
}
.cs-deliverable-list{list-style:none;}
.cs-deliverable-list li{
  font-size:.82rem;color:var(--text);
  padding:6px 0;
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:8px;
}
.cs-deliverable-list li:last-child{border-bottom:none;}
.cs-deliverable-list li::before{
  content:'✓';color:var(--gold);
  font-weight:700;flex-shrink:0;
}

/* === FOOTER === */
.footer{
  background:var(--navy-deep);
  padding:80px clamp(24px,6vw,80px) 40px;
  position:relative;overflow:hidden;
}
.footer-wordmark-bg{
  position:absolute;
  bottom:-32px;right:-16px;
  font-family:var(--font-display);
  font-size:clamp(6rem,18vw,20rem);
  font-weight:700;
  color:rgba(255,255,255,.012);
  line-height:1;pointer-events:none;
  user-select:none;white-space:nowrap;
  letter-spacing:-.04em;
}
.footer-inner{max-width:1280px;margin:0 auto;position:relative;z-index:2;}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.6fr;
  gap:56px;margin-bottom:56px;
}
.footer-bio{
  font-size:.86rem;
  color:rgba(255,255,255,.42);
  line-height:1.7;margin-top:20px;
  max-width:280px;
}
.footer-tagline{
  font-size:.72rem;
  color:rgba(255,255,255,.25);
  font-style:italic;margin-top:8px;
}
.footer-social{display:flex;gap:10px;margin-top:20px;}
.footer-social-link{
  width:36px;height:36px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;color:rgba(255,255,255,.45);
  transition:all var(--t-fast);
  text-decoration:none;
}
.footer-social-link:hover{
  border-color:var(--gold);
  color:var(--gold);
  background:rgba(200,155,60,.07);
}
.footer-col-title{
  font-size:.68rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px;
}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-link{
  font-size:.86rem;
  color:rgba(255,255,255,.48);
  transition:color var(--t-fast);
}
.footer-link:hover{color:var(--white);}
.footer-contact-row{
  display:flex;gap:10px;align-items:flex-start;
  font-size:.84rem;color:rgba(255,255,255,.48);
  margin-bottom:12px;
}
.footer-contact-row .icon{color:var(--gold);flex-shrink:0;margin-top:1px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.05);
  padding-top:28px;
  display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:12px;
}
.footer-bottom p{font-size:.78rem;color:rgba(255,255,255,.26);}
.footer-bottom a{color:rgba(255,255,255,.38);transition:color var(--t-fast);}
.footer-bottom a:hover{color:var(--white);}
.footer-legal{display:flex;gap:20px;}

/* === PAGE HERO (inner pages) === */
.page-hero{
  min-height:42vh;
  background:var(--navy-deep);
  display:flex;align-items:flex-end;
  padding:calc(var(--nav-h) + 60px) clamp(24px,6vw,80px) 60px;
  position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 4L56 30L30 56L4 30Z' fill='none' stroke='rgba(200,155,60,0.06)' stroke-width='0.5'/%3E%3C/svg%3E");
  pointer-events:none;
}
.page-hero-inner{
  position:relative;z-index:2;
  max-width:1280px;margin:0 auto;width:100%;
}
.page-hero-inner .section-heading{color:var(--white);margin-bottom:12px;}
.page-hero-inner .lead{color:rgba(255,255,255,.52);max-width:520px;}

/* === CONTACT PAGE === */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:72px;align-items:start;}
.contact-method{
  display:flex;gap:16px;align-items:flex-start;
  padding:22px 20px;
  border:1.5px solid var(--border);
  border-radius:var(--radius);
  margin-bottom:14px;
  transition:all var(--t-med);
  text-decoration:none;
}
.contact-method:hover{
  border-color:rgba(200,155,60,.4);
  box-shadow:0 4px 20px rgba(11,46,110,.08);
  transform:translateX(4px);
}
.contact-method-icon{
  width:46px;height:46px;
  background:var(--navy);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  font-size:1.15rem;flex-shrink:0;
}
.contact-method-title{
  font-family:var(--font-display);
  font-size:1.05rem;font-weight:700;
  color:var(--navy);margin-bottom:2px;
}
.contact-method-detail{font-size:.84rem;color:var(--muted);}
.contact-assurance{
  background:var(--cream);
  border-left:3px solid var(--gold);
  padding:20px 22px;
  border-radius:var(--radius-sm);
  margin-top:24px;
}
.contact-assurance p{font-size:.82rem;color:var(--muted);line-height:1.6;}
.contact-assurance strong{color:var(--navy);}

/* === FORM === */
.form-row{margin-bottom:18px;}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;}
.form-label{
  display:block;font-size:.76rem;font-weight:600;
  color:var(--text);letter-spacing:.06em;
  text-transform:uppercase;margin-bottom:7px;
}
.form-input,.form-select,.form-textarea{
  width:100%;padding:12px 15px;
  border:1.5px solid var(--border);
  border-radius:var(--radius-sm);
  font-family:var(--font-body);font-size:.92rem;
  color:var(--text);background:var(--white);
  transition:border-color var(--t-fast);
  outline:none;-webkit-appearance:none;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold);}
.form-textarea{resize:vertical;min-height:120px;line-height:1.6;}
.form-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235E6A82' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px;cursor:pointer;
}
.form-note{font-size:.78rem;color:var(--muted);margin-top:10px;}
.form-status{
  padding:14px 18px;border-radius:var(--radius-sm);
  font-size:.85rem;margin-top:16px;display:none;
}
.form-status.show{display:block;}
.form-status--success{background:rgba(45,125,70,.1);color:#1e6b3a;border:1px solid rgba(45,125,70,.25);}
.form-status--error{background:rgba(192,39,45,.1);color:var(--red);border:1px solid rgba(192,39,45,.25);}

/* === ABOUT PAGE SPECIFICS === */
.about-story{max-width:720px;}
.about-story p{margin-bottom:20px;font-size:1rem;line-height:1.8;color:var(--text);}
.about-story p:last-child{margin-bottom:0;}
.about-founder-note{
  background:var(--navy-deep);
  border-radius:var(--radius);
  padding:40px;
  border-left:4px solid var(--gold);
  position:relative;overflow:hidden;
}
.about-founder-note::before{
  content:'\201C';
  font-family:var(--font-display);
  font-size:10rem;font-weight:700;
  color:rgba(200,155,60,.08);
  position:absolute;top:-20px;left:20px;
  line-height:1;pointer-events:none;
}
.founder-note-text{
  position:relative;z-index:1;
  font-size:.96rem;color:rgba(255,255,255,.72);
  line-height:1.8;font-style:italic;
}
.founder-note-sig{
  font-family:var(--font-display);
  font-size:1.1rem;font-weight:700;
  color:var(--gold);
  margin-top:20px;
  display:block;
}
.founder-note-role{
  font-size:.78rem;color:rgba(255,255,255,.4);
  margin-top:3px;display:block;
}

/* === MISSION / VISION BLOCKS === */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(255,255,255,.08);}
.mv-block{padding:40px;background:rgba(255,255,255,.03);}
.mv-block-label{
  font-size:.68rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--red);margin-bottom:16px;
}
.mv-block p{
  font-family:var(--font-display);
  font-size:1.2rem;font-weight:600;
  color:rgba(255,255,255,.82);
  line-height:1.6;font-style:italic;
}

/* === NAME PRONUNCIATION === */
.name-card{
  background:var(--cream);
  border-radius:var(--radius);
  padding:28px 32px;
  border-left:4px solid var(--red);
  display:flex;align-items:center;gap:28px;
  flex-wrap:wrap;
}
.name-display{
  font-family:var(--font-display);
  font-size:2.8rem;font-weight:700;
  color:var(--navy);
}
.name-display .i-red{color:var(--red);}
.name-phonetic{
  font-size:.82rem;color:var(--muted);
  line-height:1.65;max-width:400px;
}
.name-phonetic strong{color:var(--navy);}

/* === ANIMATIONS === */
.fade-up{
  opacity:0;transform:translateY(30px);
  transition:opacity .6s ease,transform .6s cubic-bezier(.16,1,.3,1);
}
.fade-up.visible{opacity:1;transform:translateY(0);}
.delay-1{transition-delay:.1s;}
.delay-2{transition-delay:.2s;}
.delay-3{transition-delay:.3s;}
.delay-4{transition-delay:.4s;}
.delay-5{transition-delay:.5s;}

/* === WHATSAPP FLOAT === */
.wa-float{
  position:fixed;bottom:28px;right:28px;z-index:900;
  width:54px;height:54px;
  background:#25D366;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  transition:transform var(--t-med),box-shadow var(--t-med);
  text-decoration:none;
}
.wa-float:hover{transform:scale(1.1);box-shadow:0 8px 32px rgba(37,211,102,.5);}
.wa-float svg{width:26px;height:26px;fill:white;}

/* === RESPONSIVE === */
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px;}
  .stats-row{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .process-row{grid-template-columns:1fr 1fr;gap:24px;}
  .process-row::before{display:none;}
  .contact-grid{grid-template-columns:1fr;gap:40px;}
  .about-story{max-width:100%;}
  .mv-grid{grid-template-columns:1fr;}
  .case-study-card{grid-template-columns:1fr;}
}
@media(max-width:768px){
  :root{--section-pad:64px 24px;}
  .nav-links,.nav-cta{display:none;}
  .nav-hamburger{display:flex;}
  .trust-bar-inner{justify-content:center;}
  .trust-divider{display:none;}
  .process-row{grid-template-columns:1fr;}
  .form-row-2{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .footer-wordmark-bg{font-size:5rem;}
  .btn-cta-row{flex-direction:column;align-items:flex-start;}
  .name-card{flex-direction:column;gap:12px;}
}
@media(max-width:480px){
  .hero-headline{font-size:clamp(2.6rem,13vw,3.6rem);}
  .principles-grid,.stats-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-legal{flex-direction:column;gap:8px;}
}

/* ============================================================
   VISUAL LAYER — v1.1 additions
   Hero device mockup · Service illustrations · Founder photo
   ============================================================ */

/* === HERO TWO-COLUMN LAYOUT === */
.hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.hero-content { /* wraps all text/cta in hero */ }
.hero-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* === BROWSER DEVICE MOCKUP === */
.browser-mock {
  width: 100%;
  max-width: 440px;
  background: #1A1A2E;
  border-radius: 10px;
  overflow: visible;
  box-shadow: 0 48px 96px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.06);
  animation: mockFloat 5s ease-in-out infinite;
  position: relative;
  z-index: 2;
  border-radius: 10px;
  overflow: hidden;
}
@keyframes mockFloat {
  0%,100% { transform: translateY(0) rotate(-0.8deg); }
  50%      { transform: translateY(-10px) rotate(-0.8deg); }
}
.browser-chrome {
  background: #2D2D3E;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.chrome-dots { display: flex; gap: 5px; }
.chrome-dot  { width: 9px; height: 9px; border-radius: 50%; }
.chrome-dot.r { background: #FF5F57; }
.chrome-dot.y { background: #FFBD2E; }
.chrome-dot.g { background: #28CA41; }
.chrome-url {
  flex: 1;
  background: rgba(255,255,255,0.07);
  border-radius: 4px;
  padding: 3px 10px;
  font-size: 10px;
  color: rgba(255,255,255,0.42);
  font-family: monospace;
}
.browser-screen { background: #F0F2F8; overflow: hidden; }

/* Animated website elements inside browser */
.mock-nav {
  background: #061A42;
  padding: 8px 14px;
  display: flex; align-items: center; justify-content: space-between;
  opacity: 0;
  animation: mockSlideDown 0.4s ease 0.4s forwards;
}
.msn-logo  { width: 44px; height: 7px; background: #C89B3C; border-radius: 2px; }
.msn-links { display: flex; gap: 8px; }
.msn-link  { width: 26px; height: 5px; background: rgba(255,255,255,0.28); border-radius: 2px; opacity:0; }
.msn-link:nth-child(1) { animation: mockFadeIn 0.25s ease 0.65s forwards; }
.msn-link:nth-child(2) { animation: mockFadeIn 0.25s ease 0.80s forwards; }
.msn-link:nth-child(3) { animation: mockFadeIn 0.25s ease 0.95s forwards; }
.msn-cta   { width: 38px; height: 13px; background: #C89B3C; border-radius: 2px; opacity:0; animation: mockFadeIn 0.25s ease 1.05s forwards; }

.mock-hero-block {
  background: linear-gradient(135deg, #061A42, #0F3A7A);
  padding: 18px 14px 14px;
}
.mhb-tag   { width: 44px; height: 6px; background: #C89B3C; border-radius: 10px; margin-bottom: 9px; opacity:0; animation: mockFadeIn 0.3s ease 1.2s forwards; }
.mhb-h1    { height: 9px; background: rgba(255,255,255,0.82); border-radius: 3px; margin-bottom: 5px; opacity:0; }
.mhb-h1.a  { width: 82%; animation: mockSlideRight 0.35s ease 1.38s forwards; }
.mhb-h1.b  { width: 64%; animation: mockSlideRight 0.35s ease 1.55s forwards; }
.mhb-sub   { height: 5px; background: rgba(255,255,255,0.35); border-radius: 2px; margin-bottom: 4px; opacity:0; }
.mhb-sub.a { width: 92%; animation: mockFadeIn 0.3s ease 1.7s forwards; }
.mhb-sub.b { width: 76%; animation: mockFadeIn 0.3s ease 1.85s forwards; }
.mhb-btns  { display: flex; gap: 7px; margin-top: 11px; }
.mhb-btn   { height: 14px; border-radius: 2px; opacity:0; }
.mhb-btn.p { width: 58px; background: #C89B3C; animation: mockFadeIn 0.3s ease 2.0s forwards; }
.mhb-btn.o { width: 48px; border: 1px solid rgba(255,255,255,0.3); background: transparent; animation: mockFadeIn 0.3s ease 2.15s forwards; }

.mock-strip {
  background: #C89B3C;
  padding: 7px 14px;
  display: flex; justify-content: space-between;
  opacity:0; animation: mockFadeIn 0.35s ease 2.3s forwards;
}
.mock-strip-item { width: 30px; height: 7px; background: rgba(11,46,110,0.28); border-radius: 2px; }

.mock-cards {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 6px; padding: 10px 12px 12px;
}
.mock-card {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  height: 44px;
  opacity:0;
}
.mock-card:nth-child(1) { animation: mockFadeUp 0.35s ease 2.5s forwards; }
.mock-card:nth-child(2) { animation: mockFadeUp 0.35s ease 2.68s forwards; }
.mock-card:nth-child(3) { animation: mockFadeUp 0.35s ease 2.86s forwards; }

/* Floating mobile device */
.mobile-mock {
  position: absolute;
  bottom: -16px; right: -20px;
  width: 76px;
  background: #1A1A2E;
  border-radius: 8px;
  padding: 5px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.45);
  z-index: 3;
  animation: mockFloat 5s ease-in-out 1.2s infinite;
  opacity:0; animation: mobileFadeIn 0.4s ease 3.0s forwards, mockFloat 5s ease-in-out 3.4s infinite;
}
.mobile-screen { background: white; border-radius: 4px; overflow: hidden; }
.mm-top  { background: #061A42; height: 9px; }
.mm-body { padding: 5px; }
.mm-line { height: 4px; background: #e5e7eb; border-radius: 2px; margin-bottom: 3px; animation: mockPulse 2s ease 3.5s infinite; }
.mm-line.s { width: 68%; }
.mm-btn  { width: 36px; height: 7px; background: #C89B3C; border-radius: 2px; margin-top: 5px; }

/* Floating badges */
.badge-ssl {
  position: absolute;
  top: -14px; left: -16px;
  background: white;
  border: 1px solid rgba(11,46,110,0.12);
  border-radius: var(--radius);
  padding: 7px 12px;
  display: flex; align-items: center; gap: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  font-size: 0.72rem; font-weight: 600;
  color: var(--navy); z-index: 4;
  opacity:0; animation: badgeIn 0.4s ease 3.2s forwards, badgeFloat 4s ease-in-out 3.6s infinite;
}
.badge-ssl .icon { font-size: 0.85rem; }

.badge-perf {
  position: absolute;
  bottom: 28px; left: -28px;
  background: var(--navy);
  border-radius: var(--radius);
  padding: 10px 14px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(11,46,110,0.35);
  z-index: 4;
  opacity:0; animation: badgeIn 0.4s ease 3.5s forwards, badgeFloat 4s ease-in-out 4s infinite;
}
.badge-perf-num  { display: block; font-family: var(--font-display); font-size: 1.55rem; font-weight: 700; color: var(--gold); line-height: 1; }
.badge-perf-text { display: block; font-size: 0.62rem; color: rgba(255,255,255,0.45); text-transform: uppercase; letter-spacing: 0.1em; margin-top: 2px; }

/* Keyframes */
@keyframes mockSlideDown  { from { opacity:0; transform: translateY(-8px); } to { opacity:1; transform: translateY(0); } }
@keyframes mockSlideRight { from { opacity:0; transform: translateX(-8px); } to { opacity:1; transform: translateX(0); } }
@keyframes mockFadeIn     { from { opacity:0; } to { opacity:1; } }
@keyframes mockFadeUp     { from { opacity:0; transform: translateY(6px); } to { opacity:1; transform: translateY(0); } }
@keyframes mockPulse      { 0%,100% { background: #e5e7eb; } 50% { background: #d0d8e4; } }
@keyframes mobileFadeIn   { to { opacity:1; } }
@keyframes badgeIn        { to { opacity:1; } }
@keyframes badgeFloat     { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

/* === SERVICE CARD SVG ILLUSTRATIONS === */
.service-illus {
  width: 100%;
  height: 110px;
  margin-bottom: 20px;
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cream);
}
.service-illus svg {
  width: auto;
  height: 88px;
  transition: transform var(--t-med);
}
.service-card:hover .service-illus svg { transform: scale(1.05); }

/* === FOUNDER PHOTO SECTION === */
.founder-photo-section {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 56px;
  align-items: start;
  margin-bottom: 64px;
}
.founder-photo-frame {
  position: relative;
}
.founder-photo-img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top center;
  border-radius: var(--radius);
  display: block;
  filter: grayscale(8%) contrast(1.05);
}
.founder-photo-placeholder {
  width: 100%;
  aspect-ratio: 3/4;
  background: var(--navy);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 2px dashed rgba(200,155,60,0.3);
}
.founder-photo-placeholder p {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.4);
  text-align: center;
  padding: 0 16px;
  line-height: 1.5;
}
.founder-photo-accent {
  position: absolute;
  bottom: -12px; right: -12px;
  width: 48px; height: 48px;
  background: var(--gold);
  border-radius: 50%;
  z-index: -1;
}
.founder-photo-accent-2 {
  position: absolute;
  top: -8px; left: -8px;
  width: 24px; height: 24px;
  background: var(--red);
  border-radius: 50%;
  z-index: -1;
}
.founder-name-title {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
}
.founder-role-tag {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}
.founder-credential-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.founder-cred-tag {
  font-size: 0.74rem;
  font-weight: 500;
  padding: 4px 12px;
  border-radius: 20px;
  background: var(--cream);
  color: var(--navy);
  border: 1px solid var(--border);
}

/* === SEO / SCHEMA META (visual hidden tags) === */
/* No visual styles needed — schema is in <script> tags */

/* === RESPONSIVE ADJUSTMENTS FOR VISUALS === */
@media (max-width: 1100px) {
  .hero-inner { grid-template-columns: 1fr; gap: 48px; }
  .hero-visual { display: none; }
  .founder-photo-section { grid-template-columns: 240px 1fr; gap: 40px; }
}
@media (max-width: 768px) {
  .founder-photo-section { grid-template-columns: 1fr; }
  .service-illus { height: 90px; }
}
