/* 1.9.4: use the approved philosophy gradient only on the requested inquiry areas. */
:root{--ixa-inquiry-gradient:linear-gradient(90deg,#68200033,transparent 63%),linear-gradient(105deg,#f65a00,#ff7a00 46%,#ffb600)}
.main-navigation .ixa-contact-menu>a,
.main-navigation .ixa-contact-menu>a:hover,.main-navigation .ixa-contact-menu>a:focus-visible{background:var(--ixa-inquiry-gradient);text-shadow:0 1px 2px #68220099}
:is(.home,.ixa-page-services,.ixa-page-company,.editor-styles-wrapper) .contact-cta{background:var(--ixa-inquiry-gradient)}
:is(.home,.ixa-page-services,.ixa-page-company,.editor-styles-wrapper) .contact-cta :is(h2,p,.wp-block-button__link){text-shadow:0 1px 2px #68220099}
.ixa-page-contact .wpcf7 .wpcf7-submit,
.ixa-page-contact .wpcf7 .wpcf7-submit:hover,.ixa-page-contact .wpcf7 .wpcf7-submit:focus-visible{background:var(--ixa-inquiry-gradient);color:#fff;text-shadow:0 1px 2px #68220099}
@media(min-width:1025px){
 .main-navigation .ixa-contact-menu>a,.main-navigation .ixa-contact-menu>a:hover,.main-navigation .ixa-contact-menu>a:focus-visible{background:transparent}
 .main-navigation .ixa-contact-menu>a:before,
 .main-navigation .ixa-contact-menu>a:hover:before,.main-navigation .ixa-contact-menu>a:focus-visible:before{background:var(--ixa-inquiry-gradient)}
}
.ixa-page-philosophy .message-body:before,.editor-styles-wrapper .message-body:before{top:50%;transform:translateY(-50%)}
/* 1.9.6: move only the desktop message watermark 12px below its previous position. */
@media(min-width:1025px){.ixa-page-philosophy .message-body:before,.editor-styles-wrapper .message-body:before{top:calc(50% - 26px)}}
/* The same transparent CTA button on desktop, tablet and mobile. */
:is(.home,.ixa-page-services,.ixa-page-company,.editor-styles-wrapper) .contact-cta .wp-block-button__link{background:transparent;color:#fff;border-color:#fff}
:is(.home,.ixa-page-services,.ixa-page-company,.editor-styles-wrapper) .contact-cta .wp-block-button__link:after{color:#fff}
:is(.home,.ixa-page-services,.ixa-page-company,.editor-styles-wrapper) .contact-cta .wp-block-button__link:hover,
:is(.home,.ixa-page-services,.ixa-page-company,.editor-styles-wrapper) .contact-cta .wp-block-button__link:focus-visible{background:#ffffff1f;color:#fff;border-color:#fff}
:is(.home,.ixa-page-services,.ixa-page-company,.editor-styles-wrapper) .contact-cta .wp-block-button__link:focus-visible{outline:2px solid #fff;outline-offset:4px}
/* Match the existing contact section's desktop layout breakpoint (960px). */
@media(min-width:961px){
 :is(.home,.ixa-page-services,.ixa-page-company) .contact-cta .wrap{--ixa190-side:48px;padding-right:max(0px,calc(284px + 3vw - max(var(--ixa190-side),(100vw - 1180px)/2)));column-gap:32px}
}
@media(min-width:961px) and (max-width:1100px){:is(.home,.ixa-page-services,.ixa-page-company) .contact-cta .wrap{--ixa190-side:32px}}
@media(min-width:961px) and (max-width:1200px){
 :is(.home,.ixa-page-services,.ixa-page-company) .contact-cta .wrap{grid-template-columns:1fr}
 :is(.home,.ixa-page-services,.ixa-page-company) .contact-cta .wp-block-buttons{grid-column:1;grid-row:auto;margin-top:24px}
}
@media(max-width:1024px){
 .menu-toggle:after{background:linear-gradient(#ff8a24,#ff8a24) top/100% 2px no-repeat,linear-gradient(#ff8a24,#ff8a24) center/100% 2px no-repeat,linear-gradient(#ff8a24,#ff8a24) bottom/100% 2px no-repeat}
 .menu-toggle[aria-expanded=true]:after{background:linear-gradient(45deg,transparent 47%,#ff8a24 48% 52%,transparent 53%),linear-gradient(-45deg,transparent 47%,#ff8a24 48% 52%,transparent 53%)}
}
@media(max-width:600px){:root{--ixa-inquiry-gradient:linear-gradient(100deg,#68200040,#68200020 75%,transparent),linear-gradient(115deg,#f65a00,#ff7900 65%,#ffa600)}}
/* The third photo keeps its approved position and entrance. Remove only the other photos' short sticky travel. */
.ixa-page-services :is(.service-1,.service-2,.service-4) .service-photo{position:relative;top:auto}

.ixa-page-philosophy .calligraphy{position:relative;isolation:isolate}
.ixa190-sparkles{position:absolute;inset:0;pointer-events:none;overflow:clip;z-index:1}
.ixa190-spark{position:absolute;left:var(--spark-x);top:var(--spark-y);width:calc(36px * var(--spark-scale,1));height:calc(36px * var(--spark-scale,1));border-radius:50%;background:radial-gradient(circle,#fff 0 6%,#fff8dc 10%,#ffe3a5c9 20%,#ffd16b6b 39%,#ffb43e21 57%,transparent 73%);box-shadow:0 0 15px #ffc76a6b;opacity:0;transform:translate(-50%,-50%);animation:ixa190-glint var(--spark-duration) ease-in-out var(--spark-delay) infinite;animation-play-state:paused}
.ixa190-spark:before,.ixa190-spark:after{content:"";position:absolute;inset:calc(50% - .5px) -28% auto;height:1px;background:linear-gradient(90deg,transparent,#ffe7ac 30%,#fff 46% 54%,#ffe7ac 70%,transparent);box-shadow:0 0 4px #ffda94;transform:rotate(-18deg)}
.ixa190-spark:before{transform:rotate(72deg) scaleX(.78)}
.ixa193-paper-spark{background:radial-gradient(circle,#fff 0 5%,#fff2ae 10%,#f0b74bb3 22%,#eaa02c59 42%,#d78b171c 60%,transparent 74%);box-shadow:0 0 12px #dc96223d}
.ixa193-paper-spark:before,.ixa193-paper-spark:after{background:linear-gradient(90deg,transparent,#bd7b20 27%,#f5cb6a 41%,#fff9d7 48% 52%,#f5cb6a 59%,#bd7b20 73%,transparent);box-shadow:0 0 3px #c38b2b99}
.ixa190-sparkles.is-running .ixa190-spark{animation-play-state:running}
@keyframes ixa190-glint{0%,75%,100%{opacity:0;transform:translate(-50%,-50%) scale(.6)}24%,34%{opacity:1;transform:translate(-50%,-50%) scale(1)}54%{opacity:.35;transform:translate(-50%,-50%) scale(.8)}}
@media(prefers-reduced-motion:no-preference){
 .ixa190-heading.is-inview{animation:ixa190-heading 1.5s cubic-bezier(.35,0,.2,1) both}
 .ixa190-down.is-inview{animation:ixa190-down 1.4s cubic-bezier(.3,0,.2,1) var(--ixa190-delay,0s) both}
 .ixa190-body.is-inview{animation:ixa190-body 1.2s cubic-bezier(.3,0,.2,1) var(--ixa190-delay,0s) both}
}
@keyframes ixa190-heading{from{clip-path:inset(0 100% 0 0);transform:translateY(12px)}to{clip-path:inset(0);transform:none}}
@keyframes ixa190-down{from{clip-path:inset(0 0 100% 0);transform:translateY(12px);opacity:.6}to{clip-path:inset(0);transform:none;opacity:1}}
@keyframes ixa190-body{from{transform:translateY(16px);opacity:.35}to{transform:none;opacity:1}}
@media(max-width:600px){.ixa190-spark{width:calc(24px * var(--spark-scale,1));height:calc(24px * var(--spark-scale,1))}}
@media(prefers-reduced-motion:reduce){.ixa190-heading,.ixa190-down,.ixa190-body{animation:none!important;clip-path:none;transform:none;opacity:1}.ixa190-sparkles{display:none}}
.editor-styles-wrapper :is(.ixa190-heading,.ixa190-down,.ixa190-body){animation:none!important;clip-path:none;transform:none;opacity:1}

/* Mirror the columns: previous nth-of-type rules enlarged only photos 01/03. */
@media(min-width:601px){
 .ixa-page-services :is(.service-1,.service-3) .service-detail-inner,.editor-styles-wrapper :is(.service-1,.service-3) .service-detail-inner{grid-template-columns:43% minmax(0,1fr)}
 .ixa-page-services :is(.service-2,.service-4) .service-detail-inner,.editor-styles-wrapper :is(.service-2,.service-4) .service-detail-inner{grid-template-columns:minmax(0,1fr) 43%}
 /* A smaller photo must not activate the previously dormant sticky interval on 03. */
 .ixa-page-services .service-3 .service-photo{position:relative;top:auto}
}
/* 1.9.2: only these six headings reveal over their text width, like home SERVICE. */
main .ixa192-heading{animation:none!important;clip-path:none;transform:none;opacity:1}
.ixa192-heading-text{display:block;width:fit-content;max-width:100%;min-width:0}
@media(prefers-reduced-motion:no-preference){
 main .ixa192-heading.is-inview>.ixa192-heading-text{animation:ixa190-heading 1.5s cubic-bezier(.35,0,.2,1) 0s both}
}
@media(prefers-reduced-motion:reduce){.ixa192-heading-text{animation:none!important;clip-path:none;transform:none;opacity:1}}
/* Keep the privacy page title motion; inner headings are always immediately readable. */
.ixa-page-privacy .privacy-body h2{animation:none!important;clip-path:none;transform:none;opacity:1}
/* Match the approved home SERVICE heading. Keep directions, delays, photo motion and hover intact. */
@media(prefers-reduced-motion:no-preference){
 main :is(.ixa190-heading,.ixa190-down,.ixa190-body,.ixa-motion-text,.ixa-motion-service,.ixa-motion-line).is-inview,
 main :is(.company-table,.qualifications) .ixa-motion-line.is-inview,
 main .section-title.is-visible:after,
 main :is(.company-table,.qualifications) .section-title.is-visible:after,
 main .ixa-motion-service.is-inview:after,
 .home main .hero h1,.home main .hero-copy>p:not(.scroll-cue),
 .home main :is(.ixa-home-title,.ixa-home-copy).is-entered,
 .home main .partner-copy h2.is-entered:after{
  animation-duration:1.5s;animation-timing-function:cubic-bezier(.35,0,.2,1);
 }
}
/* 1.9.3: slower statement only; the other headings keep their approved timing. */
.ixa193-statement-text{display:block;width:fit-content;max-width:100%}
main .ixa193-statement-heading{animation:none!important;clip-path:none;transform:none;opacity:1}
@media(prefers-reduced-motion:no-preference){
 .ixa-page-philosophy .philosophy-statement .ixa193-label.is-inview{animation:ixa193-soft 2.4s cubic-bezier(.4,0,.4,1) both}
 .ixa-page-philosophy .philosophy-statement .ixa193-statement-heading.is-inview>.ixa193-statement-text{animation:ixa193-flow 2.8s cubic-bezier(.4,0,.4,1) both}
 .ixa-page-philosophy .philosophy-statement .ixa193-statement-body.is-inview{animation:ixa193-soft 2.8s cubic-bezier(.4,0,.4,1) var(--ixa190-delay,.25s) both}
}
@keyframes ixa193-flow{from{clip-path:inset(0 100% 0 0);transform:translateX(-14px);opacity:.4}to{clip-path:inset(0);transform:none;opacity:1}}
@keyframes ixa193-soft{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ixa193-label,.ixa193-statement-text,.ixa193-statement-body{animation:none!important;clip-path:none;transform:none;opacity:1}}
.editor-styles-wrapper :is(.ixa193-label,.ixa193-statement-text,.ixa193-statement-body){animation:none!important;clip-path:none;transform:none;opacity:1}
