/*
Theme Name: Cydra Intel
Theme URI: https://cydraintel.ai
Author: Cydra Intel
Description: Company block theme for Cydra Intel in the research.cydraintel.ai look — dark hero band, light content, coral accent, IBM Plex. Single "who we are" page.
Version: 1.3.1
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cydra-intel
*/

:root{
  --bg:#f5f6f8; --surface:#ffffff; --fg:#15171d; --muted:#596070; --line:#e3e6ec;
  --accent:#cf4133; --accent-soft:rgba(207,65,51,.10);
  --band:#0b0e14; --band-2:#121a28; --band-fg:#f4f6fb; --band-mut:#93a0b8;
  --maxw:60rem; color-scheme:light;
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
  --bg:#0d0f14; --surface:#151921; --fg:#e8ebf1; --muted:#9aa3b2; --line:#252b35;
  --accent:#ff6a5a; --accent-soft:rgba(255,106,90,.14); color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#0d0f14; --surface:#151921; --fg:#e8ebf1; --muted:#9aa3b2; --line:#252b35;
  --accent:#ff6a5a; --accent-soft:rgba(255,106,90,.14); color-scheme:dark;
}

*{box-sizing:border-box}
body.wp-site-blocks, body{ margin:0; background:var(--bg); color:var(--fg);
  font-family:"IBM Plex Serif",Georgia,"Times New Roman",serif; line-height:1.7; font-size:1.0625rem; }
.cydra a{color:inherit}
.gut{ padding-left:max(20px,env(safe-area-inset-left,0px)); padding-right:max(20px,env(safe-area-inset-right,0px)); }

.theme-toggle{ position:fixed; top:14px; right:14px; z-index:50; width:2.3rem; height:2.3rem; border-radius:50%;
  border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.10); color:#f4f6fb; font-size:1rem;
  cursor:pointer; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(6px); }

.band{ background:linear-gradient(160deg,var(--band),var(--band-2)); color:var(--band-fg); }
.band-inner{ max-width:var(--maxw); margin:0 auto; padding-block:0 4.5rem; }
.topnav{ display:flex; align-items:center; justify-content:space-between; padding-block:1.4rem; font-family:"IBM Plex Sans",sans-serif; }
.brand{ display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--band-fg); font-weight:700; letter-spacing:.14em; font-size:1rem; }
.brand svg{ display:block; }
.navlinks{ display:flex; gap:1.4rem; font-size:.86rem; }
.navlinks a{ text-decoration:none; color:var(--band-mut); }
.navlinks a:hover{ color:var(--band-fg); }

.kicker{ font-family:"IBM Plex Sans",sans-serif; font-weight:600; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:#ff7059; display:flex; align-items:center; gap:.6rem; margin:2.6rem 0 1.1rem; }
.kicker::before{ content:""; width:1.8rem; height:2px; background:#ff7059; display:inline-block; }
.hero-h{ font-family:"IBM Plex Sans",sans-serif; font-weight:700; font-size:clamp(2.3rem,7vw,4rem); line-height:1.04; letter-spacing:-.025em; margin:0; max-width:18ch; text-wrap:balance; color:var(--band-fg); }
.hero-h .em{ color:#ff5a47; }
.hero-p{ font-family:"IBM Plex Sans",sans-serif; color:var(--band-mut); font-size:clamp(1.05rem,2.2vw,1.22rem); line-height:1.6; margin:1.3rem 0 0; max-width:48ch; }

.cydra-main{ max-width:var(--maxw); margin:0 auto; padding-block:3rem 1rem; }
.sec{ padding-block:2rem; }
.sec h2{ font-family:"IBM Plex Sans",sans-serif; font-weight:700; font-size:clamp(1.5rem,3.4vw,2rem); letter-spacing:-.01em; margin:0 0 1rem; max-width:30ch; text-wrap:balance; }
.sec p{ margin:0 0 1.1rem; max-width:48ch; }
.sec p.lead{ font-size:1.15rem; }
.eyebrow{ font-family:"IBM Plex Sans",sans-serif; font-weight:600; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0 0 1.2rem; }

ul.focus{ list-style:none; padding:0; margin:0; max-width:44rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
ul.focus li{ position:relative; padding:.95rem 1rem .95rem 2.1rem; background:var(--surface); border:1px solid var(--line); border-radius:12px; font-family:"IBM Plex Sans",sans-serif; font-size:.95rem; }
ul.focus li::before{ content:""; position:absolute; left:1rem; top:1.3rem; width:.5rem; height:.5rem; border:2px solid var(--accent); border-radius:50%; }

.linkcard{ display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.5rem 1.7rem; margin-top:.6rem; }
.linkcard .lc-t{ font-family:"IBM Plex Sans",sans-serif; }
.linkcard .lc-t b{ font-size:1.05rem; }
.linkcard .lc-t span{ color:var(--muted); font-size:.95rem; }
.btn{ display:inline-block; font-family:"IBM Plex Sans",sans-serif; font-weight:600; font-size:.95rem; text-decoration:none; color:#fff; background:var(--accent); border-radius:10px; padding:.72rem 1.15rem; white-space:nowrap; }

.contact{ max-width:var(--maxw); margin:2.4rem auto 0; }
.contact-inner{ background:linear-gradient(160deg,var(--band),var(--band-2)); color:var(--band-fg); border-radius:18px; padding:2.8rem 2rem; text-align:center; }
.contact-inner h2{ font-family:"IBM Plex Sans",sans-serif; font-weight:700; color:var(--band-fg); margin:0 0 .6rem; }
.contact-inner p{ color:var(--band-mut); margin:0 auto 1.4rem; max-width:42ch; }
.contact-inner .btn{ background:#ff5a47; color:#0b0e14; }

.sitefooter{ max-width:var(--maxw); margin:2.5rem auto 0; padding-block:2rem 3.2rem; border-top:1px solid var(--line); font-family:"IBM Plex Sans",sans-serif; font-size:.82rem; color:var(--muted); }
.sitefooter b{ color:var(--fg); letter-spacing:.06em; }

@media (max-width:640px){ ul.focus{ grid-template-columns:1fr; } .navlinks{ display:none; } }

/* benefit cards ("what we offer") */
ul.offer{ list-style:none; padding:0; margin:0; max-width:46rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
ul.offer li{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.25rem 1.3rem; font-family:"IBM Plex Sans",sans-serif; }
ul.offer li::before{ content:""; display:block; width:1.4rem; height:2px; background:var(--accent); margin-bottom:.85rem; border-radius:2px; }
ul.offer li b{ display:block; font-size:1.02rem; font-weight:600; letter-spacing:-.01em; }
ul.offer li span{ display:block; margin-top:.35rem; color:var(--muted); font-size:.92rem; line-height:1.5; }
@media (max-width:640px){ ul.offer{ grid-template-columns:1fr; } }
/* product screenshot */
.shotframe{ border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); box-shadow:0 24px 60px -34px rgba(0,0,0,.45); }
.shotframe img{ display:block; width:100%; height:auto; }
.shotcap{ font-family:"IBM Plex Sans",sans-serif; font-size:.85rem; color:var(--muted); margin-top:.75rem; max-width:48ch; }
