/* ================================================================
   SAINT INVESTIGATORS v3.0 — MAIN STYLESHEET
   Colour palette: Deep slate navy + warm amber + off-white
   Mobile-first. All images served as JPG from /images/
   ================================================================ */

:root {
  /* PALETTE */
  --si-bg:        #0d1117;   /* deepest slate */
  --si-bg-2:      #141b26;   /* panels */
  --si-bg-3:      #1a2235;   /* cards */
  --si-bg-4:      #1f2940;   /* hover */
  --si-amber:     #c9893a;   /* primary accent — warm amber */
  --si-amber-lt:  #e8b870;   /* light amber */
  --si-amber-dk:  #8a5a20;   /* dark amber */
  --si-amber-dim: rgba(201,137,58,0.12);
  --si-teal:      #2a8a7a;   /* secondary accent */
  --si-teal-lt:   #3fb8a4;
  --si-red:       #8b2635;
  --si-green:     #25D366;
  --si-white:     #f0ece4;   /* warm off-white */
  --si-fog:       #b8bccb;
  --si-muted:     #6e7590;
  --si-border:    rgba(201,137,58,0.18);
  --si-border-sub:rgba(255,255,255,0.07);

  /* TYPE */
  --si-font-d: 'Cormorant Garamond', Georgia, serif;
  --si-font-b: 'DM Sans', system-ui, sans-serif;
  --si-font-m: 'DM Mono', monospace;

  /* SPACING */
  --si-px:   clamp(20px, 6vw, 80px);
  --si-py:   clamp(64px, 10vw, 128px);
  --si-nav:  64px;
}

/* ── RESET & BASE ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { background:var(--si-bg); color:var(--si-fog); font-family:var(--si-font-b); font-weight:300; font-size:16px; line-height:1.7; overflow-x:hidden; }
img  { max-width:100%; display:block; }
a    { color:inherit; }
ul   { list-style:none; }

/* subtle noise */
body::before { content:''; position:fixed; inset:0; z-index:9000; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); opacity:.018; pointer-events:none; }

