@layer oracleUpgrade {
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/portfolio/refresh-20261022/poppins-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/portfolio/refresh-20261022/poppins-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/portfolio/refresh-20261022/poppins-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/portfolio/refresh-20261022/montserrat-latin-700-normal.woff2) format("woff2")}/* Michael Oracle: shared public-site typography and lemon accents. */
body.oracle-site-upgrade{--yellow:#efff65;--accent:#efff65;--color-primary:#efff65;--blue:#13a7fb;--cyan:#efff65;--text:#f4f7f7;--muted:#b3c1c9;--line:#25353d;font-size:16px!important;line-height:1.8!important;-webkit-font-smoothing:antialiased}
body.oracle-site-upgrade h1,body.oracle-site-upgrade h2,body.oracle-site-upgrade h3{letter-spacing:-.045em!important;overflow-wrap:normal}
body.oracle-site-upgrade h1{font-size:clamp(42px,4.8vw,64px)!important;line-height:1.13!important}
body.oracle-site-upgrade h2{font-size:clamp(32px,3.4vw,46px)!important;line-height:1.17!important}
body.oracle-site-upgrade h3{font-size:24px!important;line-height:1.32!important}
body.oracle-site-upgrade p{font-size:15px!important;line-height:1.85!important}
body.oracle-site-upgrade .lead,body.oracle-site-upgrade .hero-copy>p:not(.eyebrow){font-size:17px!important;line-height:1.85!important}
body.oracle-site-upgrade .eyebrow,body.oracle-site-upgrade .subtitle,body.oracle-site-upgrade .case-kicker{font-size:11px!important;line-height:1.7!important;letter-spacing:.14em!important;color:var(--yellow)!important}
body.oracle-site-upgrade h1 span,body.oracle-site-upgrade h2 .theme-gradient{background:none!important;color:var(--yellow)!important;-webkit-text-fill-color:var(--yellow)!important}
body.oracle-site-upgrade .text-link,body.oracle-site-upgrade .step-num,body.oracle-site-upgrade .case-read,body.oracle-site-upgrade .oracle-live-demo,body.oracle-site-upgrade .card-top,body.oracle-site-upgrade .outline-mark{color:var(--yellow)!important}
body.oracle-site-upgrade .button:not(.secondary),body.oracle-site-upgrade .header-cta,body.oracle-site-upgrade .header-project,body.oracle-site-upgrade .action.primary,body.oracle-site-upgrade button.primary{background:var(--yellow)!important;border-color:var(--yellow)!important;color:#102018!important}
body.oracle-site-upgrade .button,body.oracle-site-upgrade .header-cta,body.oracle-site-upgrade .header-project{font-size:13px!important;line-height:1.6!important;min-height:48px;border-radius:50px!important;padding:13px 23px!important}
body.oracle-site-upgrade .button.secondary{border-color:#49616e!important;background:transparent!important;color:var(--text)!important}
body.oracle-site-upgrade .button:focus-visible,body.oracle-site-upgrade a:focus-visible,body.oracle-site-upgrade button:focus-visible,body.oracle-site-upgrade input:focus-visible,body.oracle-site-upgrade select:focus-visible,body.oracle-site-upgrade textarea:focus-visible,body.oracle-site-upgrade summary:focus-visible{outline:3px solid var(--yellow)!important;outline-offset:4px}
body.oracle-site-upgrade .service-card,body.oracle-site-upgrade .home-service,body.oracle-site-upgrade .case-slide,body.oracle-site-upgrade .panel,body.oracle-site-upgrade .blog-card,body.oracle-site-upgrade .post-card{border-color:var(--line);border-radius:18px}
body.oracle-site-upgrade .service-card h3,body.oracle-site-upgrade .home-service h3,body.oracle-site-upgrade .case-slide h3,body.oracle-site-upgrade .post-card h3{font-size:24px!important;line-height:1.3!important}
body.oracle-site-upgrade .home-hero-copy>p,body.oracle-site-upgrade .home-about p{font-size:16px!important;line-height:1.9!important}
body.oracle-site-upgrade .home-hero h1{font-size:clamp(44px,4.8vw,64px)!important}
body.oracle-site-upgrade .home-location{font-size:12px!important;color:var(--muted)}
body.oracle-site-upgrade .home-portrait{border-color:#3d4b3b}
body.oracle-site-upgrade .home-principles p,body.oracle-site-upgrade .hero-note,body.oracle-site-upgrade .system-capabilities{font-size:12px!important;line-height:1.8!important}
body.oracle-site-upgrade .section,body.oracle-site-upgrade .home-section{padding-block:90px}
body.oracle-site-upgrade .section.compact{padding-top:25px}
body.oracle-site-upgrade .section-heading,body.oracle-site-upgrade .home-section-heading{margin-bottom:38px}
body.oracle-site-upgrade .section-heading>p,body.oracle-site-upgrade .home-section-heading>p{font-size:15px!important}
body.oracle-site-upgrade .hero-visual{border-color:#4c5941}
body.oracle-site-upgrade .case-slide-body{padding:26px}
body.oracle-site-upgrade .case-slider-controls button{color:var(--yellow);min-width:44px;min-height:44px}
body.oracle-site-upgrade .case-image-label{font-size:9px!important;color:var(--yellow)!important}
body.oracle-site-upgrade .case-slider-bar p,body.oracle-site-upgrade .case-slider-bottom{font-size:12px!important;line-height:1.8!important}
body.oracle-site-upgrade .faq summary,body.oracle-site-upgrade .faq p{font-size:16px!important;line-height:1.8!important}
body.oracle-site-upgrade .form-grid label,body.oracle-site-upgrade .enquiry label,body.oracle-site-upgrade .field label{font-size:13px!important;line-height:1.7!important}
body.oracle-site-upgrade input:not([type=checkbox]):not([type=radio]),body.oracle-site-upgrade select,body.oracle-site-upgrade textarea{font-size:16px!important;line-height:1.6!important;min-width:0;max-width:100%;border-radius:9px}
body.oracle-site-upgrade .small,body.oracle-site-upgrade .muted.small,body.oracle-site-upgrade .form-note,body.oracle-site-upgrade .privacy-note{font-size:12px!important;line-height:1.8!important}
body.oracle-site-upgrade footer p,body.oracle-site-upgrade footer a:not(.button),body.oracle-site-upgrade .home-footer a:not(.button){font-size:14px!important;line-height:1.85!important}
body.oracle-site-upgrade .copyright-area-one p,body.oracle-site-upgrade .footer-bottom,body.oracle-site-upgrade .home-footer-bottom{font-size:12px!important}
body.oracle-site-upgrade .footer-area h3,body.oracle-site-upgrade .ft-title{font-size:20px!important}
body.oracle-site-upgrade .entry-content,body.oracle-site-upgrade .article-content,body.oracle-site-upgrade .post-content{overflow-wrap:anywhere}
body.oracle-site-upgrade .entry-content p,body.oracle-site-upgrade .article-content p,body.oracle-site-upgrade .post-content p,body.oracle-site-upgrade .entry-content li{font-size:16px!important;line-height:1.95!important}
body.oracle-site-upgrade .entry-content h2,body.oracle-site-upgrade .article-content h2{font-size:32px!important;margin-top:40px}
body.oracle-site-upgrade .entry-content h3,body.oracle-site-upgrade .article-content h3{font-size:24px!important;margin-top:30px}
body.oracle-site-upgrade pre{overflow:auto;max-width:100%}
body.oracle-site-upgrade .skip-link:not(:focus),body.oracle-site-upgrade a.skip:not(:focus){position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.oracle-enhanced-card{--pointer-x:50%;--pointer-y:50%;transition:border-color .25s,box-shadow .25s,transform .25s}
.oracle-site-trails{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.oracle-site-trails span{position:absolute;top:0;left:10%;height:100%;width:1px;background:#ffffff06;overflow:hidden}
.oracle-site-trails span:nth-child(2){left:calc(50% - 8px)}.oracle-site-trails span:nth-child(3){left:89%}
.oracle-site-trails span::after{content:'';position:absolute;top:-50vh;left:0;width:1px;height:15vh;background:linear-gradient(transparent,#ffffff90);animation:oracleSiteTrail 7s cubic-bezier(.4,.26,0,.97) infinite both}
.oracle-site-trails span:first-child::after{animation-delay:1.5s}.oracle-site-trails span:last-child::after{animation-delay:2.5s}
@keyframes oracleSiteTrail{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,160vh,0)}}
@media(hover:hover) and (pointer:fine){.oracle-enhanced-card:hover{border-color:#cfe46f!important;box-shadow:0 0 0 1px #efff6522,0 0 28px #13a7fb22;background-image:radial-gradient(350px circle at var(--pointer-x) var(--pointer-y),#13a7fb16,transparent 65%)}body.oracle-site-upgrade .button:hover,body.oracle-site-upgrade .header-cta:hover{box-shadow:0 0 25px #efff6528;transform:translateY(-2px)}body.oracle-site-upgrade .text-link:hover{color:#fff!important}}
/* App data retains its semantic status colours and dashboard density. */
body.oracle-app h1{font-size:clamp(38px,4.2vw,58px)!important}body.oracle-app h2{font-size:27px!important}body.oracle-app h3{font-size:20px!important}body.oracle-app .score-grid p,body.oracle-app .findings-table p{font-size:13px!important}body.oracle-app .app-shell{min-width:0}
body.oracle-brief .brief-hero h1{font-size:clamp(36px,4.5vw,58px)!important}body.oracle-brief .brief-hero p{font-size:15px!important}body.oracle-brief .panel h2{font-size:28px!important}
@media(max-width:767px){
body.oracle-site-upgrade{font-size:15px!important}body.oracle-site-upgrade .wrap{width:calc(100% - 40px)!important;max-width:100%}
body.oracle-site-upgrade h1,body.oracle-site-upgrade .home-hero h1{font-size:clamp(36px,9.4vw,48px)!important;line-height:1.12!important;letter-spacing:-.05em!important}
body.oracle-site-upgrade h2{font-size:32px!important;line-height:1.18!important}
body.oracle-site-upgrade h3,body.oracle-site-upgrade .service-card h3,body.oracle-site-upgrade .home-service h3{font-size:23px!important;line-height:1.35!important}
body.oracle-site-upgrade p,body.oracle-site-upgrade .lead,body.oracle-site-upgrade .home-hero-copy>p,body.oracle-site-upgrade .hero-copy>p:not(.eyebrow){font-size:15px!important;line-height:1.9!important}
body.oracle-site-upgrade .home-location{font-size:12px!important}
body.oracle-site-upgrade .eyebrow,body.oracle-site-upgrade .subtitle,body.oracle-site-upgrade .case-kicker{font-size:10px!important;letter-spacing:.13em!important}
body.oracle-site-upgrade .service-grid,body.oracle-site-upgrade .home-services,body.oracle-site-upgrade .home-steps,body.oracle-site-upgrade .steps,body.oracle-site-upgrade .split,body.oracle-site-upgrade .faq-layout,body.oracle-site-upgrade .contact-layout,body.oracle-site-upgrade .form-grid,body.oracle-site-upgrade .footer-grid,body.oracle-site-upgrade .system-flow,body.oracle-site-upgrade .brief-layout{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
body.oracle-site-upgrade .hero{grid-template-columns:minmax(0,1fr)!important;gap:35px!important;padding-block:45px 55px}
body.oracle-site-upgrade .section,body.oracle-site-upgrade .home-section{padding-block:70px!important}
body.oracle-site-upgrade .section.compact{padding-top:20px!important}
body.oracle-site-upgrade .section-heading,body.oracle-site-upgrade .home-section-heading{display:block!important;margin-bottom:30px!important}
body.oracle-site-upgrade .section-heading>p,body.oracle-site-upgrade .home-section-heading>p{max-width:none!important;margin-top:20px!important}
body.oracle-site-upgrade .service-card,body.oracle-site-upgrade .home-service{padding:26px!important;min-height:0!important}
body.oracle-site-upgrade .card-top{margin-bottom:24px}
body.oracle-site-upgrade .hero-visual{min-height:370px!important;width:100%}
body.oracle-site-upgrade .floating-label{right:10px!important;font-size:12px!important;padding:12px 15px!important}
body.oracle-site-upgrade .cta{padding:30px 24px!important;flex-direction:column;align-items:flex-start;gap:25px;margin-bottom:65px}
body.oracle-site-upgrade .cta h2{font-size:31px!important}
body.oracle-site-upgrade .case-slide{flex-basis:100%!important;min-width:0!important}
body.oracle-site-upgrade .case-slide-body{padding:24px!important}
body.oracle-site-upgrade .case-slide h3{font-size:26px!important}
body.oracle-site-upgrade .case-slider-bar{gap:16px}.oracle-site-trails span::after{opacity:.55}
body.oracle-site-upgrade .footer-grid,body.oracle-site-upgrade .home-footer-top{gap:30px!important}
body.oracle-site-upgrade .entry-content p,body.oracle-site-upgrade .article-content p,body.oracle-site-upgrade .post-content p{font-size:16px!important;line-height:1.95!important}
body.oracle-site-upgrade .entry-content h2,body.oracle-site-upgrade .article-content h2{font-size:28px!important}
body.oracle-site-upgrade .entry-content h3,body.oracle-site-upgrade .article-content h3{font-size:23px!important}
body.oracle-site-upgrade .brief-layout{display:grid!important}body.oracle-brief .brief-hero h1{font-size:36px!important}
body.oracle-app .app-shell h1{font-size:36px!important}body.oracle-app .app-shell h2{font-size:25px!important}body.oracle-app .app-shell h3{font-size:20px!important}
body.oracle-app .score-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.oracle-app .detail-grid,body.oracle-app .method-grid{grid-template-columns:minmax(0,1fr)!important}
}
@media(prefers-reduced-motion:reduce){.oracle-site-trails span::after{animation:none;display:none}.oracle-enhanced-card{transition:none!important}body.oracle-site-upgrade{scroll-behavior:auto}}

body.oracle-site-upgrade{font-family:Poppins,Arial,sans-serif!important}body.oracle-site-upgrade h1,body.oracle-site-upgrade h2,body.oracle-site-upgrade h3{font-family:Montserrat,Arial,sans-serif!important}

@media(max-width:480px){body.oracle-site-upgrade .header-inner{gap:10px}body.oracle-site-upgrade .brand img{width:140px;max-width:100%}body.oracle-site-upgrade .header-cta{white-space:nowrap;font-size:11px!important;padding:10px 14px!important;min-height:44px}body.oracle-site-upgrade .header-cta span{margin-left:6px}}@media(max-width:380px){body.oracle-site-upgrade .brand img{width:110px}body.oracle-site-upgrade .header-cta{font-size:10px!important;padding:10px 12px!important}}
}
@layer oracleUpgrade{@media(max-width:480px){body.oracle-site-upgrade .header-inner .brand img{width:140px!important;max-width:100%!important}body.oracle-site-upgrade .header-cta{white-space:nowrap!important;flex-shrink:0!important}}@media(max-width:380px){body.oracle-site-upgrade .header-inner .brand img{width:110px!important}}}