/*
Theme Name: Intellitive Solutions
Theme URI: https://intellitivesolutions.com/
Author: Intellitive Solutions Inc.
Description: Lightweight custom block theme for Intellitive Solutions Inc., based on the corporate identity and modernized site direction.
Version: 0.9.0
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
Text Domain: intellitive-solutions
*/

:root {
  --isi-blue: #0060a1;
  --isi-blue-deep: #07375d;
  --isi-navy: #071f36;
  --isi-slate: #3b4b5b;
  --isi-orange: #982a05;
  --isi-pale-blue: #e9f3fa;
  --isi-mid-gray: #84929f;
  --isi-warm-gray: #d8d4c9;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a { text-underline-offset: .18em; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.isi-site-header { position: sticky; top: 0; z-index: 50; box-shadow: 0 2px 18px rgba(0,0,0,.08); }
.isi-header-inner { min-height: 100px; }
.isi-logo-link { display:block; background-repeat:no-repeat; background-position:left center; background-size:contain; text-decoration:none; }
.isi-header-logo { width:min(340px,44vw); height:88px; background-image:url('assets/images/intellitive-logo.svg'); background-position:left center; }
.isi-footer-logo { width:min(300px,72vw); height:78px; background-image:url('assets/images/intellitive-logo.svg'); margin-bottom:12px; filter:brightness(0) invert(1); opacity:.95; }
.isi-header-nav a { font-weight:700; text-decoration:none; letter-spacing:.015em; }
.isi-header-nav a:hover { color:var(--isi-blue); }

.isi-hero {
  position:relative; isolation:isolate; overflow:hidden;
  background-color:#071f36;
  background-image:
    linear-gradient(90deg, rgba(4,20,35,.97) 0%, rgba(7,31,54,.92) 35%, rgba(7,40,70,.56) 62%, rgba(0,96,161,.15) 100%),
    url('assets/images/hero-network.svg');
  background-position:center, center right;
  background-size:cover, cover;
}
.isi-hero::before { content:""; position:absolute; inset:-10% 4% -20% 44%; z-index:-1; background:url('assets/images/swoosh.svg') center/contain no-repeat; opacity:.08; filter:brightness(0) invert(1); transform:rotate(-8deg); }
.isi-hero-title { max-width:790px; text-wrap:balance; text-shadow:0 2px 14px rgba(0,0,0,.18); }
.isi-direction { color:#1d9ee8; }
.isi-kicker { letter-spacing:.03em; }
.isi-hero-copy { max-width:650px; color:rgba(255,255,255,.93); }
.isi-accent-rule { width:54px; height:3px; background:var(--isi-orange); margin:18px 0; }

.isi-btn-primary .wp-block-button__link,
.isi-btn-secondary .wp-block-button__link { border-radius:2px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.isi-btn-primary .wp-block-button__link { background:#b43a0c; color:#fff; }
.isi-btn-primary .wp-block-button__link:hover { transform:translateY(-2px); box-shadow:0 9px 20px rgba(152,42,5,.25); }
.isi-btn-secondary .wp-block-button__link { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.8); }
.isi-btn-secondary .wp-block-button__link:hover { background:rgba(255,255,255,.1); transform:translateY(-2px); }

.isi-services-wrap { margin-top:-34px!important; position:relative; z-index:5; }
.isi-services-card { background:#fff; border:1px solid #e5e9ed; box-shadow:0 16px 45px rgba(17,42,64,.12); }
.isi-service { min-height:270px; }
.isi-service + .isi-service { border-left:1px solid #dde3e8; }
.isi-service-icon { width:62px; height:62px; border-radius:50%; display:grid; place-items:center; margin:0 auto 18px; font-size:28px; line-height:1; color:#fff; background:linear-gradient(145deg,#0f85cf,#00568f); box-shadow:0 8px 18px rgba(0,96,161,.22); }
.isi-service:nth-child(2) .isi-service-icon { background:linear-gradient(145deg,#d0551b,#982a05); }
.isi-service:nth-child(3) .isi-service-icon { background:linear-gradient(145deg,#536b7e,#233747); }
.isi-service-link a { font-weight:800; text-decoration:none; text-transform:uppercase; font-size:.9rem; }

.isi-wims { position:relative; overflow:hidden; border:1px solid #d9e1e7; background:linear-gradient(118deg,#fff 0%,#f5f8fb 48%,#d2e7f7 100%); box-shadow:0 10px 35px rgba(17,42,64,.06); }
.isi-wims::after { content:""; position:absolute; left:31%; bottom:-56%; width:55%; aspect-ratio:1; background:url('assets/images/swoosh.svg') center/contain no-repeat; opacity:.055; transform:rotate(25deg); }
.isi-wims-title { letter-spacing:.02em; margin-bottom:.25rem!important; }
.isi-wims-art { position:relative; z-index:2; width:100%; min-height:350px; background:url('assets/images/wims-dashboard-obfuscated.webp') center/contain no-repeat; }

.isi-values { position:relative; overflow:hidden; background:linear-gradient(100deg,#08223a,#0b3f68); }
.isi-values::before { content:""; position:absolute; left:-90px; bottom:-160px; width:430px; aspect-ratio:1; background:url('assets/images/swoosh.svg') center/contain no-repeat; opacity:.08; filter:brightness(0) invert(1); transform:rotate(-9deg); }
.isi-value-grid { position:relative; z-index:2; }
.isi-value-item { text-align:center; }
.isi-value-icon { font-size:2rem; margin-bottom:.35rem; }

.isi-contact-strip { border-bottom:1px solid #dde4ea; }
.isi-contact-strip .wp-block-columns { align-items:center!important; }
.isi-contact-icon { font-size:3rem; color:var(--isi-blue); }

.isi-footer { background:#082b49; }
.isi-footer a { color:#fff; text-decoration:none; }
.isi-footer a:hover { text-decoration:underline; }
.isi-footer-rule { border-top:1px solid rgba(255,255,255,.24); }

.isi-eyebrow { color:var(--isi-blue); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

@media (max-width:900px) {
  .isi-header-inner { min-height:72px; }
  .isi-header-logo { width:270px; height:70px; }
  .isi-header-nav { display:none; }
  .isi-hero { padding-top:70px!important; padding-bottom:85px!important; background-position:center, 62% center; }
  .isi-services-wrap { margin-top:-24px!important; }
  .isi-service + .isi-service { border-left:none; border-top:1px solid #dde3e8; }
  .isi-wims-art { min-height:330px; margin-top:18px; }
}

@media (max-width:600px) {
  .isi-header-logo { width:235px; max-width:72vw; height:61px; }
  .isi-hero { padding-top:54px!important; padding-bottom:72px!important; background-position:center, 68% center; }
  .isi-hero::before { inset:18% -30% -10% 42%; }
  .isi-services-wrap { padding-left:16px!important; padding-right:16px!important; }
  .isi-services-card { padding:0!important; }
  .isi-service { padding:28px 22px!important; min-height:auto; }
  .isi-wims { padding:30px 22px!important; }
  .isi-wims-art { min-height:260px; }
  .isi-footer-logo { height:68px; }
}


/* === v0.5 visual alignment pass === */
.isi-site-header { position:relative; top:auto; }
.isi-header-inner { min-height:82px; }
.isi-header-logo { width:min(300px,38vw); height:70px; }
.isi-header-nav { gap:0; }
.isi-header-nav p { margin:0; }
.isi-header-nav a { font-size:.86rem; text-transform:uppercase; }

.isi-hero {
  min-height:355px;
  background-color:#061a30;
  background-image:
    linear-gradient(90deg, rgba(4,18,33,.99) 0%, rgba(5,25,45,.96) 34%, rgba(6,35,63,.78) 51%, rgba(4,30,54,.18) 74%, rgba(4,20,35,.06) 100%),
    url('assets/images/hero-city.webp');
  background-position:center, right center;
  background-size:cover, auto 100%;
  background-repeat:no-repeat;
}
.isi-hero::before { inset:4% 8% -5% 43%; opacity:.13; transform:rotate(-5deg); }
.isi-hero > .wp-block-group { max-width:1180px!important; }
.isi-hero-title { max-width:610px; font-size:clamp(2.55rem,4.8vw,4.25rem)!important; line-height:.99!important; margin-bottom:0!important; }
.isi-kicker { font-size:clamp(2rem,3.35vw,3rem)!important; margin-top:0!important; margin-bottom:14px!important; }
.isi-hero-copy { max-width:560px; font-size:1.1rem!important; line-height:1.38; }
.isi-accent-rule { margin:13px 0 14px; }

.isi-services-wrap { margin-top:-28px!important; }
.isi-services-card { max-width:1180px; margin-left:auto!important; margin-right:auto!important; }
.isi-service { min-height:205px; display:flex; flex-direction:column; justify-content:center; }
.isi-service-icon { width:68px; height:68px; margin-bottom:13px; }
.isi-service h3 { margin-top:0!important; margin-bottom:10px!important; font-size:1.2rem!important; }
.isi-service p { margin-top:0!important; margin-bottom:10px!important; line-height:1.45; }
.isi-service-link { margin-top:3px!important; }

.isi-wims { max-width:1180px; margin-left:auto!important; margin-right:auto!important; }
.isi-wims-art { min-height:340px; }

@media (min-width:901px) {
  .isi-hero { padding-top:42px!important; padding-bottom:73px!important; }
}

@media (max-width:900px) {
  .isi-site-header { position:relative; }
  .isi-hero { min-height:0; background-size:cover, auto 100%; background-position:center, 70% center; }
}

@media (max-width:600px) {
  .isi-header-logo { width:235px; height:58px; }
  .isi-hero { background-position:center, 72% center; }
}


/* === v0.6 header + hero alignment pass === */
html, body { margin:0; padding:0; }
.wp-site-blocks { padding-top:0; padding-bottom:0; }
.wp-site-blocks > * { margin-block-start:0; }
main.wp-block-group { margin-block-start:0!important; }

/* Keep header contents on the same 1180px grid as the hero and cards. */
.isi-site-header { padding-left:24px!important; padding-right:24px!important; }
.isi-header-inner {
  width:100%;
  max-width:1180px!important;
  min-height:84px;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:34px;
}
.isi-header-logo {
  width:300px;
  height:66px;
  flex:0 0 300px;
  background-position:left center;
}
.isi-header-nav {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:27px!important;
  margin:0!important;
  white-space:nowrap;
}
.isi-header-nav > p { margin:0!important; line-height:1; }
.isi-header-nav > p > a {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  font-size:.82rem;
  line-height:1;
  color:#0d243a;
  position:relative;
}
/* Current section is assigned dynamically in functions.php. */
.isi-header-nav > p > a.is-current { color:var(--isi-blue); }
.isi-header-nav > p > a.is-current::before {
  content:"";
  position:absolute;
  left:0; right:0; bottom:2px;
  height:2px;
  background:#1d9ee8;
}
.isi-header-nav > p:nth-child(2) > a::after,
.isi-header-nav > p:nth-child(3) > a::after {
  content:"⌄";
  font-size:.82em;
  margin-left:7px;
  transform:translateY(-1px);
}
.isi-header-nav .wp-block-buttons { margin:0 0 0 3px!important; }
.isi-header-nav .wp-block-button__link {
  padding:14px 19px!important;
  line-height:1!important;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}

/* WordPress constrained layouts center children by default. Force every hero
   text element back to the same left edge so the tagline stack lines up. */
.isi-hero { padding-left:24px!important; padding-right:24px!important; }
.isi-hero > .wp-block-group {
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.isi-hero > .wp-block-group > * {
  margin-left:0!important;
  margin-right:0!important;
}
.isi-hero-title,
.isi-kicker,
.isi-hero-copy,
.isi-accent-rule,
.isi-hero .wp-block-buttons {
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}
.isi-hero-title { max-width:640px!important; }
.isi-kicker { max-width:640px!important; }
.isi-hero-copy { max-width:590px!important; }
.isi-hero .wp-block-buttons { justify-content:flex-start!important; }

@media (min-width:901px) {
  .isi-hero { padding-top:48px!important; padding-bottom:82px!important; }
}

@media (max-width:1100px) and (min-width:901px) {
  .isi-header-inner { gap:18px; }
  .isi-header-logo { width:255px; height:60px; flex-basis:255px; }
  .isi-header-nav { gap:18px!important; }
  .isi-header-nav > p > a { font-size:.76rem; }
  .isi-header-nav .wp-block-button__link { padding-left:14px!important; padding-right:14px!important; }
}

@media (max-width:900px) {
  .isi-header-inner { min-height:72px; }
  .isi-header-logo { width:270px; height:62px; flex-basis:auto; }
  .isi-header-nav { display:none!important; }
  .isi-hero > .wp-block-group > * { margin-left:0!important; margin-right:0!important; }
}


/* === v0.7 real WIMS product screenshot === */
.isi-wims {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.38fr);
}
.isi-wims-art {
  position: relative;
  min-height: 390px!important;
  width: 100%;
  background: none!important;
  border-radius: 10px;
  overflow: visible;
}
.isi-wims-art::before {
  content: "";
  position: absolute;
  inset: 4% 2% 9% 2%;
  background: #0c1722 url('assets/images/wims-dashboard-obfuscated.webp') center/cover no-repeat;
  border: 9px solid #16232f;
  border-bottom-width: 17px;
  border-radius: 13px;
  box-shadow: 0 24px 42px rgba(10,31,49,.24), 0 4px 10px rgba(10,31,49,.16);
}
.isi-wims-art::after {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 4%;
  height: 15px;
  background: linear-gradient(180deg,#d9dee2,#87939c 65%,#4e5961);
  border-radius: 2px 2px 13px 13px;
  box-shadow: 0 7px 12px rgba(10,31,49,.18);
}
@media (max-width: 900px) {
  .isi-wims-art { min-height: 330px!important; }
}
@media (max-width: 600px) {
  .isi-wims-art { min-height: 245px!important; }
  .isi-wims-art::before { inset: 5% 0 10% 0; border-width: 6px; border-bottom-width: 12px; }
  .isi-wims-art::after { left: 5%; right: 5%; bottom: 5%; height: 11px; }
}


/* === v0.8 interior-site system === */
.isi-page-shell { margin:0!important; }
.isi-page-shell > .wp-block-post-content { margin-block-start:0!important; }
.isi-page-shell .wp-block-post-content > * { margin-block-start:0; }
.isi-page-hero {
  position:relative;
  overflow:hidden;
  background:linear-gradient(105deg,#061a30 0%,#0a3559 65%,#0060a1 130%);
  color:#fff;
  padding:72px 24px 66px;
}
.isi-page-hero::after {
  content:""; position:absolute; right:-4%; top:-75%; width:520px; aspect-ratio:1;
  background:url('assets/images/swoosh.svg') center/contain no-repeat;
  filter:brightness(0) invert(1); opacity:.07; transform:rotate(-8deg);
}
.isi-page-hero-inner,.isi-section-inner { width:100%; max-width:1180px; margin:0 auto; position:relative; z-index:1; }
.isi-page-hero .isi-eyebrow { color:#6fc5f5; margin:0 0 12px; }
.isi-page-hero h1 { color:#fff; font-size:clamp(2.7rem,5.7vw,5rem); line-height:1; margin:0 0 18px; max-width:860px; }
.isi-page-hero p { font-size:1.2rem; line-height:1.55; max-width:760px; margin:0; color:rgba(255,255,255,.9); }
.isi-section { padding:68px 24px; }
.isi-section.isi-soft { background:#f5f8fb; }
.isi-section.isi-blue-section { background:#082b49; color:#fff; }
.isi-section h2 { font-size:clamp(2rem,3.8vw,3rem); line-height:1.08; margin:0 0 18px; color:#173b5a; }
.isi-section.isi-blue-section h2 { color:#fff; }
.isi-section h3 { color:#173b5a; }
.isi-section.isi-blue-section h3 { color:#fff; }
.isi-lede { font-size:1.2rem; line-height:1.65; max-width:900px; color:#4d5f6e; }
.isi-blue-section .isi-lede { color:rgba(255,255,255,.86); }
.isi-grid-2,.isi-grid-3,.isi-grid-4 { display:grid; gap:28px; }
.isi-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.isi-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.isi-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.isi-card { background:#fff; border:1px solid #dfe7ed; box-shadow:0 12px 32px rgba(14,45,69,.07); padding:30px; border-radius:2px; }
.isi-card h3 { margin:0 0 12px; font-size:1.38rem; }
.isi-card p { line-height:1.6; }
.isi-card-link { display:inline-block; margin-top:8px; font-weight:800; text-decoration:none; color:var(--isi-blue); }
.isi-card-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--isi-blue); font-weight:900; margin-bottom:18px; font-size:1.3rem; }
.isi-card:nth-child(2n) .isi-card-icon { background:#b43a0c; }
.isi-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 30px; margin:28px 0 0; padding:0; list-style:none; }
.isi-checks li { position:relative; padding-left:28px; line-height:1.5; }
.isi-checks li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--isi-blue); font-weight:900; }
.isi-callout { border-left:4px solid #b43a0c; background:#f5f8fb; padding:26px 30px; margin:32px 0 0; }
.isi-callout p:last-child { margin-bottom:0; }
.isi-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:58px; align-items:center; }
.isi-wims-shot { min-height:430px; border:9px solid #16232f; border-bottom-width:18px; border-radius:13px; background:#0c1722 url('assets/images/wims-dashboard-obfuscated.webp') center/cover no-repeat; box-shadow:0 24px 42px rgba(10,31,49,.22); }
.isi-stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:30px; }
.isi-stat { border-top:3px solid var(--isi-blue); padding-top:15px; }
.isi-stat strong { display:block; font-size:1.15rem; color:#173b5a; margin-bottom:6px; }
.isi-cta { padding:48px 24px; background:linear-gradient(100deg,#083456,#0b4c7d); color:#fff; }
.isi-cta .isi-section-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.isi-cta h2 { color:#fff; margin:0 0 5px; font-size:clamp(1.8rem,3vw,2.5rem); }
.isi-cta p { margin:0; color:rgba(255,255,255,.86); }
.isi-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 22px; background:#b43a0c; color:#fff!important; font-weight:800; text-transform:uppercase; text-decoration:none!important; border-radius:2px; white-space:nowrap; }
.isi-button.isi-button-outline { background:transparent; border:1px solid rgba(255,255,255,.75); }
.isi-contact-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:50px; }
.isi-contact-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.isi-contact-form .isi-field-full { grid-column:1 / -1; }
.isi-contact-form label { display:block; font-weight:800; color:#173b5a; margin-bottom:6px; }
.isi-contact-form input,.isi-contact-form textarea { width:100%; box-sizing:border-box; padding:13px 14px; border:1px solid #cbd6de; border-radius:2px; font:inherit; background:#fff; }
.isi-contact-form textarea { min-height:165px; resize:vertical; }
.isi-contact-form button { border:0; cursor:pointer; }
.isi-form-note { font-size:.9rem; color:#697985; }
.isi-form-success,.isi-form-error { padding:15px 18px; margin:0 0 22px; border-left:4px solid; }
.isi-form-success { background:#eef8f2; border-color:#2f855a; }
.isi-form-error { background:#fff3f1; border-color:#b43a0c; }
.isi-contact-details { background:#f5f8fb; border:1px solid #e1e8ed; padding:30px; }
.isi-contact-details h3 { margin-top:0; }
.isi-contact-details a { color:var(--isi-blue); }
.isi-portal-card { text-align:left; }
.isi-portal-card .isi-button { margin-top:10px; }
.isi-legal { max-width:900px; }
.isi-legal h2 { margin-top:38px; font-size:1.7rem; }
.isi-mobile-menu { display:none; }

@media (max-width:900px) {
  .isi-grid-3,.isi-grid-4 { grid-template-columns:1fr 1fr; }
  .isi-split,.isi-contact-layout { grid-template-columns:1fr; gap:34px; }
  .isi-cta .isi-section-inner { align-items:flex-start; flex-direction:column; }
  .isi-wims-shot { min-height:340px; }
  .isi-mobile-menu { display:block; max-width:1180px; margin:0 auto; padding:0 24px 12px; }
  .isi-mobile-menu summary { cursor:pointer; font-weight:800; color:#173b5a; list-style:none; padding:8px 0; }
  .isi-mobile-menu summary::-webkit-details-marker { display:none; }
  .isi-mobile-menu nav { display:grid; gap:2px; padding:8px 0 6px; }
  .isi-mobile-menu a { padding:9px 0; text-decoration:none; font-weight:700; color:#173b5a; border-bottom:1px solid #edf1f4; }
}
@media (max-width:600px) {
  .isi-page-hero { padding:52px 20px 48px; }
  .isi-section { padding:48px 20px; }
  .isi-grid-2,.isi-grid-3,.isi-grid-4,.isi-checks,.isi-stat-row,.isi-contact-form { grid-template-columns:1fr; }
  .isi-contact-form .isi-field-full { grid-column:auto; }
  .isi-card { padding:24px; }
  .isi-wims-shot { min-height:240px; border-width:6px; border-bottom-width:12px; }
}