/* ── TYPOGRAPHY ── */
.si-tag { font-family:var(--si-font-m); font-size:clamp(9px,2vw,11px); letter-spacing:.22em; text-transform:uppercase; color:var(--si-amber); display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.si-tag::before { content:''; width:28px; height:1px; background:var(--si-amber); flex-shrink:0; }
.si-h2 { font-family:var(--si-font-d); font-size:clamp(30px,6vw,56px); font-weight:300; line-height:1.1; color:var(--si-white); margin-bottom:20px; }
.si-h2 em { font-style:italic; color:var(--si-amber); display:block; }
.si-body-text { color:var(--si-muted); font-size:clamp(13px,2.2vw,15px); line-height:1.85; }

/* ── BUTTONS ── */
.si-btn-primary { background:var(--si-amber); color:#fff; padding:clamp(12px,2.5vw,15px) clamp(22px,4vw,38px); font-family:var(--si-font-m); font-size:clamp(9px,2vw,11px); letter-spacing:.16em; text-transform:uppercase; text-decoration:none; display:inline-block; transition:background .3s,transform .2s; white-space:nowrap; border-radius:2px; }
.si-btn-primary:hover  { background:var(--si-amber-lt); transform:translateY(-2px); }
.si-btn-primary:active { transform:scale(.97); }
.si-btn-ghost { color:var(--si-fog); font-family:var(--si-font-m); font-size:clamp(9px,2vw,11px); letter-spacing:.16em; text-transform:uppercase; text-decoration:none; display:flex; align-items:center; gap:10px; transition:color .3s; }
.si-btn-ghost:hover { color:var(--si-amber); }
.si-btn-ghost::after { content:'→'; transition:transform .3s; }
.si-btn-ghost:hover::after { transform:translateX(4px); }

/* ── NAVIGATION ── */
#siNav { position:fixed; top:0; left:0; right:0; height:var(--si-nav); z-index:1000; display:flex; align-items:center; justify-content:space-between; padding:0 var(--si-px); transition:background .4s, box-shadow .4s; }
#siNav.stuck { background:rgba(13,17,23,.97); backdrop-filter:blur(12px); box-shadow:0 1px 0 var(--si-border); }
.si-nav-logo { font-family:var(--si-font-d); font-size:clamp(17px,4vw,22px); font-weight:600; color:var(--si-white); letter-spacing:.04em; text-decoration:none; line-height:1; }
.logo-dot { color:var(--si-amber); }
.si-nav-links { display:none; gap:36px; }
.si-nav-links li { list-style:none; }
.si-nav-links a { font-family:var(--si-font-m); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--si-muted); text-decoration:none; transition:color .3s; }
.si-nav-links a:hover { color:var(--si-amber); }
.si-nav-cta { display:none; font-family:var(--si-font-m); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:var(--si-amber); padding:10px 22px; text-decoration:none; transition:background .3s; border-radius:2px; }
.si-nav-cta:hover { background:var(--si-amber-lt); }
.si-burger { width:44px; height:44px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer; background:none; border:none; padding:0; }
.si-burger span { display:block; width:22px; height:1.5px; background:var(--si-fog); transition:all .35s cubic-bezier(.23,1,.32,1); transform-origin:center; }
.si-burger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.si-burger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.si-burger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

/* ── MOBILE MENU ── */
#siMobMenu { position:fixed; inset:0; background:var(--si-bg); z-index:999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; opacity:0; pointer-events:none; transition:opacity .4s; }
#siMobMenu.open { opacity:1; pointer-events:all; }
.si-mob-close { position:absolute; top:20px; right:var(--si-px); color:var(--si-muted); font-size:24px; cursor:pointer; background:none; border:none; }
.si-mob-link { font-family:var(--si-font-d); font-size:clamp(34px,9vw,52px); font-weight:300; color:var(--si-white); text-decoration:none; padding:8px 24px; transition:color .25s; position:relative; }
.si-mob-link::after { content:''; position:absolute; left:24px; bottom:4px; width:0; height:1px; background:var(--si-amber); transition:width .35s; }
.si-mob-link:hover { color:var(--si-amber); }
.si-mob-link:hover::after { width:calc(100% - 48px); }
.si-mob-actions { margin-top:28px; display:flex; gap:14px; }
.si-mob-btn { font-family:var(--si-font-m); font-size:10px; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; padding:12px 18px; border:1px solid rgba(201,137,58,.3); color:var(--si-amber); transition:all .3s; }
.si-mob-btn.si-wa { background:var(--si-green); color:#fff; border-color:var(--si-green); }
.si-mob-btn:hover { background:var(--si-amber-dim); }
.si-mob-btn.si-wa:hover { background:#1db954; }

/* ── HERO ── */
.si-hero { min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding:0 var(--si-px) clamp(60px,10vw,100px); position:relative; overflow:hidden; background-size:cover; background-position:center; background-repeat:no-repeat; }
.si-hero-overlay { position:absolute; inset:0; background:linear-gradient(105deg,rgba(13,17,23,.94) 40%,rgba(13,17,23,.55) 100%),linear-gradient(to top,rgba(13,17,23,1) 0%,transparent 45%); }
.si-hero-inner   { position:relative; z-index:2; max-width:800px; }
.si-hero-badge   { font-family:var(--si-font-m); font-size:clamp(8px,2.2vw,10px); letter-spacing:.22em; text-transform:uppercase; color:var(--si-amber); border:1px solid rgba(201,137,58,.35); display:inline-block; padding:6px 14px; margin-bottom:clamp(18px,4vw,28px); animation:fadeUp .8s ease .2s both; }
.si-hero-h1      { font-family:var(--si-font-d); font-size:clamp(42px,10vw,92px); font-weight:300; line-height:1.04; color:var(--si-white); margin-bottom:clamp(14px,3vw,24px); animation:fadeUp .8s ease .4s both; }
.si-hero-h1 em   { font-style:italic; color:var(--si-amber); display:block; }
.si-hero-sub     { font-size:clamp(13px,2.5vw,16px); color:var(--si-fog); max-width:500px; line-height:1.8; margin-bottom:clamp(28px,5vw,44px); animation:fadeUp .8s ease .6s both; }
.si-hero-actions { display:flex; flex-wrap:wrap; gap:14px; animation:fadeUp .8s ease .8s both; }

/* Mobile stats */
.si-stats-mobile { display:flex; margin-top:clamp(26px,5vw,40px); border-top:1px solid rgba(201,137,58,.15); padding-top:clamp(16px,4vw,26px); animation:fadeUp .8s ease 1s both; }
.si-stat-m       { flex:1; text-align:center; border-right:1px solid rgba(201,137,58,.1); padding:0 8px; }
.si-stat-m:last-child { border-right:none; }
.si-stat-mn      { font-family:var(--si-font-d); font-size:clamp(24px,5vw,34px); font-weight:300; color:var(--si-white); line-height:1; }
.si-stat-ml      { font-family:var(--si-font-m); font-size:clamp(7px,1.8vw,9px); letter-spacing:.14em; text-transform:uppercase; color:var(--si-muted); margin-top:4px; }
/* Desktop stats */
.si-stats-desktop { display:none; position:absolute; right:var(--si-px); bottom:clamp(60px,10vw,100px); flex-direction:column; gap:28px; text-align:right; z-index:2; animation:fadeUp 1s ease 1s both; }
.si-stat-dn      { font-family:var(--si-font-d); font-size:clamp(30px,4vw,40px); font-weight:300; color:var(--si-white); line-height:1; }
.si-stat-dl      { font-family:var(--si-font-m); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--si-muted); margin-top:4px; }
/* Scroll ind */
.si-scroll-ind   { position:absolute; left:var(--si-px); bottom:clamp(20px,4vw,40px); display:none; flex-direction:column; align-items:center; gap:10px; z-index:2; }
.si-scroll-line  { width:1px; height:50px; background:linear-gradient(to bottom,transparent,var(--si-amber)); animation:siScrollPulse 2s ease-in-out infinite; }
.si-scroll-txt   { font-family:var(--si-font-m); font-size:8px; letter-spacing:.3em; text-transform:uppercase; color:var(--si-muted); writing-mode:vertical-rl; }

/* ── TRUST BAR ── */
.si-trust-bar    { background:var(--si-bg-2); overflow:hidden; border-top:1px solid var(--si-border); border-bottom:1px solid var(--si-border); }
.si-trust-track  { display:flex; align-items:center; gap:40px; animation:siTicker 22s linear infinite; width:max-content; padding:15px 0; }
.si-trust-track:hover { animation-play-state:paused; }
.si-trust-item   { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.si-trust-dot    { color:var(--si-amber); font-size:7px; }
.si-trust-txt    { font-family:var(--si-font-m); font-size:clamp(8px,1.8vw,10px); letter-spacing:.16em; text-transform:uppercase; color:var(--si-muted); }

/* ── SECTION WRAPPERS ── */
.si-section      { padding:var(--si-py) var(--si-px); background:var(--si-bg); }
.si-section-alt  { padding:var(--si-py) var(--si-px); background:var(--si-bg-2); }

/* ── ABOUT ── */
.si-about-wrap     { display:grid; grid-template-columns:1fr; gap:clamp(36px,7vw,80px); }
.si-about-img-box  { position:relative; height:clamp(260px,55vw,560px); }
.si-about-img-box img { width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.05); }
.si-about-frame    { position:absolute; top:16px; left:16px; right:-16px; bottom:-16px; border:1px solid rgba(201,137,58,.2); z-index:-1; pointer-events:none; }
.si-about-badge    { position:absolute; bottom:20px; right:-16px; background:var(--si-amber); padding:18px 22px; color:#fff; }
.si-ab-n { font-family:var(--si-font-d); font-size:clamp(26px,5vw,40px); font-weight:300; line-height:1; }
.si-ab-l { font-family:var(--si-font-m); font-size:8px; letter-spacing:.18em; text-transform:uppercase; margin-top:3px; }
.si-about-list     { list-style:none; margin-top:clamp(18px,4vw,32px); border-top:1px solid var(--si-border-sub); }
.si-about-list li  { padding:12px 0; border-bottom:1px solid var(--si-border-sub); display:flex; gap:14px; align-items:flex-start; font-size:clamp(12px,2.2vw,14px); color:var(--si-muted); }
.si-about-list li::before { content:'◆'; color:var(--si-amber); font-size:7px; margin-top:6px; flex-shrink:0; }

/* ── SERVICES ── */
.si-services-head  { margin-bottom:clamp(32px,5vw,64px); }
.si-services-grid  { display:grid; grid-template-columns:1fr; gap:2px; background:rgba(201,137,58,.06); }
.si-svc-card       { background:var(--si-bg-2); overflow:hidden; position:relative; transition:background .4s; }
.si-svc-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--si-amber); transition:width .5s ease; }
.si-svc-card:hover  { background:var(--si-bg-3); }
.si-svc-card:hover::after { width:100%; }
.si-svc-img         { height:clamp(130px,26vw,195px); overflow:hidden; }
.si-svc-img img     { width:100%; height:100%; object-fit:cover; transition:transform .5s; filter:saturate(.85); }
.si-svc-card:hover .si-svc-img img { transform:scale(1.04); filter:saturate(1); }
.si-svc-body        { padding:clamp(18px,4vw,32px); }
.si-svc-num         { font-family:var(--si-font-m); font-size:10px; letter-spacing:.18em; color:var(--si-amber); opacity:.7; margin-bottom:10px; }
.si-svc-name        { font-family:var(--si-font-d); font-size:clamp(18px,3.5vw,22px); font-weight:400; color:var(--si-white); margin-bottom:10px; line-height:1.25; }
.si-svc-desc        { font-size:clamp(12px,2vw,13px); color:var(--si-muted); line-height:1.8; margin-bottom:16px; }
.si-svc-link        { font-family:var(--si-font-m); font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--si-amber); text-decoration:none; display:inline-flex; align-items:center; gap:8px; transition:gap .3s; }
.si-svc-link:hover  { gap:14px; }
.si-svc-bg-n        { position:absolute; right:12px; bottom:-8px; font-family:var(--si-font-d); font-size:clamp(55px,12vw,90px); font-weight:300; color:rgba(201,137,58,.04); line-height:1; user-select:none; pointer-events:none; }

