/*
Theme Name: IntegraPro Website 2.0
Theme URI: https://integrapropm.com
Author: IntegraPro Solutions
Description: IntegraPro Solutions official Website 2.0 production theme.
Version: 0.9.12
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: integrapro-v2
*/


:root{--navy:#062a4b;--navy2:#071b35;--teal:#02aeb6;--ink:#102b4d;--muted:#4e6176;--ice:#eef7fb;--off:#f8fafc;--border:#dce8ef;--white:white}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.7 'Segoe UI',Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit}a:hover{color:#007d91}.container{max-width:1160px;margin:auto;padding:0 28px}.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);z-index:10;backdrop-filter:blur(12px)}.bar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{font-weight:850;font-size:25px;color:var(--navy);text-decoration:none;letter-spacing:-1.5px;line-height:1}.logo span{color:var(--teal)}.logo small{display:block;font-size:10px;letter-spacing:2px;font-weight:650;margin-top:6px}.topnav{display:flex;gap:29px;align-items:center}.topnav a{text-decoration:none;font-size:14px;font-weight:650}.topnav a.active{color:#008d9c;border-bottom:3px solid var(--teal);padding:26px 0 23px}.menu{display:none}.hero{background:linear-gradient(115deg,#fff 25%,#eefafd 75%);overflow:hidden}.hero-grid{min-height:450px;display:grid;grid-template-columns:57% 43%;align-items:center;gap:18px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:750;color:#048b9e}.hero h1{font-size:clamp(35px,4.25vw,57px);line-height:1.12;max-width:780px;letter-spacing:-2.2px;margin:14px 0 23px}.hero p{font-size:18px;max-width:650px}.btns{display:flex;gap:13px;flex-wrap:wrap;margin:26px 0}.btn{display:inline-flex;align-items:center;gap:14px;background:var(--teal);color:white;text-decoration:none;font-size:14px;font-weight:750;padding:13px 19px;border:2px solid var(--teal);border-radius:8px;transition:.2s}.btn:hover{background:#087f8c;color:#fff;transform:translateY(-1px)}.btn.outline{color:var(--navy);background:transparent}.btn.outline:hover{background:#e6f9fa}.abstract{min-height:360px;position:relative;isolation:isolate;background:radial-gradient(circle at 75% 70%,#d7f8fc,transparent 55%)}.abstract:before{content:'';position:absolute;border-radius:45% 55% 30% 70%;width:95%;height:73%;background:linear-gradient(145deg,transparent 2%,#a1f1f5 24%,#03b9c2 52%,#147db6 85%);transform:rotate(-25deg);left:10%;top:11%;opacity:.72}.abstract:after{content:'';position:absolute;left:25%;right:10%;bottom:18%;height:50%;background:repeating-linear-gradient(90deg,#ffffffbb 0 12%,transparent 12% 20%);clip-path:polygon(0 75%,18% 60%,35% 68%,55% 34%,72% 17%,100% 0,100% 100%,0 100%);border-radius:10px}.section{padding:78px 0}.section.soft{background:var(--off)}.section.ice{background:var(--ice)}.section h2{font-size:clamp(27px,3vw,39px);line-height:1.22;letter-spacing:-1.1px;margin:5px 0 13px}.section h3{font-size:22px;line-height:1.3;margin:8px 0 15px;letter-spacing:-.3px}.section .intro{font-size:18px;color:var(--muted);max-width:780px}.center{text-align:center}.center .intro{margin:0 auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.cards.two{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:25px;box-shadow:0 8px 24px #0c31520a}.card h3{font-size:19px}.card p{font-size:15px;color:var(--muted)}.card a:not(.btn){font-size:14px;font-weight:750;text-decoration:none;color:#008e9b}.symbol{height:42px;width:42px;border:2px solid var(--teal);border-radius:13px;display:grid;place-items:center;color:#008e9b;font-size:23px;margin-bottom:19px}.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.pattern{min-height:240px;border-radius:20px;background:linear-gradient(138deg,#e4f9fe 0%,#b8eafa 32%,#01b5bf 32%,#097b9f 45%,#083c71 46%,#d9f5fa 62%,#0295b6 80%,#094474 81%);clip-path:polygon(0 20%,100% 0,92% 100%,0 88%)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:25px}.step{border-left:2px solid #c9e6ed;padding-left:18px}.step b{display:block;font-size:19px}.step .num{font-size:29px;color:var(--teal);font-weight:850}.dark{background:linear-gradient(130deg,#062947,#034b70);color:#fff}.dark p{color:#d7e9f1}.footer{background:#061d35;color:#fff;padding:54px 0 20px}.footer a{display:block;color:#d3e4ed;text-decoration:none;margin:8px 0;font-size:14px}.footer a:hover{color:#73eff0}.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:38px}.footer-bottom{margin-top:42px;border-top:1px solid #365066;padding-top:18px;display:flex;justify-content:space-between;font-size:12px;color:#b0c8d6}.page-hero{background:linear-gradient(120deg,#edf8fc,#fff);padding:75px 0 65px;border-bottom:1px solid var(--border)}.page-hero h1{font-size:clamp(36px,4.4vw,57px);letter-spacing:-2px;line-height:1.13;max-width:910px;margin:12px 0}.page-hero p{max-width:820px;font-size:18px;color:#425e73}.narrow{max-width:850px}.service-block{padding:45px 0;border-bottom:1px solid var(--border)}.service-block:last-child{border-bottom:0}.service-block:nth-child(2n){background:#f8fbfc}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}.service-grid ul{padding-left:19px}.service-grid li{padding:4px 0}.feature{background:var(--ice);border-left:4px solid var(--teal);padding:20px 24px;border-radius:5px;margin:24px 0}.feature strong{display:block}.case-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:27px}.case-nav a{text-decoration:none;background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px;font-weight:700;font-size:14px;line-height:1.35;min-height:125px;box-shadow:0 6px 18px #0b315209}.case-nav a:hover,.card:hover{border-color:#6acfd4}.case-nav small{display:block;color:#008c9b;font-weight:800;margin-bottom:8px}.case-list{display:grid;gap:22px}.case-preview{display:grid;grid-template-columns:75px 1fr;gap:22px;padding:26px;background:#fff;border:1px solid var(--border);border-radius:14px}.case-number{font-size:38px;color:#02a5b0;font-weight:800}.case-preview h3{margin:5px 0}.case-preview h4{font-size:18px;margin:0 0 13px}.case-preview a{color:#008e9b;font-weight:700;text-decoration:none}.tag{display:inline-block;background:#c9f4f3;border-radius:100px;padding:3px 10px;font-size:12px;font-weight:700;color:#005968}.article{max-width:895px;margin:auto}.article p{color:#364e64}.article h2{font-size:27px;margin-top:37px}.article ul{padding-left:23px}.article li{margin-bottom:11px}.breadcrumb{font-weight:700;font-size:14px;color:#008c9b}.breadcrumb a{text-decoration:none}.info-panel{background:#eff8fa;border-radius:12px;padding:22px;margin:26px 0}.form-preview{padding:32px;background:#fff;border:1px solid var(--border);border-radius:13px}.field{display:block;font-weight:700;font-size:14px;margin:13px 0}.field input,.field textarea,.field select{display:block;width:100%;margin-top:5px;padding:12px;border:1px solid #c5d9e2;border-radius:6px;background:#fff;font:inherit}.field textarea{height:130px}.form-preview button{background:var(--teal);color:white;border:none;border-radius:7px;padding:14px 20px;font-weight:700;cursor:default}.notice{background:#fff8e6;border-left:4px solid #e7b14b;padding:14px 18px;border-radius:6px;color:#61502b;font-size:14px}.legal p{font-size:15px;color:#425366}.mini{font-size:14px;color:#587084}.kicker{font-size:13px;color:#078b98;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}a:focus-visible{outline:3px solid #d99100;outline-offset:3px}
@media(max-width:800px){.topnav{display:none}.menu{display:block;font-size:14px;border:1px solid var(--border);background:white;padding:7px 11px;border-radius:6px}.topnav.open{display:flex;position:absolute;top:78px;left:0;right:0;background:white;flex-direction:column;gap:0;align-items:stretch;padding:12px 26px;box-shadow:0 12px 15px #0002}.topnav.open a,.topnav.open a.active{padding:9px;border-bottom:0}.hero-grid,.split,.service-grid{grid-template-columns:1fr}.hero-grid{padding-top:55px}.abstract{min-height:170px}.cards,.cards.two,.steps{grid-template-columns:repeat(2,1fr)}.case-nav{grid-template-columns:repeat(2,1fr)}.footer-cols{grid-template-columns:1fr 1fr}.footer-cols>div:first-child{grid-column:1/-1}}@media(max-width:520px){.container{padding:0 19px}.hero h1{font-size:36px}.section{padding:54px 0}.cards,.cards.two,.steps,.case-nav{grid-template-columns:1fr}.case-preview{grid-template-columns:1fr}.case-number{font-size:24px}.footer-cols{grid-template-columns:1fr}.footer-cols>div:first-child{grid-column:auto}}


/* Official corporate logo - preserved without redrawing or distortion */
.site-header .logo,.footer .logo{display:inline-flex;align-items:center;flex-shrink:0;letter-spacing:normal;line-height:normal}
.site-header .official-logo{display:block;width:158px;height:auto;max-height:74px;object-fit:contain}
.footer .footer-logo{background:white;border-radius:8px;padding:7px 10px;max-width:210px}
.footer .official-logo{display:block;width:176px;height:auto;object-fit:contain}
@media(max-width:600px){.site-header .official-logo{width:126px}.footer .official-logo{width:150px}}

/* WordPress-specific safeguards */ body{margin:0} .admin-bar .site-header{top:32px} @media(max-width:782px){.admin-bar .site-header{top:46px}} .site-header .logo img{height:auto} .wp-block-post-content{margin:0} .site-header .container,.footer .container{max-width:1160px} .preview-banner{background:#e9f6f7;padding:10px 20px;text-align:center;color:#07324a;font-size:13px;font-weight:650} .preview-banner a{font-weight:750} .form-status{padding:20px;border-radius:9px;background:#eaf7f9;border:1px solid #bbe3ea} .topnav a:focus-visible{outline:3px solid #e7a23a} .footer a{display:block} 

/* Website 2.0 refinement 0.9.1 — approved text and page routing unchanged */
/* Improve use of wide desktop screens without stretching paragraph lines. */
@media (min-width: 1100px) {
  .container { max-width: 1360px; padding-left: 42px; padding-right: 42px; }
  .site-header .container, .footer .container { max-width: 1360px; }
  .hero-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 62px; min-height: 510px; }
  .hero h1 { max-width: 720px; }
  .hero p { max-width: 640px; }
  .case-nav { gap: 19px; }
  .article { max-width: 1000px; }
  .narrow { max-width: 1000px; }
}
@media (min-width: 801px) and (max-width: 1099px) {
  .container { max-width: 100%; padding-left: 36px; padding-right: 36px; }
  .site-header .container, .footer .container { max-width: 100%; }
  .article { max-width: 930px; }
}
.section { padding-top: 68px; padding-bottom: 68px; }
.page-hero { padding-top: 56px; padding-bottom: 44px; }
.page-hero + .section { padding-top: 49px; }
.article { font-size: 17px; line-height: 1.77; }
.article p { font-size: 17px; line-height: 1.78; }
.article li { font-size: 17px; line-height: 1.72; margin-bottom: 12px; }
.article h2 { font-size: 29px; line-height: 1.3; margin-top: 33px; }
.case-nav a { padding: 23px; font-size: 15px; min-height: 137px; }
.card { padding: 29px; }
.card p { font-size: 16px; line-height: 1.7; }
.case-preview { padding: 30px; }
.info-panel { background: #ecf8fb; border: 1px solid #c6e9ee; border-left: 5px solid var(--teal); padding: 27px 31px; margin: 30px 0; }
.article h2 + ul { padding-top: 2px; }
.btn { font-size: 15px; padding: 14px 21px; }
@media (max-width: 800px) {
  .section { padding: 54px 0; }
  .page-hero { padding: 48px 0 39px; }
  .page-hero + .section { padding-top: 42px; }
  .article p, .article li { font-size: 16px; }
  .article { font-size: 16px; }
  .case-nav a { min-height: 112px; }
}

/* v0.9.5: Privacy Policy page formatting only */
.integrapro-privacy .article.legal { max-width: 900px; margin: 0 auto; }
.integrapro-privacy .article.legal p { font-size: 17px; line-height: 1.8; margin: 0 0 22px; overflow-wrap: anywhere; }
.integrapro-privacy .article.legal h2 { font-size: 26px; line-height: 1.3; margin: 30px 0 13px; }
.integrapro-privacy .article.legal h3 { font-size: 21px; line-height: 1.35; margin: 24px 0 10px; }
.integrapro-privacy .article.legal ul,.integrapro-privacy .article.legal ol { padding-left: 24px; }
@media (max-width: 520px) { .integrapro-privacy .article.legal p { font-size: 16px; } }

/* v0.9.7 — existing HubSpot form, Contact page only. */
.hubspot-form-container {background:#fff;border:1px solid #dbe8ec;border-radius:16px;padding:28px;box-shadow:0 10px 26px rgba(8,42,76,.045);min-width:0;}
.hubspot-form-container .hs-form-frame {min-height:440px;}
@media(max-width:650px){.hubspot-form-container{padding:15px;}}

/* v0.9.9 UAT display refinements, scoped to two approved pages. */
.integrapro-case-studies .case-studies-heading{max-width:840px;margin:0 0 34px;padding-left:20px;border-left:4px solid var(--teal)}
.integrapro-case-studies .case-studies-heading h2{color:var(--navy);font-size:clamp(30px,3vw,39px);line-height:1.2;margin:5px 0 12px}
.integrapro-case-studies .case-studies-heading p{font-size:17px;line-height:1.65;margin:0;color:var(--muted)}
.services-lead{font-size:clamp(19px,1.8vw,21px);line-height:1.5;font-weight:500;color:var(--navy);max-width:1000px;margin:22px 0 0}
@media(max-width:520px){.integrapro-case-studies .case-studies-heading{margin-bottom:26px;padding-left:15px}.integrapro-case-studies .case-studies-heading p{font-size:16px}.services-lead{font-size:19px}}

/* v0.9.10 — refined service introduction: restrained accent and compact transition. */
.services-intro-section .services-lead::before{content:"";display:block;width:42px;height:3px;background:var(--teal);border-radius:2px;margin:0 0 14px}
.services-intro-section + .service-block{padding-top:23px}
@media(max-width:520px){.services-intro-section + .service-block{padding-top:20px}}
