/* InnovaFlare 1.1: consolidated visual refinement loaded after the legacy layers. */
@font-face{font-family:Abel;src:url('../fonts/Abel-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Bellefair;src:url('../fonts/Bellefair-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}

:root{
 --cream:#fffaea;
 --navy:#06112d;
 --ink-soft:#465064;
 --surface:#f7f1df;
 --line:rgba(6,17,45,.17);
 --serif:Bellefair,Georgia,serif;
 --sans:Abel,Arial,sans-serif;
 --content:1216px;
}
html{scroll-padding-top:92px}
body{font-size:18px;line-height:1.58;text-rendering:optimizeLegibility}
body,p,h1,h2,h3,a,button,input,textarea{overflow-wrap:break-word}
.container{max-width:var(--content);padding-inline:clamp(22px,3vw,38px)}
.section{padding-block:clamp(48px,5vw,72px)}
h1,h2{letter-spacing:-.025em}
p{color:var(--ink-soft)}

header{position:sticky;top:0;background:rgba(255,250,234,.97);backdrop-filter:blur(12px);z-index:90}
.admin-bar header{top:32px}
.nav-wrap{min-height:88px}
.logo{width:190px}
header nav>ul{gap:clamp(18px,2.2vw,31px)}
header nav a{padding-block:9px}
header nav a::before{content:'';position:absolute;inset:auto 0 3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform 220ms ease}
header nav a:hover::before,header nav a:focus-visible::before,header nav .current-menu-item>a::before,header nav a[aria-current=page]::before{transform:scaleX(1);transform-origin:left}
.button{min-height:48px;border-radius:2px;box-shadow:none;transition:transform 180ms ease,background-color 180ms,color 180ms,border-color 180ms}
.button:hover{box-shadow:none;transform:translateY(-2px)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Home keeps its own editorial hero language. */
.corporate-home-hero{padding-block:clamp(46px,5vw,68px);min-height:610px;display:flex;align-items:center}
.corporate-home-hero:after{width:30%}
.corporate-home-hero h1{font-size:clamp(54px,5vw,72px);max-width:620px;margin-block:20px 22px}
.corporate-home-hero .hero-intro{max-width:535px;font-size:19px;line-height:1.62}
.corporate-hero-visual{max-width:390px;margin-right:24px;box-shadow:18px 18px 0 rgba(255,250,234,.08)}
.corporate-hero-visual .portrait-figure img{aspect-ratio:4/5;object-position:50% 42%}
.corporate-principles{max-width:470px}
.outcomes-inner{padding-block:0;gap:0;align-items:stretch}
.outcomes-inner>span{position:relative;flex:1;padding:21px 26px;text-align:center}
.outcomes-inner>span:first-child{padding-left:0;text-align:left}
.outcomes-inner>span:last-child{padding-right:0;text-align:right}
.outcomes-inner>.outcome-brand-mark{display:none}
.outcomes-inner>span+span:before{content:'';position:absolute;left:0;top:18px;bottom:18px;width:1px;background:var(--line)}
.home-story-row{align-items:start}
.home-story-row .story{max-width:610px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0!important;border-block:1px solid var(--line);margin-top:28px}
.steps>[class*=col-]{width:100%;padding:0}
.step{height:100%;border:0;border-radius:0;padding:30px 34px 32px;background:transparent;box-shadow:none}
.steps>div+div .step{border-left:1px solid var(--line)}
.step:hover{transform:none;box-shadow:none;background:transparent}
.step-top{margin-bottom:42px}
.step-top span:first-child{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%}
.service-list a{padding-block:22px}
.service-list h3{max-width:500px}

/* Compact shared banner: strong hierarchy without delaying page content. */
.corporate-page-banner{min-height:276px;padding-top:20px}
.corporate-page-banner .breadcrumb{margin-bottom:18px}
.corporate-page-banner .row{min-height:164px;padding-bottom:11px}
.corporate-page-banner h1{font-size:clamp(36px,3.25vw,48px);max-width:620px;margin-block:11px 16px}
.corporate-page-banner p{font-size:17px;line-height:1.55}
.corporate-page-banner .banner-line{margin-top:0}
.corporate-page-banner+.page-subtitle{padding-block:14px}

/* Editorial images use intentional, page-specific focal points. */
.balanced-editorial .portrait-figure{max-width:360px;border-radius:2px}
.page-slug-about .balanced-editorial .portrait-figure img{object-position:51% 42%}
.page-slug-why-innovaflare .balanced-editorial .portrait-figure img{object-position:52% 40%}
.page-slug-contact .contact-layout>div:first-child>.portrait-figure img{object-position:50% 38%}
.portrait-figure figcaption{padding:11px 15px}

/* About: asymmetric meaning, statement split, then an editorial partnership list. */
.page-slug-about .page-content>.method:nth-of-type(2) .principle-grid{grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.page-slug-about .page-content>.method:nth-of-type(2) .principle{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:32px}
.page-slug-about .page-content>.method:nth-of-type(2) .principle+article{border-left:1px solid var(--line)}
.page-slug-about .page-content>.method:nth-of-type(2) .principle:last-child{grid-column:1/-1;display:grid;grid-template-columns:56px 190px 1fr;align-items:center;gap:25px;border-left:0;background:var(--navy);color:var(--cream)}
.page-slug-about .page-content>.method:nth-of-type(2) .principle:last-child p{color:rgba(255,250,234,.72)}
.page-slug-about .purpose-grid{gap:0;padding:0;background:var(--navy);color:var(--cream)}
.page-slug-about .purpose-grid article{padding:clamp(34px,4.5vw,58px)}
.page-slug-about .purpose-grid article+article{border-left:1px solid rgba(255,250,234,.2)}
.page-slug-about .purpose-grid .eyebrow{color:rgba(255,250,234,.62)}
.page-slug-about .page-content>.method:nth-of-type(4) .principle-grid{grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.page-slug-about .page-content>.method:nth-of-type(4) .principle{display:grid;grid-template-columns:44px 1fr;column-gap:20px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:27px 22px}
.page-slug-about .page-content>.method:nth-of-type(4) .principle:nth-child(odd){border-right:1px solid var(--line)}
.page-slug-about .page-content>.method:nth-of-type(4) .principle>i{grid-row:1/3;margin:2px 0 0}
.page-slug-about .page-content>.method:nth-of-type(4) .principle h3{margin-bottom:9px}
.page-slug-about .page-content>.method:nth-of-type(4) .principle p{grid-column:2}

/* Services: hierarchy from a single featured case into four clear capabilities. */
.premium-service-grid{gap:18px}
.service-tile{border-radius:2px;padding:32px;box-shadow:none;transition:border-color 220ms,background-color 220ms}
.service-tile:hover{transform:none;box-shadow:none;border-color:rgba(6,17,45,.3)}
.service-tile:nth-child(3),.service-tile:nth-child(4){background:var(--surface)}
.service-featured{padding:38px;gap:54px}
.service-featured .portrait-figure{max-width:320px;border-radius:1px}
.service-tile h2{font-size:clamp(28px,2.3vw,34px)}
.service-tile .service-visual{border-block:1px solid var(--line);padding-block:17px}
.service-tile .service-visual>span{border:0;text-align:left;justify-content:flex-start;padding:0;min-height:0}
.service-featured .service-visual{border-color:rgba(255,250,234,.22)}
.service-tile-link{min-height:48px}
.process-flow{counter-reset:process;display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.process-flow span{counter-increment:process;font-size:18px;padding:43px 20px 5px 0}
.process-flow span:before{content:counter(process,decimal-leading-zero);top:11px;width:auto;height:auto;background:none;border-radius:0;font-size:10px;letter-spacing:.12em;color:var(--ink-soft)}
.process-flow span+span{padding-left:20px;border-left:1px solid var(--line)}
.process-flow span+span:before{left:20px}

/* Why: evidence list instead of another repeated card matrix. */
.page-slug-why-innovaflare .page-content>.method:nth-of-type(2) .principle-grid{grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);counter-reset:reason}
.page-slug-why-innovaflare .page-content>.method:nth-of-type(2) .principle{counter-increment:reason;display:grid;grid-template-columns:48px 1fr;column-gap:22px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:29px 24px}
.page-slug-why-innovaflare .page-content>.method:nth-of-type(2) .principle:nth-child(odd){border-right:1px solid var(--line)}
.page-slug-why-innovaflare .page-content>.method:nth-of-type(2) .principle:before{content:counter(reason,decimal-leading-zero);grid-column:1;grid-row:1;font-size:11px;letter-spacing:.12em;color:var(--ink-soft)}
.page-slug-why-innovaflare .page-content>.method:nth-of-type(2) .principle>i{grid-column:1;grid-row:2;margin:6px 0 0;font-size:19px}
.page-slug-why-innovaflare .page-content>.method:nth-of-type(2) .principle h3{grid-column:2;grid-row:1/3;margin:0 0 10px}
.page-slug-why-innovaflare .page-content>.method:nth-of-type(2) .principle p{grid-column:2;margin-top:42px}
.page-slug-why-innovaflare .page-content>.section:nth-of-type(3)>.container{background:var(--surface);padding-block:clamp(30px,4vw,52px)}

/* Contact: the form remains independent of the shorter narrative column. */
.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:clamp(46px,6vw,82px);align-items:start}
.contact-layout>.form-panel{position:sticky;top:112px;border-radius:2px;padding:clamp(28px,3vw,42px);background:var(--surface)}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px}
.form-grid>.form-field{min-width:0}
form label{font-size:14px;letter-spacing:.01em}
input,textarea{min-height:48px;border-radius:2px;padding:12px 14px;background:var(--cream)}
textarea{min-height:142px}
.consent{align-items:center}
.consent input[type="checkbox"]{width:17px;height:17px;min-height:0;margin:0;padding:0}
.consent .wpcf7-list-item{margin:0}
.consent .wpcf7-list-item label{display:flex;align-items:center;gap:10px;margin:0}
.consent .wpcf7-list-item-label{line-height:1.4}
input:focus,textarea:focus{box-shadow:0 0 0 3px rgba(6,17,45,.08)}
input:user-invalid,textarea:user-invalid{border-color:#8b352d}
.direct-contact{background:var(--surface);border:0;padding:24px;margin-top:26px}
.direct-contact h3{font-family:var(--serif);font-size:26px}
.fit-list li:before{display:none}
.fit-list li>i{position:absolute;left:0;top:24px;font-size:13px}

/* Shared closing rhythm and footer. */
.contact-section{padding-bottom:clamp(34px,4vw,58px)}
.shared-cta .contact-panel{min-height:270px;border-radius:2px;padding:clamp(40px,5vw,62px)}
.shared-cta .contact-symbol{width:160px}
.site-footer{margin-top:0}
.footer-columns{gap:clamp(34px,6vw,78px)}
.powered-by{position:relative}
.powered-by:after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform 180ms}
.powered-by:hover:after,.powered-by:focus-visible:after{transform:scaleX(1);transform-origin:left}

@media(min-width:992px){
 .corporate-home-hero .row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center}
 .corporate-home-hero .hero-copy,.corporate-home-hero .hero-copy+.col-lg-6{width:100%}
}

@media(max-width:991px){
 .admin-bar header{top:32px}
 .nav-wrap{min-height:80px}
 header nav a::before{display:none}
 header nav#primary-navigation{margin-inline:-22px;width:calc(100% + 44px);padding:8px 22px 15px;border-top:1px solid var(--line);background:var(--cream)}
 .corporate-home-hero{min-height:0}
 .corporate-hero-visual{box-shadow:12px 12px 0 rgba(6,17,45,.06)}
 .contact-layout{grid-template-columns:1fr 1.08fr;gap:34px}
 .contact-layout>.form-panel{position:static}
 .footer-columns{grid-template-columns:1.1fr .7fr 1.2fr}
 header .menu-toggle{display:flex!important;visibility:visible}
}

@media(max-width:767px){
 .admin-bar header{top:46px}
 .corporate-page-banner .row{row-gap:8px}
 .outcomes-inner{display:grid;grid-template-columns:1fr 1fr}
 .outcomes-inner>span,.outcomes-inner>span:first-child,.outcomes-inner>span:last-child{text-align:left;padding:16px 18px}
 .outcomes-inner>span:nth-child(odd){padding-left:0}
 .outcomes-inner>span:nth-child(even){padding-right:0}
 .outcomes-inner>span+span:before{display:none}
 .outcomes-inner>span:nth-child(even){border-left:1px solid var(--line)}
 .outcomes-inner>span:nth-child(n+3){border-top:1px solid var(--line)}
 .steps{grid-template-columns:1fr}
 .steps>div+div .step{border-left:0;border-top:1px solid var(--line)}
 .step{padding:25px 4px}
 .step-top{margin-bottom:20px}
 .page-slug-about .purpose-grid{grid-template-columns:1fr}
 .page-slug-about .purpose-grid article+article{border-left:0;border-top:1px solid rgba(255,250,234,.2)}
 .contact-layout{grid-template-columns:1fr}
 .process-flow{grid-template-columns:repeat(2,1fr)}
 .process-flow span{border-top:1px solid var(--line);padding:40px 18px 13px 0}
 .process-flow span+span{padding-left:18px}
 .process-flow span+span:before{left:18px}
 .process-flow span:nth-child(3),.process-flow span:nth-child(5){border-left:0;padding-left:0}
 .process-flow span:nth-child(3):before,.process-flow span:nth-child(5):before{left:0}
}

@media(max-width:600px){
 .admin-bar header{top:0}
 .container{padding-inline:22px}
 .logo{width:158px}
 .nav-wrap{padding-block:12px;min-height:74px}
 .menu-toggle{min-height:44px;border-radius:2px}
 .corporate-home-hero{padding-block:38px}
 .corporate-home-hero h1{font-size:49px}
 .corporate-home-hero .hero-intro{font-size:17px}
 .corporate-hero-visual{max-width:310px}
 .corporate-principles{flex-wrap:wrap}
 .corporate-page-banner{padding-top:16px}
 .corporate-page-banner .breadcrumb{margin-bottom:13px}
 .corporate-page-banner h1{font-size:35px}
 .corporate-page-banner .banner-line>span:nth-child(2){display:none}
 .corporate-page-banner .banner-line>span{max-width:55%}
 .balanced-editorial .portrait-figure{max-width:280px}
 .page-slug-about .page-content>.method:nth-of-type(2) .principle-grid,
 .page-slug-about .page-content>.method:nth-of-type(4) .principle-grid,
 .page-slug-why-innovaflare .page-content>.method:nth-of-type(2) .principle-grid{grid-template-columns:1fr}
 .page-slug-about .page-content>.method:nth-of-type(2) .principle+article,
 .page-slug-about .page-content>.method:nth-of-type(4) .principle:nth-child(odd),
 .page-slug-why-innovaflare .page-content>.method:nth-of-type(2) .principle:nth-child(odd){border-left:0;border-right:0}
 .page-slug-about .page-content>.method:nth-of-type(2) .principle:last-child{grid-template-columns:42px 1fr;gap:12px}
 .page-slug-about .page-content>.method:nth-of-type(2) .principle:last-child p{grid-column:1/-1}
 .service-featured{padding:25px}
 .service-tile{padding:24px}
 .service-tile .service-visual{align-items:stretch}
 .service-tile .service-visual>span{text-align:center;justify-content:center}
 .page-slug-why-innovaflare .page-content>.section:nth-of-type(3)>.container{padding-inline:22px}
 .form-panel h2{font-size:36px}
 .shared-cta .contact-symbol{width:150px}
 .footer-columns{grid-template-columns:1fr}
}

@media(hover:hover) and (pointer:fine){
 .portrait-figure:hover img{transform:scale(1.025)}
 .service-tile-link:hover>span{transform:translate(2px,-2px)}
}

@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .motion-item{opacity:1!important;translate:none!important}
 .button:hover,.portrait-figure:hover img,.service-tile-link:hover>span{transform:none!important}
}