/* ── PROCESS ── */
.si-process-wrap  { margin-top:clamp(32px,6vw,80px); display:grid; grid-template-columns:1fr; gap:clamp(32px,6vw,80px); }
.si-proc-step     { padding:clamp(16px,3.5vw,28px) 0; border-bottom:1px solid var(--si-border-sub); display:grid; grid-template-columns:44px 1fr; gap:18px; cursor:pointer; }
.si-proc-step:first-child { border-top:1px solid var(--si-border-sub); }
.si-proc-n        { font-family:var(--si-font-m); font-size:11px; color:var(--si-amber); letter-spacing:.1em; padding-top:3px; }
.si-proc-t        { font-family:var(--si-font-d); font-size:clamp(16px,3vw,20px); color:var(--si-white); margin-bottom:8px; transition:color .3s; }
.si-proc-d        { font-size:clamp(12px,2vw,13.5px); color:var(--si-muted); line-height:1.75; max-height:0; overflow:hidden; transition:max-height .4s ease, opacity .4s; opacity:0; }
.si-proc-step.active .si-proc-d  { max-height:300px; opacity:1; }
.si-proc-step.active .si-proc-t  { color:var(--si-amber); }
.si-proc-img      { position:relative; height:clamp(220px,48vw,500px); overflow:hidden; border:1px solid var(--si-border); }
.si-proc-img img  { width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.05); }
.si-proc-overlay  { position:absolute; inset:0; background:linear-gradient(135deg,rgba(13,17,23,.25) 0%,transparent 60%); }
.si-proc-tag-label { position:absolute; top:18px; left:18px; font-family:var(--si-font-m); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--si-amber); background:rgba(13,17,23,.88); padding:7px 12px; }

/* ── CREDENTIALS (amber section) ── */
.si-cred-section  { background:var(--si-amber); padding:var(--si-py) var(--si-px); }
.si-cred-wrap     { display:grid; grid-template-columns:1fr; gap:clamp(26px,5vw,56px); }
.si-cred-title    { font-family:var(--si-font-d); font-size:clamp(32px,7vw,52px); font-weight:300; color:#fff; line-height:1.15; }
.si-cred-grid     { display:grid; grid-template-columns:1fr; gap:clamp(16px,4vw,26px); }
.si-cred-item     { border-left:2px solid rgba(255,255,255,.3); padding-left:16px; }
.si-cred-item h4  { font-size:14px; font-weight:600; color:#fff; margin-bottom:5px; }
.si-cred-item p   { font-size:13px; color:rgba(255,255,255,.75); line-height:1.6; }

/* ── TESTIMONIALS ── */
.si-testi-outer   { overflow:hidden; margin-top:clamp(32px,5vw,60px); }
.si-testi-track   { display:flex; gap:clamp(14px,3vw,24px); animation:siTicker 32s linear infinite; width:max-content; padding-bottom:4px; }
.si-testi-track:hover { animation-play-state:paused; }
.si-testi-card    { width:clamp(265px,76vw,370px); flex-shrink:0; background:var(--si-bg); padding:clamp(20px,4vw,36px); border-top:2px solid var(--si-amber); position:relative; }
.si-testi-q       { font-family:var(--si-font-d); font-size:38px; color:var(--si-amber); opacity:.3; position:absolute; top:12px; right:18px; line-height:1; }
.si-testi-stars   { color:var(--si-amber); font-size:11px; letter-spacing:3px; margin-bottom:12px; }
.si-testi-text    { font-family:var(--si-font-d); font-style:italic; font-size:clamp(13px,3vw,15px); color:var(--si-fog); line-height:1.8; margin-bottom:20px; }
.si-testi-author  { font-family:var(--si-font-m); font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--si-amber); }
.si-testi-role    { font-family:var(--si-font-m); font-size:9px; letter-spacing:.12em; color:var(--si-muted); margin-top:3px; }

/* ── WHY US ── */
.si-why-wrap      { display:grid; grid-template-columns:1fr; gap:clamp(32px,6vw,80px); margin-top:clamp(32px,6vw,80px); }
.si-why-item      { display:flex; gap:clamp(14px,3vw,24px); padding:clamp(16px,3vw,26px) 0; border-bottom:1px solid var(--si-border-sub); align-items:flex-start; }
.si-why-item:first-child { border-top:1px solid var(--si-border-sub); }
.si-why-n         { font-family:var(--si-font-d); font-size:clamp(24px,5vw,34px); font-weight:300; color:rgba(201,137,58,.18); line-height:1; flex-shrink:0; width:34px; }
.si-why-title     { font-family:var(--si-font-d); font-size:clamp(16px,3vw,20px); color:var(--si-white); margin-bottom:6px; }
.si-why-body      { font-size:clamp(12px,2vw,13.5px); color:var(--si-muted); line-height:1.75; }
.si-why-img-box   { position:relative; height:clamp(240px,52vw,580px); overflow:hidden; }
.si-why-img-box img { width:100%; height:100%; object-fit:cover; filter:saturate(.8); }
.si-why-overlay   { position:absolute; inset:0; background:linear-gradient(to top right,rgba(13,17,23,.45) 0%,transparent 60%); border:1px solid var(--si-border); }
.si-why-plrd      { position:absolute; bottom:clamp(14px,3vw,24px); left:clamp(14px,3vw,24px); background:rgba(13,17,23,.92); border-left:3px solid var(--si-amber); padding:14px 18px; }
.si-plrd-title    { font-family:var(--si-font-m); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--si-amber); margin-bottom:3px; }
.si-plrd-body     { font-size:11px; color:var(--si-muted); line-height:1.5; }

/* ── CONTACT ── */
.si-contact-wrap  { display:grid; grid-template-columns:1fr; gap:clamp(32px,7vw,100px); margin-top:clamp(32px,6vw,80px); }
.si-contact-tagline { font-family:var(--si-font-d); font-style:italic; font-size:clamp(18px,4vw,25px); font-weight:300; color:var(--si-white); line-height:1.4; margin-bottom:clamp(20px,4vw,32px); }
.si-call-cards    { display:flex; flex-direction:column; gap:10px; margin-bottom:clamp(20px,4vw,32px); }
.si-call-card     { display:flex; align-items:center; gap:14px; padding:15px 18px; text-decoration:none; border:1px solid var(--si-border); background:rgba(201,137,58,.05); transition:background .3s,border-color .3s; border-radius:2px; }
.si-call-card:hover { background:rgba(201,137,58,.1); border-color:rgba(201,137,58,.35); }
.si-cc-wa         { border-color:rgba(37,211,102,.25); background:rgba(37,211,102,.05); }
.si-cc-wa:hover   { background:rgba(37,211,102,.1); border-color:rgba(37,211,102,.45); }
.si-cc-icon       { font-size:20px; flex-shrink:0; }
.si-cc-lbl        { font-family:var(--si-font-m); font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:var(--si-muted); }
.si-cc-num        { font-size:clamp(15px,4vw,19px); font-weight:500; color:var(--si-white); letter-spacing:.02em; }
.si-cc-sub        { font-family:var(--si-font-m); font-size:8px; letter-spacing:.1em; text-transform:uppercase; color:var(--si-amber); margin-top:2px; }
.si-contact-details { display:flex; flex-direction:column; gap:clamp(14px,3vw,20px); }
.si-ci            { display:flex; gap:14px; align-items:flex-start; }
.si-ci-icon       { width:38px; height:38px; flex-shrink:0; border:1px solid var(--si-border); display:flex; align-items:center; justify-content:center; font-size:14px; }
.si-ci-lbl        { font-family:var(--si-font-m); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--si-muted); margin-bottom:3px; }
.si-ci-val        { font-size:clamp(13px,2.5vw,15px); color:var(--si-fog); }
.si-ci-val a      { color:var(--si-fog); text-decoration:none; transition:color .3s; }
.si-ci-val a:hover { color:var(--si-amber); }
.si-contact-note  { margin-top:clamp(18px,4vw,28px); padding:14px 18px; border-left:2px solid rgba(201,137,58,.3); font-family:var(--si-font-d); font-style:italic; font-size:clamp(13px,2.5vw,14px); color:var(--si-muted); line-height:1.7; }

/* Form */
.si-form          { display:flex; flex-direction:column; gap:14px; }
.si-form-row      { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.si-form-group    { display:flex; flex-direction:column; gap:6px; }
.si-form-label    { font-family:var(--si-font-m); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--si-muted); }
.si-form-input    { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); color:var(--si-fog); padding:12px 15px; font-family:var(--si-font-b); font-size:clamp(13px,2.5vw,14px); outline:none; width:100%; transition:border-color .3s,background .3s; -webkit-appearance:none; border-radius:2px; }
.si-form-input:focus { border-color:rgba(201,137,58,.45); background:rgba(201,137,58,.04); }
.si-form-select   { appearance:none; cursor:pointer; }
.si-form-textarea { resize:vertical; min-height:105px; }
.si-form-input::placeholder { color:rgba(110,117,144,.45); }
.si-form-btn      { background:var(--si-amber); color:#fff; border:none; padding:14px 34px; font-family:var(--si-font-m); font-size:clamp(10px,2vw,11px); letter-spacing:.15em; text-transform:uppercase; cursor:pointer; transition:all .3s; align-self:flex-start; -webkit-appearance:none; border-radius:2px; }
.si-form-btn:hover  { background:var(--si-amber-lt); transform:translateY(-2px); }
.si-form-btn:active { transform:scale(.97); }
.si-form-resp     { display:none; margin-top:10px; font-family:var(--si-font-m); font-size:11px; }
.si-form-resp.ok  { color:var(--si-teal-lt); display:block; }
.si-form-resp.err { color:var(--si-red); display:block; }
.si-form-privacy  { font-family:var(--si-font-m); font-size:9px; color:var(--si-muted); letter-spacing:.05em; }

/* ── FOOTER ── */
#siFooter         { background:var(--si-bg); border-top:1px solid var(--si-border); padding:clamp(46px,8vw,72px) var(--si-px) clamp(22px,4vw,36px); }
.si-footer-grid   { display:grid; grid-template-columns:1fr; gap:clamp(30px,6vw,52px); margin-bottom:clamp(32px,5vw,52px); }
.si-footer-logo   { font-family:var(--si-font-d); font-size:clamp(18px,4vw,24px); font-weight:600; color:var(--si-white); margin-bottom:12px; }
.si-footer-logo span { color:var(--si-amber); }
.si-footer-tagline { font-size:13px; color:var(--si-muted); line-height:1.7; max-width:300px; margin-bottom:18px; }
.si-footer-lic    { font-family:var(--si-font-m); font-size:9px; letter-spacing:.1em; color:rgba(110,117,144,.55); line-height:1.7; }
.si-footer-lic a  { color:inherit; text-decoration:none; }
.si-footer-col-title { font-family:var(--si-font-m); font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--si-amber); margin-bottom:14px; }
.si-footer-links  { list-style:none; display:flex; flex-direction:column; gap:9px; }
.si-footer-links a { font-size:13px; color:var(--si-muted); text-decoration:none; transition:color .3s; }
.si-footer-links a:hover { color:var(--si-amber); }
.si-footer-bottom { border-top:1px solid var(--si-border-sub); padding-top:clamp(16px,3vw,24px); display:flex; flex-direction:column; gap:10px; }
.si-footer-copy   { font-family:var(--si-font-m); font-size:9px; letter-spacing:.08em; color:rgba(110,117,144,.45); }
.si-footer-legal  { display:flex; gap:18px; }
.si-footer-legal a { font-family:var(--si-font-m); font-size:9px; letter-spacing:.1em; color:rgba(110,117,144,.45); text-decoration:none; transition:color .3s; }
.si-footer-legal a:hover { color:var(--si-amber); }

/* ── MOBILE BOTTOM BAR ── */
.si-mob-bar       { position:fixed; bottom:0; left:0; right:0; z-index:900; display:flex; height:56px; transform:translateY(100%); transition:transform .4s cubic-bezier(.23,1,.32,1); box-shadow:0 -1px 0 var(--si-border), 0 -8px 32px rgba(0,0,0,.4); }
.si-mob-bar.vis   { transform:translateY(0); }
.si-mob-bar-btn   { flex:1; display:flex; align-items:center; justify-content:center; gap:7px; text-decoration:none; font-family:var(--si-font-m); font-size:clamp(8px,2.5vw,10px); letter-spacing:.12em; text-transform:uppercase; transition:opacity .2s; }
.si-mob-bar-btn:active { opacity:.8; }
.si-mbb-wa        { background:var(--si-green); color:#fff; }
.si-mbb-c1        { background:var(--si-amber); color:#fff; }
.si-mbb-c2        { background:var(--si-bg-3); color:var(--si-fog); border-top:1px solid var(--si-border); }

/* ── DESKTOP FLOAT CTA ── */
.si-float         { position:fixed; bottom:32px; right:32px; z-index:500; display:none; flex-direction:column; gap:10px; align-items:flex-end; opacity:0; transform:translateY(16px); transition:all .4s; }
.si-float.vis     { opacity:1; transform:translateY(0); }
.si-float-btn     { padding:12px 20px; font-family:var(--si-font-m); font-size:9px; letter-spacing:.15em; text-transform:uppercase; text-decoration:none; display:flex; align-items:center; gap:8px; transition:all .3s; white-space:nowrap; border-radius:2px; }
.si-float-btn:hover { transform:translateY(-2px); }
.si-fb-wa         { background:var(--si-green); color:#fff; box-shadow:0 6px 24px rgba(37,211,102,.22); }
.si-fb-call       { background:var(--si-amber); color:#fff; box-shadow:0 6px 24px rgba(201,137,58,.2); }

/* ── REVEAL ANIMATIONS ── */
.reveal           { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible   { opacity:1; transform:translateY(0); }
.rd1 { transition-delay:.1s; } .rd2 { transition-delay:.2s; } .rd3 { transition-delay:.3s; }

/* ── KEYFRAMES ── */
@keyframes fadeUp        { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes siScrollPulse { 0%,100%{opacity:.3} 50%{opacity:1} }
@keyframes siTicker      { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ════ TABLET 600px+ ════ */
@media(min-width:600px){
  .si-services-grid  { grid-template-columns:1fr 1fr; }
  .si-cred-grid      { grid-template-columns:1fr 1fr; }
  .si-form-row       { grid-template-columns:1fr 1fr; }
  .si-footer-grid    { grid-template-columns:1fr 1fr; }
  .si-call-cards     { flex-direction:row; }
  .si-mob-bar        { display:none !important; }
  .si-float          { display:flex; }
}

/* ════ DESKTOP 900px+ ════ */
@media(min-width:900px){
  .si-burger         { display:none; }
  .si-nav-links, .si-nav-cta { display:flex; }
  .si-stats-desktop  { display:flex; }
  .si-stats-mobile   { display:none; }
  .si-scroll-ind     { display:flex; }
  .si-about-wrap     { grid-template-columns:1fr 1fr; gap:clamp(60px,8vw,100px); align-items:center; }
  .si-services-grid  { grid-template-columns:repeat(3,1fr); }
  .si-process-wrap   { grid-template-columns:1fr 1.4fr; align-items:start; }
  .si-proc-img       { position:sticky; top:calc(var(--si-nav) + 20px); height:520px; }
  .si-cred-wrap      { grid-template-columns:1fr 2fr; align-items:center; }
  .si-why-wrap       { grid-template-columns:1fr 1fr; align-items:center; }
  .si-contact-wrap   { grid-template-columns:1fr 1fr; align-items:start; }
  .si-footer-grid    { grid-template-columns:2fr 1fr 1fr 1fr; }
  .si-footer-bottom  { flex-direction:row; justify-content:space-between; align-items:center; }
  .si-mob-bar        { display:none !important; }
}

/* ════ LARGE 1200px+ ════ */
@media(min-width:1200px){
  .si-services-grid  { grid-template-columns:repeat(4,1fr); }
}

/* WP admin bar offset */
.admin-bar #siNav { top:32px; }
@media(max-width:782px) { .admin-bar #siNav { top:46px; } }
