
/* ===== SOURCE: assets/css/styles.css ===== */

:root{
    --white:#FFFFFF;--off:#F8F6F1;--soft:#EEF1F5;--line:#DDE3EA;--navy:#1A2B4C;--navy-2:#0E182A;--red:#D32F2F;--ink:#151923;--muted:#5C6675;--muted-2:#7A8390;--shadow:0 22px 70px rgba(26,43,76,.14);--shadow-soft:0 14px 40px rgba(26,43,76,.10);--radius:28px;--radius-sm:18px;--max:1200px;--section:clamp(72px,8vw,132px);--gap:clamp(22px,3vw,42px);--display:"Arial Narrow","Aptos Display","Roboto Condensed",Impact,sans-serif;--body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}button,input,textarea,select{font:inherit}::selection{background:rgba(211,47,47,.16)}:focus-visible{outline:3px solid rgba(211,47,47,.45);outline-offset:4px}.skip-link{position:absolute;left:16px;top:-80px;background:var(--navy);color:#fff;padding:12px 18px;z-index:9999;border-radius:999px}.skip-link:focus{top:16px}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(26,43,76,.08);transition:box-shadow .25s ease, background .25s ease}.site-header.is-scrolled{box-shadow:0 10px 32px rgba(26,43,76,.08);background:rgba(255,255,255,.94)}.nav-shell{width:min(1320px,calc(100% - 34px));margin:auto;display:flex;align-items:center;justify-content:space-between;height:84px;gap:22px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);min-width:max-content}.brand-mark{width:46px;height:46px;border-radius:14px;object-fit:cover;box-shadow:0 8px 20px rgba(26,43,76,.12)}.brand-text{display:flex;flex-direction:column;line-height:1;letter-spacing:.03em}.brand-text strong{font-family:var(--display);font-size:1.12rem;letter-spacing:.075em}.brand-text small{text-transform:uppercase;font-size:.67rem;letter-spacing:.34em;color:var(--muted)}.desktop-nav{display:flex;align-items:center;gap:4px}.nav-link,.nav-button{border:0;background:transparent;padding:12px 13px;font-size:.86rem;font-weight:750;color:var(--navy);letter-spacing:.02em;border-radius:999px;cursor:pointer}.nav-link:hover,.nav-button:hover,.nav-link.is-active{background:rgba(26,43,76,.06);color:var(--red)}.header-cta{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:13px 21px;border-radius:999px;font-size:.86rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;border:1px solid transparent;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--red);color:white;box-shadow:0 12px 28px rgba(211,47,47,.22)}.btn--primary:hover{color:#fff;background:#b82424;box-shadow:0 16px 34px rgba(211,47,47,.28)}.btn--secondary{background:white;border-color:rgba(26,43,76,.16);color:var(--navy)}.btn--secondary:hover{background:var(--navy);color:white;border-color:var(--navy)}.btn--light{background:#fff;color:var(--navy);border-color:rgba(255,255,255,.5)}.btn--light:hover{background:var(--red);color:#fff;border-color:var(--red)}.btn--full{width:100%}.button-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.has-mega{position:relative}.mega-panel{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(10px);width:min(960px,calc(100vw - 42px));background:rgba(255,255,255,.98);border:1px solid rgba(26,43,76,.09);border-radius:30px;box-shadow:var(--shadow);display:grid;grid-template-columns:.82fr 1.18fr;gap:22px;padding:22px;opacity:0;visibility:hidden;pointer-events:none;transition:.25s ease;z-index:1100}.has-mega:hover .mega-panel,.has-mega:focus-within .mega-panel,.mega-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.mega-intro{background:linear-gradient(135deg,var(--navy),#263b65);color:white;border-radius:24px;padding:30px}.mega-intro h2{font-family:var(--display);font-size:clamp(1.8rem,2.5vw,2.6rem);line-height:.95;text-transform:uppercase;margin:10px 0 14px}.mega-intro p{color:rgba(255,255,255,.78);margin-bottom:22px}.mega-intro .eyebrow{color:#fff}.mega-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mega-links a{display:flex;flex-direction:column;padding:15px;border-radius:18px;background:var(--off);border:1px solid transparent;transition:.2s ease}.mega-links a:hover{background:#fff;border-color:rgba(211,47,47,.25);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.mega-links span{font-weight:850;color:var(--navy)}.mega-links small{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.menu-toggle,.menu-close{display:none}.menu-backdrop{display:none}.mobile-menu{display:none}.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--off) 100%)}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 16%,rgba(211,47,47,.08),transparent 30%),radial-gradient(circle at 90% 6%,rgba(26,43,76,.08),transparent 34%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);align-items:center;gap:var(--gap);min-height:calc(100vh - 84px);padding:clamp(58px,8vw,110px) 0}.hero--home .hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr)}.hero-copy{max-width:780px}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:900;color:var(--red)}.eyebrow::before{content:"";width:34px;height:2px;background:currentColor;border-radius:99px}h1,h2,h3{font-family:var(--display);color:var(--navy);letter-spacing:-.035em;margin:0 0 16px}h1{font-size:clamp(3.1rem,8vw,8.4rem);line-height:.82;text-transform:uppercase;max-width:900px}h2{font-size:clamp(2.2rem,5.6vw,5.2rem);line-height:.88;text-transform:uppercase}h3{font-size:clamp(1.4rem,2.3vw,2.25rem);line-height:.98}.lead{font-size:clamp(1.04rem,1.7vw,1.34rem);color:var(--muted);max-width:730px;margin:0 0 30px}.hero-media{margin:0;min-height:520px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--soft);position:relative}.hero-media::after,.image-frame::after,.work-card a::after,.portfolio-tile a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(26,43,76,.24));pointer-events:none}.image-cover{width:100%;height:100%;object-fit:cover}.hero-media img{height:100%}.section{padding:var(--section) 0}.section--soft{background:var(--off)}.section--navy{background:var(--navy);color:white}.section-heading{margin-bottom:42px}.section-heading--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:var(--gap);align-items:end}.section-heading p:not(.eyebrow){color:var(--muted);margin:0}.section-heading--light h2,.section-heading--light p,.section--navy h2,.section--navy h3{color:white}.section-heading--light p:not(.eyebrow),.section--navy p{color:rgba(255,255,255,.74)}.trust-strip{background:#fff;border-block:1px solid rgba(26,43,76,.08)}.trust-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.trust-strip__grid div{padding:28px 18px;border-left:1px solid rgba(26,43,76,.07)}.trust-strip strong{display:block;font-family:var(--display);font-size:1.45rem;line-height:1;color:var(--navy);text-transform:uppercase}.trust-strip span{display:block;color:var(--muted);font-size:.9rem;margin-top:6px}.service-grid{width:min(var(--max),calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-grid--compact{grid-template-columns:repeat(3,1fr)}.service-card{background:#fff;border:1px solid rgba(26,43,76,.09);border-radius:24px;overflow:hidden;box-shadow:0 10px 34px rgba(26,43,76,.06);transition:.25s ease}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-soft)}.media-link{display:block;height:245px;overflow:hidden;background:var(--soft)}.service-card img{height:100%;transition:transform .55s ease}.service-card:hover img{transform:scale(1.045)}.card-body{padding:24px}.card-kicker{margin:0 0 10px;color:var(--red);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:900}.card-body h3{font-size:1.8rem;margin-bottom:12px}.card-body p{color:var(--muted);margin:0 0 18px}.text-link{font-weight:900;color:var(--navy);display:inline-flex;align-items:center;gap:8px}.text-link:hover{color:var(--red)}.editorial-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:center}.editorial-split--reverse{grid-template-columns:1fr 1fr}.image-frame{margin:0;border-radius:var(--radius);overflow:hidden;min-height:520px;position:relative;box-shadow:var(--shadow-soft);background:var(--soft)}.image-frame--tall{min-height:650px}.image-frame img{height:100%}.editorial-copy p{color:var(--muted);font-size:1.02rem}.check-list{list-style:none;padding:0;margin:24px 0}.check-list li{position:relative;padding-left:28px;margin:12px 0;color:var(--muted)}.check-list li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(211,47,47,.11)}.featured-work-grid{width:min(var(--max),calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:stretch}.work-card{background:#fff;border:1px solid rgba(26,43,76,.08);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft)}.work-card a{display:block;height:420px;position:relative;overflow:hidden}.work-card--large a{height:560px}.work-card img{height:100%;transition:.55s ease}.work-card:hover img{transform:scale(1.04)}.work-card div{padding:26px}.work-card p{color:var(--muted)}.process-preview{text-align:left}.process-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:36px 0}.process-cards article,.values-grid article,.process-step,.timeline-list article,.next-steps article,.challenge-grid article{border:1px solid rgba(26,43,76,.1);background:#fff;border-radius:24px;padding:28px}.section--navy .process-cards article,.section--navy .service-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:white}.section--navy .service-card h3 a,.section--navy .service-card p,.section--navy .service-card .text-link{color:white}.section--navy .service-card .card-kicker{color:#ffb3b3}.process-cards span,.values-grid span,.process-step span,.timeline-list span,.next-steps span{display:block;color:var(--red);font-weight:900;letter-spacing:.14em;margin-bottom:16px}.process-cards p,.values-grid p,.process-step p,.timeline-list p,.next-steps p,.challenge-grid p{color:var(--muted)}.section--navy .process-cards p{color:rgba(255,255,255,.74)}.quote-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}.quote-card{margin:0;background:var(--off);border:1px solid rgba(26,43,76,.08);border-radius:24px;padding:30px;font-family:var(--display);font-size:2rem;line-height:.98;text-transform:uppercase;color:var(--navy)}.quote-card cite{display:block;margin-top:26px;font-family:var(--body);font-style:normal;font-size:.8rem;line-height:1.4;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.cta-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);gap:var(--gap);align-items:center;background:linear-gradient(135deg,var(--navy) 0%,#263b65 100%);border-radius:34px;padding:clamp(32px,5vw,62px);color:white;overflow:hidden}.cta-panel h2{color:white}.cta-panel p{color:rgba(255,255,255,.75);max-width:720px}.cta-media{margin:0;border-radius:24px;overflow:hidden;height:360px;box-shadow:0 30px 70px rgba(0,0,0,.22)}.cta-media img{height:100%}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.studio-collage{display:grid;grid-template-columns:1.1fr .9fr;grid-template-areas:"copy image" "portrait1 portrait2";gap:22px;align-items:stretch}.studio-collage .editorial-copy{grid-area:copy;background:var(--off);border-radius:var(--radius);padding:36px}.studio-collage .image-frame{grid-area:image;min-height:430px}.portrait-card{margin:0;border-radius:var(--radius);overflow:hidden;height:460px;background:var(--soft);box-shadow:var(--shadow-soft)}.portrait-card img{height:100%;object-fit:cover}.capability-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:var(--gap);align-items:center}.capability-list{display:grid;gap:12px}.capability-list div,.case-facts div,.result-grid div,.contact-details div{display:grid;gap:4px;background:white;border:1px solid rgba(26,43,76,.08);border-radius:18px;padding:20px}.capability-list strong,.case-facts strong,.result-grid strong,.contact-details strong{font-family:var(--display);font-size:1.4rem;text-transform:uppercase;color:var(--navy);line-height:1}.capability-list span,.case-facts span,.result-grid span,.contact-details span,.contact-details a{color:var(--muted)}.service-detail-grid{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,1fr);gap:var(--gap);align-items:start}.sticky-note{position:sticky;top:112px;background:var(--off);border:1px solid rgba(26,43,76,.08);border-radius:var(--radius);padding:30px}.sticky-note h2{font-size:2.2rem}.detail-content>p{color:var(--muted);font-size:1.08rem}.two-col-list{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.two-col-list h3{font-size:1.7rem}.gallery-grid{width:min(var(--max),calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-grid--detail{grid-template-columns:repeat(2,1fr)}.gallery-item{margin:0;min-height:340px;border-radius:24px;overflow:hidden;background:var(--soft);box-shadow:var(--shadow-soft)}.gallery-item img{height:100%;object-fit:cover}.process-timeline .section-heading{max-width:820px}.timeline-list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.portfolio-grid{width:min(1320px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:360px;gap:18px}.portfolio-tile{position:relative;border-radius:26px;overflow:hidden;background:#fff;border:1px solid rgba(26,43,76,.08);box-shadow:var(--shadow-soft)}.portfolio-tile--wide{grid-column:span 2}.portfolio-tile a{display:block;height:70%;position:relative;overflow:hidden}.portfolio-tile img{height:100%;transition:.55s ease}.portfolio-tile:hover img{transform:scale(1.04)}.portfolio-tile a span{position:absolute;left:18px;bottom:18px;z-index:2;background:white;color:var(--navy);padding:8px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:900}.portfolio-tile div{padding:18px}.portfolio-tile h3{font-size:1.5rem;margin-bottom:6px}.portfolio-tile p{margin:0;color:var(--muted);font-size:.92rem}.category-band{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.category-band a{padding:12px 18px;border-radius:999px;background:white;border:1px solid rgba(26,43,76,.1);font-weight:850;color:var(--navy)}.category-band a:hover{background:var(--red);border-color:var(--red);color:white}.case-overview{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}.case-facts{display:grid;gap:12px}.challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.result-panel h2{color:white;max-width:980px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.result-grid div{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.14)}.result-grid strong,.result-grid span{color:white}.process-map{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.image-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.image-row figure{margin:0;height:520px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft)}.image-row img{height:100%;object-fit:cover}.article-hero{background:var(--off);padding:clamp(60px,8vw,112px) 0}.article-hero__grid{display:grid;grid-template-columns:1fr .75fr;gap:var(--gap);align-items:center}.article-layout{display:grid;grid-template-columns:240px minmax(0,780px);gap:70px;align-items:start}.article-aside{position:sticky;top:112px;display:grid;gap:8px;border-right:1px solid rgba(26,43,76,.1);padding-right:20px}.article-aside a{color:var(--muted);font-weight:800}.article-body h2{margin-top:42px;font-size:3rem}.article-body p{font-size:1.08rem;color:var(--muted)}.article-body blockquote{border-left:4px solid var(--red);margin:34px 0;padding:18px 0 18px 24px;font-family:var(--display);font-size:2.2rem;line-height:1;color:var(--navy);text-transform:uppercase}.article-body figure{margin:34px 0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft)}.article-cta{margin-top:42px;padding:30px;border-radius:var(--radius);background:var(--off);border:1px solid rgba(26,43,76,.08)}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.related-card{background:white;border:1px solid rgba(26,43,76,.08);border-radius:24px;overflow:hidden;padding-bottom:22px;box-shadow:var(--shadow-soft)}.related-card img{height:230px;width:100%;object-fit:cover}.related-card h3,.related-card a{margin:20px 22px 0}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--gap);align-items:start}.contact-details{display:grid;gap:12px;margin:28px 0}.contact-side-image{border-radius:24px;box-shadow:var(--shadow-soft);width:100%;max-height:360px;object-fit:cover}.project-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--off);border:1px solid rgba(26,43,76,.08);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-soft)}.form-row{display:grid;gap:8px}.form-row--full{grid-column:1/-1}.project-form label{font-weight:850;color:var(--navy);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.project-form input,.project-form textarea,.project-form select{width:100%;border:1px solid rgba(26,43,76,.15);background:white;border-radius:16px;padding:14px;color:var(--ink);transition:border .2s ease,box-shadow .2s ease}.project-form input:focus,.project-form textarea:focus,.project-form select:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(211,47,47,.1);outline:none}.form-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:.9rem}.next-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.legal-layout{display:grid;grid-template-columns:240px minmax(0,820px);gap:70px;align-items:start}.legal-layout aside{position:sticky;top:112px;display:grid;gap:10px}.legal-layout aside a{font-weight:850;color:var(--muted)}.legal-copy h2{font-size:2.6rem;margin-top:36px}.legal-copy p{font-size:1.05rem;color:var(--muted)}.site-footer{background:var(--navy-2);color:white;padding:74px 0 24px}.footer-grid{display:grid;grid-template-columns:1.1fr .7fr 1fr .8fr;gap:38px}.brand--footer{color:#fff;margin-bottom:18px}.brand--footer .brand-text small{color:rgba(255,255,255,.62)}.footer-brand p{color:rgba(255,255,255,.72);max-width:420px}.footer-col{display:grid;align-content:start;gap:10px}.footer-col h2{font-family:var(--body);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin:0 0 8px}.footer-col a{color:rgba(255,255,255,.72);font-size:.94rem}.footer-col a:hover{color:#fff}.footer-col--services{grid-template-columns:1fr}.footer-bottom{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:18px;color:rgba(255,255,255,.55);font-size:.86rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
@media (min-width:1600px){:root{--max:1360px}.hero-grid{min-height:760px}.portfolio-grid{width:min(1500px,calc(100% - 64px));grid-auto-rows:420px}.container{width:min(var(--max),calc(100% - 64px))}}
@media (max-width:1100px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid rgba(26,43,76,.1);border-radius:999px;background:white}.menu-toggle span{width:20px;height:2px;background:var(--navy);border-radius:99px}.menu-close{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(26,43,76,.1);border-radius:50%;background:white;font-size:1.7rem;color:var(--navy)}.menu-backdrop{position:fixed;inset:0;background:rgba(14,24,42,.34);backdrop-filter:blur(5px);z-index:1200;opacity:0;visibility:hidden;transition:.22s ease;display:block}.menu-backdrop.is-open{opacity:1;visibility:visible}.mobile-menu{display:block;position:fixed;top:0;right:0;width:min(440px,100%);height:100dvh;background:#fff;z-index:1300;transform:translateX(105%);transition:.28s ease;box-shadow:-20px 0 60px rgba(26,43,76,.2);padding:20px;overflow:auto}.mobile-menu.is-open{transform:translateX(0)}.mobile-menu__top{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid rgba(26,43,76,.08)}.mobile-menu__nav{display:grid;gap:10px;padding-top:20px}.mobile-menu__nav>a,.mobile-accordion>button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:18px;border:1px solid rgba(26,43,76,.08);background:var(--off);font-weight:850;color:var(--navy);text-align:left}.mobile-accordion__panel{display:grid;gap:8px;max-height:0;overflow:hidden;transition:max-height .25s ease}.mobile-accordion.is-open .mobile-accordion__panel{max-height:720px;padding-top:8px}.mobile-accordion__panel a{padding:13px 16px;border-radius:14px;background:#fff;border:1px solid rgba(26,43,76,.08);color:var(--muted);font-weight:750}.hero-grid,.hero--home .hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:30px}.hero-media{min-height:460px}.section-heading--split,.editorial-split,.featured-work-grid,.capability-grid,.service-detail-grid,.case-overview,.contact-grid,.article-hero__grid{grid-template-columns:1fr}.trust-strip__grid{grid-template-columns:repeat(2,1fr)}.service-grid,.service-grid--compact,.values-grid,.quote-grid,.process-map,.related-grid,.next-steps{grid-template-columns:repeat(2,1fr)}.timeline-list{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-tile--wide{grid-column:span 1}.studio-collage{grid-template-columns:1fr 1fr;grid-template-areas:"copy copy" "image image" "portrait1 portrait2"}.footer-grid{grid-template-columns:1fr 1fr}.article-layout,.legal-layout{grid-template-columns:1fr;gap:30px}.article-aside,.legal-layout aside{position:relative;top:auto;border-right:0;border-bottom:1px solid rgba(26,43,76,.1);padding:0 0 20px;display:flex;flex-wrap:wrap}.sticky-note{position:relative;top:auto}.footer-bottom{flex-direction:column}}
@media (max-width:760px){.container{width:min(100% - 28px,var(--max))}.nav-shell{width:calc(100% - 24px);height:72px}.brand-mark{width:40px;height:40px}.brand-text strong{font-size:.98rem}.brand-text small{font-size:.6rem;letter-spacing:.26em}.hero-grid{padding:40px 0 70px}.hero-media{min-height:360px;border-radius:22px}h1{font-size:clamp(3rem,18vw,5.2rem);line-height:.84}h2{font-size:clamp(2.15rem,12vw,3.8rem)}.lead{font-size:1.02rem}.button-row{flex-direction:column;align-items:stretch}.button-row .btn{width:100%}.trust-strip__grid,.service-grid,.service-grid--compact,.values-grid,.quote-grid,.process-map,.timeline-list,.gallery-grid,.gallery-grid--detail,.challenge-grid,.result-grid,.related-grid,.next-steps,.footer-grid,.image-row{grid-template-columns:1fr}.trust-strip__grid div{border-left:0;border-top:1px solid rgba(26,43,76,.06)}.media-link{height:240px}.section{padding:72px 0}.featured-work-grid{gap:18px}.work-card a,.work-card--large a{height:340px}.image-frame,.image-frame--tall{min-height:380px}.cta-panel{grid-template-columns:1fr;border-radius:24px}.cta-media{height:260px}.studio-collage{grid-template-columns:1fr;grid-template-areas:"copy" "image" "portrait1" "portrait2"}.portrait-card{height:420px}.two-col-list{grid-template-columns:1fr}.gallery-item{min-height:280px}.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:420px}.portfolio-tile a{height:66%}.article-body h2{font-size:2.35rem}.article-body blockquote{font-size:1.8rem}.project-form{grid-template-columns:1fr;padding:20px;border-radius:22px}.footer-bottom{font-size:.8rem}.footer-col--services{max-height:none}.mobile-menu{width:100%}}
@media (max-width:420px){.container{width:calc(100% - 22px)}.nav-shell{width:calc(100% - 18px)}.brand-text small{display:none}.hero-media{min-height:310px}.portfolio-grid{grid-auto-rows:380px}.quote-card{font-size:1.65rem}.card-body{padding:20px}.cta-panel{padding:24px}.site-footer{padding-top:56px}}

/* ===== SOURCE: assets/css/premium-audit.css ===== */

/* ========================================================================== 
   REAL.PRO Studios — Premium Visual Audit Layer
   Goal: hybrid editorial / cinematic, not too dark, high-end brand symmetry
   ========================================================================== */
:root{
  --max:1248px;
  --section:clamp(86px,8.8vw,150px);
  --gap:clamp(24px,3.8vw,58px);
  --radius:32px;
  --radius-sm:20px;
  --off:#F8F6F1;
  --soft:#EEF1F5;
  --paper:#FDFCF9;
  --shadow:0 28px 88px rgba(26,43,76,.145);
  --shadow-soft:0 18px 52px rgba(26,43,76,.105);
  --display:"Arial Narrow","Roboto Condensed","Aptos Display","Helvetica Neue Condensed",Impact,sans-serif;
}
html{overflow-x:hidden}body{background:var(--paper);overflow-x:hidden}.container{width:min(var(--max),calc(100% - 48px))}.site-header{background:rgba(253,252,249,.88);border-bottom:1px solid rgba(26,43,76,.075)}.site-header.is-scrolled{background:rgba(253,252,249,.96)}.nav-shell{width:min(1360px,calc(100% - 44px));height:88px}.brand-mark{width:50px;height:50px;border-radius:16px}.brand-text strong{font-size:1.18rem;letter-spacing:.085em}.brand-text small{letter-spacing:.36em}.nav-link,.nav-button{font-size:.84rem;padding:12px 14px}.btn{min-height:50px;padding:14px 22px;letter-spacing:.045em}.btn--primary{box-shadow:0 16px 36px rgba(211,47,47,.22)}

/* Typography: stronger hierarchy, less accidental crowding */
h1,h2,h3{text-wrap:balance;font-weight:900}h1{font-size:clamp(3.25rem,7.25vw,7.65rem);line-height:.86;letter-spacing:-.047em;max-width:940px}h2{font-size:clamp(2.28rem,4.95vw,4.95rem);line-height:.92;letter-spacing:-.042em;max-width:1060px}h3{letter-spacing:-.026em}.lead{font-size:clamp(1.05rem,1.42vw,1.28rem);line-height:1.74;max-width:660px}.editorial-copy p,.section-heading p:not(.eyebrow),.card-body p,.portfolio-tile p,.work-card p,.article-body p,.legal-copy p{line-height:1.74}.eyebrow{margin-bottom:16px;letter-spacing:.2em;font-size:.73rem}.eyebrow::before{width:38px;height:2px}.section-heading{margin-bottom:clamp(34px,4.4vw,64px)}.section-heading--split{grid-template-columns:minmax(0,1.05fr) minmax(300px,.62fr);align-items:end}.section-heading--split > p,.section-heading p:not(.eyebrow){font-size:clamp(1rem,1vw,1.12rem)}

/* Hero system: premium symmetry and cinematic image balance */
.hero{background:linear-gradient(180deg,#fff 0%,#FBFAF7 48%,var(--off) 100%)}.hero::before{background:radial-gradient(circle at 10% 10%,rgba(211,47,47,.075),transparent 31%),radial-gradient(circle at 92% 7%,rgba(26,43,76,.07),transparent 35%),linear-gradient(90deg,rgba(26,43,76,.032) 0 1px,transparent 1px 100%);background-size:auto,auto,88px 88px}.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(420px,.9fr);gap:clamp(30px,4.6vw,72px);min-height:min(820px,calc(100dvh - 88px));padding:clamp(68px,8.2vw,124px) 0}.hero--home .hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(430px,.96fr)}.hero-copy{max-width:820px}.hero-copy .button-row{margin-top:34px}.hero-media{min-height:clamp(460px,46vw,650px);aspect-ratio:0.92/1;border-radius:var(--radius);border:1px solid rgba(26,43,76,.08);box-shadow:var(--shadow);isolation:isolate}.hero-media::before,.image-frame::before,.cta-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(26,43,76,.055) 38%,rgba(211,47,47,.06));pointer-events:none}.hero-media::after,.image-frame::after,.work-card a::after,.portfolio-tile a::after,.gallery-item::after{background:linear-gradient(180deg,rgba(26,43,76,.02) 0%,rgba(26,43,76,.05) 46%,rgba(26,43,76,.26) 100%);z-index:2}.image-cover,.card-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-media img,.image-frame img,.work-card img,.portfolio-tile img,.gallery-item img,.media-link img,.cta-media img,.related-card img,.contact-side-image,.image-row img{filter:saturate(.93) contrast(1.045) brightness(.995);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .45s ease}.hero-media:hover img,.image-frame:hover img,.work-card:hover img,.portfolio-tile:hover img,.gallery-item:hover img,.service-card:hover img{filter:saturate(.98) contrast(1.06) brightness(1.01)}

/* Section rhythm and symmetry */
.section{position:relative;padding:var(--section) 0}.section--soft{background:linear-gradient(180deg,var(--off),#F4F1EA)}.section--navy{background:linear-gradient(135deg,var(--navy),#111E35);position:relative;overflow:hidden}.section--navy::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.12),transparent 32%),radial-gradient(circle at 88% 20%,rgba(211,47,47,.14),transparent 28%);pointer-events:none}.section--navy > *{position:relative}.editorial-split,.case-overview,.contact-grid,.article-hero__grid{gap:clamp(34px,5vw,76px)}.editorial-split{grid-template-columns:minmax(0,1fr) minmax(0,.98fr)}.image-frame{border-radius:var(--radius);border:1px solid rgba(26,43,76,.08);min-height:clamp(460px,42vw,620px);isolation:isolate}.image-frame--tall{min-height:clamp(540px,52vw,720px)}

/* Cards: equal heights, refined spacing, clean commercial symmetry */
.service-grid,.service-grid--compact,.values-grid,.quote-grid,.process-map,.related-grid,.next-steps,.challenge-grid,.result-grid{gap:clamp(18px,2.1vw,28px);align-items:stretch}.service-grid{width:min(var(--max),calc(100% - 48px))}.service-card,.work-card,.portfolio-tile,.related-card,.process-step,.quote-card,.sticky-note,.case-facts div,.challenge-grid div,.next-steps div,.article-cta{border:1px solid rgba(26,43,76,.085);box-shadow:0 14px 44px rgba(26,43,76,.075);background:rgba(255,255,255,.86);backdrop-filter:blur(8px)}.service-card,.work-card,.portfolio-tile,.related-card{display:flex;flex-direction:column;height:100%;border-radius:28px}.service-card:hover,.work-card:hover,.portfolio-tile:hover,.related-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-6px)}.media-link{height:clamp(230px,18vw,286px);border-bottom:1px solid rgba(26,43,76,.07)}.card-body,.work-card div,.portfolio-tile div{display:flex;flex-direction:column;flex:1;padding:clamp(22px,2.4vw,32px)}.card-body h3{font-size:clamp(1.62rem,2vw,2rem);line-height:1;min-height:2.02em}.card-body p,.portfolio-tile p,.work-card p{color:var(--muted);margin-bottom:22px}.card-body .text-link,.portfolio-tile .text-link,.work-card .text-link{margin-top:auto}.card-kicker{font-size:.7rem;letter-spacing:.16em}.text-link{letter-spacing:.02em}.text-link::after{content:"→";transition:transform .2s ease}.text-link:hover::after{transform:translateX(4px)}

/* Portfolio / gallery imagery */
.featured-work-grid{width:min(var(--max),calc(100% - 48px));gap:clamp(20px,2.4vw,30px);grid-template-columns:1.2fr .8fr}.work-card a{height:clamp(390px,34vw,500px)}.work-card--large a{height:clamp(500px,45vw,650px)}.portfolio-grid{width:min(1380px,calc(100% - 48px));gap:clamp(18px,2vw,28px);grid-auto-rows:clamp(380px,29vw,480px)}.portfolio-tile{overflow:hidden}.portfolio-tile a{height:68%;min-height:260px}.portfolio-tile a span{z-index:3;letter-spacing:.11em}.gallery-grid,.gallery-grid--detail{gap:clamp(18px,2vw,28px)}.gallery-item{border-radius:var(--radius);border:1px solid rgba(26,43,76,.08);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover}.category-band{gap:12px;justify-content:center}.category-band a{box-shadow:0 10px 30px rgba(26,43,76,.055)}

/* Process / trust / CTA */
.trust-strip{background:#fff;border-block:1px solid rgba(26,43,76,.075)}.trust-strip__grid div{padding:32px 22px}.trust-strip strong{font-size:clamp(1.35rem,1.7vw,1.72rem)}.process-preview,.process-cards,.timeline-list{gap:clamp(18px,2vw,26px)}.process-step,.sticky-note,.next-steps div,.challenge-grid div{padding:clamp(24px,2.5vw,34px);border-radius:26px}.process-step h3,.next-steps h3{font-size:clamp(1.45rem,2vw,2rem)}.cta-panel{border-radius:36px;border:1px solid rgba(26,43,76,.08);box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 0%,#FBFAF7 54%,#F3EFE7 100%);gap:clamp(28px,4vw,60px);align-items:center;overflow:hidden}.cta-panel h2{max-width:920px}.cta-media{position:relative;isolation:isolate;border-radius:28px;overflow:hidden;min-height:clamp(340px,32vw,520px);box-shadow:var(--shadow-soft)}.cta-media img{height:100%}

/* Forms and legal pages */
.project-form{background:rgba(255,255,255,.82);border-radius:30px;padding:clamp(22px,3vw,38px);box-shadow:var(--shadow-soft)}.project-form input,.project-form textarea,.project-form select{border-radius:18px;min-height:52px}.contact-side-image{border-radius:26px;min-height:320px}.article-layout,.legal-layout{gap:clamp(36px,5vw,76px)}.article-body,.legal-copy{max-width:850px}.article-body h2,.legal-copy h2{font-size:clamp(2.15rem,3.3vw,3.2rem);line-height:.98}.article-body blockquote{font-size:clamp(1.8rem,3vw,2.55rem);border-left-width:5px}

/* Footer polish */
.site-footer{background:linear-gradient(145deg,#0E182A 0%,#121F37 70%,#0A1324 100%);padding-top:clamp(64px,7vw,92px)}.footer-grid{grid-template-columns:1.08fr .68fr 1.05fr .84fr;gap:clamp(28px,3.6vw,54px)}.footer-col a{line-height:1.45}.footer-bottom{margin-top:clamp(38px,5vw,64px)}

/* Mobile / tablet: no compression, no overflow, premium stacking */
@media (max-width:1100px){.nav-shell{height:78px}.hero-grid,.hero--home .hero-grid{grid-template-columns:1fr;min-height:auto;padding:clamp(48px,7vw,88px) 0}.hero-copy{padding-top:0;max-width:860px}.hero-media{aspect-ratio:16/10;min-height:0}.section-heading--split{grid-template-columns:1fr}.section-heading--split > p{max-width:720px}.service-grid,.service-grid--compact,.values-grid,.quote-grid,.process-map,.related-grid,.next-steps,.challenge-grid,.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-work-grid{grid-template-columns:1fr}.work-card a,.work-card--large a{height:clamp(360px,52vw,560px)}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(390px,48vw,500px)}.portfolio-tile--wide{grid-column:span 1}.footer-grid{grid-template-columns:1fr 1fr}.mobile-menu{background:linear-gradient(180deg,#fff,#FBFAF7)}}
@media (max-width:760px){.container,.service-grid,.featured-work-grid,.portfolio-grid{width:calc(100% - 28px)}.nav-shell{width:calc(100% - 24px);height:72px}.brand-mark{width:42px;height:42px}.hero-grid{padding:42px 0 70px;gap:28px}.hero-media{aspect-ratio:4/3;border-radius:24px}.hero-copy .button-row{margin-top:26px}h1{font-size:clamp(3rem,15vw,4.9rem);line-height:.88;letter-spacing:-.045em}h2{font-size:clamp(2.08rem,10.5vw,3.55rem);line-height:.94}.lead{font-size:1rem;line-height:1.68}.section{padding:clamp(68px,15vw,92px) 0}.section-heading{margin-bottom:30px}.button-row{gap:10px}.btn{width:100%;min-height:52px}.service-grid,.service-grid--compact,.values-grid,.quote-grid,.process-map,.timeline-list,.gallery-grid,.gallery-grid--detail,.challenge-grid,.result-grid,.related-grid,.next-steps,.footer-grid,.image-row{grid-template-columns:1fr}.media-link{height:260px}.card-body h3{min-height:0}.image-frame,.image-frame--tall{min-height:360px;border-radius:24px}.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:20px}.portfolio-tile a{height:320px;min-height:320px}.work-card a,.work-card--large a{height:340px}.cta-panel{border-radius:26px;padding:24px}.cta-media{min-height:260px;border-radius:22px}.project-form{border-radius:24px}.footer-grid{gap:28px}.footer-bottom{gap:10px}.mobile-menu{width:100%;padding:18px}.mobile-menu__nav>a,.mobile-accordion>button{border-radius:16px;padding:15px}}
@media (max-width:420px){.container,.service-grid,.featured-work-grid,.portfolio-grid{width:calc(100% - 22px)}h1{font-size:clamp(2.72rem,15.6vw,4.2rem)}h2{font-size:clamp(2rem,11vw,3.05rem)}.hero-media{aspect-ratio:1.04/1;min-height:0}.media-link{height:236px}.portfolio-tile a{height:286px;min-height:286px}.image-frame,.image-frame--tall{min-height:320px}.brand-text small{display:none}.nav-shell{width:calc(100% - 18px)}}
@media (min-width:1600px){:root{--max:1380px}.container{width:min(var(--max),calc(100% - 72px))}.hero-grid{min-height:820px}.hero-media{min-height:690px}.portfolio-grid{width:min(1520px,calc(100% - 72px));grid-auto-rows:500px}}

/* ========================================================================== 
   HERO FULLSCREEN CINEMATIC CORRECTION — Client visual audit 2026-06-15
   Purpose: all hero images become full-bleed background imagery; text scale is
   controlled and readable across desktop, notebook, tablet, mobile and 4K.
   ========================================================================== */
.hero,
.article-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:calc(100svh - 88px);
  background:#0E182A;
  color:#fff;
}
.hero::before,
.article-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(7,13,24,.78) 0%, rgba(7,13,24,.64) 32%, rgba(7,13,24,.32) 60%, rgba(7,13,24,.44) 100%),
    linear-gradient(180deg, rgba(7,13,24,.20) 0%, rgba(7,13,24,.34) 54%, rgba(7,13,24,.62) 100%),
    radial-gradient(circle at 18% 24%, rgba(211,47,47,.22), transparent 34%);
  background-size:auto;
}
.hero::after,
.article-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.28;
  background:
    linear-gradient(90deg, rgba(255,255,255,.11) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(255,255,255,.075) 0 1px, transparent 1px 100%);
  background-size:88px 88px;
  mix-blend-mode:screen;
}
.hero-grid,
.hero--home .hero-grid,
.article-hero__grid{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:calc(100svh - 88px);
  padding:clamp(92px,11vh,152px) 0 clamp(72px,9vh,118px);
  gap:0;
}
.hero-copy,
.article-hero__grid > div:first-child{
  position:relative;
  z-index:4;
  max-width:min(760px,100%);
  padding:clamp(18px,2vw,28px) 0;
}
.hero h1,
.article-hero h1{
  color:#fff;
  max-width:840px;
  font-size:clamp(3.05rem,5.9vw,5.95rem);
  line-height:.92;
  letter-spacing:-.045em;
  text-transform:uppercase;
  text-shadow:0 18px 48px rgba(0,0,0,.28);
  margin-bottom:clamp(16px,2.2vw,24px);
}
.hero--home h1{
  max-width:880px;
  font-size:clamp(3.18rem,6.25vw,6.25rem);
}
.hero .lead,
.article-hero .lead{
  color:rgba(255,255,255,.86);
  max-width:660px;
  font-size:clamp(1rem,1.28vw,1.22rem);
  line-height:1.68;
  text-shadow:0 10px 32px rgba(0,0,0,.25);
  margin-bottom:clamp(24px,3vw,34px);
}
.hero .eyebrow,
.article-hero .eyebrow{
  color:#fff;
  text-shadow:0 8px 24px rgba(0,0,0,.32);
}
.hero .eyebrow::before,
.article-hero .eyebrow::before{
  background:var(--red);
  box-shadow:0 0 18px rgba(211,47,47,.46);
}
.hero .button-row,
.article-hero .button-row{
  position:relative;
  z-index:5;
  margin-top:clamp(24px,3vw,36px);
}
.hero .btn--secondary,
.article-hero .btn--secondary{
  color:#fff;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.42);
  backdrop-filter:blur(10px);
}
.hero .btn--secondary:hover,
.article-hero .btn--secondary:hover{
  background:#fff;
  color:var(--navy);
  border-color:#fff;
}
.hero .hero-media,
.article-hero .hero-media{
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  height:100%;
  min-height:100%;
  margin:0;
  transform:translateX(-50%);
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#0E182A;
  aspect-ratio:auto;
  overflow:hidden;
}
.hero .hero-media::before,
.hero .hero-media::after,
.article-hero .hero-media::before,
.article-hero .hero-media::after{
  display:none;
}
.hero .hero-media img,
.article-hero .hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.96) contrast(1.08) brightness(.82);
  transform:scale(1.012);
}
.hero--home .hero-media img,
body[data-page="index.html"] .hero-media img{
  object-position:center right;
}
body[data-page="about.html"] .hero-media img,
body[data-page="process.html"] .hero-media img{
  object-position:center center;
}
body[data-page="contact.html"] .hero-media img,
body[data-page="thank-you.html"] .hero-media img,
body[data-page="project-inquiry-success.html"] .hero-media img{
  object-position:center right;
}

@media (min-width:1600px){
  .hero,.article-hero{min-height:calc(100svh - 88px)}
  .hero-grid,.hero--home .hero-grid,.article-hero__grid{min-height:calc(100svh - 88px);padding-top:clamp(112px,12vh,178px);padding-bottom:clamp(86px,10vh,134px)}
  .hero h1,.article-hero h1{font-size:clamp(4.4rem,5.2vw,7.1rem);max-width:980px}
  .hero--home h1{font-size:clamp(4.6rem,5.4vw,7.35rem);max-width:1020px}
  .hero .lead,.article-hero .lead{font-size:clamp(1.1rem,1vw,1.34rem);max-width:720px}
}
@media (max-width:1100px){
  .hero,.article-hero{min-height:calc(100svh - 78px)}
  .hero-grid,.hero--home .hero-grid,.article-hero__grid{min-height:calc(100svh - 78px);padding:clamp(74px,10vh,112px) 0 clamp(58px,8vh,86px)}
  .hero-copy,.article-hero__grid > div:first-child{max-width:760px}
  .hero h1,.hero--home h1,.article-hero h1{font-size:clamp(2.8rem,8.2vw,5.05rem);line-height:.94;max-width:780px}
  .hero .lead,.article-hero .lead{max-width:620px}
  .hero .hero-media img,.article-hero .hero-media img{object-position:center center;filter:saturate(.95) contrast(1.08) brightness(.76)}
}
@media (max-width:760px){
  .hero,.article-hero{min-height:calc(100svh - 72px)}
  .hero::before,.article-hero::before{
    background:
      linear-gradient(180deg, rgba(7,13,24,.58) 0%, rgba(7,13,24,.50) 34%, rgba(7,13,24,.76) 100%),
      radial-gradient(circle at 18% 22%, rgba(211,47,47,.20), transparent 38%);
  }
  .hero::after,.article-hero::after{background-size:64px 64px;opacity:.20}
  .hero-grid,.hero--home .hero-grid,.article-hero__grid{
    min-height:calc(100svh - 72px);
    align-items:flex-end;
    padding:clamp(86px,15vh,126px) 0 clamp(42px,8vh,66px);
  }
  .hero-copy,.article-hero__grid > div:first-child{width:100%;max-width:100%;padding:0}
  .hero h1,.hero--home h1,.article-hero h1{
    font-size:clamp(2.42rem,10.8vw,3.85rem);
    line-height:.98;
    letter-spacing:-.04em;
    max-width:100%;
  }
  .hero .lead,.article-hero .lead{font-size:1rem;line-height:1.6;max-width:100%;margin-bottom:24px}
  .hero .button-row,.article-hero .button-row{gap:10px;margin-top:22px}
  .hero .button-row .btn,.article-hero .button-row .btn{width:100%;min-height:52px}
  .hero .hero-media img,.article-hero .hero-media img{object-position:center center;filter:saturate(.92) contrast(1.08) brightness(.68)}
}
@media (max-width:420px){
  .hero-grid,.hero--home .hero-grid,.article-hero__grid{padding-top:92px;padding-bottom:40px}
  .hero h1,.hero--home h1,.article-hero h1{font-size:clamp(2.16rem,11.4vw,3.25rem);line-height:1}
  .hero .eyebrow,.article-hero .eyebrow{font-size:.66rem;letter-spacing:.15em;margin-bottom:12px}
  .hero .eyebrow::before,.article-hero .eyebrow::before{width:28px}
  .hero .lead,.article-hero .lead{font-size:.96rem;line-height:1.56}
}

/* ========================================================================== 
   RESPONSIVE TYPOGRAPHY REFINEMENT — reduced font weight + ideal readable scale
   Applied after the fullscreen hero layer to override previous oversized/heavy rules.
   ========================================================================== */
:root{
  --display:"Roboto Condensed","Arial Narrow","Aptos Display","Helvetica Neue",Arial,sans-serif;
}

/* Global weight refinement: editorial, premium, less aggressive than 900/Impact */
h1,h2,h3,
.mega-intro h2,
.card-body h3,
.work-card h3,
.portfolio-tile h3,
.process-step h3,
.next-steps h3,
.article-body blockquote,
.legal-copy h2{
  font-family:var(--display);
  font-weight:700;
  font-stretch:condensed;
  letter-spacing:-.026em;
}

h1{
  font-size:clamp(2.72rem,5.15vw,5.35rem);
  line-height:.99;
  max-width:820px;
  letter-spacing:-.032em;
}
h2{
  font-size:clamp(2.05rem,4.35vw,4.25rem);
  line-height:1;
  letter-spacing:-.028em;
}
h3{
  font-size:clamp(1.32rem,2vw,2rem);
  line-height:1.08;
}

.lead{
  font-size:clamp(.98rem,1.16vw,1.14rem);
  line-height:1.62;
  max-width:620px;
}
.eyebrow,
.card-kicker,
.project-form label,
.nav-link,
.nav-button,
.mobile-menu__nav>a,
.mobile-accordion>button,
.text-link,
.btn{
  font-weight:700;
}
.btn{
  min-height:48px;
  padding:12px 20px;
  font-size:.82rem;
  letter-spacing:.04em;
}

/* Hero: title, subtitle and CTAs scaled to keep image dominant and information visible */
.hero h1,
.article-hero h1{
  max-width:min(760px,100%);
  font-size:clamp(2.78rem,4.85vw,5.15rem);
  line-height:1;
  letter-spacing:-.032em;
  font-weight:700;
  text-shadow:0 14px 38px rgba(0,0,0,.24);
}
.hero--home h1{
  max-width:min(800px,100%);
  font-size:clamp(2.9rem,5.05vw,5.4rem);
}
.hero .lead,
.article-hero .lead{
  max-width:600px;
  font-size:clamp(.98rem,1.08vw,1.14rem);
  line-height:1.58;
  margin-bottom:clamp(20px,2.4vw,28px);
}
.hero-copy,
.article-hero__grid > div:first-child{
  max-width:min(780px,100%);
}
.hero .eyebrow,
.article-hero .eyebrow{
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.18em;
  margin-bottom:clamp(10px,1.2vw,14px);
}
.hero .button-row,
.article-hero .button-row{
  margin-top:clamp(18px,2.4vw,28px);
}
.hero .btn,
.article-hero .btn{
  min-height:48px;
  padding:12px 20px;
}

/* Section headers and cards: clearer hierarchy without visual heaviness */
.section-heading{margin-bottom:clamp(30px,3.8vw,54px)}
.section-heading--split > p,
.section-heading p:not(.eyebrow){
  font-size:clamp(.98rem,1vw,1.08rem);
  line-height:1.64;
}
.card-body h3{
  font-size:clamp(1.42rem,1.72vw,1.74rem);
  min-height:0;
}
.card-body p,.portfolio-tile p,.work-card p{
  font-size:.98rem;
  line-height:1.62;
}
.brand-text strong{font-weight:700;letter-spacing:.075em}

@media (min-width:1600px){
  .hero h1,.article-hero h1{font-size:clamp(3.65rem,4.65vw,6.08rem);max-width:900px}
  .hero--home h1{font-size:clamp(3.8rem,4.85vw,6.25rem);max-width:940px}
  .hero .lead,.article-hero .lead{font-size:clamp(1.02rem,.86vw,1.2rem);max-width:640px}
  h2{font-size:clamp(2.55rem,3.85vw,4.85rem)}
}
@media (max-width:1100px){
  .hero h1,.hero--home h1,.article-hero h1{
    font-size:clamp(2.42rem,6.65vw,4.25rem);
    line-height:1.02;
    max-width:720px;
  }
  .hero .lead,.article-hero .lead{max-width:570px;font-size:1rem;line-height:1.58}
  h2{font-size:clamp(2rem,5.8vw,3.85rem)}
}
@media (max-width:760px){
  .hero-grid,.hero--home .hero-grid,.article-hero__grid{
    padding:clamp(78px,13vh,112px) 0 clamp(38px,7vh,58px);
  }
  .hero h1,.hero--home h1,.article-hero h1{
    font-size:clamp(2.05rem,8.6vw,3.18rem);
    line-height:1.05;
    letter-spacing:-.026em;
    max-width:100%;
  }
  .hero .lead,.article-hero .lead{
    font-size:.96rem;
    line-height:1.54;
    margin-bottom:20px;
  }
  .hero .eyebrow,.article-hero .eyebrow{
    font-size:.62rem;
    letter-spacing:.14em;
  }
  h2{font-size:clamp(1.86rem,8.3vw,3.05rem);line-height:1.03}
  h3{font-size:clamp(1.24rem,5.2vw,1.72rem)}
  .btn{font-size:.78rem;min-height:50px;padding:12px 17px}
}
@media (max-width:420px){
  .hero-grid,.hero--home .hero-grid,.article-hero__grid{padding-top:84px;padding-bottom:36px}
  .hero h1,.hero--home h1,.article-hero h1{
    font-size:clamp(1.86rem,9.1vw,2.62rem);
    line-height:1.07;
    letter-spacing:-.022em;
  }
  .hero .lead,.article-hero .lead{font-size:.92rem;line-height:1.5}
  .hero .btn,.article-hero .btn{min-height:48px;font-size:.76rem}
  .eyebrow::before{width:26px}
}

/* ========================================================================== 
   CTA PANEL COLOR CORRECTION — requested visual fix
   Purpose: light editorial CTA panels must use the correct navy/dark text,
   not white text inherited from the old navy CTA style.
   ========================================================================== */
.section--cta .cta-panel,
.cta-panel{
  color:var(--ink) !important;
}
.section--cta .cta-panel h1,
.section--cta .cta-panel h2,
.section--cta .cta-panel h3,
.cta-panel h1,
.cta-panel h2,
.cta-panel h3{
  color:var(--navy) !important;
  text-shadow:none !important;
}
.section--cta .cta-panel p:not(.eyebrow),
.cta-panel p:not(.eyebrow){
  color:var(--muted) !important;
}
.section--cta .cta-panel .eyebrow,
.cta-panel .eyebrow{
  color:var(--red) !important;
  text-shadow:none !important;
}
.section--cta .cta-panel .btn--secondary,
.cta-panel .btn--secondary{
  color:var(--navy) !important;
  background:#fff !important;
  border-color:rgba(26,43,76,.16) !important;
}
.section--cta .cta-panel .btn--secondary:hover,
.cta-panel .btn--secondary:hover{
  color:#fff !important;
  background:var(--navy) !important;
  border-color:var(--navy) !important;
}

/* ===== SOURCE: assets/css/reference-pages.css ===== */

/* ========================================================================== 
   REAL.PRO Studios — 25 Reference Page Set Implementation Layer
   Purpose: convert the uploaded 25-page image set into real, responsive HTML
   pages while preserving organized WebP assets, premium light editorial tone,
   readable scale, and high-end visual symmetry.
   ========================================================================== */
body.reference-page{background:#FDFCF9;color:var(--ink)}
.reference-page .mega-panel--wide{width:min(1100px,calc(100vw - 42px));grid-template-columns:.72fr 1.28fr}.reference-page .mega-links--expanded{grid-template-columns:repeat(3,1fr);max-height:520px;overflow:auto}.reference-page .mega-links a{min-height:82px}.reference-page .footer-col--services{grid-template-columns:1fr;max-height:360px;overflow:auto;padding-right:8px}
.reference-page .hero.ref-hero{min-height:auto;background:linear-gradient(180deg,#fff 0%,#FBFAF7 54%,#F5F1EA 100%);color:var(--ink);isolation:isolate}.reference-page .hero.ref-hero::before{z-index:0;background:radial-gradient(circle at 8% 8%,rgba(211,47,47,.09),transparent 32%),radial-gradient(circle at 88% 8%,rgba(26,43,76,.08),transparent 36%),linear-gradient(90deg,rgba(26,43,76,.035) 0 1px,transparent 1px 100%);background-size:auto,auto,88px 88px}.reference-page .hero.ref-hero::after{display:none}.reference-page .ref-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.86fr);gap:clamp(30px,5vw,72px);align-items:center;min-height:min(760px,calc(100svh - 88px));padding:clamp(60px,8.5vw,118px) 0}.reference-page .hero-copy{z-index:2;max-width:760px}.reference-page .hero.ref-hero h1{color:var(--navy);font-size:clamp(2.9rem,5.05vw,5.45rem);line-height:.98;letter-spacing:-.035em;text-shadow:none;max-width:760px;font-weight:700}.reference-page .hero.ref-hero .lead{color:var(--muted);text-shadow:none;max-width:650px;font-size:clamp(1rem,1.16vw,1.15rem);line-height:1.6}.reference-page .hero.ref-hero .eyebrow{color:var(--red);text-shadow:none}.reference-page .hero.ref-hero .eyebrow::before{background:var(--red);box-shadow:none}.reference-page .hero.ref-hero .btn--secondary{color:var(--navy);background:#fff;border-color:rgba(26,43,76,.16);backdrop-filter:none}.reference-page .hero.ref-hero .btn--secondary:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.reference-page .hero.ref-hero .hero-media{position:relative;z-index:1;inset:auto;left:auto;top:auto;bottom:auto;width:100%;height:auto;min-height:clamp(430px,42vw,620px);margin:0;transform:none;border-radius:30px;border:1px solid rgba(26,43,76,.08);box-shadow:var(--shadow);overflow:hidden;background:var(--soft);aspect-ratio:1.05/1}.reference-page .hero.ref-hero .hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.96) contrast(1.05) brightness(.98);transform:none}.reference-page .hero-media::before,.reference-page .hero-media::after{display:none!important}
.reference-page .service-detail-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(32px,5vw,74px);align-items:start}.reference-page .service-lead{color:var(--muted)}.reference-page .ref-capability{grid-template-columns:repeat(2,1fr)}.reference-page .capability-grid article,.reference-page .case-facts div,.reference-page .result-grid div{padding:clamp(22px,2.4vw,32px);border-radius:24px;background:#fff;border:1px solid rgba(26,43,76,.08);box-shadow:0 14px 40px rgba(26,43,76,.07)}.reference-page .capability-grid span,.reference-page .timeline-list span{color:var(--red);font-weight:800;letter-spacing:.1em}.reference-page .contact-details div{display:grid;gap:4px;background:#fff;border:1px solid rgba(26,43,76,.08);border-radius:18px;padding:18px}.reference-page .contact-details strong,.reference-page .case-facts strong,.reference-page .result-grid strong{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.4rem;line-height:1}.reference-page .contact-details span,.reference-page .case-facts span,.reference-page .result-grid span{color:var(--muted)}.reference-page .section--navy .section-heading h2,.reference-page .section--navy .section-heading p:not(.eyebrow){color:#fff}.reference-page .section--navy .service-card{background:#fff;color:var(--ink)}.reference-page .section--navy .card-body h3,.reference-page .section--navy .card-body p{color:var(--navy)}.reference-page .section--navy .card-body p{color:var(--muted)}
.reference-page .gallery-grid--detail{grid-template-columns:repeat(3,1fr)}.reference-page .gallery-item{min-height:clamp(300px,30vw,430px)}.reference-page .category-band{margin-top:-44px;position:relative;z-index:4}.reference-page .portfolio-grid{padding-top:0}.reference-page .related-card h3{font-size:clamp(1.28rem,1.8vw,1.7rem);padding:0 22px;margin-top:22px}.reference-page .related-card .text-link{margin:16px 22px 0}.reference-page .project-form button{cursor:pointer}
@media(max-width:1100px){.reference-page .mega-links--expanded{grid-template-columns:repeat(2,1fr)}.reference-page .ref-hero__grid{grid-template-columns:1fr;min-height:auto}.reference-page .hero.ref-hero .hero-media{aspect-ratio:16/10;min-height:0}.reference-page .service-detail-grid,.reference-page .ref-capability,.reference-page .gallery-grid--detail{grid-template-columns:1fr 1fr}.reference-page .mega-panel--wide{width:min(940px,calc(100vw - 32px))}}
@media(max-width:760px){.reference-page .ref-hero__grid{padding:44px 0 70px;gap:28px}.reference-page .hero.ref-hero h1{font-size:clamp(2.05rem,8.6vw,3.24rem);line-height:1.04}.reference-page .hero.ref-hero .hero-media{aspect-ratio:4/3;border-radius:24px}.reference-page .service-detail-grid,.reference-page .ref-capability,.reference-page .gallery-grid--detail{grid-template-columns:1fr}.reference-page .service-grid--compact{grid-template-columns:1fr}.reference-page .category-band{margin-top:0}.reference-page .footer-col--services{max-height:none}.reference-page .portfolio-tile--wide{grid-column:auto}.reference-page .related-grid{grid-template-columns:1fr}.reference-page .contact-grid{grid-template-columns:1fr}.reference-page .hero.ref-hero .lead{font-size:.96rem}.reference-page .mega-links--expanded{grid-template-columns:1fr}}
@media(max-width:420px){.reference-page .hero.ref-hero h1{font-size:clamp(1.86rem,9.2vw,2.6rem)}.reference-page .hero.ref-hero .hero-media{aspect-ratio:1/1}.reference-page .btn{font-size:.74rem}.reference-page .trust-strip__grid{grid-template-columns:1fr}}

/* ===== SOURCE: assets/css/mega-footer-premium.css ===== */

/* ========================================================================== 
   REAL.PRO Studios — Premium Mega Menu & Footer Experience Refinement
   Purpose: match the approved navigation/footer reference direction with a
   cleaner, more editorial, high-trust, light cinematic system.
   ========================================================================== */
:root{
  --footer-paper:#F8F6F1;
  --footer-card:#FFFFFF;
  --footer-line:rgba(26,43,76,.105);
  --premium-shadow:0 28px 86px rgba(26,43,76,.16);
  --premium-shadow-soft:0 16px 46px rgba(26,43,76,.095);
}
.sr-only{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}
.nav-shell--premium{height:82px;width:min(1420px,calc(100% - 44px));}
.desktop-nav--premium{gap:2px}
.desktop-nav--premium .nav-link,.desktop-nav--premium .nav-button{font-size:.78rem;font-weight:760;letter-spacing:.015em;padding:10px 12px;position:relative;background:transparent;border-radius:0}
.desktop-nav--premium .nav-link::after,.desktop-nav--premium .nav-button::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:999px;background:var(--red);transform:scaleX(0);transform-origin:center;transition:transform .22s ease}
.desktop-nav--premium .nav-link:hover,.desktop-nav--premium .nav-button:hover,.desktop-nav--premium .nav-link.is-active,.desktop-nav--premium .nav-button.is-active{background:transparent;color:var(--navy)}
.desktop-nav--premium .nav-link:hover::after,.desktop-nav--premium .nav-button:hover::after,.desktop-nav--premium .nav-link.is-active::after,.desktop-nav--premium .nav-button.is-active::after{transform:scaleX(1)}
.header-cta{min-height:44px;padding:11px 19px;border-radius:4px;box-shadow:0 14px 28px rgba(211,47,47,.18)}
.menu-toggle{border-radius:0!important;border:0!important;background:transparent!important;gap:6px!important}
.menu-toggle span{width:28px!important;height:2px!important}

/* Mega menu */
.reference-page .mega-panel--studio,.mega-panel--studio{
  width:min(1180px,calc(100vw - 48px));
  left:50%;
  grid-template-columns:1fr;
  gap:0;
  padding:0;
  border-radius:6px;
  overflow:hidden;
  background:rgba(255,255,255,.985);
  border:1px solid rgba(26,43,76,.11);
  box-shadow:var(--premium-shadow);
  backdrop-filter:blur(18px);
}
.mega-panel--studio::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(26,43,76,.025) 0 1px,transparent 1px 100%),linear-gradient(180deg,rgba(211,47,47,.045),transparent 26%);background-size:84px 84px,auto;z-index:0}
.mega-panel--studio>*{position:relative;z-index:1}
.mega-panel__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,440px);gap:28px;align-items:end;padding:28px 30px 22px;border-bottom:1px solid rgba(26,43,76,.09)}
.mega-kicker{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:900;color:var(--red)}
.mega-kicker::before{content:"";display:block;width:30px;height:2px;background:currentColor;border-radius:99px}
.mega-panel__top h2{font-family:var(--display);font-weight:700;font-size:clamp(1.55rem,2vw,2.28rem);line-height:.98;letter-spacing:-.025em;text-transform:uppercase;margin:8px 0 0;color:var(--navy);max-width:620px}
.mega-panel__top p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.55}
.mega-panel__body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:0;align-items:stretch}
.mega-service-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:26px 22px 22px}
.mega-group{padding:0 18px;border-right:1px solid rgba(26,43,76,.085)}
.mega-group:last-child{border-right:0}
.mega-group h3{font-family:var(--body);display:flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--red);font-size:.68rem;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;font-weight:900}
.mega-group h3 span{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid rgba(211,47,47,.24);border-radius:50%;font-size:.6rem;background:rgba(211,47,47,.055)}
.mega-group a{display:grid;gap:3px;position:relative;padding:12px 10px 12px 13px;margin:0 0 6px;border-radius:4px;border:1px solid transparent;color:var(--navy);transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.mega-group a::before{content:"";position:absolute;left:0;top:15px;width:3px;height:18px;border-radius:99px;background:rgba(211,47,47,.72);opacity:0;transform:scaleY(.4);transition:.2s ease}
.mega-group a:hover{background:#fff;border-color:rgba(211,47,47,.18);box-shadow:0 12px 28px rgba(26,43,76,.075);transform:translateY(-1px);color:var(--navy)}
.mega-group a:hover::before{opacity:1;transform:scaleY(1)}
.mega-group strong{font-size:.86rem;line-height:1.18;font-weight:860;color:var(--navy)}
.mega-group small{font-size:.72rem;line-height:1.36;color:var(--muted);text-transform:none;letter-spacing:0}
.mega-feature{display:flex;flex-direction:column;gap:0;padding:22px;border-left:1px solid rgba(26,43,76,.09);background:linear-gradient(180deg,#F8F6F1 0%,#fff 100%)}
.mega-feature__image{margin:0 0 14px;height:150px;border-radius:4px;overflow:hidden;box-shadow:0 14px 36px rgba(26,43,76,.12);background:var(--soft);position:relative}
.mega-feature__image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(14,24,42,.38))}
.mega-feature__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.06)}
.mega-feature__content{background:var(--navy);color:#fff;padding:20px;border-radius:4px;display:grid;gap:8px;box-shadow:0 14px 36px rgba(26,43,76,.16)}
.mega-feature__content span{color:var(--red);font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.mega-feature__content h3{color:#fff;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:1.55rem;line-height:.98;margin:0;letter-spacing:-.02em}
.mega-feature__content p{color:rgba(255,255,255,.72);font-size:.86rem;line-height:1.45;margin:0 0 5px}
.mega-feature__content .btn{min-height:42px;border-radius:3px;font-size:.76rem;padding:10px 14px}
.mega-panel__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 30px;border-top:1px solid rgba(26,43,76,.09);background:#fff}
.mega-panel__bottom p{margin:0;color:var(--muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850}.mega-panel__bottom p strong{color:var(--red)}
.mega-panel__bottom a{font-size:.78rem;font-weight:900;color:var(--navy)}
.mega-panel__bottom a:hover{color:var(--red)}
.reference-page .mega-links--expanded,.mega-links--expanded{display:none!important}
.reference-page .mega-intro,.mega-intro{display:none!important}

/* Mobile menu refinement */
.mobile-menu--premium{background:linear-gradient(180deg,#fff 0%,#F8F6F1 100%);padding:18px;box-shadow:-28px 0 80px rgba(14,24,42,.22)}
.mobile-menu--premium .mobile-menu__top{background:#fff;border:1px solid rgba(26,43,76,.08);border-radius:18px;padding:12px 14px;box-shadow:0 14px 36px rgba(26,43,76,.075)}
.mobile-menu--premium .mobile-menu__nav>a:not(.btn),.mobile-menu--premium .mobile-accordion>button{background:#fff;border-color:rgba(26,43,76,.09);border-radius:15px;min-height:54px}
.mobile-menu--premium .mobile-menu__nav>a:not(.btn):hover,.mobile-menu--premium .mobile-accordion>button:hover{border-color:rgba(211,47,47,.24);color:var(--navy)}
.mobile-menu--premium .mobile-accordion__panel a{border-radius:12px;background:rgba(255,255,255,.72)}
.mobile-menu--premium .btn{border-radius:4px;margin-top:8px}

/* Footer system */
.site-footer--premium{background:var(--footer-paper)!important;color:var(--navy)!important;padding:0 0 26px!important;border-top:1px solid rgba(26,43,76,.08)}
.footer-cta-band{position:relative;overflow:hidden;background:var(--navy-2);color:#fff}
.footer-cta-band__inner{position:relative;min-height:178px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(240px,34%);gap:30px;align-items:center;padding:34px 0;isolation:isolate}
.footer-cta-band__inner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,24,42,.98) 0%,rgba(14,24,42,.88) 52%,rgba(14,24,42,.35) 100%);z-index:-1}
.footer-cta-band__copy{max-width:720px}.footer-cta-band .eyebrow{color:#fff;margin-bottom:8px}.footer-cta-band .eyebrow::before{background:var(--red)}
.footer-cta-band h2{color:#fff;font-family:var(--display);font-weight:700;font-size:clamp(2.1rem,4.2vw,4.7rem);line-height:.9;text-transform:uppercase;letter-spacing:-.03em;margin:0 0 10px}.footer-cta-band p{margin:0;color:rgba(255,255,255,.72);max-width:660px}.footer-cta-band .btn{border-radius:4px;white-space:nowrap;z-index:2}
.footer-cta-band__media{position:absolute;right:0;top:0;bottom:0;width:min(46vw,620px);margin:0;z-index:-2;opacity:.62}.footer-cta-band__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.08)}
.footer-shell{margin-top:0}.footer-main{display:grid;grid-template-columns:1.15fr .62fr 1.16fr .88fr;gap:clamp(28px,3vw,52px);align-items:start;background:#fff;border:1px solid var(--footer-line);border-top:0;border-radius:0 0 6px 6px;padding:42px 42px 34px;box-shadow:var(--premium-shadow-soft)}
.footer-brand--premium p{color:var(--muted)!important;margin:0 0 18px;max-width:390px;font-size:.94rem;line-height:1.55}.brand--footer{color:var(--navy)!important;margin-bottom:16px}.brand--footer .brand-text small{color:var(--muted)!important}.brand--footer .brand-text strong{color:var(--navy)}
.footer-social{display:flex;gap:9px;flex-wrap:wrap}.footer-social a{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#F3F5F8;border:1px solid rgba(26,43,76,.09);font-size:.68rem;font-weight:900;color:var(--navy);transition:.2s ease}.footer-social a:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.site-footer--premium .footer-col{display:grid;align-content:start;gap:8px}.site-footer--premium .footer-col h2{font-family:var(--body);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);font-weight:950;margin:4px 0 7px}.site-footer--premium .footer-col a{color:var(--muted);font-size:.86rem;line-height:1.35;font-weight:680}.site-footer--premium .footer-col a:hover{color:var(--red)}
.site-footer--premium .footer-col--services{max-height:none!important;overflow:visible!important;padding-right:0!important}.footer-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:8px}.footer-col--newsletter p{color:var(--muted);font-size:.9rem;line-height:1.5;margin:0 0 12px}.footer-newsletter{display:grid;grid-template-columns:1fr 46px;border:1px solid rgba(26,43,76,.13);background:#fff;border-radius:3px;overflow:hidden;margin-bottom:16px;box-shadow:0 10px 26px rgba(26,43,76,.055)}.footer-newsletter input{min-width:0;border:0;padding:13px 14px;color:var(--navy);background:#fff;font-size:.86rem}.footer-newsletter input:focus{outline:0;box-shadow:inset 0 0 0 2px rgba(211,47,47,.18)}.footer-newsletter button{border:0;background:var(--red);color:#fff;font-size:1.15rem;cursor:pointer;transition:.2s ease}.footer-newsletter button:hover{background:#b82424}.footer-contact-mini{display:grid;gap:6px}
.footer-bottom--premium{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:0;padding:18px 42px;background:#fff;border:1px solid var(--footer-line);border-top:0;border-radius:0 0 6px 6px;color:var(--muted)!important;font-size:.8rem}.footer-bottom--premium p{margin:0}.footer-bottom--premium div{display:flex;gap:22px}.footer-bottom--premium a{color:var(--muted);font-weight:700}.footer-bottom--premium a:hover{color:var(--red)}

@media(max-width:1220px){.desktop-nav--premium .nav-link,.desktop-nav--premium .nav-button{padding-left:9px;padding-right:9px}.mega-panel__body{grid-template-columns:1fr}.mega-feature{display:grid;grid-template-columns:230px 1fr;border-left:0;border-top:1px solid rgba(26,43,76,.09)}.mega-feature__image{height:100%;min-height:170px;margin:0}.mega-feature__content{align-content:center}.footer-main{grid-template-columns:1fr 1fr}.footer-brand--premium{grid-column:1/-1}.footer-cta-band__inner{grid-template-columns:1fr auto}.footer-cta-band__media{width:58vw}}
@media(max-width:1100px){.nav-shell--premium{width:calc(100% - 28px);height:76px}.footer-main{border-top:1px solid var(--footer-line);border-radius:6px;margin-top:24px}.footer-cta-band__inner{grid-template-columns:1fr;gap:18px}.footer-cta-band .btn{justify-self:start}.footer-cta-band__media{width:100%;opacity:.22}.mega-panel--studio{display:none!important}}
@media(max-width:760px){.footer-cta-band__inner{min-height:260px;padding:38px 0}.footer-cta-band h2{font-size:clamp(2.05rem,11vw,3.5rem)}.footer-main{grid-template-columns:1fr;padding:28px 22px;gap:28px}.footer-link-grid{grid-template-columns:1fr}.footer-bottom--premium{padding:18px 22px;flex-direction:column;align-items:flex-start}.footer-bottom--premium div{flex-wrap:wrap;gap:14px}.site-footer--premium .footer-col{padding-top:22px;border-top:1px solid rgba(26,43,76,.08)}.footer-brand--premium{padding-top:0!important;border-top:0!important}.footer-newsletter{grid-template-columns:1fr 44px}.mobile-menu--premium{width:100%}}
@media(max-width:420px){.nav-shell--premium{width:calc(100% - 20px)}.footer-cta-band__inner{padding:32px 0}.footer-cta-band .btn{width:100%}.footer-main{padding:24px 18px}.footer-bottom--premium{padding:16px 18px}.brand--footer .brand-text small{display:block!important}}


/* ========================================================================== 
   FINAL FULL-WIDTH FOOTER FIT REFINEMENT
   Removes side columns/gutters and gives the footer a cleaner full-bleed fit.
   ========================================================================== */
.site-footer--premium{
  background:linear-gradient(180deg,#f7f5f0 0%,#f4f2ec 100%)!important;
  width:100%;
  overflow:hidden;
}
.site-footer--premium .container{
  width:100%;
  max-width:none;
  margin:0;
}
.footer-cta-band{
  width:100%;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-cta-band__inner{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(34px,4vw,54px) clamp(28px,5vw,80px);
  grid-template-columns:minmax(0,1.08fr) auto minmax(260px,38vw);
}
.footer-cta-band__copy{
  max-width:760px;
}
.footer-cta-band__media{
  right:clamp(0px,1vw,16px);
  width:min(42vw,740px);
  opacity:.68;
}
.footer-shell{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 clamp(28px,5vw,80px);
  background:transparent;
}
.footer-main{
  width:100%;
  border-left:0;
  border-right:0;
  border-radius:0 0 28px 28px;
  box-shadow:0 20px 50px rgba(26,43,76,.06);
  padding:40px clamp(26px,3vw,48px) 32px;
}
.footer-bottom--premium{
  border-left:0;
  border-right:0;
  border-radius:0 0 28px 28px;
  box-shadow:0 12px 28px rgba(26,43,76,.035);
  padding:18px clamp(26px,3vw,48px) 22px;
}
.footer-brand--premium p{max-width:430px}
.footer-link-grid{column-gap:28px;row-gap:10px}
.footer-newsletter{max-width:420px}
@media(max-width:1220px){
  .footer-cta-band__inner{grid-template-columns:1fr auto;padding-inline:clamp(24px,4vw,56px)}
  .footer-shell{padding-inline:clamp(24px,4vw,56px)}
}
@media(max-width:1100px){
  .footer-shell{padding-inline:24px}
  .footer-main,.footer-bottom--premium{border-radius:24px}
  .footer-cta-band__inner{padding:38px 24px}
}
@media(max-width:760px){
  .footer-cta-band__inner{padding:34px 18px 38px}
  .footer-shell{padding-inline:18px}
  .footer-main{padding:28px 18px 24px;border-radius:22px}
  .footer-bottom--premium{padding:16px 18px 20px;border-radius:22px}
  .footer-cta-band__media{width:100%;right:0;opacity:.20}
}

/* ===== SOURCE: assets/css/premium-experience.css ===== */
/* ========================================================================== 
   REAL.PRO Studios — Premium Editorial Cinematic Experience Layer
   Visual direction: light mode, hybrid editorial/cinematic, premium agency energy
   Palette: Off-white + Navy #1A2B4C + Red #D32F2F
   ========================================================================== */
:root{
  --ease-premium:cubic-bezier(.16,1,.3,1);
  --duration-fast:220ms;
  --duration-soft:520ms;
  --duration-cinema:900ms;
  --hero-min:100svh;
  --rp-white:#fff;
  --rp-paper:#FDFBF7;
  --rp-off:#F7F4ED;
  --rp-navy:#1A2B4C;
  --rp-navy-deep:#0C1728;
  --rp-red:#D32F2F;
  --rp-ink:#121826;
  --rp-muted:#596477;
  --rp-line:rgba(26,43,76,.10);
  --rp-shadow:0 28px 90px rgba(26,43,76,.14);
  --rp-shadow-soft:0 16px 48px rgba(26,43,76,.10);
}
html{scroll-padding-top:96px;background:var(--rp-paper)}
body{background:var(--rp-paper);color:var(--rp-ink)}
body::before{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;background:linear-gradient(90deg,var(--rp-navy-deep),var(--rp-navy));transform:translateX(-105%);opacity:0;transition:transform 620ms var(--ease-premium),opacity 220ms ease;will-change:transform,opacity}
body.page-transitioning::before{transform:translateX(0);opacity:1}
body:not(.is-loaded) main,body:not(.is-loaded) footer{opacity:0;transform:translateY(10px)}
body.is-loaded main,body.is-loaded footer{opacity:1;transform:none;transition:opacity 620ms var(--ease-premium),transform 620ms var(--ease-premium)}

/* Header: transparent over hero, solid after scroll */
.site-header{position:fixed!important;top:0;left:0;right:0;z-index:1000;background:linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,255,255,.34))!important;border-bottom:1px solid rgba(255,255,255,.18)!important;box-shadow:none!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background var(--duration-soft) var(--ease-premium),box-shadow var(--duration-soft) var(--ease-premium),border-color var(--duration-soft) var(--ease-premium),transform var(--duration-soft) var(--ease-premium)}
.site-header.is-scrolled{background:rgba(253,252,249,.94)!important;border-bottom:1px solid rgba(26,43,76,.10)!important;box-shadow:0 14px 42px rgba(26,43,76,.10)!important}
.nav-shell,.nav-shell--premium{height:clamp(74px,6vw,92px)!important}
.brand-mark{width:clamp(44px,3.3vw,56px)!important;height:clamp(44px,3.3vw,56px)!important;border-radius:14px!important;box-shadow:0 12px 30px rgba(26,43,76,.12)}
.brand-text strong{font-weight:760!important;color:var(--rp-navy);letter-spacing:.075em!important}.brand-text small{color:rgba(26,43,76,.65)!important;font-weight:800!important}.nav-link,.nav-button{position:relative;color:var(--rp-navy)!important;font-weight:760!important;letter-spacing:.015em!important;transition:color var(--duration-fast) ease,background var(--duration-fast) ease}.nav-link::after,.nav-button::after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:2px;background:var(--rp-red);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-fast) var(--ease-premium);border-radius:99px}.nav-link:hover::after,.nav-link.is-active::after,.nav-button:hover::after,.nav-button.is-active::after{transform:scaleX(1)}.nav-link:hover,.nav-button:hover,.nav-link.is-active{background:rgba(255,255,255,.54)!important;color:var(--rp-navy)!important}
.btn{position:relative;overflow:hidden;isolation:isolate;font-weight:760!important;letter-spacing:.045em!important;transition:transform var(--duration-fast) var(--ease-premium),box-shadow var(--duration-fast) var(--ease-premium),background var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease}.btn::before{content:"";position:absolute;inset:-1px;background:linear-gradient(120deg,transparent 0 34%,rgba(255,255,255,.38) 45%,transparent 58%);transform:translateX(-125%);transition:transform 680ms var(--ease-premium);z-index:-1}.btn:hover::before{transform:translateX(125%)}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--rp-red)!important;color:#fff!important;box-shadow:0 16px 38px rgba(211,47,47,.26)!important}.btn--primary:hover{box-shadow:0 22px 48px rgba(211,47,47,.32)!important}.btn--secondary{background:rgba(255,255,255,.82)!important;border-color:rgba(26,43,76,.18)!important;color:var(--rp-navy)!important;box-shadow:0 12px 34px rgba(26,43,76,.06)}.btn--secondary:hover{background:var(--rp-navy)!important;border-color:var(--rp-navy)!important;color:#fff!important}

/* Hero: full-bleed image system, text controlled and readable */
.hero,.reference-page .hero.ref-hero{position:relative!important;min-height:var(--hero-min)!important;overflow:hidden!important;background:var(--rp-paper)!important;color:var(--rp-navy)!important;isolation:isolate!important;padding-top:0!important}
.hero::before,.reference-page .hero.ref-hero::before{content:""!important;position:absolute!important;inset:0!important;z-index:2!important;pointer-events:none!important;background:
  linear-gradient(90deg,rgba(253,251,247,.96) 0%,rgba(253,251,247,.88) 27%,rgba(253,251,247,.58) 52%,rgba(253,251,247,.24) 74%,rgba(253,251,247,.12) 100%),
  radial-gradient(circle at 8% 22%,rgba(211,47,47,.13),transparent 27%),
  linear-gradient(180deg,rgba(255,255,255,.70) 0%,transparent 18%,rgba(8,16,30,.08) 100%)!important;background-size:auto!important}
.hero::after,.reference-page .hero.ref-hero::after{content:""!important;display:block!important;position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(26,43,76,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(26,43,76,.035) 1px,transparent 1px);background-size:84px 84px;mask-image:linear-gradient(90deg,rgba(0,0,0,.56),transparent 68%)}
.hero-grid,.hero--home .hero-grid,.reference-page .ref-hero__grid{position:relative!important;z-index:5!important;display:grid!important;grid-template-columns:minmax(0,780px) 1fr!important;align-items:center!important;min-height:var(--hero-min)!important;padding:clamp(118px,12vw,168px) 0 clamp(78px,8vw,118px)!important;gap:clamp(26px,4vw,70px)!important}
.hero-copy,.reference-page .hero-copy{position:relative!important;z-index:6!important;max-width:min(760px,92vw)!important;padding:0!important}.hero-copy::before{content:"";position:absolute;inset:clamp(-26px,-2vw,-16px) clamp(-28px,-2vw,-18px);z-index:-1;background:linear-gradient(135deg,rgba(253,251,247,.48),rgba(253,251,247,.12));border:1px solid rgba(255,255,255,.36);border-radius:34px;backdrop-filter:blur(2px);opacity:.58}
.hero h1,.reference-page .hero.ref-hero h1{font-size:clamp(3.25rem,6.15vw,6.65rem)!important;line-height:.92!important;letter-spacing:-.045em!important;color:var(--rp-navy)!important;text-transform:uppercase!important;font-weight:720!important;max-width:820px!important;text-wrap:balance;text-shadow:0 1px 0 rgba(255,255,255,.44)!important;margin-bottom:clamp(18px,2vw,26px)!important}.hero .lead,.reference-page .hero.ref-hero .lead{font-size:clamp(1.02rem,1.25vw,1.24rem)!important;line-height:1.62!important;color:rgba(18,24,38,.78)!important;max-width:620px!important;margin-bottom:clamp(24px,2.7vw,38px)!important;text-shadow:0 1px 0 rgba(255,255,255,.28)!important}.hero .eyebrow,.reference-page .hero.ref-hero .eyebrow{color:var(--rp-red)!important;font-weight:850!important;letter-spacing:.21em!important;text-shadow:none!important}.hero .eyebrow::before,.reference-page .hero.ref-hero .eyebrow::before{background:var(--rp-red)!important}
.hero-media,.reference-page .hero.ref-hero .hero-media{position:absolute!important;z-index:1!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--rp-navy)!important;overflow:hidden!important;transform:none!important;opacity:1!important}.hero-media::before,.hero-media::after,.reference-page .hero-media::before,.reference-page .hero-media::after{display:none!important}.hero-media img,.reference-page .hero.ref-hero .hero-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:saturate(.94) contrast(1.06) brightness(.93)!important;transform:scale(1.035);transition:transform 1400ms var(--ease-premium),filter 700ms ease!important;will-change:transform}.hero:hover .hero-media img{transform:scale(1.055)}
.hero .button-row{gap:14px!important;align-items:center!important}.hero .btn{min-height:clamp(46px,3.5vw,54px)!important;padding:clamp(12px,1.1vw,15px) clamp(20px,2vw,28px)!important;font-size:clamp(.74rem,.78vw,.88rem)!important}

/* Editorial section architecture */
.section{padding:clamp(88px,8vw,152px) 0!important}.section--soft{background:linear-gradient(180deg,#F8F5EE,#F2EEE5)!important}.section--navy{background:linear-gradient(135deg,#0D182A 0%,var(--rp-navy) 64%,#223A68 100%)!important}.section-heading{margin-bottom:clamp(38px,5vw,74px)!important}.section-heading--split{grid-template-columns:minmax(0,1.03fr) minmax(320px,.62fr)!important;gap:clamp(28px,4vw,62px)!important}.section-heading h2{font-weight:720!important;letter-spacing:-.04em!important;line-height:.94!important;color:var(--rp-navy)!important}.section-heading p:not(.eyebrow){line-height:1.68!important;color:var(--rp-muted)!important}.section--navy .section-heading h2,.section--navy h2,.section--navy h3{color:#fff!important}.section--navy .section-heading p:not(.eyebrow),.section--navy p{color:rgba(255,255,255,.73)!important}.editorial-split{gap:clamp(40px,5.4vw,88px)!important}.editorial-copy h2{font-weight:720!important}.editorial-copy p{line-height:1.74!important;color:var(--rp-muted)!important}.image-frame,.gallery-item,.cta-media{overflow:hidden;border:1px solid var(--rp-line)!important;border-radius:clamp(24px,2.2vw,36px)!important;box-shadow:var(--rp-shadow-soft)!important}.image-frame img,.gallery-item img,.cta-media img,.media-link img,.work-card img,.portfolio-tile img{transition:transform 900ms var(--ease-premium),filter 520ms ease!important}.image-frame:hover img,.gallery-item:hover img,.service-card:hover img,.work-card:hover img,.portfolio-tile:hover img{transform:scale(1.055)!important;filter:saturate(.98) contrast(1.07) brightness(.99)!important}

/* Premium cards and grids */
.service-grid,.service-grid--compact,.featured-work-grid,.portfolio-grid,.gallery-grid,.related-grid,.values-grid,.process-map,.timeline-list,.next-steps{gap:clamp(20px,2.2vw,32px)!important}.service-card,.work-card,.portfolio-tile,.related-card,.process-step,.quote-card,.next-steps div,.challenge-grid div,.result-grid div{border-radius:clamp(22px,1.8vw,30px)!important;border:1px solid rgba(26,43,76,.09)!important;background:rgba(255,255,255,.90)!important;box-shadow:0 14px 44px rgba(26,43,76,.075)!important;transition:transform 360ms var(--ease-premium),box-shadow 360ms var(--ease-premium),border-color 360ms ease!important;overflow:hidden}.service-card:hover,.work-card:hover,.portfolio-tile:hover,.related-card:hover,.process-step:hover,.next-steps div:hover{transform:translateY(-7px)!important;box-shadow:0 28px 74px rgba(26,43,76,.14)!important;border-color:rgba(211,47,47,.20)!important}.media-link{height:clamp(260px,23vw,360px)!important;background:var(--rp-off)!important}.card-body{padding:clamp(24px,2.3vw,34px)!important}.card-body h3,.portfolio-tile h3,.work-card h3,.process-step h3{font-weight:720!important;letter-spacing:-.025em!important}.card-body h3{font-size:clamp(1.65rem,1.95vw,2.12rem)!important;min-height:auto!important}.card-body p,.work-card p,.portfolio-tile p{line-height:1.64!important;color:var(--rp-muted)!important}.card-kicker{color:var(--rp-red)!important;font-weight:850!important;letter-spacing:.17em!important}.text-link{font-weight:800!important;color:var(--rp-navy)!important}.text-link:hover{color:var(--rp-red)!important}
.featured-work-grid{align-items:stretch!important}.work-card a,.work-card--large a{height:clamp(440px,42vw,680px)!important}.portfolio-grid{grid-auto-rows:clamp(440px,34vw,560px)!important}.portfolio-tile a{height:70%!important}.portfolio-tile a span{background:rgba(255,255,255,.92)!important;color:var(--rp-navy)!important;border:1px solid rgba(255,255,255,.50)!important;backdrop-filter:blur(10px)!important}

/* CTA and footer */
.cta-panel{position:relative!important;overflow:hidden!important;border-radius:clamp(26px,2.6vw,42px)!important;background:linear-gradient(135deg,#fff 0%,#FAF7F1 54%,#EFE8DC 100%)!important;box-shadow:0 34px 96px rgba(26,43,76,.14)!important;border:1px solid rgba(26,43,76,.09)!important}.cta-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 16%,rgba(211,47,47,.10),transparent 30%),linear-gradient(90deg,rgba(26,43,76,.032) 1px,transparent 1px);background-size:auto,84px 84px;pointer-events:none}.cta-panel>*{position:relative;z-index:2}.cta-panel h2{font-weight:720!important;color:var(--rp-navy)!important}.cta-panel p:not(.eyebrow){color:var(--rp-muted)!important}.site-footer--premium{background:linear-gradient(145deg,#081324 0%,#0F1B30 50%,#162744 100%)!important}.footer-cta-band{position:relative;overflow:hidden}.footer-main{box-shadow:0 24px 72px rgba(0,0,0,.14)!important}.footer-col a,.footer-brand--premium p,.footer-col--newsletter p{line-height:1.55!important}

/* Mega menu: full-stack creative agency feel */
.mega-panel--studio{border-radius:28px!important;border:1px solid rgba(26,43,76,.12)!important;box-shadow:0 34px 110px rgba(26,43,76,.20)!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:opacity 320ms var(--ease-premium),visibility 320ms var(--ease-premium),transform 420ms var(--ease-premium)!important}.mega-panel__top{background:linear-gradient(135deg,rgba(248,245,238,.94),rgba(255,255,255,.96));border-radius:22px;padding:22px!important}.mega-panel__top h2{font-weight:720!important}.mega-group{position:relative;background:linear-gradient(180deg,#fff,#FCFAF6);border:1px solid rgba(26,43,76,.075);border-radius:20px;padding:16px!important}.mega-group h3{font-weight:820!important;color:var(--rp-navy)!important}.mega-group a{border-radius:15px!important;transition:transform 260ms var(--ease-premium),background 260ms ease,box-shadow 260ms ease!important}.mega-group a:hover{transform:translateX(4px)!important;background:rgba(211,47,47,.055)!important;box-shadow:inset 3px 0 0 var(--rp-red)!important}.mega-feature{border-radius:22px!important;background:linear-gradient(180deg,#0F1B30,#1A2B4C)!important;color:#fff!important}.mega-feature__image img{filter:saturate(.95) contrast(1.08) brightness(.90)!important}.mega-feature__content h3,.mega-feature__content p{color:#fff!important}.mega-panel__bottom{border-top:1px solid rgba(26,43,76,.09)!important;background:linear-gradient(90deg,#fff,#F8F5EE)!important}

/* Fullscreen mobile menu */
@media (max-width:1100px){
  .mobile-menu--premium,.mobile-menu{width:100%!important;max-width:none!important;height:100dvh!important;background:linear-gradient(135deg,#FDFBF7 0%,#F5F1EA 100%)!important;padding:clamp(18px,3vw,34px)!important;box-shadow:none!important;transform:translateX(0) translateY(-108%)!important;transition:transform 520ms var(--ease-premium)!important}.mobile-menu.is-open{transform:translateX(0) translateY(0)!important}.menu-backdrop.is-open{background:rgba(8,19,36,.54)!important;backdrop-filter:blur(10px)!important}.mobile-menu__top{padding-bottom:clamp(18px,3vw,30px)!important}.mobile-menu__nav{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.mobile-menu__nav>a,.mobile-accordion>button{background:rgba(255,255,255,.82)!important;border:1px solid rgba(26,43,76,.10)!important;border-radius:20px!important;color:var(--rp-navy)!important;font-size:clamp(1rem,2vw,1.22rem)!important;padding:18px 20px!important}.mobile-accordion__panel a{border-radius:16px!important;background:#fff!important}.menu-toggle{background:rgba(255,255,255,.68)!important;backdrop-filter:blur(10px)!important}.hero-grid,.hero--home .hero-grid,.reference-page .ref-hero__grid{grid-template-columns:1fr!important;padding:clamp(108px,16vw,140px) 0 clamp(70px,10vw,100px)!important}.hero-copy,.reference-page .hero-copy{max-width:760px!important}.hero h1,.reference-page .hero.ref-hero h1{font-size:clamp(3rem,9vw,5.7rem)!important;max-width:760px!important}.hero .lead,.reference-page .hero.ref-hero .lead{max-width:620px!important}.hero::before,.reference-page .hero.ref-hero::before{background:linear-gradient(90deg,rgba(253,251,247,.97) 0%,rgba(253,251,247,.91) 42%,rgba(253,251,247,.52) 100%),radial-gradient(circle at 8% 22%,rgba(211,47,47,.13),transparent 27%),linear-gradient(180deg,rgba(255,255,255,.72),transparent 22%,rgba(8,16,30,.08))!important}.service-grid,.service-grid--compact,.values-grid,.quote-grid,.process-map,.related-grid,.next-steps,.challenge-grid,.result-grid,.reference-page .gallery-grid--detail{grid-template-columns:repeat(2,minmax(0,1fr))!important}.featured-work-grid{grid-template-columns:1fr!important}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-main{grid-template-columns:1fr 1fr!important}
}
@media (max-width:760px){
  :root{--hero-min:100svh}.container{width:min(100% - 28px,var(--max))!important}.hero-grid,.hero--home .hero-grid,.reference-page .ref-hero__grid{padding:clamp(102px,22vw,128px) 0 clamp(60px,12vw,84px)!important}.hero-copy::before{inset:-18px -14px;border-radius:24px;background:rgba(253,251,247,.46)}.hero h1,.reference-page .hero.ref-hero h1{font-size:clamp(2.42rem,12.2vw,4.05rem)!important;line-height:.96!important;letter-spacing:-.04em!important}.hero .lead,.reference-page .hero.ref-hero .lead{font-size:clamp(.96rem,4.05vw,1.08rem)!important;line-height:1.55!important}.hero .button-row{display:flex!important;flex-direction:column!important;align-items:stretch!important}.hero .button-row .btn{width:100%!important}.hero-media img,.reference-page .hero.ref-hero .hero-media img{object-position:center right!important}.hero::before,.reference-page .hero.ref-hero::before{background:linear-gradient(90deg,rgba(253,251,247,.98) 0%,rgba(253,251,247,.94) 52%,rgba(253,251,247,.68) 100%),linear-gradient(180deg,rgba(255,255,255,.82),transparent 30%,rgba(8,16,30,.08)),radial-gradient(circle at 12% 28%,rgba(211,47,47,.11),transparent 30%)!important}.section{padding:clamp(70px,16vw,96px) 0!important}.section-heading--split{grid-template-columns:1fr!important}.section-heading h2{font-size:clamp(2.04rem,10.2vw,3.45rem)!important}.service-grid,.service-grid--compact,.values-grid,.quote-grid,.process-map,.timeline-list,.related-grid,.next-steps,.challenge-grid,.result-grid,.reference-page .gallery-grid--detail,.portfolio-grid,.footer-main{grid-template-columns:1fr!important}.media-link{height:clamp(250px,68vw,390px)!important}.work-card a,.work-card--large a{height:clamp(360px,88vw,540px)!important}.portfolio-grid{grid-auto-rows:clamp(420px,105vw,560px)!important}.cta-panel{padding:clamp(24px,7vw,36px)!important}.footer-main{padding:28px 22px!important}.mobile-menu__nav>a,.mobile-accordion>button{font-size:1.04rem!important}.nav-shell,.nav-shell--premium{height:72px!important}.brand-text small{display:block!important;font-size:.56rem!important;letter-spacing:.22em!important}
}
@media (max-width:420px){
  .hero h1,.reference-page .hero.ref-hero h1{font-size:clamp(2.08rem,13vw,3.2rem)!important}.hero .lead,.reference-page .hero.ref-hero .lead{font-size:.95rem!important}.eyebrow{font-size:.64rem!important;letter-spacing:.16em!important}.eyebrow::before{width:26px!important}.btn{font-size:.72rem!important}.hero-copy::before{display:none}.mobile-menu{padding:16px!important}.brand-text strong{font-size:.92rem!important}.brand-text small{display:none!important}
}

/* Reveal and stagger behavior */
.reveal,.reveal-stagger>*{opacity:0;transform:translateY(22px);transition:opacity 720ms var(--ease-premium),transform 720ms var(--ease-premium);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible,.reveal-stagger.is-visible>*{opacity:1;transform:none}
.reveal-stagger.is-visible>*:nth-child(1){--reveal-delay:0ms}.reveal-stagger.is-visible>*:nth-child(2){--reveal-delay:90ms}.reveal-stagger.is-visible>*:nth-child(3){--reveal-delay:180ms}.reveal-stagger.is-visible>*:nth-child(4){--reveal-delay:270ms}.reveal-stagger.is-visible>*:nth-child(5){--reveal-delay:360ms}.reveal-stagger.is-visible>*:nth-child(6){--reveal-delay:450ms}.reveal-stagger.is-visible>*:nth-child(n+7){--reveal-delay:540ms}
@media (prefers-reduced-motion:reduce){body::before{display:none!important}body:not(.is-loaded) main,body:not(.is-loaded) footer,.reveal,.reveal-stagger>*{opacity:1!important;transform:none!important;transition:none!important}.hero-media img{transform:none!important}}

/* ===== SOURCE: assets/css/ux-ui-final-audit.css ===== */

/* ========================================================================== 
   REAL.PRO Studios — FINAL UX/UI PREMIUM AUDIT LAYER
   Goal: refined visual hierarchy, asset-safe structure, responsive perfection,
   cinematic light-mode experience, no broken links, no overflow.
   ========================================================================== */
:root{
  --ease-premium:cubic-bezier(.16,1,.3,1);
  --max:1440px;
  --container: min(var(--max), calc(100% - clamp(28px,5vw,96px)));
  --section-y: clamp(82px, 9vw, 158px);
  --section-y-tight: clamp(58px, 7vw, 112px);
  --navy:#1A2B4C;
  --navy-2:#0E182A;
  --red:#D32F2F;
  --paper:#FFFEFB;
  --soft:#F7F5F0;
  --line:rgba(26,43,76,.105);
  --text:#172236;
  --muted:#5F6979;
  --radius-lg: clamp(22px,2vw,34px);
  --radius-md: 22px;
  --shadow-premium:0 28px 86px rgba(26,43,76,.13);
  --shadow-soft:0 16px 48px rgba(26,43,76,.085);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{overflow-x:hidden;background:var(--paper);color:var(--text);font-synthesis-weight:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden;touch-action:none}
img,svg,video,canvas{max-width:100%;height:auto}
a,button,input,textarea,select{font:inherit}
:focus-visible{outline:3px solid rgba(211,47,47,.72);outline-offset:4px;border-radius:6px}
::selection{background:rgba(211,47,47,.18);color:var(--navy)}
.container,.nav-shell,.footer-shell,.hero-grid,.article-hero__grid{width:var(--container);max-width:var(--max);margin-inline:auto}

/* Typography scale — lighter, editorial, readable on every screen */
h1,h2,h3,h4,.display-title{color:var(--navy);text-wrap:balance;font-weight:680;letter-spacing:-.035em}
h1,.hero h1,.article-hero h1{font-size:clamp(2.75rem,5.25vw,6.25rem);line-height:.96;font-weight:680;letter-spacing:-.046em;max-width:11.2ch}
h2{font-size:clamp(2.1rem,4.3vw,4.9rem);line-height:1;font-weight:660;letter-spacing:-.04em;max-width:12.5ch}
h3{font-size:clamp(1.22rem,1.65vw,1.65rem);line-height:1.12;font-weight:680;letter-spacing:-.022em}
h4{font-size:clamp(1rem,1.2vw,1.18rem);font-weight:700;letter-spacing:-.015em}
p,.lead,li{font-weight:430;text-wrap:pretty}.lead{font-size:clamp(1.02rem,1.22vw,1.28rem);line-height:1.72;max-width:66ch;color:var(--muted)}
.eyebrow,.kicker,.mega-kicker{font-weight:820;letter-spacing:.16em;text-transform:uppercase}

/* Header — transparent over hero, solid after scroll, stable on all devices */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;border:0;transition:background .36s var(--ease-premium),box-shadow .36s var(--ease-premium),border-color .36s var(--ease-premium),transform .36s var(--ease-premium)}
.site-header .nav-shell{height:clamp(72px,6vw,86px);transition:height .36s var(--ease-premium),background .36s var(--ease-premium),border-color .36s var(--ease-premium),box-shadow .36s var(--ease-premium);border:1px solid transparent;border-radius:0;background:rgba(255,255,255,0)}
.site-header.is-scrolled .nav-shell,.site-header:focus-within .nav-shell,.site-header.menu-active .nav-shell{height:72px;background:rgba(255,255,255,.94);backdrop-filter:blur(20px);border-color:rgba(26,43,76,.09);box-shadow:0 16px 46px rgba(26,43,76,.09);border-radius:0 0 18px 18px}
.brand-mark{width:clamp(44px,4.3vw,58px)!important;height:clamp(44px,4.3vw,58px)!important;object-fit:contain}.brand-text strong{letter-spacing:.06em}.brand-text small{letter-spacing:.04em}
.desktop-nav--premium .nav-link,.desktop-nav--premium .nav-button{font-weight:760;font-size:clamp(.72rem,.68vw,.82rem);min-height:42px;display:inline-flex;align-items:center;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:clamp(48px,3.5vw,56px);padding:13px clamp(18px,2vw,28px);border-radius:999px;font-weight:820;letter-spacing:.035em;text-transform:uppercase;transition:transform .28s var(--ease-premium),box-shadow .28s var(--ease-premium),background .28s var(--ease-premium),color .28s var(--ease-premium),border-color .28s var(--ease-premium)}
.btn:hover{transform:translateY(-2px)}.btn--primary{box-shadow:0 18px 38px rgba(211,47,47,.20)}.btn--primary:hover{box-shadow:0 24px 54px rgba(211,47,47,.28)}

/* Hero — full-bleed cinematic image, controlled text hierarchy */
.hero,.article-hero{min-height:100svh;padding-top:0;background:var(--navy-2);color:#fff;isolation:isolate}
.hero-grid,.hero--home .hero-grid,.article-hero__grid{min-height:100svh;display:flex;align-items:center;justify-content:flex-start;padding:clamp(120px,13vh,180px) 0 clamp(68px,8vh,112px)}
.hero-copy,.article-hero__grid>div:first-child{width:min(780px,100%);max-width:min(780px,100%);z-index:4}.hero h1,.hero--home h1,.article-hero h1{color:#fff;font-size:clamp(2.9rem,5.6vw,6.55rem);line-height:.94;font-weight:650;letter-spacing:-.046em;text-shadow:0 18px 52px rgba(0,0,0,.28);max-width:10.8ch}.hero .lead,.article-hero .lead{color:rgba(255,255,255,.88);font-size:clamp(1rem,1.12vw,1.24rem);line-height:1.72;max-width:650px;text-shadow:0 8px 28px rgba(0,0,0,.24)}
.hero .eyebrow,.article-hero .eyebrow{color:#fff}.hero .hero-media,.article-hero .hero-media{position:absolute;inset:0;left:50%;width:100vw;height:100%;transform:translateX(-50%);z-index:0;border:0;border-radius:0;box-shadow:none;overflow:hidden;min-height:100%}.hero .hero-media img,.article-hero .hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.07) brightness(.78);will-change:transform;transition:transform 900ms var(--ease-premium),filter 900ms var(--ease-premium)}
.hero::before,.article-hero::before{background:linear-gradient(90deg,rgba(8,15,28,.78) 0%,rgba(8,15,28,.60) 34%,rgba(8,15,28,.22) 67%,rgba(8,15,28,.38) 100%),linear-gradient(180deg,rgba(8,15,28,.18) 0%,rgba(8,15,28,.25) 46%,rgba(8,15,28,.62) 100%),radial-gradient(circle at 15% 24%,rgba(211,47,47,.20),transparent 38%)}
.hero::after,.article-hero::after{opacity:.20;background-size:96px 96px}.hero .button-row,.article-hero .button-row{margin-top:clamp(24px,3vw,38px);gap:14px}
.hero .btn--secondary,.article-hero .btn--secondary{color:#fff;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.38);backdrop-filter:blur(10px)}

/* Section rhythm, symmetry and visual hierarchy */
.section{padding:var(--section-y) 0}.section--soft{background:linear-gradient(180deg,#FBFAF7 0%,#F6F4EF 100%)}.section--navy{background:var(--navy);color:#fff}.section--navy h2,.section--navy h3{color:#fff}.section--navy p,.section--navy .lead{color:rgba(255,255,255,.72)}
.section-heading{margin-bottom:clamp(34px,5vw,72px)}.section-heading--split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(280px,.75fr);gap:clamp(26px,5vw,86px);align-items:end}.section-heading--split p{max-width:58ch;justify-self:end}.section-heading .eyebrow{margin-bottom:clamp(12px,1.3vw,18px)}

/* Cards and grids — consistent premium alignment */
.service-grid,.service-grid--compact,.values-grid,.quote-grid,.process-map,.related-grid,.next-steps,.challenge-grid,.result-grid{gap:clamp(18px,2vw,30px)}
.service-card,.value-card,.quote-card,.process-card,.related-card,.next-card,.stat-card,.info-card,.result-card,.challenge-card{height:100%;display:flex;flex-direction:column;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 10px 34px rgba(26,43,76,.055);overflow:hidden;transition:transform .36s var(--ease-premium),box-shadow .36s var(--ease-premium),border-color .36s var(--ease-premium),background .36s var(--ease-premium)}
.service-card:hover,.value-card:hover,.quote-card:hover,.process-card:hover,.related-card:hover,.next-card:hover,.stat-card:hover,.info-card:hover,.result-card:hover,.challenge-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:rgba(211,47,47,.22)}
.card-body,.service-card__body{display:flex;flex-direction:column;flex:1;gap:12px}.card-body p,.service-card__body p{line-height:1.62}.card-body .text-link,.service-card__body .text-link{margin-top:auto;padding-top:16px}.media-link,.service-card figure,.work-card a,.portfolio-tile a,.image-frame,.image-frame--tall,.cta-media{overflow:hidden;background:var(--soft);border-radius:var(--radius-md)}
.media-link img,.service-card figure img,.work-card img,.portfolio-tile img,.image-frame img,.image-frame--tall img,.cta-media img,.related-card img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-premium),filter 900ms var(--ease-premium);filter:saturate(.96) contrast(1.04)}
.media-link:hover img,.service-card:hover figure img,.work-card:hover img,.portfolio-tile:hover img,.image-frame:hover img,.cta-media:hover img,.related-card:hover img{transform:scale(1.055);filter:saturate(1.04) contrast(1.08)}
.service-card figure{aspect-ratio:16/10;margin:0;border-radius:calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0}.media-link{height:clamp(250px,28vw,390px)}

/* Portfolio — editorial image dominance without distortion */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(350px,31vw,500px);gap:clamp(18px,2vw,30px);width:min(1520px,calc(100% - clamp(28px,5vw,96px)));margin-inline:auto}.portfolio-tile--wide{grid-column:span 2}.portfolio-tile a{height:100%;min-height:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.portfolio-tile__content,.work-card__content{padding:clamp(20px,2.6vw,34px)}
.featured-work-grid{gap:clamp(20px,2.2vw,34px)}.work-card a,.work-card--large a{height:clamp(380px,44vw,660px);border-radius:var(--radius-lg)}

/* CTA panels and forms */
.cta-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);border:1px solid var(--line);overflow:hidden;background:#fff}.cta-panel h2{color:var(--navy)}.cta-panel p{color:var(--muted)}.project-form,.form-card{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff}.project-form input,.project-form textarea,.project-form select,.form-card input,.form-card textarea,.form-card select{min-height:54px;border-radius:14px;border:1px solid rgba(26,43,76,.13);transition:border-color .22s var(--ease-premium),box-shadow .22s var(--ease-premium)}.project-form input:focus,.project-form textarea:focus,.project-form select:focus{border-color:rgba(211,47,47,.45);box-shadow:0 0 0 4px rgba(211,47,47,.10);outline:0}

/* Mega menu — cleaner spacing and scalable columns */
.mega-panel--studio{top:calc(100% + 12px)!important;border-radius:18px!important;max-height:min(78vh,760px);overflow:auto;overscroll-behavior:contain}.mega-panel__top{padding:30px clamp(26px,3vw,42px) 24px}.mega-panel__body{padding:clamp(22px,2.4vw,34px);grid-template-columns:minmax(0,1fr) minmax(250px,310px);gap:clamp(20px,2vw,32px)}.mega-service-groups{gap:0}.mega-group{padding-inline:clamp(12px,1.4vw,20px)}.mega-group h3{font-weight:820}.mega-group strong{font-weight:760}.mega-group a{border-radius:12px;padding:12px 12px 12px 15px}.mega-feature__image,.mega-feature__content{border-radius:16px}.mega-panel__bottom{padding:16px clamp(26px,3vw,42px)}

/* Footer — robust, clean, large-company feeling */
.site-footer--premium{background:linear-gradient(180deg,#F8F6F1 0%,#FFFEFB 100%)!important}.footer-cta-band__inner{min-height:clamp(190px,18vw,270px);padding:clamp(36px,5vw,72px) 0}.footer-cta-band h2{font-weight:640;line-height:.98;max-width:12ch}.footer-main{border-radius:0 0 22px 22px!important;padding:clamp(30px,4vw,58px)!important;gap:clamp(26px,4vw,58px)!important}.footer-bottom--premium{border-radius:0 0 22px 22px!important}.footer-link-grid{gap:9px 22px}.site-footer--premium .footer-col h2{font-weight:840}.site-footer--premium .footer-col a{font-weight:560}

/* Reveal / motion */
body:not(.is-loaded) main{opacity:0}.is-loaded main{opacity:1;transition:opacity 480ms var(--ease-premium)}.ux-reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity 720ms var(--ease-premium),transform 720ms var(--ease-premium)}.ux-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}.ux-stagger>*{transition-delay:var(--ux-delay,0ms)}body.page-transitioning::before{content:"";position:fixed;inset:0;z-index:9999;background:var(--navy);transform-origin:left;animation:rpWipe .42s var(--ease-premium) forwards}body.page-transitioning{pointer-events:none}@keyframes rpWipe{from{transform:scaleX(0);opacity:.88}to{transform:scaleX(1);opacity:1}}

/* Responsive audits */
@media (min-width:1800px){:root{--max:1540px}.hero h1,.hero--home h1,.article-hero h1{font-size:clamp(4.6rem,4.65vw,7rem)}.hero .lead,.article-hero .lead{font-size:1.28rem}.section{padding:clamp(120px,8vw,180px) 0}.portfolio-grid{grid-auto-rows:540px}.work-card a,.work-card--large a{height:720px}}
@media (max-width:1240px){.desktop-nav--premium .nav-link,.desktop-nav--premium .nav-button{padding-inline:8px}.header-cta{padding-inline:17px}.mega-panel--studio{width:calc(100vw - 36px)}.mega-panel__body{grid-template-columns:1fr}.mega-feature{grid-template-columns:260px 1fr!important}.footer-main{grid-template-columns:1fr 1fr!important}.footer-brand--premium{grid-column:1/-1}.section-heading--split{grid-template-columns:1fr}.section-heading--split p{justify-self:start}}
@media (max-width:1100px){.desktop-nav,.header-cta{display:none!important}.menu-toggle{display:inline-flex!important}.site-header .nav-shell{width:calc(100% - 28px)}.hero-grid,.hero--home .hero-grid,.article-hero__grid{padding-top:clamp(112px,13vh,150px)}.hero h1,.hero--home h1,.article-hero h1{font-size:clamp(2.75rem,8vw,5.35rem);max-width:11ch}.service-grid,.service-grid--compact,.values-grid,.quote-grid,.process-map,.related-grid,.next-steps,.challenge-grid,.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(340px,44vw,520px)}.portfolio-tile--wide{grid-column:span 1}.featured-work-grid{grid-template-columns:1fr}.work-card a,.work-card--large a{height:clamp(360px,55vw,610px)}.footer-cta-band__inner{grid-template-columns:1fr!important}.footer-cta-band .btn{justify-self:start}.footer-cta-band__media{width:100%;opacity:.24}}
@media (max-width:760px){:root{--container:calc(100% - 28px);--section-y:clamp(70px,16vw,104px);--section-y-tight:clamp(56px,13vw,82px)}.site-header .nav-shell,.site-header.is-scrolled .nav-shell{width:calc(100% - 20px);height:70px;border-radius:0 0 16px 16px}.brand-text strong{font-size:.72rem}.brand-text small{font-size:.62rem}.hero,.article-hero{min-height:100svh}.hero::before,.article-hero::before{background:linear-gradient(180deg,rgba(8,15,28,.36) 0%,rgba(8,15,28,.42) 34%,rgba(8,15,28,.84) 100%),radial-gradient(circle at 18% 28%,rgba(211,47,47,.18),transparent 42%)}.hero-grid,.hero--home .hero-grid,.article-hero__grid{min-height:100svh;align-items:flex-end;padding:clamp(108px,16vh,136px) 0 clamp(42px,8vh,70px)}.hero h1,.hero--home h1,.article-hero h1{font-size:clamp(2.26rem,10.4vw,3.8rem);line-height:1;letter-spacing:-.04em;max-width:12ch}.hero .lead,.article-hero .lead{font-size:clamp(.96rem,3.3vw,1.05rem);line-height:1.58}.button-row{width:100%;gap:10px}.button-row .btn{width:100%;min-height:52px}.service-grid,.service-grid--compact,.values-grid,.quote-grid,.process-map,.timeline-list,.gallery-grid,.gallery-grid--detail,.challenge-grid,.result-grid,.related-grid,.next-steps,.footer-grid,.image-row,.footer-main{grid-template-columns:1fr!important}.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:20px}.portfolio-tile a,.work-card a,.work-card--large a{height:clamp(300px,72vw,410px);min-height:0}.media-link{height:clamp(235px,64vw,330px)}.image-frame,.image-frame--tall{min-height:clamp(300px,75vw,430px)}.cta-panel{border-radius:24px;padding:clamp(22px,6vw,30px)}.mobile-menu--premium{width:100%!important;max-width:none!important}.mobile-menu__nav{padding-bottom:40px}.footer-main{padding:26px 20px!important}.footer-bottom--premium{padding:18px 20px!important}.footer-bottom--premium div{flex-wrap:wrap}.footer-cta-band h2{font-size:clamp(2.08rem,11vw,3.5rem)}}
@media (max-width:420px){:root{--container:calc(100% - 22px)}.hero h1,.hero--home h1,.article-hero h1{font-size:clamp(2.08rem,11.1vw,3.15rem)}.hero .eyebrow,.article-hero .eyebrow{font-size:.64rem}.btn{font-size:.72rem;padding-inline:16px}.portfolio-tile a,.work-card a,.work-card--large a{height:292px}.footer-cta-band .btn{width:100%}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.ux-reveal{opacity:1!important;transform:none!important}.hero .hero-media img,.article-hero .hero-media img,.media-link img,.work-card img,.portfolio-tile img,.image-frame img,.cta-media img{transform:none!important}}

/* ========================================================================== 
   FINAL HEADER + HERO CORRECTION — 2026-06-16
   Purpose: remove transparent header, make every hero full-screen/full-bleed,
   keep the full visual image dominant, and control title/lead/button scale
   across desktop, laptop, tablet, mobile, and 4K screens.
   ========================================================================== */
:root{
  --rp-header-height:92px;
  --rp-header-height-tablet:78px;
  --rp-header-height-mobile:72px;
}
html{scroll-padding-top:var(--rp-header-height)!important;}
body{padding-top:var(--rp-header-height)!important;}

/* Solid premium header, never transparent over the hero */
.site-header,
.site-header.is-scrolled,
.site-header:focus-within,
.site-header.menu-active{
  position:fixed!important;
  inset:0 0 auto 0!important;
  height:var(--rp-header-height)!important;
  background:rgba(253,252,249,.985)!important;
  border-bottom:1px solid rgba(26,43,76,.105)!important;
  box-shadow:0 16px 46px rgba(26,43,76,.095)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  transform:none!important;
}
.site-header .nav-shell,
.site-header.is-scrolled .nav-shell,
.site-header:focus-within .nav-shell,
.site-header.menu-active .nav-shell,
.nav-shell--premium{
  height:var(--rp-header-height)!important;
  width:min(1500px,calc(100% - clamp(28px,5vw,84px)))!important;
  margin-inline:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.site-header .brand-mark{
  width:clamp(46px,3.1vw,54px)!important;
  height:clamp(46px,3.1vw,54px)!important;
  border-radius:14px!important;
  box-shadow:0 10px 28px rgba(26,43,76,.11)!important;
}
.site-header .brand-text strong{
  color:var(--rp-navy)!important;
  font-size:clamp(.98rem,1.08vw,1.16rem)!important;
  font-weight:760!important;
  letter-spacing:.08em!important;
}
.site-header .brand-text small{
  color:rgba(26,43,76,.68)!important;
  letter-spacing:.28em!important;
}
.site-header .nav-link,
.site-header .nav-button{
  color:var(--rp-navy)!important;
  background:transparent!important;
  border-radius:0!important;
  font-size:clamp(.76rem,.76vw,.86rem)!important;
  font-weight:740!important;
  min-height:42px!important;
  padding:12px 13px!important;
}
.site-header .nav-link:hover,
.site-header .nav-button:hover,
.site-header .nav-link.is-active{
  color:var(--rp-navy)!important;
  background:rgba(26,43,76,.045)!important;
}
.site-header .nav-link::after,
.site-header .nav-button::after{
  bottom:5px!important;
  left:13px!important;
  right:13px!important;
  height:2px!important;
  background:var(--rp-red)!important;
}
.site-header .header-cta{
  min-height:48px!important;
  padding:13px 24px!important;
  border-radius:999px!important;
  font-size:.78rem!important;
  box-shadow:0 14px 30px rgba(211,47,47,.23)!important;
}

/* Hero foundation: image fills the whole hero area under the solid header */
.hero,
.reference-page .hero.ref-hero,
.article-hero{
  position:relative!important;
  width:100%!important;
  min-height:calc(100svh - var(--rp-header-height))!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#0C1728!important;
  color:#fff!important;
  isolation:isolate!important;
}
.hero-grid,
.hero--home .hero-grid,
.reference-page .ref-hero__grid,
.article-hero__grid{
  position:relative!important;
  z-index:6!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:min(1500px,calc(100% - clamp(28px,5vw,84px)))!important;
  max-width:1500px!important;
  min-height:calc(100svh - var(--rp-header-height))!important;
  padding:clamp(58px,7vw,110px) 0 clamp(58px,7vw,104px)!important;
  gap:0!important;
}
.hero-copy,
.reference-page .hero-copy,
.article-hero__grid>div:first-child{
  position:relative!important;
  z-index:7!important;
  width:min(720px,100%)!important;
  max-width:min(720px,100%)!important;
  padding:0!important;
  margin:0!important;
}
.hero-copy::before,
.reference-page .hero-copy::before,
.article-hero__grid>div:first-child::before{
  display:none!important;
  content:none!important;
}
.hero h1,
.hero--home h1,
.reference-page .hero.ref-hero h1,
.article-hero h1{
  color:#fff!important;
  font-size:clamp(2.95rem,4.85vw,5.75rem)!important;
  line-height:.98!important;
  letter-spacing:-.042em!important;
  font-weight:640!important;
  text-transform:uppercase!important;
  max-width:11.6ch!important;
  margin:0 0 clamp(18px,2vw,28px)!important;
  text-wrap:balance!important;
  text-shadow:0 16px 44px rgba(0,0,0,.42)!important;
}
.hero .lead,
.reference-page .hero.ref-hero .lead,
.article-hero .lead{
  color:rgba(255,255,255,.88)!important;
  font-size:clamp(1rem,1.1vw,1.18rem)!important;
  line-height:1.64!important;
  max-width:620px!important;
  margin:0 0 clamp(24px,2.6vw,36px)!important;
  text-shadow:0 10px 30px rgba(0,0,0,.32)!important;
}
.hero .eyebrow,
.reference-page .hero.ref-hero .eyebrow,
.article-hero .eyebrow{
  color:rgba(255,255,255,.92)!important;
  font-weight:820!important;
  letter-spacing:.22em!important;
  text-shadow:0 8px 22px rgba(0,0,0,.30)!important;
}
.hero .eyebrow::before,
.reference-page .hero.ref-hero .eyebrow::before,
.article-hero .eyebrow::before{
  background:var(--rp-red)!important;
}
.hero .button-row,
.article-hero .button-row{
  gap:14px!important;
  align-items:center!important;
  margin-top:clamp(22px,2.4vw,34px)!important;
}
.hero .btn,
.article-hero .btn{
  min-height:clamp(46px,3vw,54px)!important;
  padding:clamp(12px,1vw,15px) clamp(20px,1.8vw,28px)!important;
  font-size:clamp(.74rem,.72vw,.84rem)!important;
  border-radius:999px!important;
}
.hero .btn--secondary,
.article-hero .btn--secondary{
  color:var(--rp-navy)!important;
  background:rgba(255,255,255,.94)!important;
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.12)!important;
}
.hero .btn--secondary:hover,
.article-hero .btn--secondary:hover{
  background:#fff!important;
  color:var(--rp-red)!important;
}

/* Full-bleed media: no card, no radius, no scale crop from hover/transforms */
.hero .hero-media,
.reference-page .hero.ref-hero .hero-media,
.article-hero .hero-media{
  position:absolute!important;
  inset:0!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  z-index:1!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  background:#0C1728!important;
}
.hero .hero-media::before,
.hero .hero-media::after,
.reference-page .hero.ref-hero .hero-media::before,
.reference-page .hero.ref-hero .hero-media::after,
.article-hero .hero-media::before,
.article-hero .hero-media::after{
  display:none!important;
  content:none!important;
}
.hero .hero-media img,
.reference-page .hero.ref-hero .hero-media img,
.article-hero .hero-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  filter:saturate(.98) contrast(1.05) brightness(.86)!important;
  transition:filter 700ms var(--ease-premium)!important;
  will-change:auto!important;
}
.hero:hover .hero-media img,
.reference-page .hero.ref-hero:hover .hero-media img,
.article-hero:hover .hero-media img{
  transform:none!important;
}
.hero::before,
.reference-page .hero.ref-hero::before,
.article-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(8,15,28,.84) 0%,rgba(8,15,28,.66) 34%,rgba(8,15,28,.30) 66%,rgba(8,15,28,.10) 100%),
    linear-gradient(180deg,rgba(8,15,28,.10) 0%,rgba(8,15,28,.10) 46%,rgba(8,15,28,.48) 100%),
    radial-gradient(circle at 12% 24%,rgba(211,47,47,.18),transparent 34%)!important;
}
.hero::after,
.reference-page .hero.ref-hero::after,
.article-hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  pointer-events:none!important;
  opacity:.15!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.13) 1px,transparent 1px)!important;
  background-size:92px 92px!important;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.52),transparent 68%)!important;
}

@media (min-width:1800px){
  :root{--rp-header-height:96px;}
  .hero h1,.hero--home h1,.reference-page .hero.ref-hero h1,.article-hero h1{
    font-size:clamp(4.4rem,4.25vw,6.35rem)!important;
    max-width:11.8ch!important;
  }
  .hero .lead,.reference-page .hero.ref-hero .lead,.article-hero .lead{font-size:1.22rem!important;}
}
@media (max-width:1100px){
  :root{--rp-header-height:var(--rp-header-height-tablet);}
  html{scroll-padding-top:var(--rp-header-height-tablet)!important;}
  body{padding-top:var(--rp-header-height-tablet)!important;}
  .site-header,.site-header.is-scrolled,.site-header:focus-within,.site-header.menu-active{height:var(--rp-header-height-tablet)!important;}
  .site-header .nav-shell,.site-header.is-scrolled .nav-shell,.site-header:focus-within .nav-shell,.site-header.menu-active .nav-shell,.nav-shell--premium{height:var(--rp-header-height-tablet)!important;width:calc(100% - 28px)!important;}
  .hero,.reference-page .hero.ref-hero,.article-hero{min-height:calc(100svh - var(--rp-header-height-tablet))!important;}
  .hero-grid,.hero--home .hero-grid,.reference-page .ref-hero__grid,.article-hero__grid{min-height:calc(100svh - var(--rp-header-height-tablet))!important;padding:clamp(56px,8vw,90px) 0!important;}
  .hero h1,.hero--home h1,.reference-page .hero.ref-hero h1,.article-hero h1{font-size:clamp(2.8rem,7.1vw,4.9rem)!important;max-width:11.7ch!important;}
}
@media (max-width:760px){
  :root{--rp-header-height:var(--rp-header-height-mobile);}
  html{scroll-padding-top:var(--rp-header-height-mobile)!important;}
  body{padding-top:var(--rp-header-height-mobile)!important;}
  .site-header,.site-header.is-scrolled,.site-header:focus-within,.site-header.menu-active{height:var(--rp-header-height-mobile)!important;}
  .site-header .nav-shell,.site-header.is-scrolled .nav-shell,.site-header:focus-within .nav-shell,.site-header.menu-active .nav-shell,.nav-shell--premium{height:var(--rp-header-height-mobile)!important;width:calc(100% - 20px)!important;border-radius:0!important;}
  .site-header .brand-mark{width:42px!important;height:42px!important;}
  .site-header .brand-text strong{font-size:.82rem!important;}
  .site-header .brand-text small{font-size:.58rem!important;letter-spacing:.22em!important;}
  .hero,.reference-page .hero.ref-hero,.article-hero{min-height:calc(100svh - var(--rp-header-height-mobile))!important;}
  .hero-grid,.hero--home .hero-grid,.reference-page .ref-hero__grid,.article-hero__grid{
    width:calc(100% - 28px)!important;
    min-height:calc(100svh - var(--rp-header-height-mobile))!important;
    align-items:flex-end!important;
    padding:clamp(72px,16vh,120px) 0 clamp(42px,8vh,70px)!important;
  }
  .hero::before,.reference-page .hero.ref-hero::before,.article-hero::before{
    background:
      linear-gradient(180deg,rgba(8,15,28,.20) 0%,rgba(8,15,28,.28) 30%,rgba(8,15,28,.86) 100%),
      radial-gradient(circle at 18% 28%,rgba(211,47,47,.18),transparent 42%)!important;
  }
  .hero::after,.reference-page .hero.ref-hero::after,.article-hero::after{opacity:.10!important;background-size:62px 62px!important;}
  .hero h1,.hero--home h1,.reference-page .hero.ref-hero h1,.article-hero h1{font-size:clamp(2.24rem,9.9vw,3.65rem)!important;line-height:1!important;max-width:12.5ch!important;}
  .hero .lead,.reference-page .hero.ref-hero .lead,.article-hero .lead{font-size:clamp(.95rem,3.2vw,1.05rem)!important;line-height:1.58!important;max-width:100%!important;}
  .hero .button-row,.article-hero .button-row{width:100%!important;display:grid!important;grid-template-columns:1fr!important;}
  .hero .btn,.article-hero .btn{width:100%!important;min-height:52px!important;}
}
@media (max-width:420px){
  .site-header .brand-text small{display:none!important;}
  .hero h1,.hero--home h1,.reference-page .hero.ref-hero h1,.article-hero h1{font-size:clamp(2.05rem,10.4vw,3.05rem)!important;letter-spacing:-.035em!important;}
  .hero .eyebrow,.reference-page .hero.ref-hero .eyebrow,.article-hero .eyebrow{font-size:.62rem!important;letter-spacing:.18em!important;}
}

/* ===== SOURCE: assets/css/hero-cloud-mega-header.css ===== */
/* ========================================================================== 
   REAL.PRO STUDIOS — HERO CLOUD + MEGA HEADER FINAL REFINEMENT
   Scope: visual correction for the public_html package.
   Goals:
   - premium solid header, larger logo only, no written brand text in header
   - fullscreen hero image as true background on every hero
   - white cloud/mist under hero copy for premium readability
   - responsive type, legend and buttons on desktop, notebook, tablet, mobile and 4K
   ========================================================================== */
:root{
  --rp-header-height:112px;
  --rp-header-height-tablet:94px;
  --rp-header-height-mobile:84px;
  --rp-hero-max:1580px;
  --rp-cloud-radius:46px;
  --rp-motion:cubic-bezier(.16,1,.3,1);
}
html{scroll-padding-top:var(--rp-header-height)!important;}
body{padding-top:var(--rp-header-height)!important;background:#fff!important;}

/* Solid, premium, larger header */
.site-header,
.site-header.is-scrolled,
.site-header:focus-within,
.site-header.menu-active{
  position:fixed!important;
  inset:0 0 auto 0!important;
  height:var(--rp-header-height)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.995),rgba(251,250,247,.985))!important;
  border-bottom:1px solid rgba(26,43,76,.12)!important;
  box-shadow:0 18px 54px rgba(26,43,76,.105)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:none!important;
}
.site-header .nav-shell,
.site-header.is-scrolled .nav-shell,
.site-header:focus-within .nav-shell,
.site-header.menu-active .nav-shell,
.nav-shell--premium{
  height:var(--rp-header-height)!important;
  width:min(1580px,calc(100% - clamp(30px,5.2vw,92px)))!important;
  margin-inline:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  gap:clamp(18px,2.4vw,42px)!important;
}
.site-header .brand{
  gap:0!important;
  min-width:auto!important;
  flex:0 0 auto!important;
}
.site-header .brand-text{
  display:none!important;
  visibility:hidden!important;
}
.site-header .brand-mark{
  width:clamp(66px,4.55vw,84px)!important;
  height:clamp(66px,4.55vw,84px)!important;
  border-radius:20px!important;
  object-fit:contain!important;
  background:#fff!important;
  padding:clamp(4px,.45vw,7px)!important;
  box-shadow:0 14px 34px rgba(26,43,76,.13)!important;
}
.site-header .desktop-nav,
.desktop-nav--premium{
  gap:clamp(2px,.55vw,10px)!important;
}
.site-header .nav-link,
.site-header .nav-button{
  min-height:48px!important;
  padding:14px clamp(10px,.9vw,16px)!important;
  border-radius:0!important;
  color:#1A2B4C!important;
  font-size:clamp(.78rem,.76vw,.9rem)!important;
  font-weight:760!important;
  letter-spacing:.015em!important;
  background:transparent!important;
  transition:color 260ms var(--rp-motion),background 260ms var(--rp-motion),transform 260ms var(--rp-motion)!important;
}
.site-header .nav-link:hover,
.site-header .nav-button:hover,
.site-header .nav-link.is-active{
  color:#1A2B4C!important;
  background:rgba(26,43,76,.045)!important;
  transform:translateY(-1px)!important;
}
.site-header .nav-link::after,
.site-header .nav-button::after{
  height:2px!important;
  left:clamp(10px,.9vw,16px)!important;
  right:clamp(10px,.9vw,16px)!important;
  bottom:7px!important;
  background:#D32F2F!important;
  border-radius:999px!important;
}
.site-header .header-cta{
  min-height:58px!important;
  padding:16px clamp(25px,2.05vw,36px)!important;
  border-radius:999px!important;
  font-size:clamp(.78rem,.78vw,.9rem)!important;
  font-weight:850!important;
  letter-spacing:.04em!important;
  box-shadow:0 18px 38px rgba(211,47,47,.24)!important;
}
.menu-toggle{
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  border:1px solid rgba(26,43,76,.13)!important;
  background:#fff!important;
  color:#1A2B4C!important;
  box-shadow:0 10px 26px rgba(26,43,76,.08)!important;
}

/* Wider, cleaner mega menu treatment */
.mega-panel,
.mega-panel--studio{
  top:calc(100% + 14px)!important;
  width:min(1180px,calc(100vw - 52px))!important;
  border-radius:30px!important;
  border:1px solid rgba(26,43,76,.10)!important;
  background:rgba(255,255,255,.99)!important;
  box-shadow:0 34px 90px rgba(26,43,76,.18)!important;
}

/* Hero: full background image and no visible section/card background below */
.hero,
.reference-page .hero.ref-hero,
.article-hero{
  position:relative!important;
  width:100%!important;
  min-height:calc(100svh - var(--rp-header-height))!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#f8f6f1!important;
  color:#1A2B4C!important;
  isolation:isolate!important;
}
.hero-grid,
.hero--home .hero-grid,
.reference-page .ref-hero__grid,
.article-hero__grid{
  position:relative!important;
  z-index:7!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:min(var(--rp-hero-max),calc(100% - clamp(30px,5.2vw,92px)))!important;
  max-width:var(--rp-hero-max)!important;
  min-height:calc(100svh - var(--rp-header-height))!important;
  padding:clamp(66px,7vw,120px) 0 clamp(66px,7vw,112px)!important;
  gap:0!important;
}
.hero-copy,
.reference-page .hero-copy,
.article-hero__grid>div:first-child{
  position:relative!important;
  z-index:9!important;
  width:min(760px,100%)!important;
  max-width:min(760px,100%)!important;
  padding:clamp(26px,3.3vw,54px) clamp(24px,3.4vw,58px)!important;
  margin:0!important;
  isolation:isolate!important;
}

/* Premium white cloud/mist under the information, without creating a hard card */
.hero-copy::before,
.reference-page .hero-copy::before,
.article-hero__grid>div:first-child::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:-1!important;
  inset:clamp(-28px,-2vw,-14px) clamp(-42px,-3vw,-18px)!important;
  border-radius:var(--rp-cloud-radius)!important;
  background:
    radial-gradient(ellipse at 28% 44%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 32%,rgba(255,255,255,.68) 58%,rgba(255,255,255,.22) 80%,rgba(255,255,255,0) 100%),
    radial-gradient(ellipse at 62% 72%,rgba(255,255,255,.78) 0%,rgba(255,255,255,.32) 54%,rgba(255,255,255,0) 78%),
    linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,.28) 70%,rgba(255,255,255,0));
  box-shadow:
    0 32px 96px rgba(255,255,255,.64),
    0 26px 80px rgba(26,43,76,.10);
  filter:blur(.2px);
  backdrop-filter:blur(2px) saturate(1.03);
  -webkit-backdrop-filter:blur(2px) saturate(1.03);
  pointer-events:none!important;
}
.hero-copy::after,
.reference-page .hero-copy::after,
.article-hero__grid>div:first-child::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:-2!important;
  left:clamp(-90px,-6vw,-38px)!important;
  right:clamp(-90px,-6vw,-38px)!important;
  bottom:clamp(-74px,-5vw,-32px)!important;
  height:clamp(118px,12vw,210px)!important;
  background:radial-gradient(ellipse at 26% 50%,rgba(255,255,255,.92),rgba(255,255,255,.30) 60%,rgba(255,255,255,0) 82%)!important;
  filter:blur(18px)!important;
  pointer-events:none!important;
}

.hero h1,
.hero--home h1,
.reference-page .hero.ref-hero h1,
.article-hero h1{
  color:#1A2B4C!important;
  font-size:clamp(2.9rem,4.75vw,5.65rem)!important;
  line-height:.98!important;
  letter-spacing:-.042em!important;
  font-weight:620!important;
  text-transform:uppercase!important;
  max-width:11.8ch!important;
  margin:0 0 clamp(18px,2vw,28px)!important;
  text-wrap:balance!important;
  text-shadow:0 12px 32px rgba(255,255,255,.92),0 2px 10px rgba(255,255,255,.84)!important;
}
.hero .lead,
.reference-page .hero.ref-hero .lead,
.article-hero .lead{
  color:rgba(21,25,35,.82)!important;
  font-size:clamp(1rem,1.08vw,1.18rem)!important;
  font-weight:460!important;
  line-height:1.66!important;
  max-width:620px!important;
  margin:0 0 clamp(24px,2.6vw,36px)!important;
  text-shadow:0 8px 24px rgba(255,255,255,.86)!important;
}
.hero .eyebrow,
.reference-page .hero.ref-hero .eyebrow,
.article-hero .eyebrow{
  color:#D32F2F!important;
  font-weight:850!important;
  letter-spacing:.22em!important;
  text-shadow:0 8px 22px rgba(255,255,255,.86)!important;
}
.hero .eyebrow::before,
.reference-page .hero.ref-hero .eyebrow::before,
.article-hero .eyebrow::before{background:#D32F2F!important;}
.hero .button-row,
.article-hero .button-row{
  gap:14px!important;
  align-items:center!important;
  margin-top:clamp(22px,2.4vw,34px)!important;
}
.hero .btn,
.article-hero .btn{
  min-height:clamp(48px,3vw,56px)!important;
  padding:clamp(12px,1vw,15px) clamp(22px,1.9vw,30px)!important;
  font-size:clamp(.74rem,.72vw,.84rem)!important;
  border-radius:999px!important;
}
.hero .btn--secondary,
.article-hero .btn--secondary{
  color:#1A2B4C!important;
  background:rgba(255,255,255,.95)!important;
  border-color:rgba(26,43,76,.12)!important;
  box-shadow:0 14px 34px rgba(26,43,76,.10)!important;
}
.hero .btn--secondary:hover,
.article-hero .btn--secondary:hover{background:#fff!important;color:#D32F2F!important;border-color:rgba(211,47,47,.26)!important;}

.hero .hero-media,
.reference-page .hero.ref-hero .hero-media,
.article-hero .hero-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  z-index:1!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  background:#f8f6f1!important;
}
.hero .hero-media::before,
.hero .hero-media::after,
.reference-page .hero.ref-hero .hero-media::before,
.reference-page .hero.ref-hero .hero-media::after,
.article-hero .hero-media::before,
.article-hero .hero-media::after{
  display:none!important;
  content:none!important;
}
.hero .hero-media img,
.reference-page .hero.ref-hero .hero-media img,
.article-hero .hero-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  filter:saturate(.98) contrast(1.04) brightness(1)!important;
  transition:filter 700ms var(--rp-motion)!important;
  will-change:auto!important;
}
.hero:hover .hero-media img,
.reference-page .hero.ref-hero:hover .hero-media img,
.article-hero:hover .hero-media img{transform:none!important;}

/* Light cinematic overlay keeps the image complete while protecting the text */
.hero::before,
.reference-page .hero.ref-hero::before,
.article-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.58) 33%,rgba(255,255,255,.20) 61%,rgba(255,255,255,.04) 100%),
    linear-gradient(180deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.04) 44%,rgba(255,255,255,.34) 100%),
    radial-gradient(ellipse at 18% 42%,rgba(255,255,255,.90) 0%,rgba(255,255,255,.40) 42%,rgba(255,255,255,0) 72%),
    radial-gradient(circle at 16% 24%,rgba(211,47,47,.10),rgba(211,47,47,0) 32%)!important;
}
.hero::after,
.reference-page .hero.ref-hero::after,
.article-hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  pointer-events:none!important;
  opacity:.11!important;
  background:
    linear-gradient(90deg,rgba(26,43,76,.20) 1px,transparent 1px),
    linear-gradient(180deg,rgba(26,43,76,.14) 1px,transparent 1px)!important;
  background-size:92px 92px!important;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.38),transparent 70%)!important;
}

/* Prevent the next section from looking like a continuation background under the hero */
.hero + .trust-strip,
.hero + .section,
.article-hero + .section{
  position:relative!important;
  z-index:2!important;
}

@media (min-width:1800px){
  :root{--rp-header-height:118px;--rp-hero-max:1760px;}
  .site-header,.site-header.is-scrolled,.site-header:focus-within,.site-header.menu-active{height:var(--rp-header-height)!important;}
  .site-header .nav-shell,.site-header.is-scrolled .nav-shell,.site-header:focus-within .nav-shell,.site-header.menu-active .nav-shell,.nav-shell--premium{height:var(--rp-header-height)!important;}
  .hero h1,.hero--home h1,.reference-page .hero.ref-hero h1,.article-hero h1{font-size:clamp(4.3rem,4.1vw,6.5rem)!important;max-width:11.9ch!important;}
  .hero .lead,.reference-page .hero.ref-hero .lead,.article-hero .lead{font-size:1.24rem!important;}
}
@media (max-width:1180px){
  .site-header .desktop-nav,.site-header .header-cta{display:none!important;}
  .site-header .menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;}
}
@media (max-width:1100px){
  :root{--rp-header-height:var(--rp-header-height-tablet);}
  html{scroll-padding-top:var(--rp-header-height-tablet)!important;}
  body{padding-top:var(--rp-header-height-tablet)!important;}
  .site-header,.site-header.is-scrolled,.site-header:focus-within,.site-header.menu-active{height:var(--rp-header-height-tablet)!important;}
  .site-header .nav-shell,.site-header.is-scrolled .nav-shell,.site-header:focus-within .nav-shell,.site-header.menu-active .nav-shell,.nav-shell--premium{height:var(--rp-header-height-tablet)!important;width:calc(100% - 30px)!important;}
  .site-header .brand-mark{width:64px!important;height:64px!important;border-radius:18px!important;}
  .hero,.reference-page .hero.ref-hero,.article-hero{min-height:calc(100svh - var(--rp-header-height-tablet))!important;}
  .hero-grid,.hero--home .hero-grid,.reference-page .ref-hero__grid,.article-hero__grid{min-height:calc(100svh - var(--rp-header-height-tablet))!important;padding:clamp(56px,8vw,92px) 0!important;width:calc(100% - 44px)!important;}
  .hero-copy,.reference-page .hero-copy,.article-hero__grid>div:first-child{width:min(700px,100%)!important;max-width:min(700px,100%)!important;}
  .hero h1,.hero--home h1,.reference-page .hero.ref-hero h1,.article-hero h1{font-size:clamp(2.78rem,7vw,4.8rem)!important;max-width:12ch!important;}
}
@media (max-width:760px){
  :root{--rp-header-height:var(--rp-header-height-mobile);--rp-cloud-radius:30px;}
  html{scroll-padding-top:var(--rp-header-height-mobile)!important;}
  body{padding-top:var(--rp-header-height-mobile)!important;}
  .site-header,.site-header.is-scrolled,.site-header:focus-within,.site-header.menu-active{height:var(--rp-header-height-mobile)!important;}
  .site-header .nav-shell,.site-header.is-scrolled .nav-shell,.site-header:focus-within .nav-shell,.site-header.menu-active .nav-shell,.nav-shell--premium{height:var(--rp-header-height-mobile)!important;width:calc(100% - 20px)!important;border-radius:0!important;}
  .site-header .brand-mark{width:58px!important;height:58px!important;border-radius:16px!important;padding:5px!important;}
  .menu-toggle{width:50px!important;height:50px!important;border-radius:16px!important;}
  .hero,.reference-page .hero.ref-hero,.article-hero{min-height:calc(100svh - var(--rp-header-height-mobile))!important;}
  .hero-grid,.hero--home .hero-grid,.reference-page .ref-hero__grid,.article-hero__grid{
    width:calc(100% - 28px)!important;
    min-height:calc(100svh - var(--rp-header-height-mobile))!important;
    align-items:flex-end!important;
    padding:clamp(62px,12vh,108px) 0 clamp(34px,7vh,58px)!important;
  }
  .hero-copy,.reference-page .hero-copy,.article-hero__grid>div:first-child{
    width:100%!important;
    max-width:100%!important;
    padding:clamp(22px,6vw,30px) clamp(18px,5vw,24px)!important;
  }
  .hero-copy::before,.reference-page .hero-copy::before,.article-hero__grid>div:first-child::before{
    inset:-18px -14px!important;
    background:
      radial-gradient(ellipse at 34% 54%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 44%,rgba(255,255,255,.58) 68%,rgba(255,255,255,0) 100%),
      linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.78))!important;
  }
  .hero::before,.reference-page .hero.ref-hero::before,.article-hero::before{
    background:
      linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.10) 34%,rgba(255,255,255,.78) 100%),
      radial-gradient(ellipse at 50% 75%,rgba(255,255,255,.96),rgba(255,255,255,.50) 46%,rgba(255,255,255,0) 78%),
      radial-gradient(circle at 18% 28%,rgba(211,47,47,.08),transparent 42%)!important;
  }
  .hero::after,.reference-page .hero.ref-hero::after,.article-hero::after{opacity:.07!important;background-size:62px 62px!important;}
  .hero h1,.hero--home h1,.reference-page .hero.ref-hero h1,.article-hero h1{font-size:clamp(2.14rem,9.5vw,3.55rem)!important;line-height:1!important;max-width:12.8ch!important;}
  .hero .lead,.reference-page .hero.ref-hero .lead,.article-hero .lead{font-size:clamp(.94rem,3.15vw,1.04rem)!important;line-height:1.58!important;max-width:100%!important;}
  .hero .button-row,.article-hero .button-row{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .hero .btn,.article-hero .btn{width:100%!important;min-height:52px!important;}
}
@media (max-width:420px){
  .site-header .brand-mark{width:54px!important;height:54px!important;border-radius:15px!important;}
  .hero h1,.hero--home h1,.reference-page .hero.ref-hero h1,.article-hero h1{font-size:clamp(1.98rem,10vw,3.05rem)!important;letter-spacing:-.035em!important;}
  .hero .eyebrow,.reference-page .hero.ref-hero .eyebrow,.article-hero .eyebrow{font-size:.61rem!important;letter-spacing:.17em!important;}
}
@media (prefers-reduced-motion:reduce){
  .hero .hero-media img,.reference-page .hero.ref-hero .hero-media img,.article-hero .hero-media img{transition:none!important;}
}

.mobile-menu .brand-text{display:none!important;visibility:hidden!important;}
.mobile-menu .brand-mark{width:58px!important;height:58px!important;object-fit:contain!important;background:#fff!important;padding:5px!important;border-radius:16px!important;}

/* ========================================================================== 
   FINAL HERO FULL-BLEED CLOUD CORRECTION
   User-requested correction:
   - no white side gutters around hero images
   - image fills the complete viewport width on every hero
   - cloud/mist is not a boxed card; it expands from the left side to almost mid-image
   - content remains readable while the right side of the image stays clean and visible
   ========================================================================== */
html,
body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
main,
#main{
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
}
.hero,
.reference-page .hero.ref-hero,
.article-hero{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
  overflow:hidden!important;
}
.hero .hero-media,
.reference-page .hero.ref-hero .hero-media,
.article-hero .hero-media{
  position:absolute!important;
  inset:0!important;
  left:0!important;
  right:auto!important;
  width:100vw!important;
  max-width:100vw!important;
  min-width:100vw!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:hidden!important;
}
.hero .hero-media img,
.reference-page .hero.ref-hero .hero-media img,
.article-hero .hero-media img{
  display:block!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.hero-grid,
.hero--home .hero-grid,
.reference-page .ref-hero__grid,
.article-hero__grid{
  width:min(1580px,calc(100% - clamp(32px,5vw,96px)))!important;
  max-width:1580px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.hero-copy,
.reference-page .hero-copy,
.article-hero__grid>div:first-child{
  width:min(680px,48vw)!important;
  max-width:min(680px,48vw)!important;
  padding:clamp(20px,2.4vw,38px) 0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.hero-copy::before,
.reference-page .hero-copy::before,
.article-hero__grid>div:first-child::before,
.hero-copy::after,
.reference-page .hero-copy::after,
.article-hero__grid>div:first-child::after{
  display:none!important;
  content:none!important;
  opacity:0!important;
  background:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.hero::before,
.reference-page .hero.ref-hero::before,
.article-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse 64% 86% at 0% 50%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 28%,rgba(255,255,255,.78) 45%,rgba(255,255,255,.45) 61%,rgba(255,255,255,.14) 76%,rgba(255,255,255,0) 92%),
    radial-gradient(ellipse 46% 58% at 25% 22%,rgba(255,255,255,.74) 0%,rgba(255,255,255,.42) 42%,rgba(255,255,255,0) 76%),
    radial-gradient(ellipse 42% 54% at 27% 78%,rgba(255,255,255,.86) 0%,rgba(255,255,255,.44) 45%,rgba(255,255,255,0) 82%),
    linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 20%,rgba(255,255,255,.68) 38%,rgba(255,255,255,.38) 52%,rgba(255,255,255,.12) 64%,rgba(255,255,255,0) 76%)!important;
  filter:none!important;
  opacity:1!important;
}
.hero::after,
.reference-page .hero.ref-hero::after,
.article-hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  pointer-events:none!important;
  opacity:.075!important;
  background:
    linear-gradient(90deg,rgba(26,43,76,.18) 1px,transparent 1px),
    linear-gradient(180deg,rgba(26,43,76,.12) 1px,transparent 1px)!important;
  background-size:96px 96px!important;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.30),transparent 62%)!important;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.30),transparent 62%)!important;
}
.hero h1,
.hero--home h1,
.reference-page .hero.ref-hero h1,
.article-hero h1{
  color:#1A2B4C!important;
  font-size:clamp(3rem,4.35vw,5.35rem)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
  font-weight:650!important;
  max-width:11.2ch!important;
  text-shadow:0 16px 42px rgba(255,255,255,.92),0 2px 8px rgba(255,255,255,.86)!important;
}
.hero .lead,
.reference-page .hero.ref-hero .lead,
.article-hero .lead{
  color:rgba(13,18,30,.82)!important;
  font-size:clamp(1rem,1.04vw,1.16rem)!important;
  line-height:1.66!important;
  font-weight:480!important;
  max-width:610px!important;
  text-shadow:0 12px 30px rgba(255,255,255,.92),0 1px 4px rgba(255,255,255,.72)!important;
}
.hero .eyebrow,
.reference-page .hero.ref-hero .eyebrow,
.article-hero .eyebrow{
  color:#D32F2F!important;
  text-shadow:0 10px 26px rgba(255,255,255,.92)!important;
}
.hero .btn,
.article-hero .btn{
  box-shadow:0 18px 40px rgba(26,43,76,.12)!important;
}
.hero .btn--primary,
.article-hero .btn--primary{
  box-shadow:0 18px 40px rgba(211,47,47,.28)!important;
}

@media (min-width:1800px){
  .hero-grid,
  .hero--home .hero-grid,
  .reference-page .ref-hero__grid,
  .article-hero__grid{
    width:min(1780px,calc(100% - clamp(48px,5vw,112px)))!important;
    max-width:1780px!important;
  }
  .hero-copy,
  .reference-page .hero-copy,
  .article-hero__grid>div:first-child{
    width:min(760px,46vw)!important;
    max-width:min(760px,46vw)!important;
  }
  .hero h1,
  .hero--home h1,
  .reference-page .hero.ref-hero h1,
  .article-hero h1{
    font-size:clamp(4.2rem,4vw,6.35rem)!important;
    max-width:11.2ch!important;
  }
}
@media (max-width:1100px){
  .hero-grid,
  .hero--home .hero-grid,
  .reference-page .ref-hero__grid,
  .article-hero__grid{
    width:calc(100% - 44px)!important;
  }
  .hero-copy,
  .reference-page .hero-copy,
  .article-hero__grid>div:first-child{
    width:min(650px,72vw)!important;
    max-width:min(650px,72vw)!important;
  }
  .hero::before,
  .reference-page .hero.ref-hero::before,
  .article-hero::before{
    background:
      radial-gradient(ellipse 82% 92% at 0% 54%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 33%,rgba(255,255,255,.70) 51%,rgba(255,255,255,.28) 70%,rgba(255,255,255,0) 90%),
      linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 38%,rgba(255,255,255,.30) 66%,rgba(255,255,255,0) 88%)!important;
  }
}
@media (max-width:760px){
  .hero,
  .reference-page .hero.ref-hero,
  .article-hero{
    min-height:calc(100svh - var(--rp-header-height-mobile))!important;
  }
  .hero-grid,
  .hero--home .hero-grid,
  .reference-page .ref-hero__grid,
  .article-hero__grid{
    width:calc(100% - 28px)!important;
    min-height:calc(100svh - var(--rp-header-height-mobile))!important;
    align-items:flex-end!important;
    padding:clamp(72px,13vh,118px) 0 clamp(36px,7vh,62px)!important;
  }
  .hero-copy,
  .reference-page .hero-copy,
  .article-hero__grid>div:first-child{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
  }
  .hero::before,
  .reference-page .hero.ref-hero::before,
  .article-hero::before{
    background:
      linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.08) 28%,rgba(255,255,255,.78) 76%,rgba(255,255,255,.98) 100%),
      radial-gradient(ellipse 118% 68% at 50% 88%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.78) 48%,rgba(255,255,255,.22) 72%,rgba(255,255,255,0) 100%)!important;
  }
  .hero::after,
  .reference-page .hero.ref-hero::after,
  .article-hero::after{
    opacity:.055!important;
    background-size:64px 64px!important;
    mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.25) 48%,rgba(0,0,0,.30) 100%)!important;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.25) 48%,rgba(0,0,0,.30) 100%)!important;
  }
  .hero h1,
  .hero--home h1,
  .reference-page .hero.ref-hero h1,
  .article-hero h1{
    font-size:clamp(2.18rem,9.2vw,3.55rem)!important;
    max-width:12.4ch!important;
  }
  .hero .lead,
  .reference-page .hero.ref-hero .lead,
  .article-hero .lead{
    font-size:clamp(.94rem,3.2vw,1.04rem)!important;
    max-width:100%!important;
  }
}

/* ===== SOURCE: assets/css/expensive-brand-finish.css ===== */
/* ========================================================================== 
   REAL.PRO Studios — Expensive Brand Finish
   Final visual polish layer: uppercase editorial typography, high-end spacing,
   refined micro-details, premium cards/CTAs, responsive readability.
   ========================================================================== */
:root{
  --rp-navy:#1A2B4C;
  --rp-red:#D32F2F;
  --rp-ink:#101827;
  --rp-muted:#516074;
  --rp-soft:#F8F6F1;
  --rp-line:rgba(26,43,76,.12);
  --rp-line-strong:rgba(26,43,76,.18);
  --rp-shadow-sm:0 12px 34px rgba(26,43,76,.055);
  --rp-shadow-md:0 22px 70px rgba(26,43,76,.10);
  --rp-shadow-lg:0 36px 110px rgba(26,43,76,.14);
  --rp-ease:cubic-bezier(.16,1,.3,1);
  --rp-section-space:clamp(76px,7.2vw,132px);
}
html{
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  scroll-padding-top:96px;
}
body{
  color:var(--rp-ink);
  background:#fff;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
}
::selection{background:rgba(211,47,47,.16);color:var(--rp-navy)}
a,button,input,textarea,select{transition:color 260ms var(--rp-ease),background-color 260ms var(--rp-ease),border-color 260ms var(--rp-ease),box-shadow 260ms var(--rp-ease),transform 260ms var(--rp-ease),opacity 260ms var(--rp-ease)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid rgba(211,47,47,.70)!important;
  outline-offset:4px!important;
  box-shadow:0 0 0 7px rgba(211,47,47,.12)!important;
}

/* Premium uppercase editorial type system */
h1,h2,h3,h4,
.hero h1,
.article-hero h1,
.ref-hero h1,
.section-heading h2,
.rp-section-heading h2,
.rp-work-intro h2,
.rp-approach-copy h2,
.rp-testimonial-intro h2,
.rp-mission-band h2,
.footer-cta-band h2,
.cta-panel h2,
.mega-panel h2,
.card-body h3,
.service-card h3,
.related-card h3,
.portfolio-tile h3,
.rp-work-card__body h3,
.rp-service-card strong,
.rp-process-mini strong,
.footer-col h3{
  text-transform:uppercase!important;
  color:var(--rp-navy);
  text-wrap:balance;
}
h1,
.hero h1,
.ref-hero h1,
.article-hero h1,
.rp-home-hero h1{
  font-weight:760!important;
  letter-spacing:-.028em!important;
  line-height:.94!important;
  max-width:12.5ch;
}
h2,
.section-heading h2,
.rp-section-heading h2,
.rp-work-intro h2,
.rp-approach-copy h2,
.rp-testimonial-intro h2,
.rp-mission-band h2,
.footer-cta-band h2,
.cta-panel h2{
  font-weight:750!important;
  letter-spacing:-.018em!important;
  line-height:.98!important;
}
h3,
.card-body h3,
.service-card h3,
.related-card h3,
.rp-work-card__body h3{
  font-weight:820!important;
  letter-spacing:.005em!important;
  line-height:1.04!important;
}
.eyebrow,
.rp-eyebrow,
.card-kicker,
.mega-kicker,
.footer-cta-band .eyebrow,
.rp-work-card__body p,
.trust-strip p:first-child,
label,
.form-note,
.hero .eyebrow,
.ref-hero .eyebrow,
.article-hero .eyebrow{
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
  font-weight:900!important;
}
.lead,
.hero .lead,
.ref-hero .lead,
.article-hero .lead,
.rp-lead,
.service-lead,
.section-heading p{
  font-weight:480!important;
  letter-spacing:.002em!important;
  line-height:1.68!important;
  text-wrap:pretty;
}

/* Header: premium, solid and intentional */
.site-header,
.site-header.is-scrolled,
.site-header.menu-active,
.site-header:focus-within{
  background:rgba(255,255,255,.992)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-bottom:1px solid rgba(26,43,76,.10)!important;
  box-shadow:0 10px 34px rgba(26,43,76,.035)!important;
}
.nav-shell,
.nav-shell--premium{
  width:min(1560px,calc(100% - clamp(28px,4.2vw,80px)))!important;
}
.brand-mark{
  filter:drop-shadow(0 10px 20px rgba(26,43,76,.08));
}
.desktop-nav--premium .nav-link,
.desktop-nav--premium .nav-button,
.site-header .nav-link,
.site-header .nav-button{
  text-transform:uppercase!important;
  letter-spacing:.095em!important;
  font-size:clamp(.64rem,.58vw,.74rem)!important;
  font-weight:890!important;
  color:var(--rp-navy)!important;
}
.header-cta,
.btn,
.rp-btn{
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
  font-weight:900!important;
}
.header-cta:hover,
.btn--primary:hover,
.rp-btn--primary:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 24px 58px rgba(211,47,47,.28)!important;
}

/* Hero visual refinement: image complete, information readable, expensive presence */
.hero,
.reference-page .hero.ref-hero,
.article-hero,
.rp-home-hero{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  box-shadow:none!important;
  background:#fff!important;
}
.hero-media,
.hero .hero-media,
.article-hero .hero-media,
.rp-home-hero__media{
  inset:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.hero-media img,
.hero .hero-media img,
.article-hero .hero-media img,
.rp-home-hero__media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:saturate(1.02) contrast(1.02) brightness(1.03)!important;
}
.hero::before,
.reference-page .hero.ref-hero::before,
.article-hero::before{
  background:
    radial-gradient(ellipse 70% 86% at 0% 48%,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 25%,rgba(255,255,255,.90) 41%,rgba(255,255,255,.64) 56%,rgba(255,255,255,.28) 70%,rgba(255,255,255,0) 88%),
    linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 24%,rgba(255,255,255,.78) 42%,rgba(255,255,255,.38) 58%,rgba(255,255,255,.10) 70%,rgba(255,255,255,0) 82%)!important;
}
.hero-copy,
.reference-page .hero-copy,
.article-hero__grid>div:first-child,
.rp-home-hero__copy{
  position:relative;
  isolation:isolate;
}
.hero h1,
.reference-page .hero.ref-hero h1,
.article-hero h1{
  font-size:clamp(2.75rem,5.05vw,6.15rem)!important;
  max-width:11.8ch!important;
  color:var(--rp-navy)!important;
  text-shadow:0 18px 54px rgba(255,255,255,.96),0 2px 8px rgba(255,255,255,.86)!important;
}
.home-model-page .rp-home-hero h1{
  text-transform:uppercase!important;
  font-size:clamp(2.85rem,4.75vw,6.05rem)!important;
  line-height:.96!important;
  letter-spacing:-.024em!important;
  max-width:12.2ch!important;
  font-weight:760!important;
  text-shadow:0 18px 54px rgba(255,255,255,.96),0 2px 8px rgba(255,255,255,.88)!important;
}
.home-model-page .rp-home-hero__copy{width:min(660px,47vw)!important}.home-model-page .rp-home-hero__inner{align-items:center!important}.home-model-page .rp-home-hero__cloud{background:
  radial-gradient(ellipse 68% 86% at 0% 46%,rgba(255,255,255,1) 0%,rgba(255,255,255,.99) 24%,rgba(255,255,255,.91) 40%,rgba(255,255,255,.63) 56%,rgba(255,255,255,.27) 70%,rgba(255,255,255,0) 88%),
  radial-gradient(ellipse 42% 46% at 28% 20%,rgba(255,255,255,.82),rgba(255,255,255,.34) 52%,rgba(255,255,255,0) 82%),
  radial-gradient(ellipse 46% 46% at 27% 82%,rgba(255,255,255,.88),rgba(255,255,255,.36) 50%,rgba(255,255,255,0) 82%),
  linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.96) 22%,rgba(255,255,255,.80) 40%,rgba(255,255,255,.42) 57%,rgba(255,255,255,.12) 69%,rgba(255,255,255,0) 79%)!important}
.home-model-page .rp-lead,
.hero .lead,
.reference-page .hero.ref-hero .lead,
.article-hero .lead{
  color:rgba(16,24,39,.80)!important;
  text-shadow:0 14px 36px rgba(255,255,255,.96),0 2px 8px rgba(255,255,255,.82)!important;
}

/* Section rhythm and fine-line editorial composition */
.section,
.rp-section{
  padding-top:var(--rp-section-space)!important;
  padding-bottom:var(--rp-section-space)!important;
}
.section--soft,
.home-model-page .rp-section--services,
.home-model-page .rp-section--testimonials{
  background:
    radial-gradient(circle at 0% 0%,rgba(26,43,76,.035),transparent 36%),
    linear-gradient(180deg,#fff 0%,#F8F6F1 100%)!important;
}
.section-heading,
.rp-section-heading{
  position:relative;
}
.section-heading::after,
.rp-section-heading::after{
  content:"";
  display:block;
  width:clamp(42px,5vw,78px);
  height:2px;
  margin-top:clamp(14px,1.2vw,20px);
  background:var(--rp-red);
  border-radius:999px;
  opacity:.88;
}
.section-heading--split::after,
.rp-work-intro::after,
.rp-testimonial-intro::after{
  content:"";
  display:block;
  width:52px;
  height:2px;
  margin-top:18px;
  background:var(--rp-red);
}
.container,
.rp-home-container{
  width:min(1520px,calc(100% - clamp(28px,4.4vw,88px)))!important;
}

/* Premium cards and grids */
.service-card,
.rp-service-card,
.card,
.related-card,
.rp-work-card,
.portfolio-tile,
.rp-testimonial-card,
.cta-panel,
.mega-group a,
.gallery-item,
.project-form,
.contact-details{
  position:relative;
  border-color:rgba(26,43,76,.12)!important;
  box-shadow:var(--rp-shadow-sm)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92)),
    radial-gradient(circle at 0 0,rgba(211,47,47,.05),transparent 42%)!important;
}
.service-card::before,
.rp-service-card::before,
.card::before,
.related-card::before,
.rp-work-card::before,
.portfolio-tile::before,
.rp-testimonial-card::before,
.cta-panel::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,var(--rp-red),rgba(211,47,47,0));
  opacity:0;
  transform:scaleX(.42);
  transform-origin:left center;
  transition:opacity 360ms var(--rp-ease),transform 520ms var(--rp-ease);
  pointer-events:none;
}
.service-card:hover::before,
.rp-service-card:hover::before,
.card:hover::before,
.related-card:hover::before,
.rp-work-card:hover::before,
.portfolio-tile:hover::before,
.rp-testimonial-card:hover::before,
.cta-panel:hover::before{
  opacity:1;
  transform:scaleX(1);
}
.service-card:hover,
.rp-service-card:hover,
.card:hover,
.related-card:hover,
.rp-work-card:hover,
.portfolio-tile:hover,
.gallery-item:hover{
  transform:translateY(-6px)!important;
  box-shadow:var(--rp-shadow-md)!important;
  border-color:rgba(211,47,47,.24)!important;
}
.service-card h3,
.rp-service-card strong,
.card-body h3,
.rp-work-card__body h3{
  font-size:clamp(.92rem,.82vw,1.08rem)!important;
}
.service-card p,
.rp-service-card span:not(.rp-service-card__icon),
.card-body p,
.rp-work-card__body span{
  color:rgba(16,24,39,.66)!important;
}
.media-link,
.card-image,
.rp-work-card__media,
.portfolio-tile__media,
.image-frame,
.cta-media,
.footer-cta-band__media,
.gallery-item{
  overflow:hidden;
  background:#EEF1F5;
}
.media-link img,
.card-image img,
.rp-work-card__media img,
.portfolio-tile img,
.image-frame img,
.cta-media img,
.footer-cta-band__media img,
.gallery-item img{
  transform:scale(1.001);
  transition:transform 900ms var(--rp-ease),filter 900ms var(--rp-ease);
  filter:saturate(1.02) contrast(1.025);
}
.media-link:hover img,
.rp-work-card:hover img,
.portfolio-tile:hover img,
.card:hover .card-image img,
.gallery-item:hover img{
  transform:scale(1.055);
  filter:saturate(1.05) contrast(1.04) brightness(1.02);
}

/* Premium navy blocks */
.section--navy,
.footer-cta-band{
  background:
    linear-gradient(90deg,rgba(5,15,30,.92),rgba(26,43,76,.80)),
    radial-gradient(circle at 82% 10%,rgba(211,47,47,.20),transparent 34%)!important;
  color:#fff!important;
}
.section--navy h2,
.section--navy h3,
.section--navy p,
.footer-cta-band h2,
.footer-cta-band p{color:#fff!important}.section--navy .eyebrow,.footer-cta-band .eyebrow{color:#fff!important;opacity:.74!important}
.footer-cta-band{
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(26,43,76,.14);
}
.footer-cta-band__inner{
  width:min(1520px,calc(100% - clamp(28px,4.4vw,88px)))!important;
}
.footer-shell{
  width:min(1520px,calc(100% - clamp(28px,4.4vw,88px)))!important;
}
.site-footer--premium{
  background:linear-gradient(180deg,#fff,#F8F6F1)!important;
}
.footer-col h3{
  font-size:.72rem!important;
  letter-spacing:.16em!important;
  color:rgba(26,43,76,.82)!important;
}
.footer-col a:hover{color:var(--rp-red)!important;transform:translateX(2px)}

/* Form polish */
input,textarea,select{
  border:1px solid rgba(26,43,76,.14)!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--rp-navy)!important;
  border-radius:0!important;
}
input:hover,textarea:hover,select:hover{border-color:rgba(26,43,76,.28)!important}
input:focus,textarea:focus,select:focus{border-color:rgba(211,47,47,.72)!important;background:#fff!important}

/* Mobile and tablet refinement */
@media(max-width:1180px){
  h1,.hero h1,.reference-page .hero.ref-hero h1,.article-hero h1,.home-model-page .rp-home-hero h1{
    font-size:clamp(2.45rem,7vw,5rem)!important;
    max-width:12.6ch!important;
  }
  .section,.rp-section{padding-top:clamp(70px,9vw,108px)!important;padding-bottom:clamp(70px,9vw,108px)!important}
  .mobile-menu--premium{
    background:linear-gradient(180deg,#fff 0%,#F8F6F1 100%)!important;
  }
  .mobile-menu__nav a,
  .mobile-accordion button{
    text-transform:uppercase!important;
    letter-spacing:.075em!important;
    font-weight:880!important;
  }
}
@media(max-width:760px){
  html{scroll-padding-top:82px}
  .hero h1,.reference-page .hero.ref-hero h1,.article-hero h1,.home-model-page .rp-home-hero h1{
    font-size:clamp(2.05rem,10.4vw,3.95rem)!important;
    line-height:1!important;
    letter-spacing:-.012em!important;
    max-width:12.8ch!important;
  }
  h2,.section-heading h2,.rp-section-heading h2,.rp-work-intro h2,.rp-approach-copy h2,.rp-testimonial-intro h2,.rp-mission-band h2,.footer-cta-band h2,.cta-panel h2{
    font-size:clamp(1.85rem,8.8vw,3.15rem)!important;
    letter-spacing:-.008em!important;
  }
  .lead,.hero .lead,.ref-hero .lead,.article-hero .lead,.rp-lead,.service-lead{
    font-size:clamp(.94rem,3.7vw,1.04rem)!important;
    line-height:1.62!important;
  }
  .home-model-page .rp-home-hero__copy,
  .hero-copy,
  .reference-page .hero-copy,
  .article-hero__grid>div:first-child{
    width:100%!important;
    max-width:100%!important;
  }
  .home-model-page .rp-home-hero__cloud,
  .hero::before,
  .reference-page .hero.ref-hero::before,
  .article-hero::before{
    background:
      linear-gradient(180deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,.08) 34%,rgba(255,255,255,.82) 76%,rgba(255,255,255,.98) 100%),
      radial-gradient(ellipse 120% 72% at 50% 88%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.80) 48%,rgba(255,255,255,.24) 72%,rgba(255,255,255,0) 100%)!important;
  }
  .btn,.rp-btn{min-height:52px!important;width:100%;justify-content:center!important}
  .service-card,.rp-service-card,.card,.related-card,.rp-work-card,.rp-testimonial-card{box-shadow:0 14px 38px rgba(26,43,76,.06)!important}
  .section,.rp-section{padding-top:72px!important;padding-bottom:72px!important}
}
@media(min-width:1800px){
  .container,.rp-home-container,.footer-shell,.footer-cta-band__inner{width:min(1680px,calc(100% - 120px))!important}
  .home-model-page .rp-home-hero h1,.hero h1,.reference-page .hero.ref-hero h1,.article-hero h1{font-size:clamp(4.25rem,4.4vw,7.2rem)!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* Specific overrides for previously scoped homepage title rules */
.home-model-page .rp-mission-band h2,
.home-model-page .rp-section-heading h2,
.home-model-page .rp-work-intro h2,
.home-model-page .rp-approach-copy h2,
.home-model-page .rp-testimonial-intro h2,
.home-model-page .footer-cta-band h2,
.home-model-page .rp-service-card strong,
.home-model-page .rp-work-card__body h3,
.home-model-page .rp-process-mini strong{
  text-transform:uppercase!important;
}
.home-model-page .footer-cta-band h2,
.home-model-page .rp-mission-band h2,
.home-model-page .rp-section-heading h2,
.home-model-page .rp-work-intro h2,
.home-model-page .rp-approach-copy h2,
.home-model-page .rp-testimonial-intro h2{
  letter-spacing:-.014em!important;
  font-weight:750!important;
}

/* ========================================================================== 
   FINAL FOOTER CTA + WHITE BACKGROUND CORRECTION
   Fixes large CTA title clipping, keeps CTA content inside viewport,
   and removes beige-to-white side color differences.
   ========================================================================== */
html,
body{
  background:#FFFFFF!important;
}
.site-footer--premium{
  background:#FFFFFF!important;
  padding-bottom:0!important;
}
.footer-cta-band{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  background:#0E182A!important;
  border:0!important;
}
.footer-cta-band__inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(46px,5vw,76px) clamp(28px,6vw,110px)!important;
  min-height:clamp(330px,31vw,470px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,0.95fr) minmax(180px,0.25fr) minmax(320px,0.85fr)!important;
  align-items:center!important;
  gap:clamp(22px,3vw,54px)!important;
}
.footer-cta-band__inner::before{
  background:
    linear-gradient(90deg,
      rgba(14,24,42,1) 0%,
      rgba(14,24,42,.98) 38%,
      rgba(14,24,42,.80) 58%,
      rgba(14,24,42,.45) 78%,
      rgba(14,24,42,.28) 100%)!important;
}
.footer-cta-band__copy{
  width:100%!important;
  max-width:min(700px,100%)!important;
  min-width:0!important;
  position:relative!important;
  z-index:2!important;
}
.footer-cta-band h2{
  font-size:clamp(2.35rem,4.2vw,5.35rem)!important;
  line-height:.92!important;
  max-width:11.5ch!important;
  margin:0 0 18px!important;
  color:#FFFFFF!important;
  letter-spacing:-.018em!important;
  overflow-wrap:normal!important;
  text-wrap:balance!important;
}
.footer-cta-band p:not(.eyebrow){
  max-width:min(680px,100%)!important;
  color:rgba(255,255,255,.82)!important;
  font-size:clamp(.98rem,1.25vw,1.2rem)!important;
  line-height:1.55!important;
}
.footer-cta-band .btn{
  justify-self:center!important;
  align-self:center!important;
  min-width:clamp(210px,18vw,310px)!important;
  min-height:clamp(54px,4.3vw,66px)!important;
  padding:14px 28px!important;
  border-radius:8px!important;
  position:relative!important;
  z-index:3!important;
  box-shadow:0 22px 52px rgba(211,47,47,.28)!important;
}
.footer-cta-band__media{
  position:absolute!important;
  inset:0 0 0 auto!important;
  width:min(55vw,980px)!important;
  height:100%!important;
  opacity:.54!important;
  z-index:0!important;
}
.footer-cta-band__media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.footer-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 clamp(24px,5vw,96px) 0!important;
  background:#FFFFFF!important;
}
.footer-main{
  background:#FFFFFF!important;
  width:100%!important;
  border:0!important;
  border-radius:0 0 28px 28px!important;
  margin:0!important;
  padding:clamp(36px,4.5vw,70px) clamp(24px,4.5vw,72px)!important;
  box-shadow:0 28px 80px rgba(26,43,76,.08)!important;
}
.footer-bottom--premium{
  background:#FFFFFF!important;
  border:0!important;
  border-top:1px solid rgba(26,43,76,.08)!important;
  border-radius:0 0 28px 28px!important;
  margin:0!important;
  padding:20px clamp(24px,4.5vw,72px) 24px!important;
  box-shadow:0 20px 54px rgba(26,43,76,.055)!important;
}
@media(max-width:1180px){
  .footer-cta-band__inner{
    grid-template-columns:minmax(0,1fr) auto!important;
    min-height:360px!important;
  }
  .footer-cta-band .btn{
    justify-self:start!important;
  }
  .footer-cta-band__media{width:100%!important;opacity:.24!important}
}
@media(max-width:760px){
  .footer-cta-band__inner{
    grid-template-columns:1fr!important;
    min-height:auto!important;
    padding:42px 22px 48px!important;
    gap:22px!important;
  }
  .footer-cta-band h2{
    font-size:clamp(2.05rem,12vw,3.85rem)!important;
    max-width:11ch!important;
  }
  .footer-cta-band .btn{
    width:100%!important;
    min-width:0!important;
  }
  .footer-shell{padding:0 16px!important}
  .footer-main{
    border-radius:0 0 24px 24px!important;
    padding:32px 20px!important;
  }
  .footer-bottom--premium{
    border-radius:0 0 24px 24px!important;
    padding:18px 20px 22px!important;
  }
}

/* ========================================================================== 
   FINAL PURE WHITE FOOTER CLEANUP
   The approved footer treatment is one continuous white surface, without beige
   side gutters, colored container edges, rounded panels, or visible shadow boxes.
   ========================================================================== */
html,
body{
  background:#FFFFFF!important;
}
.site-footer,
.site-footer--premium{
  background:#FFFFFF!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding-bottom:0!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.site-footer--premium::before,
.site-footer--premium::after,
.footer-shell::before,
.footer-shell::after,
.footer-main::before,
.footer-main::after,
.footer-bottom--premium::before,
.footer-bottom--premium::after{
  content:none!important;
  display:none!important;
}
.footer-shell,
.site-footer--premium .footer-shell,
.site-footer--premium .container.footer-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#FFFFFF!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.footer-main,
.site-footer--premium .footer-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(52px,5.2vw,90px) clamp(32px,7vw,132px)!important;
  background:#FFFFFF!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.footer-bottom,
.footer-bottom--premium,
.site-footer--premium .footer-bottom--premium{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:22px clamp(32px,7vw,132px) 30px!important;
  background:#FFFFFF!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.footer-brand--premium,
.footer-col,
.footer-col--services,
.footer-col--newsletter{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.footer-newsletter{
  background:#FFFFFF!important;
  border:1px solid rgba(26,43,76,.10)!important;
  box-shadow:0 12px 28px rgba(26,43,76,.045)!important;
}
.footer-social a{
  background:#F5F7FA!important;
  border-color:rgba(26,43,76,.10)!important;
}
@media(max-width:1100px){
  .footer-main,
  .site-footer--premium .footer-main{
    padding:44px 26px 34px!important;
  }
  .footer-bottom,
  .footer-bottom--premium,
  .site-footer--premium .footer-bottom--premium{
    padding:20px 26px 28px!important;
  }
}
@media(max-width:760px){
  .footer-main,
  .site-footer--premium .footer-main{
    padding:36px 20px 28px!important;
  }
  .footer-bottom,
  .footer-bottom--premium,
  .site-footer--premium .footer-bottom--premium{
    padding:20px 20px 28px!important;
  }
}

/* ===== SOURCE: assets/css/ultra-hamburger-mega-menu.css ===== */
/* ========================================================================== 
   REAL.PRO Studios — Ultra Hamburger Mega Menu
   Fullscreen premium navigation inspired by large editorial agency menus,
   adapted to the REAL.PRO Studios navy / red / white visual system.
   ========================================================================== */
:root{
  --rp-menu-navy:#1A2B4C;
  --rp-menu-navy-deep:#0B1527;
  --rp-menu-red:#D32F2F;
  --rp-menu-white:#FFFFFF;
  --rp-menu-soft:#F7F9FC;
  --rp-menu-line:rgba(255,255,255,.14);
  --rp-menu-ease:cubic-bezier(.16,1,.3,1);
}

/* Header becomes an elegant hamburger-first premium header */
.site-header{
  background:#FFFFFF!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-bottom:1px solid rgba(26,43,76,.08)!important;
  box-shadow:0 10px 34px rgba(26,43,76,.055)!important;
}
.site-header.is-scrolled{
  background:#FFFFFF!important;
  box-shadow:0 14px 42px rgba(26,43,76,.075)!important;
}
.nav-shell,
.nav-shell--premium{
  width:min(1740px,calc(100% - clamp(28px,4vw,84px)))!important;
  height:clamp(86px,7.4vw,112px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.site-header .desktop-nav,
.site-header .header-cta{
  display:none!important;
}
.site-header .brand,
.site-header .brand:hover{
  color:var(--rp-menu-navy)!important;
}
.site-header .brand-mark{
  width:clamp(68px,5.9vw,96px)!important;
  height:clamp(68px,5.9vw,96px)!important;
  border-radius:18px!important;
  box-shadow:0 18px 44px rgba(26,43,76,.11)!important;
  background:#fff!important;
  object-fit:cover!important;
}
.menu-toggle{
  display:inline-flex!important;
  width:clamp(58px,4.8vw,76px)!important;
  height:clamp(58px,4.8vw,76px)!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:8px!important;
  border:1px solid rgba(26,43,76,.12)!important;
  border-radius:50%!important;
  background:#FFFFFF!important;
  box-shadow:0 18px 44px rgba(26,43,76,.09)!important;
  cursor:pointer!important;
  transition:transform 420ms var(--rp-menu-ease),box-shadow 420ms var(--rp-menu-ease),border-color 420ms var(--rp-menu-ease)!important;
}
.menu-toggle:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(211,47,47,.34)!important;
  box-shadow:0 24px 58px rgba(26,43,76,.13)!important;
}
.menu-toggle span{
  width:30px!important;
  height:2px!important;
  background:var(--rp-menu-navy)!important;
  border-radius:999px!important;
  transform-origin:center!important;
}
.menu-toggle span:nth-child(2){width:22px!important;margin-left:8px!important;}
body.menu-open .menu-toggle{opacity:0!important;pointer-events:none!important;}

/* Fullscreen overlay */
.menu-backdrop{
  display:none!important;
}
.mobile-menu,
.mobile-menu--premium{
  display:block!important;
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  z-index:9999!important;
  padding:0!important;
  overflow:auto!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 12% 22%,rgba(255,255,255,.10) 0 0.9px,transparent 1.2px),
    radial-gradient(circle at 72% 22%,rgba(255,255,255,.10),transparent 28%),
    radial-gradient(circle at 8% 84%,rgba(211,47,47,.22),transparent 30%),
    linear-gradient(135deg,#0B1527 0%,#1A2B4C 54%,#11233F 100%)!important;
  background-size:22px 22px,auto,auto,auto!important;
  box-shadow:none!important;
  transform:translateY(-102%)!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:transform 720ms var(--rp-menu-ease),opacity 420ms ease,visibility 0s linear 720ms!important;
}
.mobile-menu.is-open,
.mobile-menu--premium.is-open{
  transform:translateY(0)!important;
  opacity:1!important;
  visibility:visible!important;
  transition:transform 720ms var(--rp-menu-ease),opacity 420ms ease,visibility 0s!important;
}
.mobile-menu::before{
  content:"";
  position:fixed;
  inset:-10% -8%;
  pointer-events:none;
  background:
    repeating-radial-gradient(circle at 8% 16%,rgba(255,255,255,.14) 0 2px,transparent 2px 18px),
    repeating-radial-gradient(circle at 92% 18%,rgba(255,255,255,.09) 0 2px,transparent 2px 22px),
    linear-gradient(90deg,rgba(255,255,255,.10),transparent 38%,rgba(255,255,255,.06));
  opacity:.44;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.84) 24%,rgba(0,0,0,.32) 62%,#000 100%);
}
.mobile-menu::after{
  content:"REAL.PRO STUDIOS";
  position:fixed;
  left:clamp(24px,4vw,72px);
  bottom:clamp(22px,3vw,48px);
  color:rgba(255,255,255,.28);
  font-size:clamp(.66rem,.95vw,.92rem);
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-weight:900;
  pointer-events:none;
}
.mobile-menu__top{
  position:sticky!important;
  top:0!important;
  z-index:4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:clamp(86px,7.4vw,112px)!important;
  padding:0 clamp(24px,4vw,72px)!important;
  background:linear-gradient(180deg,rgba(11,21,39,.98),rgba(11,21,39,.84) 72%,rgba(11,21,39,0))!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.mobile-menu__top .brand-mark{
  width:clamp(72px,6vw,102px)!important;
  height:clamp(72px,6vw,102px)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 24px 58px rgba(0,0,0,.22)!important;
}
.menu-close{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:clamp(62px,5.2vw,82px)!important;
  height:clamp(62px,5.2vw,82px)!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  font-size:clamp(2.35rem,3vw,3.2rem)!important;
  font-weight:300!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform 420ms var(--rp-menu-ease),background 420ms var(--rp-menu-ease),border-color 420ms var(--rp-menu-ease)!important;
}
.menu-close:hover{
  transform:rotate(90deg) scale(1.03)!important;
  background:rgba(211,47,47,.92)!important;
  border-color:rgba(211,47,47,.92)!important;
}
.mobile-menu__nav{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(330px,.86fr) minmax(460px,1.14fr)!important;
  align-items:start!important;
  gap:clamp(34px,5vw,94px)!important;
  width:min(1760px,calc(100% - clamp(44px,7vw,140px)))!important;
  margin:0 auto!important;
  padding:clamp(30px,4vw,70px) 0 clamp(84px,8vw,140px)!important;
}
.mobile-menu__nav::before{
  content:"NAVIGATION SYSTEM";
  grid-column:1/-1;
  color:var(--rp-menu-red);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-weight:950;
  font-size:clamp(.66rem,.86vw,.84rem);
  line-height:1;
  margin-bottom:calc(clamp(14px,2vw,28px) * -1);
}
.mobile-menu__nav > a:not(.btn){
  grid-column:1!important;
  width:100%!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:var(--display,Arial,sans-serif)!important;
  font-size:clamp(3.1rem,7.2vw,8.8rem)!important;
  line-height:.80!important;
  letter-spacing:-.055em!important;
  font-weight:760!important;
  text-transform:uppercase!important;
  text-align:left!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  transition:color 360ms var(--rp-menu-ease),transform 360ms var(--rp-menu-ease),opacity 360ms var(--rp-menu-ease)!important;
}
.mobile-menu__nav > a:not(.btn):hover,
.mobile-menu__nav > a:not(.btn).is-active{
  color:#fff!important;
  transform:translateX(12px)!important;
}
.mobile-menu__nav > a:not(.btn)::after{
  content:"";
  display:block;
  width:clamp(40px,6vw,120px);
  height:2px;
  margin-left:clamp(18px,2vw,32px);
  background:rgba(255,255,255,.38);
  transform:scaleX(.22);
  transform-origin:left;
  transition:transform 420ms var(--rp-menu-ease),background 420ms var(--rp-menu-ease)!important;
}
.mobile-menu__nav > a:not(.btn):hover::after,
.mobile-menu__nav > a:not(.btn).is-active::after{
  transform:scaleX(1);
  background:var(--rp-menu-red);
}
.mobile-menu__nav > .mobile-accordion{
  grid-column:2!important;
  display:grid!important;
  gap:0!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.mobile-menu__nav > a:nth-of-type(7){margin-bottom:clamp(18px,3vw,38px)!important;}
.mobile-accordion > button{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:clamp(62px,5vw,78px)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:clamp(.92rem,1.2vw,1.08rem)!important;
  line-height:1.2!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  font-weight:920!important;
  text-align:left!important;
  cursor:pointer!important;
}
.mobile-accordion > button span{
  width:36px!important;
  height:36px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:1.05rem!important;
  line-height:1!important;
}
.mobile-accordion__panel{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0 0 22px!important;
}
.mobile-accordion__panel a{
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  padding:14px 16px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:rgba(255,255,255,.82)!important;
  font-weight:780!important;
  line-height:1.22!important;
  transition:background 320ms var(--rp-menu-ease),border-color 320ms var(--rp-menu-ease),color 320ms var(--rp-menu-ease),transform 320ms var(--rp-menu-ease)!important;
}
.mobile-accordion__panel a:hover,
.mobile-accordion__panel a.is-active{
  background:#fff!important;
  border-color:#fff!important;
  color:var(--rp-menu-navy)!important;
  transform:translateY(-2px)!important;
}
.mobile-menu__nav .btn{
  grid-column:2!important;
  width:min(360px,100%)!important;
  justify-self:start!important;
  min-height:60px!important;
  border-radius:8px!important;
  background:var(--rp-menu-red)!important;
  color:#fff!important;
  box-shadow:0 28px 72px rgba(211,47,47,.32)!important;
}

/* Entrance polish */
.mobile-menu.is-open .mobile-menu__nav > *{
  animation:rpMenuItemIn 760ms var(--rp-menu-ease) both;
}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(1){animation-delay:60ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(2){animation-delay:90ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(3){animation-delay:120ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(4){animation-delay:150ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(5){animation-delay:180ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(6){animation-delay:210ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(7){animation-delay:240ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(8){animation-delay:270ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(9){animation-delay:300ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(10){animation-delay:330ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(11){animation-delay:360ms}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(12){animation-delay:390ms}
@keyframes rpMenuItemIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}
}

@media(max-width:1100px){
  .nav-shell,.nav-shell--premium{height:clamp(78px,9vw,96px)!important;}
  .mobile-menu__nav{
    grid-template-columns:1fr!important;
    gap:clamp(26px,4vw,44px)!important;
    width:min(100% - 36px,920px)!important;
    padding-top:34px!important;
  }
  .mobile-menu__nav > a:not(.btn),
  .mobile-menu__nav > .mobile-accordion,
  .mobile-menu__nav .btn{
    grid-column:1!important;
  }
  .mobile-menu__nav > a:not(.btn){
    font-size:clamp(2.45rem,10vw,5.6rem)!important;
  }
  .mobile-menu__nav .btn{justify-self:stretch!important;width:100%!important;}
}
@media(max-width:620px){
  .nav-shell,.nav-shell--premium{width:calc(100% - 24px)!important;height:78px!important;}
  .site-header .brand-mark{width:58px!important;height:58px!important;border-radius:15px!important;}
  .menu-toggle{width:54px!important;height:54px!important;gap:7px!important;}
  .menu-toggle span{width:26px!important;}
  .menu-toggle span:nth-child(2){width:20px!important;margin-left:6px!important;}
  .mobile-menu__top{min-height:82px!important;padding:0 18px!important;}
  .mobile-menu__top .brand-mark{width:62px!important;height:62px!important;}
  .menu-close{width:58px!important;height:58px!important;font-size:2.4rem!important;}
  .mobile-menu__nav{width:calc(100% - 32px)!important;padding-bottom:86px!important;}
  .mobile-menu__nav::before{letter-spacing:.18em!important;}
  .mobile-menu__nav > a:not(.btn){
    font-size:clamp(2.15rem,14.8vw,4rem)!important;
    line-height:.84!important;
    letter-spacing:-.04em!important;
  }
  .mobile-menu__nav > a:not(.btn)::after{display:none!important;}
  .mobile-accordion__panel{grid-template-columns:1fr!important;}
  .mobile-accordion > button{font-size:.78rem!important;letter-spacing:.14em!important;min-height:56px!important;}
  .mobile-menu::after{display:none!important;}
}
@media(prefers-reduced-motion:reduce){
  .mobile-menu,.mobile-menu *{animation:none!important;transition:none!important;}
}

/* ========================================================================== 
   FINAL PREMIUM HEADER LOGO REFINEMENT
   Removes the logo background card, keeps only the mark, and upgrades the
   hamburger-first header with a micro-detailed line and subtle hover shadow.
   ========================================================================== */
.site-header{
  height:clamp(82px,5.6vw,96px)!important;
  background:#FFFFFF!important;
  border-bottom:0!important;
  box-shadow:none!important;
  transition:box-shadow 420ms var(--rp-menu-ease),background 420ms var(--rp-menu-ease),transform 420ms var(--rp-menu-ease)!important;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(26,43,76,0) 0%,
    rgba(26,43,76,.07) 12%,
    rgba(26,43,76,.13) 50%,
    rgba(211,47,47,.20) 72%,
    rgba(26,43,76,.08) 88%,
    rgba(26,43,76,0) 100%)!important;
}
.site-header:hover,
.site-header:focus-within,
.site-header.is-scrolled{
  background:#FFFFFF!important;
  box-shadow:0 14px 34px rgba(26,43,76,.075)!important;
}
.nav-shell,
.nav-shell--premium{
  height:clamp(82px,5.6vw,96px)!important;
  width:min(1740px,calc(100% - clamp(30px,5vw,112px)))!important;
}
.site-header .brand{
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.site-header .brand-mark{
  width:clamp(112px,8.2vw,152px)!important;
  height:auto!important;
  max-height:clamp(50px,4.1vw,66px)!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  filter:drop-shadow(0 10px 20px rgba(26,43,76,.055))!important;
}
.site-header .brand:hover .brand-mark{
  filter:drop-shadow(0 14px 26px rgba(26,43,76,.095))!important;
}
.site-header .brand-text{display:none!important;}
.menu-toggle{
  width:clamp(50px,4vw,62px)!important;
  height:clamp(50px,4vw,62px)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  gap:7px!important;
}
.menu-toggle:hover{
  transform:translateY(-1px)!important;
  box-shadow:none!important;
  border-color:transparent!important;
}
.menu-toggle span{
  width:clamp(27px,2.1vw,34px)!important;
  height:2px!important;
  background:var(--rp-menu-navy)!important;
  transition:width 360ms var(--rp-menu-ease),transform 360ms var(--rp-menu-ease),background 360ms var(--rp-menu-ease)!important;
}
.menu-toggle span:nth-child(2){
  width:clamp(21px,1.55vw,27px)!important;
  margin-left:clamp(6px,.6vw,10px)!important;
}
.menu-toggle:hover span:nth-child(1){width:clamp(21px,1.55vw,27px)!important;transform:translateX(6px)!important;}
.menu-toggle:hover span:nth-child(2){width:clamp(30px,2.2vw,36px)!important;margin-left:0!important;background:var(--rp-menu-red)!important;}
.mobile-menu__top .brand-mark{
  width:clamp(118px,8.4vw,158px)!important;
  height:auto!important;
  max-height:clamp(52px,4.2vw,70px)!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  filter:drop-shadow(0 16px 34px rgba(0,0,0,.20))!important;
}
@media(max-width:760px){
  .site-header{height:76px!important;}
  .nav-shell,.nav-shell--premium{height:76px!important;width:calc(100% - 28px)!important;}
  .site-header .brand-mark{width:106px!important;max-height:52px!important;}
  .menu-toggle{width:48px!important;height:48px!important;}
  .menu-toggle span{width:29px!important;}
  .menu-toggle span:nth-child(2){width:23px!important;margin-left:6px!important;}
}
@media(max-width:420px){
  .nav-shell,.nav-shell--premium{width:calc(100% - 22px)!important;}
  .site-header .brand-mark{width:98px!important;max-height:48px!important;}
}

/* ===== SOURCE: assets/css/final-header-mega-menu-responsive.css ===== */
/* ========================================================================== 
   REAL.PRO Studios — Final Header + Ultra Mega Menu Responsiveness
   Purpose:
   - no blank space above the header
   - white header remains visible while the menu is open
   - transparent logo without card/background
   - premium organized fullscreen hamburger mega menu
   - responsive behavior for smartphone, tablet, notebook, desktop and 4K
   ========================================================================== */
:root{
  --rp-final-header-h:clamp(78px,5.2vw,96px);
  --rp-final-header-h-mobile:74px;
  --rp-final-navy:#1A2B4C;
  --rp-final-deep:#0B1527;
  --rp-final-red:#D32F2F;
  --rp-final-ease:cubic-bezier(.16,1,.3,1);
}
html{
  margin:0!important;
  padding:0!important;
  scroll-padding-top:var(--rp-final-header-h)!important;
  background:#fff!important;
}
body{
  margin:0!important;
  padding-top:0!important;
  background:#fff!important;
  overflow-x:hidden!important;
}
body.menu-open{
  overflow:hidden!important;
  padding-top:0!important;
}
.site-header,
.site-header.is-scrolled,
.site-header:focus-within,
.site-header.menu-active,
body.menu-open .site-header{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  inset:auto!important;
  z-index:10000!important;
  width:100%!important;
  height:var(--rp-final-header-h)!important;
  margin:0!important;
  padding:0!important;
  background:#FFFFFF!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:none!important;
  transition:box-shadow 420ms var(--rp-final-ease),background 420ms var(--rp-final-ease),border-color 420ms var(--rp-final-ease)!important;
}
.site-header::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-18px!important;
  height:18px!important;
  pointer-events:none!important;
  opacity:0!important;
  background:linear-gradient(180deg,rgba(26,43,76,.075),rgba(26,43,76,0))!important;
  transition:opacity 420ms var(--rp-final-ease)!important;
}
.site-header::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:1px!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(26,43,76,0) 0%,
      rgba(26,43,76,.055) 9%,
      rgba(26,43,76,.12) 43%,
      rgba(211,47,47,.24) 50%,
      rgba(26,43,76,.12) 57%,
      rgba(26,43,76,.055) 91%,
      rgba(26,43,76,0) 100%)!important;
}
.site-header:hover,
.site-header.is-scrolled,
.site-header:focus-within,
body.menu-open .site-header{
  background:#fff!important;
  box-shadow:0 16px 42px rgba(26,43,76,.075)!important;
}
.site-header:hover::before,
.site-header.is-scrolled::before,
.site-header:focus-within::before,
body.menu-open .site-header::before{
  opacity:1!important;
}
.site-header .nav-shell,
.site-header.is-scrolled .nav-shell,
.site-header:focus-within .nav-shell,
.site-header.menu-active .nav-shell,
.nav-shell,
.nav-shell--premium{
  width:min(1760px,calc(100% - clamp(28px,5vw,112px)))!important;
  height:var(--rp-final-header-h)!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:clamp(18px,2vw,34px)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.site-header .brand,
.site-header .brand:hover{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
.site-header .brand-mark,
.site-header .brand img.brand-mark{
  display:block!important;
  width:clamp(142px,9vw,184px)!important;
  height:auto!important;
  max-height:clamp(56px,4.8vw,76px)!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  filter:drop-shadow(0 9px 18px rgba(26,43,76,.055))!important;
}
.site-header .brand:hover .brand-mark{
  filter:drop-shadow(0 14px 24px rgba(26,43,76,.09))!important;
}
.site-header .brand-text{display:none!important;visibility:hidden!important;}
.site-header .desktop-nav,
.site-header .header-cta,
.desktop-nav--premium,
.header-cta{display:none!important;}
.menu-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  width:clamp(52px,4vw,64px)!important;
  height:clamp(52px,4vw,64px)!important;
  gap:7px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  cursor:pointer!important;
  opacity:1!important;
  pointer-events:auto!important;
  transition:transform 420ms var(--rp-final-ease),opacity 420ms var(--rp-final-ease)!important;
}
.menu-toggle:hover{transform:translateY(-1px)!important;}
.menu-toggle span{
  display:block!important;
  width:clamp(30px,2.3vw,38px)!important;
  height:2px!important;
  background:var(--rp-final-navy)!important;
  border-radius:999px!important;
  margin:0!important;
  transform-origin:center!important;
  transition:width 360ms var(--rp-final-ease),transform 360ms var(--rp-final-ease),opacity 260ms var(--rp-final-ease),background 360ms var(--rp-final-ease)!important;
}
.menu-toggle span:nth-child(2){width:clamp(22px,1.7vw,29px)!important;margin-left:clamp(7px,.65vw,10px)!important;}
.menu-toggle:hover span:nth-child(1){width:clamp(22px,1.7vw,29px)!important;transform:translateX(7px)!important;}
.menu-toggle:hover span:nth-child(2){width:clamp(31px,2.4vw,39px)!important;margin-left:0!important;background:var(--rp-final-red)!important;}
body.menu-open .menu-toggle span:nth-child(1){transform:translateY(9px) rotate(45deg)!important;width:34px!important;background:var(--rp-final-navy)!important;}
body.menu-open .menu-toggle span:nth-child(2){opacity:0!important;transform:scaleX(0)!important;}
body.menu-open .menu-toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg)!important;width:34px!important;background:var(--rp-final-navy)!important;}

/* Keep the white header visible. The menu begins immediately below it. */
.menu-backdrop{display:none!important;}
.mobile-menu,
.mobile-menu--premium{
  display:block!important;
  position:fixed!important;
  top:var(--rp-final-header-h)!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100vw!important;
  height:calc(100dvh - var(--rp-final-header-h))!important;
  z-index:9000!important;
  padding:0!important;
  margin:0!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  color:#fff!important;
  background:
    linear-gradient(90deg,rgba(211,47,47,.075) 0 1px,transparent 1px 100%),
    linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 100%),
    radial-gradient(circle at 10% 16%,rgba(255,255,255,.13),transparent 26%),
    radial-gradient(circle at 88% 18%,rgba(211,47,47,.18),transparent 30%),
    linear-gradient(135deg,#071121 0%,#0B1527 38%,#1A2B4C 100%)!important;
  background-size:84px 84px,84px 84px,auto,auto,auto!important;
  border-top:1px solid rgba(26,43,76,.08)!important;
  box-shadow:none!important;
  transform:translateY(-18px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:transform 620ms var(--rp-final-ease),opacity 420ms var(--rp-final-ease),visibility 0s linear 620ms!important;
}
.mobile-menu.is-open,
.mobile-menu--premium.is-open{
  transform:translateY(0)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:transform 620ms var(--rp-final-ease),opacity 420ms var(--rp-final-ease),visibility 0s!important;
}
.mobile-menu::before{
  content:""!important;
  position:fixed!important;
  inset:var(--rp-final-header-h) 0 0 0!important;
  pointer-events:none!important;
  background:
    repeating-radial-gradient(circle at 4% 18%,rgba(255,255,255,.12) 0 1.4px,transparent 1.6px 18px),
    repeating-radial-gradient(circle at 96% 20%,rgba(255,255,255,.08) 0 1.4px,transparent 1.6px 22px),
    radial-gradient(ellipse at 68% 78%,rgba(255,255,255,.10),transparent 36%);
  opacity:.38!important;
}
.mobile-menu::after{
  content:"REAL. PROFESSIONAL. REAL. CREATIVITY. REAL. RESULTS."!important;
  position:fixed!important;
  left:clamp(22px,4vw,76px)!important;
  bottom:clamp(20px,3vw,44px)!important;
  color:rgba(255,255,255,.28)!important;
  text-transform:uppercase!important;
  letter-spacing:.22em!important;
  font-size:clamp(.62rem,.85vw,.84rem)!important;
  font-weight:900!important;
  pointer-events:none!important;
}
.mobile-menu__top{display:none!important;}
.mobile-menu__nav{
  position:relative!important;
  z-index:2!important;
  width:min(1760px,calc(100% - clamp(36px,7vw,148px)))!important;
  min-height:100%!important;
  margin:0 auto!important;
  padding:clamp(34px,4.3vw,74px) 0 clamp(82px,8vw,140px)!important;
  display:grid!important;
  grid-template-columns:minmax(310px,.82fr) minmax(500px,1.18fr)!important;
  align-content:start!important;
  align-items:start!important;
  column-gap:clamp(42px,6vw,120px)!important;
  row-gap:0!important;
}
.mobile-menu__nav::before{
  content:"REAL.PRO NAVIGATION"!important;
  grid-column:1/-1!important;
  display:block!important;
  margin:0 0 clamp(22px,2.8vw,46px)!important;
  color:var(--rp-final-red)!important;
  text-transform:uppercase!important;
  letter-spacing:.24em!important;
  font-size:clamp(.64rem,.78vw,.82rem)!important;
  font-weight:950!important;
}
.mobile-menu__nav > a:not(.btn){
  grid-column:1!important;
  width:fit-content!important;
  max-width:100%!important;
  min-height:0!important;
  padding:0!important;
  margin:0 0 clamp(6px,.8vw,13px)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#FFFFFF!important;
  font-family:var(--display,Arial,sans-serif)!important;
  font-size:clamp(3.2rem,6vw,8.1rem)!important;
  line-height:.82!important;
  letter-spacing:-.052em!important;
  font-weight:760!important;
  text-transform:uppercase!important;
  text-align:left!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  opacity:.96!important;
  transition:transform 360ms var(--rp-final-ease),opacity 360ms var(--rp-final-ease),color 360ms var(--rp-final-ease)!important;
}
.mobile-menu__nav > a:not(.btn)::after{
  content:""!important;
  display:block!important;
  width:clamp(36px,5vw,112px)!important;
  height:2px!important;
  margin-left:clamp(16px,2vw,32px)!important;
  background:rgba(255,255,255,.28)!important;
  transform:scaleX(.22)!important;
  transform-origin:left center!important;
  transition:transform 420ms var(--rp-final-ease),background 420ms var(--rp-final-ease)!important;
}
.mobile-menu__nav > a:not(.btn):hover,
.mobile-menu__nav > a:not(.btn).is-active{
  transform:translateX(12px)!important;
  opacity:1!important;
  color:#FFFFFF!important;
}
.mobile-menu__nav > a:not(.btn):hover::after,
.mobile-menu__nav > a:not(.btn).is-active::after{
  transform:scaleX(1)!important;
  background:var(--rp-final-red)!important;
}
.mobile-menu__nav > .mobile-accordion{
  grid-column:2!important;
  display:grid!important;
  gap:0!important;
  margin:0!important;
  padding:clamp(14px,1.2vw,22px) 0!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
}
.mobile-menu__nav > .mobile-accordion:nth-last-of-type(1){border-bottom:1px solid rgba(255,255,255,.14)!important;}
.mobile-accordion > button{
  width:100%!important;
  min-height:clamp(56px,4.5vw,76px)!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  color:#FFFFFF!important;
  text-align:left!important;
  text-transform:uppercase!important;
  letter-spacing:.17em!important;
  font-size:clamp(.78rem,1vw,.98rem)!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.mobile-accordion > button span{
  flex:0 0 auto!important;
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.20)!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  line-height:1!important;
  transition:transform 300ms var(--rp-final-ease),background 300ms var(--rp-final-ease)!important;
}
.mobile-accordion.is-open > button span{transform:rotate(45deg)!important;background:rgba(211,47,47,.92)!important;border-color:rgba(211,47,47,.92)!important;}
.mobile-accordion__panel{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0 0 clamp(8px,1vw,16px)!important;
}
.mobile-accordion__panel a{
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  padding:13px 15px!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px!important;
  color:rgba(255,255,255,.84)!important;
  font-size:clamp(.82rem,.92vw,.95rem)!important;
  font-weight:760!important;
  line-height:1.24!important;
  transition:background 320ms var(--rp-final-ease),border-color 320ms var(--rp-final-ease),color 320ms var(--rp-final-ease),transform 320ms var(--rp-final-ease)!important;
}
.mobile-accordion__panel a:hover,
.mobile-accordion__panel a.is-active{
  background:#FFFFFF!important;
  border-color:#FFFFFF!important;
  color:var(--rp-final-navy)!important;
  transform:translateY(-2px)!important;
}
.mobile-menu__nav .btn{
  grid-column:2!important;
  width:min(380px,100%)!important;
  min-height:60px!important;
  justify-self:start!important;
  margin-top:clamp(20px,2vw,34px)!important;
  border-radius:8px!important;
  background:var(--rp-final-red)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 28px 72px rgba(211,47,47,.33)!important;
}
.mobile-menu.is-open .mobile-menu__nav > *{
  animation:rpFinalMenuIn 760ms var(--rp-final-ease) both!important;
}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(1){animation-delay:30ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(2){animation-delay:60ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(3){animation-delay:90ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(4){animation-delay:120ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(5){animation-delay:150ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(6){animation-delay:180ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(7){animation-delay:210ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(8){animation-delay:240ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(9){animation-delay:270ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(10){animation-delay:300ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(11){animation-delay:330ms!important;}
.mobile-menu.is-open .mobile-menu__nav > *:nth-child(12){animation-delay:360ms!important;}
@keyframes rpFinalMenuIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

@media(min-width:1800px){
  .mobile-menu__nav{width:min(1880px,calc(100% - 172px))!important;}
  .mobile-menu__nav > a:not(.btn){font-size:clamp(5rem,5.4vw,9rem)!important;}
}
@media(max-width:1180px){
  :root{--rp-final-header-h:88px;}
  .mobile-menu__nav{
    grid-template-columns:1fr!important;
    width:min(960px,calc(100% - 44px))!important;
    row-gap:clamp(10px,2vw,22px)!important;
    padding-top:clamp(30px,5vw,56px)!important;
  }
  .mobile-menu__nav > a:not(.btn),
  .mobile-menu__nav > .mobile-accordion,
  .mobile-menu__nav .btn{grid-column:1!important;}
  .mobile-menu__nav > a:not(.btn){font-size:clamp(2.6rem,8.6vw,5.6rem)!important;}
  .mobile-menu__nav .btn{width:min(420px,100%)!important;justify-self:start!important;}
}
@media(max-width:760px){
  :root{--rp-final-header-h:var(--rp-final-header-h-mobile);}
  html{scroll-padding-top:var(--rp-final-header-h-mobile)!important;}
  .site-header,
  .site-header.is-scrolled,
  .site-header:focus-within,
  .site-header.menu-active,
  body.menu-open .site-header{height:var(--rp-final-header-h-mobile)!important;}
  .site-header .nav-shell,
  .site-header.is-scrolled .nav-shell,
  .site-header:focus-within .nav-shell,
  .site-header.menu-active .nav-shell,
  .nav-shell,
  .nav-shell--premium{height:var(--rp-final-header-h-mobile)!important;width:calc(100% - 24px)!important;}
  .site-header .brand-mark,
  .site-header .brand img.brand-mark{width:118px!important;max-height:52px!important;}
  .menu-toggle{width:48px!important;height:48px!important;gap:6px!important;}
  .menu-toggle span{width:30px!important;}
  .menu-toggle span:nth-child(2){width:23px!important;margin-left:7px!important;}
  body.menu-open .menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)!important;}
  body.menu-open .menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)!important;}
  .mobile-menu,
  .mobile-menu--premium{top:var(--rp-final-header-h-mobile)!important;height:calc(100dvh - var(--rp-final-header-h-mobile))!important;}
  .mobile-menu::before{inset:var(--rp-final-header-h-mobile) 0 0 0!important;}
  .mobile-menu__nav{
    width:calc(100% - 30px)!important;
    padding:28px 0 76px!important;
  }
  .mobile-menu__nav::before{letter-spacing:.18em!important;margin-bottom:10px!important;}
  .mobile-menu__nav > a:not(.btn){
    font-size:clamp(2.1rem,13.8vw,3.85rem)!important;
    line-height:.86!important;
    letter-spacing:-.04em!important;
    margin-bottom:7px!important;
  }
  .mobile-menu__nav > a:not(.btn)::after{display:none!important;}
  .mobile-accordion > button{min-height:54px!important;font-size:.74rem!important;letter-spacing:.13em!important;}
  .mobile-accordion__panel{
    grid-template-columns:1fr!important;
    max-height:0!important;
    overflow:hidden!important;
    padding:0!important;
    transition:max-height 340ms var(--rp-final-ease),padding 340ms var(--rp-final-ease)!important;
  }
  .mobile-accordion.is-open .mobile-accordion__panel{
    max-height:720px!important;
    padding:0 0 16px!important;
  }
  .mobile-accordion__panel a{min-height:50px!important;font-size:.86rem!important;}
  .mobile-menu__nav .btn{width:100%!important;margin-top:18px!important;}
  .mobile-menu::after{display:none!important;}
}
@media(max-width:420px){
  .site-header .nav-shell,
  .nav-shell,
  .nav-shell--premium{width:calc(100% - 20px)!important;}
  .site-header .brand-mark,
  .site-header .brand img.brand-mark{width:106px!important;max-height:48px!important;}
  .mobile-menu__nav{width:calc(100% - 24px)!important;}
}
@media(prefers-reduced-motion:reduce){
  .mobile-menu,
  .mobile-menu *,
  .site-header,
  .site-header *{animation:none!important;transition:none!important;}
}

/* ========================================================================== 
   FINAL SERVICE REVEAL BEHAVIOR INSIDE FULLSCREEN MEGA MENU
   Service information appears only on hover/focus of Services on desktop,
   while remaining accessible by accordion on touch devices.
   ========================================================================== */
@media (hover:hover) and (pointer:fine) and (min-width:981px){
  .mobile-menu__nav > .mobile-accordion{
    opacity:0!important;
    transform:translateX(28px)!important;
    filter:blur(6px)!important;
    visibility:hidden!important;
    pointer-events:none!important;
    max-height:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    border-color:transparent!important;
    overflow:hidden!important;
    transition:
      opacity 460ms var(--rp-final-ease),
      transform 560ms var(--rp-final-ease),
      filter 560ms var(--rp-final-ease),
      visibility 0s linear 560ms,
      max-height 560ms var(--rp-final-ease),
      padding 560ms var(--rp-final-ease),
      border-color 560ms var(--rp-final-ease)!important;
  }
  .mobile-menu__nav.services-active > .mobile-accordion,
  .mobile-menu__nav:has(> a[href$="services.html"]:hover) > .mobile-accordion,
  .mobile-menu__nav:has(> a[href$="services.html"]:focus-visible) > .mobile-accordion,
  .mobile-menu__nav > .mobile-accordion:hover,
  .mobile-menu__nav > .mobile-accordion:focus-within{
    opacity:1!important;
    transform:translateX(0)!important;
    filter:blur(0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
    max-height:420px!important;
    padding:clamp(14px,1.2vw,22px) 0!important;
    border-top-color:rgba(255,255,255,.14)!important;
    overflow:visible!important;
    transition:
      opacity 420ms var(--rp-final-ease),
      transform 560ms var(--rp-final-ease),
      filter 560ms var(--rp-final-ease),
      visibility 0s,
      max-height 560ms var(--rp-final-ease),
      padding 560ms var(--rp-final-ease),
      border-color 560ms var(--rp-final-ease)!important;
  }
  .mobile-menu__nav::after{
    content:none!important;
    display:none!important;
    grid-column:2!important;
    grid-row:2 / span 7!important;
    align-self:start!important;
    min-height:clamp(330px,36vh,470px)!important;
    place-items:center!important;
    padding:clamp(28px,4vw,70px)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:28px!important;
    background:
      linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),
      radial-gradient(circle at 20% 18%,rgba(211,47,47,.16),transparent 32%)!important;
    color:rgba(255,255,255,.48)!important;
    text-align:center!important;
    text-transform:uppercase!important;
    letter-spacing:.18em!important;
    font-size:clamp(.78rem,.95vw,.96rem)!important;
    font-weight:900!important;
    line-height:1.65!important;
    pointer-events:none!important;
    transition:opacity 360ms var(--rp-final-ease),transform 360ms var(--rp-final-ease)!important;
  }
  .mobile-menu__nav.services-active::after,
  .mobile-menu__nav:has(> a[href$="services.html"]:hover)::after,
  .mobile-menu__nav:has(> a[href$="services.html"]:focus-visible)::after,
  .mobile-menu__nav:has(> .mobile-accordion:hover)::after,
  .mobile-menu__nav:has(> .mobile-accordion:focus-within)::after{
    opacity:0!important;
    transform:translateX(14px)!important;
  }
  .mobile-menu__nav > a[href$="services.html"]{
    color:#FFFFFF!important;
    position:relative!important;
  }
  .mobile-menu__nav > a[href$="services.html"]::before{
    content:"Explore services"!important;
    position:absolute!important;
    left:calc(100% + clamp(20px,3vw,58px))!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    white-space:nowrap!important;
    color:rgba(211,47,47,.96)!important;
    letter-spacing:.2em!important;
    text-transform:uppercase!important;
    font-size:clamp(.58rem,.72vw,.74rem)!important;
    font-weight:950!important;
    opacity:0!important;
    transition:opacity 320ms var(--rp-final-ease),transform 320ms var(--rp-final-ease)!important;
  }
  .mobile-menu__nav > a[href$="services.html"]:hover::before,
  .mobile-menu__nav > a[href$="services.html"]:focus-visible::before,
  .mobile-menu__nav.services-active > a[href$="services.html"]::before{
    opacity:1!important;
    transform:translateY(-50%) translateX(8px)!important;
  }
  .mobile-menu__nav > .mobile-accordion:nth-of-type(1){transition-delay:0ms!important;}
  .mobile-menu__nav > .mobile-accordion:nth-of-type(2){transition-delay:45ms!important;}
  .mobile-menu__nav > .mobile-accordion:nth-of-type(3){transition-delay:90ms!important;}
  .mobile-menu__nav > .mobile-accordion:nth-of-type(4){transition-delay:135ms!important;}
}

/* Services panel organization and link polish */
.mobile-accordion__panel a[href]{
  position:relative!important;
  isolation:isolate!important;
}
.mobile-accordion__panel a[href]::after{
  content:"→"!important;
  margin-left:auto!important;
  color:rgba(211,47,47,.92)!important;
  opacity:0!important;
  transform:translateX(-6px)!important;
  transition:opacity 260ms var(--rp-final-ease),transform 260ms var(--rp-final-ease)!important;
}
.mobile-accordion__panel a[href]:hover::after,
.mobile-accordion__panel a[href]:focus-visible::after{
  opacity:1!important;
  transform:translateX(0)!important;
}
@media(max-width:980px), (hover:none){
  .mobile-menu__nav > .mobile-accordion{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    visibility:visible!important;
    pointer-events:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .mobile-menu__nav::after{content:none!important;display:none!important;}
  .mobile-menu__nav{
    grid-template-columns:1fr!important;
    width:min(100% - 36px,720px)!important;
    padding-top:28px!important;
  }
  .mobile-menu__nav > a:not(.btn),
  .mobile-menu__nav > .mobile-accordion,
  .mobile-menu__nav .btn{
    grid-column:1!important;
  }
  .mobile-accordion__panel{
    grid-template-columns:1fr!important;
  }
}

/* ===== SOURCE: assets/css/realpro-final-hero-megamenu-corrections.css ===== */
/* ========================================================================== 
   REAL.PRO Studios — Final hero positioning + premium services carousel menu
   Generated correction layer. Loaded last to preserve the approved site while
   refining only the requested hero visibility and Services mega menu experience.
   ========================================================================== */

:root{
  --rp-final-navy:#1A2B4C;
  --rp-final-deep:#071121;
  --rp-final-red:#D32F2F;
  --rp-final-paper:#FBFBFC;
  --rp-final-line:rgba(26,43,76,.10);
  --rp-final-muted:rgba(26,43,76,.66);
  --rp-final-ease:cubic-bezier(.22,.61,.36,1);
}

/* --------------------------------------------------------------------------
   HOME HERO — lift headline, subtitle, text and CTA so everything stays visible
   -------------------------------------------------------------------------- */
.home-model-page .rp-home-hero__inner{
  align-items:center!important;
  padding-top:clamp(46px,5.2vh,74px)!important;
  padding-bottom:clamp(46px,5.6vh,78px)!important;
}
.home-model-page .rp-home-hero__copy,
.home-model-page .hero-copy{
  transform:translateY(clamp(-78px,-5.6vh,-44px))!important;
  will-change:transform!important;
}
.home-model-page .rp-home-hero h1{
  font-size:clamp(3.35rem,4.2vw,5.86rem)!important;
  line-height:.91!important;
  max-width:11.25ch!important;
  margin-bottom:clamp(14px,1.4vh,20px)!important;
}
.home-model-page .rp-lead{
  margin-bottom:clamp(20px,2.2vh,26px)!important;
  max-width:540px!important;
}
.home-model-page .rp-button-row{
  margin-top:0!important;
}

@media (min-width:1500px){
  .home-model-page .rp-home-hero__copy,
  .home-model-page .hero-copy{transform:translateY(clamp(-92px,-6vh,-58px))!important;}
}
@media (max-width:1180px){
  .home-model-page .rp-home-hero__copy,
  .home-model-page .hero-copy{transform:translateY(clamp(-54px,-4.4vh,-28px))!important;}
  .home-model-page .rp-home-hero h1{font-size:clamp(3rem,6.2vw,5.1rem)!important;}
}
@media (max-width:760px){
  .home-model-page .rp-home-hero{min-height:calc(100svh - 78px)!important;}
  .home-model-page .rp-home-hero__inner{
    min-height:calc(100svh - 78px)!important;
    align-items:center!important;
    padding:clamp(32px,6.5vh,54px) 0 clamp(34px,6vh,52px)!important;
  }
  .home-model-page .rp-home-hero__copy,
  .home-model-page .hero-copy{transform:translateY(clamp(-24px,-3vh,-10px))!important;}
  .home-model-page .rp-home-hero h1{
    font-size:clamp(2.42rem,10.1vw,3.95rem)!important;
    line-height:.96!important;
    max-width:12ch!important;
    margin-bottom:14px!important;
  }
  .home-model-page .rp-lead{font-size:.96rem!important;line-height:1.48!important;margin-bottom:18px!important;}
}
@media (max-width:420px){
  .home-model-page .rp-home-hero__copy,
  .home-model-page .hero-copy{transform:translateY(-8px)!important;}
  .home-model-page .rp-home-hero h1{font-size:clamp(2.05rem,10.2vw,3.1rem)!important;}
}
@media (max-height:760px) and (min-width:761px){
  .home-model-page .rp-home-hero__copy,
  .home-model-page .hero-copy{transform:translateY(-54px)!important;}
  .home-model-page .rp-home-hero h1{font-size:clamp(3.05rem,4vw,5.2rem)!important;line-height:.9!important;}
  .home-model-page .rp-lead{font-size:.98rem!important;line-height:1.45!important;margin-bottom:18px!important;}
  .home-model-page .rp-btn{min-height:46px!important;padding:13px 21px!important;}
}
@media (max-height:650px) and (min-width:761px){
  .home-model-page .rp-home-hero__copy,
  .home-model-page .hero-copy{transform:translateY(-42px)!important;}
  .home-model-page .rp-home-hero h1{font-size:clamp(2.75rem,3.72vw,4.55rem)!important;}
}

/* --------------------------------------------------------------------------
   DESKTOP FULLSCREEN MENU — restore original logo and refine Services panel
   -------------------------------------------------------------------------- */
@media (min-width:981px){
  .mobile-menu__top .brand{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    gap:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
  }
  .mobile-menu__top .brand .rp-overlay-logo{
    display:none!important;
    visibility:hidden!important;
  }
  .mobile-menu__top .brand-mark,
  .mobile-menu__top .brand img.brand-mark{
    display:block!important;
    width:clamp(152px,12.4vw,220px)!important;
    max-width:220px!important;
    height:auto!important;
    max-height:78px!important;
    object-fit:contain!important;
    object-position:left center!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:drop-shadow(0 12px 22px rgba(0,0,0,.28))!important;
    opacity:1!important;
    transform:none!important;
  }

  .rp-hamburger-services-panel.rp-hamburger-services-panel--carousel{
    left:clamp(500px,29.8vw,548px)!important;
    right:clamp(34px,2.8vw,60px)!important;
    top:clamp(92px,8.7vh,106px)!important;
    bottom:clamp(28px,3.3vh,46px)!important;
    min-width:min(760px,calc(100vw - 560px))!important;
    overflow:hidden!important;
    border-radius:clamp(24px,1.75vw,34px)!important;
    background:
      radial-gradient(circle at 88% 10%,rgba(26,43,76,.055),transparent 25%),
      radial-gradient(circle at 8% 0%,rgba(211,47,47,.04),transparent 24%),
      linear-gradient(180deg,rgba(255,255,255,.985),rgba(248,249,251,.982))!important;
    border:1px solid rgba(255,255,255,.9)!important;
    box-shadow:
      0 2px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(26,43,76,.08),
      0 36px 90px rgba(0,0,0,.34)!important;
  }
  .rp-hamburger-services-panel.rp-hamburger-services-panel--carousel::before{
    background:
      linear-gradient(90deg,rgba(255,255,255,.56),rgba(255,255,255,0) 34%),
      linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 32%)!important;
    opacity:1!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__top{
    min-height:clamp(138px,17.6vh,178px)!important;
    padding:clamp(24px,2.8vh,34px) clamp(34px,3vw,52px) clamp(14px,1.5vh,20px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:clamp(22px,2vw,36px)!important;
    align-items:center!important;
    border-bottom:1px solid rgba(26,43,76,.065)!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy p{
    margin:0 0 9px!important;
    color:var(--rp-final-red)!important;
    font-size:clamp(.66rem,.74vw,.78rem)!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.28em!important;
    text-transform:uppercase!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy h2{
    margin:0!important;
    color:var(--rp-final-navy)!important;
    font-family:var(--display,Impact,"Arial Narrow",Arial,sans-serif)!important;
    font-size:clamp(2.65rem,3.58vw,4.55rem)!important;
    line-height:.86!important;
    letter-spacing:-.065em!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    max-width:13ch!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy span{
    display:block!important;
    margin-top:12px!important;
    max-width:720px!important;
    color:rgba(26,43,76,.62)!important;
    font-size:clamp(.82rem,.86vw,.96rem)!important;
    line-height:1.38!important;
    font-weight:700!important;
    letter-spacing:-.01em!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:clamp(14px,1.5vw,22px)!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__view{
    position:relative!important;
    color:var(--rp-final-navy)!important;
    font-size:clamp(.7rem,.75vw,.8rem)!important;
    font-weight:950!important;
    letter-spacing:.075em!important;
    text-transform:uppercase!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__view::after{
    content:""!important;
    position:absolute!important;
    left:0!important;right:21px!important;bottom:-7px!important;height:1px!important;
    background:rgba(26,43,76,.18)!important;
    transform:scaleX(.35)!important;
    transform-origin:left center!important;
    transition:transform 260ms var(--rp-final-ease),background 260ms var(--rp-final-ease)!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__view:hover::after,
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__view:focus-visible::after{
    transform:scaleX(1)!important;
    background:var(--rp-final-red)!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__cta{
    min-height:48px!important;
    padding:0 24px!important;
    border-radius:999px!important;
    box-shadow:0 16px 34px rgba(211,47,47,.26),0 1px 0 rgba(255,255,255,.2) inset!important;
  }

  .rp-hamburger-services-panel__viewport{
    position:relative!important;
    z-index:2!important;
    flex:1 1 auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scroll-behavior:smooth!important;
    scroll-snap-type:y proximity!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(26,43,76,.36) transparent!important;
    mask-image:linear-gradient(180deg,transparent 0,#000 26px,#000 calc(100% - 34px),transparent 100%)!important;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 26px,#000 calc(100% - 34px),transparent 100%)!important;
  }
  .rp-hamburger-services-panel__viewport::-webkit-scrollbar{width:7px!important;}
  .rp-hamburger-services-panel__viewport::-webkit-scrollbar-track{background:transparent!important;margin:22px 0!important;}
  .rp-hamburger-services-panel__viewport::-webkit-scrollbar-thumb{
    border-radius:999px!important;
    background:linear-gradient(180deg,rgba(26,43,76,.30),rgba(26,43,76,.52))!important;
  }
  .rp-hamburger-services-panel__viewport::before,
  .rp-hamburger-services-panel__viewport::after{
    content:""!important;
    position:sticky!important;
    left:0!important;
    right:0!important;
    z-index:7!important;
    display:block!important;
    height:24px!important;
    pointer-events:none!important;
  }
  .rp-hamburger-services-panel__viewport::before{
    top:0!important;
    margin-bottom:-24px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,0))!important;
  }
  .rp-hamburger-services-panel__viewport::after{
    bottom:0!important;
    margin-top:-24px!important;
    background:linear-gradient(0deg,rgba(248,249,251,.98),rgba(248,249,251,0))!important;
  }
  .rp-hamburger-services-panel__scroll{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(clamp(330px,42vh,452px),auto)!important;
    gap:clamp(16px,1.6vw,24px)!important;
    padding:clamp(22px,2.25vh,30px) clamp(28px,2.9vw,46px) clamp(34px,3.2vh,46px)!important;
    align-items:stretch!important;
  }
  .rp-service-carousel{
    position:relative!important;
    min-width:0!important;
    min-height:clamp(330px,42vh,452px)!important;
    display:flex!important;
    flex-direction:column!important;
    padding:clamp(15px,1.45vw,22px)!important;
    border-radius:clamp(20px,1.35vw,26px)!important;
    background:rgba(255,255,255,.70)!important;
    border:1px solid rgba(26,43,76,.085)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 12px 34px rgba(26,43,76,.045)!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    transition:transform 260ms var(--rp-final-ease),box-shadow 260ms var(--rp-final-ease),border-color 260ms var(--rp-final-ease)!important;
  }
  .rp-service-carousel:hover,
  .rp-service-carousel:focus-within{
    transform:translateY(-2px)!important;
    border-color:rgba(211,47,47,.18)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 18px 42px rgba(26,43,76,.075)!important;
  }
  .rp-service-carousel::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:30px!important;
    width:3px!important;
    height:54px!important;
    border-radius:0 999px 999px 0!important;
    background:linear-gradient(180deg,var(--rp-final-red),rgba(211,47,47,.28))!important;
  }
  .rp-service-carousel__head{
    position:relative!important;
    z-index:2!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:18px!important;
    margin:0 0 clamp(12px,1.1vh,16px)!important;
  }
  .rp-service-carousel__eyebrow{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:0 0 6px!important;
    color:var(--rp-final-navy)!important;
  }
  .rp-service-carousel__number{
    flex:0 0 28px!important;
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:999px!important;
    background:rgba(211,47,47,.09)!important;
    color:var(--rp-final-red)!important;
    font-size:.64rem!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.02em!important;
  }
  .rp-service-carousel__eyebrow h3{
    margin:0!important;
    color:var(--rp-final-navy)!important;
    font-size:clamp(.78rem,.86vw,.94rem)!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.17em!important;
    text-transform:uppercase!important;
  }
  .rp-service-carousel__lead{
    max-width:420px!important;
    margin:0!important;
    color:rgba(26,43,76,.62)!important;
    font-size:clamp(.72rem,.74vw,.82rem)!important;
    line-height:1.28!important;
    font-weight:680!important;
  }
  .rp-service-carousel__controls{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    padding-top:1px!important;
  }
  .rp-service-carousel__arrow{
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:999px!important;
    border:1px solid rgba(26,43,76,.10)!important;
    background:#fff!important;
    color:rgba(26,43,76,.72)!important;
    box-shadow:0 8px 20px rgba(26,43,76,.065)!important;
    font-size:1.2rem!important;
    line-height:1!important;
    font-weight:950!important;
    cursor:pointer!important;
    transition:transform 220ms var(--rp-final-ease),background 220ms var(--rp-final-ease),color 220ms var(--rp-final-ease),box-shadow 220ms var(--rp-final-ease)!important;
  }
  .rp-service-carousel__arrow:hover,
  .rp-service-carousel__arrow:focus-visible{
    transform:translateY(-2px)!important;
    background:var(--rp-final-red)!important;
    color:#fff!important;
    box-shadow:0 12px 24px rgba(211,47,47,.22)!important;
    outline:0!important;
  }
  .rp-service-carousel__feature{
    position:relative!important;
    flex:1 1 auto!important;
    min-height:0!important;
    display:block!important;
    color:#fff!important;
    border-radius:clamp(14px,1vw,18px)!important;
    overflow:hidden!important;
    background:#D8DEE8!important;
    border:1px solid rgba(26,43,76,.08)!important;
    box-shadow:0 16px 34px rgba(26,43,76,.10)!important;
  }
  .rp-service-carousel__feature figure{
    position:absolute!important;
    inset:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .rp-service-carousel__feature img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:scale(1.01)!important;
    filter:saturate(1.02) contrast(1.035)!important;
    transition:opacity 280ms var(--rp-final-ease),transform 520ms var(--rp-final-ease),filter 320ms var(--rp-final-ease)!important;
  }
  .rp-service-carousel__feature:hover img,
  .rp-service-carousel__feature:focus-visible img{
    transform:scale(1.045)!important;
    filter:saturate(1.08) contrast(1.05)!important;
  }
  .rp-service-carousel__feature::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:
      linear-gradient(180deg,rgba(7,17,33,.05) 0%,rgba(7,17,33,.12) 42%,rgba(7,17,33,.78) 100%),
      linear-gradient(90deg,rgba(7,17,33,.54),rgba(7,17,33,.03) 65%)!important;
    pointer-events:none!important;
  }
  .rp-service-carousel__caption{
    position:absolute!important;
    z-index:2!important;
    left:clamp(15px,1.25vw,20px)!important;
    right:clamp(15px,1.25vw,20px)!important;
    bottom:clamp(14px,1.15vw,18px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:16px!important;
    align-items:end!important;
  }
  .rp-service-carousel__caption strong{
    display:block!important;
    margin:0 0 3px!important;
    color:#fff!important;
    font-family:var(--body,Inter,Arial,sans-serif)!important;
    font-size:clamp(.98rem,1.05vw,1.18rem)!important;
    line-height:1.04!important;
    font-weight:950!important;
    letter-spacing:-.025em!important;
    text-shadow:0 10px 24px rgba(0,0,0,.44)!important;
  }
  .rp-service-carousel__caption small{
    display:block!important;
    max-width:420px!important;
    color:rgba(255,255,255,.86)!important;
    font-size:clamp(.69rem,.72vw,.78rem)!important;
    line-height:1.25!important;
    font-weight:680!important;
    text-shadow:0 8px 18px rgba(0,0,0,.42)!important;
  }
  .rp-service-carousel__counter{
    justify-self:end!important;
    white-space:nowrap!important;
    color:rgba(255,255,255,.92)!important;
    font-size:.72rem!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
    text-shadow:0 8px 16px rgba(0,0,0,.4)!important;
  }
  .rp-service-carousel__thumbs{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:clamp(8px,.72vw,11px)!important;
    margin-top:clamp(10px,1vh,13px)!important;
  }
  .rp-service-carousel__thumb{
    position:relative!important;
    min-width:0!important;
    height:clamp(48px,6.2vh,70px)!important;
    padding:0!important;
    border:1px solid rgba(26,43,76,.10)!important;
    border-radius:12px!important;
    background:#fff!important;
    overflow:hidden!important;
    cursor:pointer!important;
    box-shadow:0 8px 16px rgba(26,43,76,.04)!important;
    transition:transform 220ms var(--rp-final-ease),border-color 220ms var(--rp-final-ease),box-shadow 220ms var(--rp-final-ease)!important;
  }
  .rp-service-carousel__thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    filter:saturate(.96) contrast(1.02)!important;
    transition:transform 260ms var(--rp-final-ease),filter 260ms var(--rp-final-ease)!important;
  }
  .rp-service-carousel__thumb::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(180deg,rgba(255,255,255,0),rgba(7,17,33,.28))!important;
    opacity:.62!important;
    transition:opacity 220ms var(--rp-final-ease)!important;
  }
  .rp-service-carousel__thumb:hover,
  .rp-service-carousel__thumb:focus-visible{
    transform:translateY(-2px)!important;
    border-color:rgba(211,47,47,.28)!important;
    box-shadow:0 12px 24px rgba(26,43,76,.09)!important;
    outline:0!important;
  }
  .rp-service-carousel__thumb:hover img,
  .rp-service-carousel__thumb:focus-visible img{transform:scale(1.06)!important;filter:saturate(1.04) contrast(1.04)!important;}
  .rp-service-carousel__thumb.is-active{
    border-color:var(--rp-final-red)!important;
    box-shadow:0 0 0 2px rgba(211,47,47,.10),0 10px 22px rgba(26,43,76,.08)!important;
  }
  .rp-service-carousel__thumb.is-active::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    border-radius:10px!important;
    box-shadow:inset 0 0 0 2px rgba(211,47,47,.88)!important;
    pointer-events:none!important;
  }
  .rp-service-carousel__dots{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    height:14px!important;
    margin-top:9px!important;
  }
  .rp-service-carousel__dot{
    width:7px!important;
    height:7px!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(26,43,76,.16)!important;
    cursor:pointer!important;
    transition:width 220ms var(--rp-final-ease),background 220ms var(--rp-final-ease),transform 220ms var(--rp-final-ease)!important;
  }
  .rp-service-carousel__dot.is-active{
    width:17px!important;
    background:var(--rp-final-red)!important;
  }
  .rp-service-carousel__dot:focus-visible{outline:2px solid rgba(211,47,47,.42)!important;outline-offset:3px!important;}
  .rp-hamburger-services-panel__scroll-hint{
    position:absolute!important;
    z-index:9!important;
    right:clamp(18px,1.6vw,28px)!important;
    bottom:13px!important;
    width:26px!important;
    height:26px!important;
    border-radius:999px!important;
    display:grid!important;
    place-items:center!important;
    color:rgba(26,43,76,.52)!important;
    background:rgba(255,255,255,.74)!important;
    border:1px solid rgba(26,43,76,.08)!important;
    box-shadow:0 10px 22px rgba(26,43,76,.07)!important;
    font-size:1rem!important;
    line-height:1!important;
    pointer-events:none!important;
  }
}

@media (min-width:981px) and (max-width:1460px){
  .mobile-menu__top .brand-mark,
  .mobile-menu__top .brand img.brand-mark{width:clamp(132px,12.4vw,176px)!important;max-height:66px!important;}
  .rp-hamburger-services-panel.rp-hamburger-services-panel--carousel{
    left:clamp(408px,29.4vw,468px)!important;
    top:82px!important;
    bottom:24px!important;
    right:24px!important;
    min-width:630px!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__top{
    min-height:136px!important;
    padding:23px 32px 13px!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy h2{font-size:clamp(2.25rem,3vw,3.2rem)!important;max-width:14ch!important;}
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy span{font-size:.78rem!important;max-width:550px!important;}
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__cta{min-height:42px!important;padding:0 20px!important;font-size:.68rem!important;}
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__view{font-size:.68rem!important;}
  .rp-hamburger-services-panel__scroll{padding:20px 32px 36px!important;gap:14px!important;grid-auto-rows:minmax(clamp(300px,43vh,398px),auto)!important;}
  .rp-service-carousel{min-height:clamp(300px,43vh,398px)!important;padding:15px!important;}
  .rp-service-carousel__lead{font-size:.68rem!important;}
  .rp-service-carousel__arrow{width:34px!important;height:34px!important;}
  .rp-service-carousel__thumbs{gap:8px!important;}
}

@media (min-width:981px) and (max-height:820px){
  .rp-hamburger-services-panel.rp-hamburger-services-panel--carousel{top:76px!important;bottom:18px!important;}
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__top{min-height:122px!important;padding-top:18px!important;padding-bottom:10px!important;}
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy h2{font-size:2.55rem!important;}
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy span{font-size:.74rem!important;margin-top:7px!important;}
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__actions{gap:12px!important;}
  .rp-hamburger-services-panel__scroll{grid-auto-rows:minmax(300px,auto)!important;padding-top:16px!important;gap:12px!important;}
  .rp-service-carousel{min-height:300px!important;padding:13px!important;}
  .rp-service-carousel__head{margin-bottom:9px!important;}
  .rp-service-carousel__eyebrow h3{font-size:.74rem!important;}
  .rp-service-carousel__lead{display:none!important;}
  .rp-service-carousel__thumb{height:46px!important;}
  .rp-service-carousel__dots{margin-top:7px!important;}
}

@media (min-width:981px) and (max-height:700px){
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__top{min-height:104px!important;}
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy p{margin-bottom:5px!important;font-size:.62rem!important;}
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy h2{font-size:2.2rem!important;}
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy span{display:none!important;}
  .rp-hamburger-services-panel__scroll{grid-auto-rows:minmax(262px,auto)!important;}
  .rp-service-carousel{min-height:262px!important;}
  .rp-service-carousel__thumbs{display:none!important;}
}

/* Tablet / mobile: keep the menu readable and prevent layout overflow. */
@media (max-width:980px){
  .mobile-menu__top .brand .rp-overlay-logo{display:none!important;}
  .mobile-menu__top .brand-mark,
  .mobile-menu__top .brand img.brand-mark{
    display:block!important;
    width:126px!important;
    max-height:58px!important;
    object-fit:contain!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
  }
  .rp-hamburger-services-panel.rp-hamburger-services-panel--carousel{display:none!important;}
}

/* ===== SOURCE: assets/css/realpro-final-video-hero-header-spacing.css ===== */
/* REAL.PRO Studios — Final video hero, larger header logo and below-fold trust band */
:root{
  --rp-final-header-height-desktop: clamp(108px, 7.6vw, 132px);
  --rp-final-header-height-tablet: clamp(92px, 11vw, 112px);
  --rp-final-header-height-mobile: 86px;
  --rp-final-logo-desktop: clamp(200px, 14vw, 252px);
  --rp-final-logo-tablet: clamp(164px, 22vw, 210px);
  --rp-final-logo-mobile: clamp(138px, 39vw, 168px);
}

html{scroll-padding-top:var(--rp-final-header-height-desktop)!important;}

.site-header,
.site-header.is-scrolled,
.site-header:focus-within,
.site-header.menu-active,
body.menu-open .site-header{
  height:var(--rp-final-header-height-desktop)!important;
  min-height:var(--rp-final-header-height-desktop)!important;
  background:rgba(255,255,255,.985)!important;
  border-bottom:1px solid rgba(26,43,76,.09)!important;
  box-shadow:0 14px 40px rgba(26,43,76,.045)!important;
}

.site-header .nav-shell,
.site-header.is-scrolled .nav-shell,
.site-header:focus-within .nav-shell,
.site-header.menu-active .nav-shell,
body.menu-open .site-header .nav-shell,
.nav-shell,
.nav-shell--premium{
  height:var(--rp-final-header-height-desktop)!important;
  min-height:var(--rp-final-header-height-desktop)!important;
  width:calc(100% - clamp(58px, 5vw, 96px))!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding:clamp(16px, 1.35vw, 22px) 0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.site-header .brand,
.site-header .brand:hover{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.site-header .brand-mark,
.site-header .brand img.brand-mark{
  width:var(--rp-final-logo-desktop)!important;
  max-width:var(--rp-final-logo-desktop)!important;
  height:auto!important;
  max-height:calc(var(--rp-final-header-height-desktop) - 26px)!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}

.site-header .menu-toggle{
  width:clamp(52px,4vw,64px)!important;
  height:clamp(52px,4vw,64px)!important;
  margin-left:auto!important;
}

.site-header .menu-toggle span{
  height:2px!important;
  background:#1A2B4C!important;
  border-radius:999px!important;
  transform-origin:center!important;
}

.site-header .menu-toggle span:nth-child(1),
.site-header .menu-toggle span:nth-child(3){width:42px!important;}
.site-header .menu-toggle span:nth-child(2){width:34px!important;}
.site-header .menu-toggle:hover span:nth-child(2){width:42px!important;background:#D32F2F!important;}

/* Full-screen video hero */
.home-model-page .rp-home-hero,
.rp-home-hero.rp-home-hero--video{
  min-height:calc(100svh - var(--rp-final-header-height-desktop))!important;
  margin-top:var(--rp-final-header-height-desktop)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#f7f8fa!important;
}

.home-model-page .rp-home-hero__media,
.rp-home-hero--video .rp-home-hero__media{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  margin:0!important;
  overflow:hidden!important;
  background:#eef0f2!important;
}

.rp-home-hero__video,
.rp-home-hero__fallback,
.home-model-page .rp-home-hero__media img,
.rp-home-hero--video .rp-home-hero__media img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border:0!important;
}

.rp-home-hero__video{
  z-index:2!important;
  opacity:1!important;
  filter:saturate(1.03) contrast(1.045) brightness(1.03)!important;
}

.rp-home-hero__fallback{
  z-index:1!important;
  filter:saturate(1.02) contrast(1.04) brightness(1.02)!important;
}

.home-model-page .rp-home-hero__cloud,
.rp-home-hero--video .rp-home-hero__cloud{
  z-index:3!important;
  background:
    radial-gradient(circle at 18% 43%, rgba(255,255,255,.97) 0%, rgba(255,255,255,.91) 22%, rgba(255,255,255,.64) 39%, rgba(255,255,255,.22) 57%, rgba(255,255,255,0) 72%),
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 16%, rgba(255,255,255,.72) 31%, rgba(255,255,255,.24) 52%, rgba(255,255,255,.03) 78%),
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.02) 58%, rgba(255,255,255,.30) 100%)!important;
}

.home-model-page .rp-home-hero__cloud::after,
.rp-home-hero--video .rp-home-hero__cloud::after{
  opacity:.035!important;
}

.home-model-page .rp-home-hero__inner,
.rp-home-hero--video .rp-home-hero__inner{
  position:relative!important;
  z-index:4!important;
  min-height:calc(100svh - var(--rp-final-header-height-desktop))!important;
  width:min(100% - clamp(44px, 7vw, 118px), 1560px)!important;
  margin-inline:auto!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding-top:clamp(34px, 4.5vh, 64px)!important;
  padding-bottom:clamp(44px, 7vh, 88px)!important;
}

.home-model-page .rp-home-hero__copy,
.rp-home-hero--video .rp-home-hero__copy{
  width:min(680px, 43vw)!important;
  max-width:680px!important;
  padding-top:clamp(8px, 1vh, 18px)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:clamp(14px, 1.6vw, 24px)!important;
}

.home-model-page .rp-home-hero .rp-eyebrow,
.rp-home-hero--video .rp-eyebrow{
  margin:0 0 clamp(2px, .5vw, 6px)!important;
  color:#D32F2F!important;
  letter-spacing:.23em!important;
  font-weight:900!important;
  text-shadow:0 1px 14px rgba(255,255,255,.55)!important;
}

.home-model-page .rp-home-hero h1,
.rp-home-hero--video h1{
  margin:0!important;
  color:#1A2B4C!important;
  font-size:clamp(4.9rem, 5.25vw, 8.15rem)!important;
  line-height:.895!important;
  letter-spacing:-.075em!important;
  max-width:8.8ch!important;
  text-wrap:balance!important;
  text-shadow:0 2px 20px rgba(255,255,255,.36)!important;
}

.home-model-page .rp-home-hero .rp-lead,
.rp-home-hero--video .rp-lead{
  margin:0!important;
  color:rgba(26,43,76,.90)!important;
  max-width:660px!important;
  font-size:clamp(1.04rem, 1.02vw, 1.25rem)!important;
  line-height:1.65!important;
  font-weight:500!important;
  text-shadow:0 1px 18px rgba(255,255,255,.60)!important;
}

.home-model-page .rp-home-hero .rp-button-row,
.rp-home-hero--video .rp-button-row{
  margin-top:clamp(4px, .8vw, 10px)!important;
}

.home-model-page .rp-home-hero .rp-btn--primary,
.rp-home-hero--video .rp-btn--primary{
  min-height:58px!important;
  padding:0 30px!important;
  border-radius:7px!important;
  box-shadow:0 20px 46px rgba(211,47,47,.23)!important;
}

/* The brand list now appears only after the user starts scrolling. */
.rp-home-hero .rp-trusted{display:none!important;}

.rp-trusted-below-fold{
  position:relative!important;
  z-index:5!important;
  padding:clamp(26px, 3vw, 44px) 0!important;
  margin:0!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;
  border-top:1px solid rgba(26,43,76,.075)!important;
  border-bottom:1px solid rgba(26,43,76,.06)!important;
}

.rp-trusted-below-fold__inner{
  display:grid!important;
  grid-template-columns:minmax(210px,.62fr) 1.38fr!important;
  align-items:center!important;
  gap:clamp(18px,3vw,54px)!important;
}

.rp-trusted-below-fold p{
  margin:0!important;
  color:rgba(26,43,76,.70)!important;
  font-weight:900!important;
  letter-spacing:-.015em!important;
  font-size:clamp(.95rem,1vw,1.15rem)!important;
}

.rp-trusted-below-fold .rp-logo-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(12px,1.4vw,22px)!important;
  align-items:stretch!important;
}

.rp-trusted-below-fold .rp-logo-row span{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:74px!important;
  padding:18px 18px 16px 52px!important;
  border:1px solid rgba(26,43,76,.10)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 14px 36px rgba(26,43,76,.045)!important;
  color:#1A2B4C!important;
  font-size:.84rem!important;
  font-weight:950!important;
  line-height:.96!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}

.rp-trusted-below-fold .rp-logo-row span::before{
  content:""!important;
  position:absolute!important;
  left:20px!important;
  top:50%!important;
  width:18px!important;
  height:18px!important;
  border:2px solid rgba(26,43,76,.70)!important;
  border-radius:5px!important;
  transform:translateY(-50%) rotate(45deg)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(26,43,76,.03))!important;
}

.rp-trusted-below-fold .rp-logo-row small{
  color:rgba(26,43,76,.60)!important;
  font-size:.72em!important;
  letter-spacing:.08em!important;
}

@media (min-width:1600px){
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy{width:min(710px, 40vw)!important;}
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{font-size:clamp(5.2rem,5.1vw,8.35rem)!important;}
}

@media (max-width:1200px){
  html{scroll-padding-top:var(--rp-final-header-height-tablet)!important;}
  .site-header,
  .site-header.is-scrolled,
  .site-header:focus-within,
  .site-header.menu-active,
  body.menu-open .site-header{
    height:var(--rp-final-header-height-tablet)!important;
    min-height:var(--rp-final-header-height-tablet)!important;
  }
  .site-header .nav-shell,
  .site-header.is-scrolled .nav-shell,
  .site-header:focus-within .nav-shell,
  .site-header.menu-active .nav-shell,
  body.menu-open .site-header .nav-shell,
  .nav-shell,
  .nav-shell--premium{
    height:var(--rp-final-header-height-tablet)!important;
    min-height:var(--rp-final-header-height-tablet)!important;
    width:calc(100% - 34px)!important;
    padding:14px 0!important;
  }
  .site-header .brand-mark,
  .site-header .brand img.brand-mark{
    width:var(--rp-final-logo-tablet)!important;
    max-width:var(--rp-final-logo-tablet)!important;
    max-height:calc(var(--rp-final-header-height-tablet) - 22px)!important;
  }
  .home-model-page .rp-home-hero,
  .rp-home-hero.rp-home-hero--video{
    min-height:calc(100svh - var(--rp-final-header-height-tablet))!important;
    margin-top:var(--rp-final-header-height-tablet)!important;
  }
  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{
    min-height:calc(100svh - var(--rp-final-header-height-tablet))!important;
    padding-top:clamp(30px, 4vh, 54px)!important;
  }
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy{width:min(600px, 54vw)!important;}
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{font-size:clamp(4.25rem, 6.4vw, 6.6rem)!important;}
}

@media (max-width:860px){
  .home-model-page .rp-home-hero__cloud,
  .rp-home-hero--video .rp-home-hero__cloud{
    background:
      linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 39%,rgba(255,255,255,.42) 78%,rgba(255,255,255,.12) 100%),
      linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.16) 100%)!important;
  }
  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{
    width:calc(100% - 34px)!important;
    padding-top:clamp(24px, 4vh, 42px)!important;
    padding-bottom:clamp(34px, 7vh, 68px)!important;
  }
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy{
    width:min(100%, 560px)!important;
    max-width:560px!important;
  }
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{
    font-size:clamp(3.75rem, 12vw, 5.6rem)!important;
    max-width:8.9ch!important;
  }
  .rp-trusted-below-fold__inner{grid-template-columns:1fr!important;gap:18px!important;}
  .rp-trusted-below-fold .rp-logo-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media (max-width:560px){
  html{scroll-padding-top:var(--rp-final-header-height-mobile)!important;}
  .site-header,
  .site-header.is-scrolled,
  .site-header:focus-within,
  .site-header.menu-active,
  body.menu-open .site-header{
    height:var(--rp-final-header-height-mobile)!important;
    min-height:var(--rp-final-header-height-mobile)!important;
  }
  .site-header .nav-shell,
  .site-header.is-scrolled .nav-shell,
  .site-header:focus-within .nav-shell,
  .site-header.menu-active .nav-shell,
  body.menu-open .site-header .nav-shell,
  .nav-shell,
  .nav-shell--premium{
    height:var(--rp-final-header-height-mobile)!important;
    min-height:var(--rp-final-header-height-mobile)!important;
    width:calc(100% - 24px)!important;
    padding:10px 0!important;
  }
  .site-header .brand-mark,
  .site-header .brand img.brand-mark{
    width:var(--rp-final-logo-mobile)!important;
    max-width:var(--rp-final-logo-mobile)!important;
    max-height:68px!important;
  }
  .site-header .menu-toggle{
    width:48px!important;
    height:48px!important;
  }
  .site-header .menu-toggle span:nth-child(1),
  .site-header .menu-toggle span:nth-child(3){width:34px!important;}
  .site-header .menu-toggle span:nth-child(2){width:28px!important;}
  .home-model-page .rp-home-hero,
  .rp-home-hero.rp-home-hero--video{
    min-height:calc(100svh - var(--rp-final-header-height-mobile))!important;
    margin-top:var(--rp-final-header-height-mobile)!important;
  }
  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{
    min-height:calc(100svh - var(--rp-final-header-height-mobile))!important;
    width:calc(100% - 26px)!important;
    padding-top:clamp(20px, 4vh, 34px)!important;
    padding-bottom:32px!important;
  }
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy{gap:12px!important;}
  .home-model-page .rp-home-hero .rp-eyebrow,
  .rp-home-hero--video .rp-eyebrow{font-size:.72rem!important;letter-spacing:.18em!important;}
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{
    font-size:clamp(3.02rem, 15vw, 4.65rem)!important;
    line-height:.91!important;
    max-width:8.6ch!important;
  }
  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{font-size:.96rem!important;line-height:1.52!important;max-width:96%!important;}
  .home-model-page .rp-home-hero .rp-btn--primary,
  .rp-home-hero--video .rp-btn--primary{width:100%!important;justify-content:center!important;min-height:54px!important;}
  .rp-trusted-below-fold{padding:24px 0 30px!important;}
  .rp-trusted-below-fold .rp-logo-row{grid-template-columns:1fr!important;gap:10px!important;}
  .rp-trusted-below-fold .rp-logo-row span{min-height:64px!important;padding:15px 15px 14px 48px!important;border-radius:16px!important;}
}

/* REAL.PRO Studios — final hero visibility correction
   Goal: keep the larger header, make the logo slightly smaller,
   remove the unwanted blank band, and keep the smoke treatment only behind the text. */
:root{
  --rp-final-logo-desktop: clamp(172px, 11.4vw, 214px);
  --rp-final-logo-tablet: clamp(142px, 18vw, 184px);
  --rp-final-logo-mobile: clamp(116px, 33vw, 146px);
}

.site-header,
.site-header.is-scrolled,
.site-header:focus-within,
.site-header.menu-active,
body.menu-open .site-header{
  position:sticky!important;
  top:0!important;
  z-index:10000!important;
  height:var(--rp-final-header-height-desktop)!important;
  min-height:var(--rp-final-header-height-desktop)!important;
}

.site-header .brand-mark,
.site-header .brand img.brand-mark{
  width:var(--rp-final-logo-desktop)!important;
  max-width:var(--rp-final-logo-desktop)!important;
  max-height:calc(var(--rp-final-header-height-desktop) - 34px)!important;
}

.home-model-page .rp-home-hero,
.rp-home-hero.rp-home-hero--video{
  margin-top:0!important;
  min-height:calc(100svh - var(--rp-final-header-height-desktop))!important;
  background:#0f1624!important;
}

.home-model-page .rp-home-hero__media,
.rp-home-hero--video .rp-home-hero__media{
  inset:0!important;
  background:#0f1624!important;
}

.rp-home-hero__video,
.rp-home-hero__fallback,
.home-model-page .rp-home-hero__media img,
.rp-home-hero--video .rp-home-hero__media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:58% center!important;
  opacity:1!important;
}

.rp-home-hero__video{
  filter:saturate(1.07) contrast(1.06) brightness(1.02)!important;
}

.home-model-page .rp-home-hero__cloud,
.rp-home-hero--video .rp-home-hero__cloud{
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  left:0!important;
  right:auto!important;
  width:min(58vw, 930px)!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse 78% 54% at 22% 42%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.93) 24%, rgba(255,255,255,.70) 43%, rgba(255,255,255,.30) 61%, rgba(255,255,255,0) 79%),
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 20%, rgba(255,255,255,.70) 43%, rgba(255,255,255,.25) 66%, rgba(255,255,255,0) 100%)!important;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 72%,rgba(0,0,0,.58) 86%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,#000 0%,#000 72%,rgba(0,0,0,.58) 86%,transparent 100%)!important;
}

.home-model-page .rp-home-hero__cloud::after,
.rp-home-hero--video .rp-home-hero__cloud::after{
  display:none!important;
  content:none!important;
  opacity:0!important;
}

.home-model-page .rp-home-hero__inner,
.rp-home-hero--video .rp-home-hero__inner{
  min-height:calc(100svh - var(--rp-final-header-height-desktop))!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding-top:clamp(42px, 5.2vh, 78px)!important;
  padding-bottom:clamp(42px, 6vh, 82px)!important;
}

.home-model-page .rp-home-hero__copy,
.rp-home-hero--video .rp-home-hero__copy{
  position:relative!important;
  z-index:5!important;
  width:min(630px, 38vw)!important;
  max-width:630px!important;
  padding-top:0!important;
  gap:clamp(12px, 1.2vw, 18px)!important;
}

.home-model-page .rp-home-hero__copy::before,
.rp-home-hero--video .rp-home-hero__copy::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  inset:clamp(-32px,-2vw,-18px) clamp(-96px,-5vw,-48px) clamp(-38px,-2.5vw,-20px) clamp(-48px,-3vw,-24px)!important;
  border-radius:42px!important;
  background:
    radial-gradient(ellipse 76% 48% at 30% 35%, rgba(255,255,255,.88), rgba(255,255,255,.50) 48%, rgba(255,255,255,0) 78%),
    linear-gradient(90deg, rgba(255,255,255,.64), rgba(255,255,255,.18) 62%, rgba(255,255,255,0))!important;
  filter:blur(3px)!important;
}

.home-model-page .rp-home-hero .rp-eyebrow,
.rp-home-hero--video .rp-eyebrow{
  color:#D32F2F!important;
  text-shadow:0 1px 18px rgba(255,255,255,.92)!important;
}

.home-model-page .rp-home-hero h1,
.rp-home-hero--video h1{
  max-width:8.45ch!important;
  text-shadow:0 2px 22px rgba(255,255,255,.72)!important;
}

.home-model-page .rp-home-hero .rp-lead,
.rp-home-hero--video .rp-lead{
  max-width:640px!important;
  text-shadow:0 1px 18px rgba(255,255,255,.82)!important;
}

@media (max-width:1200px){
  .site-header,
  .site-header.is-scrolled,
  .site-header:focus-within,
  .site-header.menu-active,
  body.menu-open .site-header{
    height:var(--rp-final-header-height-tablet)!important;
    min-height:var(--rp-final-header-height-tablet)!important;
  }
  .site-header .brand-mark,
  .site-header .brand img.brand-mark{
    width:var(--rp-final-logo-tablet)!important;
    max-width:var(--rp-final-logo-tablet)!important;
    max-height:calc(var(--rp-final-header-height-tablet) - 28px)!important;
  }
  .home-model-page .rp-home-hero,
  .rp-home-hero.rp-home-hero--video{
    margin-top:0!important;
    min-height:calc(100svh - var(--rp-final-header-height-tablet))!important;
  }
  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{
    min-height:calc(100svh - var(--rp-final-header-height-tablet))!important;
    padding-top:clamp(34px, 4.6vh, 62px)!important;
  }
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy{
    width:min(590px, 50vw)!important;
  }
}

@media (max-width:860px){
  .rp-home-hero__video,
  .rp-home-hero__fallback,
  .home-model-page .rp-home-hero__media img,
  .rp-home-hero--video .rp-home-hero__media img{
    object-position:center center!important;
  }
  .home-model-page .rp-home-hero__cloud,
  .rp-home-hero--video .rp-home-hero__cloud{
    width:100%!important;
    background:
      linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 44%,rgba(255,255,255,.44) 78%,rgba(255,255,255,.08) 100%),
      linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.22) 100%)!important;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 82%,transparent 100%)!important;
    mask-image:linear-gradient(90deg,#000 0%,#000 82%,transparent 100%)!important;
  }
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy{
    width:min(100%, 560px)!important;
    max-width:560px!important;
  }
}

@media (max-width:560px){
  .site-header,
  .site-header.is-scrolled,
  .site-header:focus-within,
  .site-header.menu-active,
  body.menu-open .site-header{
    height:var(--rp-final-header-height-mobile)!important;
    min-height:var(--rp-final-header-height-mobile)!important;
  }
  .site-header .brand-mark,
  .site-header .brand img.brand-mark{
    width:var(--rp-final-logo-mobile)!important;
    max-width:var(--rp-final-logo-mobile)!important;
    max-height:58px!important;
  }
  .home-model-page .rp-home-hero,
  .rp-home-hero.rp-home-hero--video{
    margin-top:0!important;
    min-height:calc(100svh - var(--rp-final-header-height-mobile))!important;
  }
  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{
    min-height:calc(100svh - var(--rp-final-header-height-mobile))!important;
    padding-top:clamp(24px, 4vh, 38px)!important;
  }
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{
    max-width:8.4ch!important;
  }
}

/* ===== SOURCE: assets/css/realpro-final-split-video-hero.css ===== */
/* ========================================================================== 
   REAL.PRO Studios — Final split video hero visibility patch
   Goal: preserve the larger header, slightly reduce the logo, restore the
   original editorial split hero: white text field on the left, clean video on
   the right, and keep every required hero line visible without clipping.
   ========================================================================== */
:root{
  --rp-final-header-height-desktop: clamp(108px, 7.6vw, 132px);
  --rp-final-header-height-tablet: clamp(92px, 11vw, 112px);
  --rp-final-header-height-mobile: 86px;
  --rp-final-logo-desktop: clamp(176px, 12.2vw, 216px);
  --rp-final-logo-tablet: clamp(148px, 19vw, 184px);
  --rp-final-logo-mobile: clamp(124px, 34vw, 146px);
  --rp-split-left: clamp(560px, 45.5vw, 850px);
  --rp-split-red:#D32F2F;
  --rp-split-navy:#1A2B4C;
  --rp-split-ink:#273449;
}

/* Header remains tall, but the logo is reduced slightly for cleaner proportion. */
.site-header,
.site-header.is-scrolled,
.site-header:focus-within,
.site-header.menu-active,
body.menu-open .site-header{
  height:var(--rp-final-header-height-desktop)!important;
  min-height:var(--rp-final-header-height-desktop)!important;
  background:#fff!important;
  border-bottom:1px solid rgba(26,43,76,.085)!important;
  box-shadow:0 12px 34px rgba(26,43,76,.038)!important;
}
.site-header .nav-shell,
.site-header.is-scrolled .nav-shell,
.site-header:focus-within .nav-shell,
.site-header.menu-active .nav-shell,
body.menu-open .site-header .nav-shell,
.nav-shell,
.nav-shell--premium{
  height:var(--rp-final-header-height-desktop)!important;
  min-height:var(--rp-final-header-height-desktop)!important;
  width:calc(100% - clamp(56px,5vw,96px))!important;
  padding:clamp(18px,1.4vw,22px) 0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.site-header .brand-mark,
.site-header .brand img.brand-mark{
  width:var(--rp-final-logo-desktop)!important;
  max-width:var(--rp-final-logo-desktop)!important;
  height:auto!important;
  max-height:calc(var(--rp-final-header-height-desktop) - 34px)!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}

/* Split hero: white editorial text field on the left, video isolated on the right. */
.home-model-page .rp-home-hero,
.rp-home-hero.rp-home-hero--video{
  position:relative!important;
  min-height:calc(100svh - var(--rp-final-header-height-desktop))!important;
  margin-top:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#fff!important;
  border-bottom:1px solid rgba(26,43,76,.065)!important;
}

.home-model-page .rp-home-hero__media,
.rp-home-hero--video .rp-home-hero__media{
  position:absolute!important;
  z-index:1!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:var(--rp-split-left)!important;
  margin:0!important;
  overflow:hidden!important;
  background:#0b1424!important;
  border:0!important;
  box-shadow:none!important;
}
.home-model-page .rp-home-hero__media::before,
.rp-home-hero--video .rp-home-hero__media::before{
  content:""!important;
  position:absolute!important;
  z-index:4!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 7%,rgba(0,0,0,0) 82%,rgba(0,0,0,.14) 100%)!important;
  opacity:.55!important;
}
.rp-home-hero__video,
.rp-home-hero__fallback,
.home-model-page .rp-home-hero__media img,
.rp-home-hero--video .rp-home-hero__media img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border:0!important;
  opacity:1!important;
}
.rp-home-hero__video{
  z-index:2!important;
  filter:saturate(1.05) contrast(1.04) brightness(1.02)!important;
}
.rp-home-hero__fallback{
  z-index:1!important;
  filter:saturate(1.03) contrast(1.04) brightness(1.02)!important;
}

/* Smoke/fog is now reserved for the text area only. It never washes over the video. */
.home-model-page .rp-home-hero__cloud,
.rp-home-hero--video .rp-home-hero__cloud{
  position:absolute!important;
  z-index:2!important;
  top:0!important;
  bottom:0!important;
  left:0!important;
  right:auto!important;
  width:var(--rp-split-left)!important;
  pointer-events:none!important;
  opacity:1!important;
  background:
    radial-gradient(circle at 24% 40%,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 30%,rgba(255,255,255,.80) 57%,rgba(255,255,255,0) 83%),
    linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 62%,rgba(255,255,255,.88) 82%,rgba(255,255,255,0) 100%)!important;
}
.home-model-page .rp-home-hero__cloud::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:radial-gradient(circle at 22% 52%,rgba(26,43,76,.045),transparent 38%),radial-gradient(circle at 12% 18%,rgba(211,47,47,.045),transparent 28%)!important;
  mix-blend-mode:multiply!important;
  opacity:.5!important;
}
.home-model-page .rp-home-hero__cloud::after,
.rp-home-hero--video .rp-home-hero__cloud::after{opacity:.018!important;}

.home-model-page .rp-home-hero__inner,
.rp-home-hero--video .rp-home-hero__inner{
  position:relative!important;
  z-index:5!important;
  min-height:calc(100svh - var(--rp-final-header-height-desktop))!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:clamp(26px,3.2vh,52px) clamp(42px,4.55vw,88px)!important;
}
.home-model-page .rp-home-hero__copy,
.rp-home-hero--video .rp-home-hero__copy,
.home-model-page .hero-copy{
  width:min(100%, clamp(470px, 37.5vw, 710px))!important;
  max-width:710px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:clamp(10px,1.05vh,16px)!important;
  transform:none!important;
  will-change:auto!important;
}

.rp-hero-scene-caption{
  order:0!important;
  margin:0 0 clamp(2px,.35vh,4px)!important;
  max-width:62ch!important;
  color:rgba(26,43,76,.66)!important;
  font-size:clamp(.68rem,.72vw,.82rem)!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
}
.home-model-page .rp-home-hero .rp-eyebrow,
.rp-home-hero--video .rp-eyebrow{
  order:1!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0!important;
  color:var(--rp-split-red)!important;
  font-size:clamp(.72rem,.78vw,.88rem)!important;
  line-height:1.1!important;
  letter-spacing:.24em!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  text-shadow:none!important;
}
.home-model-page .rp-home-hero .rp-eyebrow::before,
.rp-home-hero--video .rp-eyebrow::before{
  content:""!important;
  flex:0 0 clamp(28px,2.4vw,40px)!important;
  width:clamp(28px,2.4vw,40px)!important;
  height:2px!important;
  background:var(--rp-split-red)!important;
}
.home-model-page .rp-home-hero h1,
.rp-home-hero--video h1{
  order:2!important;
  margin:0!important;
  max-width:13.1ch!important;
  color:var(--rp-split-navy)!important;
  font-family:var(--display, Impact, "Arial Narrow", Arial, sans-serif)!important;
  font-size:clamp(3.45rem,4.75vw,6.08rem)!important;
  line-height:.89!important;
  letter-spacing:-.078em!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  text-wrap:balance!important;
  text-shadow:none!important;
}
.home-model-page .rp-home-hero .rp-lead,
.rp-home-hero--video .rp-lead{
  order:3!important;
  margin:clamp(4px,.5vh,8px) 0 0!important;
  max-width:700px!important;
  color:rgba(39,52,73,.94)!important;
  font-size:clamp(1.01rem,1.03vw,1.22rem)!important;
  line-height:1.56!important;
  font-weight:520!important;
  letter-spacing:-.012em!important;
  text-shadow:none!important;
}
.home-model-page .rp-home-hero .rp-button-row,
.rp-home-hero--video .rp-button-row{
  order:4!important;
  margin-top:clamp(10px,1.2vh,18px)!important;
}
.home-model-page .rp-home-hero .rp-btn--primary,
.rp-home-hero--video .rp-btn--primary{
  min-height:clamp(50px,4.2vw,58px)!important;
  padding:0 clamp(22px,2.2vw,32px)!important;
  border-radius:6px!important;
  background:var(--rp-split-red)!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(211,47,47,.23),0 1px 0 rgba(255,255,255,.18) inset!important;
}

/* Keep trust logos strictly below the first hero viewport. */
.rp-home-hero .rp-trusted{display:none!important;}
.rp-trusted-below-fold{
  position:relative!important;
  z-index:4!important;
  margin:0!important;
}

@media (min-width:1600px){
  :root{--rp-split-left:clamp(720px,44.2vw,880px);}  
  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{padding-left:clamp(64px,4.6vw,96px)!important;}
}
@media (max-width:1360px){
  :root{--rp-split-left:clamp(500px,46.5vw,650px);}  
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{font-size:clamp(3.2rem,4.55vw,5.2rem)!important;max-width:12.8ch!important;}
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy{width:min(100%,clamp(430px,39vw,590px))!important;}
  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{font-size:clamp(.98rem,1.04vw,1.12rem)!important;line-height:1.52!important;}
}
@media (max-height:820px) and (min-width:981px){
  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{padding-top:clamp(18px,2.4vh,34px)!important;padding-bottom:clamp(18px,2.4vh,34px)!important;}
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy{gap:clamp(8px,.82vh,12px)!important;}
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{font-size:clamp(3.05rem,4.35vw,5.25rem)!important;line-height:.875!important;}
  .rp-hero-scene-caption{font-size:.68rem!important;line-height:1.25!important;}
  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{font-size:.98rem!important;line-height:1.45!important;}
  .home-model-page .rp-home-hero .rp-btn--primary,
  .rp-home-hero--video .rp-btn--primary{min-height:48px!important;}
}
@media (max-height:700px) and (min-width:981px){
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{font-size:clamp(2.72rem,3.95vw,4.5rem)!important;max-width:13.5ch!important;}
  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{max-width:620px!important;font-size:.92rem!important;line-height:1.38!important;}
  .home-model-page .rp-home-hero .rp-button-row,
  .rp-home-hero--video .rp-button-row{margin-top:6px!important;}
}

@media (max-width:980px){
  html{scroll-padding-top:var(--rp-final-header-height-tablet)!important;}
  .site-header,
  .site-header.is-scrolled,
  .site-header:focus-within,
  .site-header.menu-active,
  body.menu-open .site-header{
    height:var(--rp-final-header-height-tablet)!important;
    min-height:var(--rp-final-header-height-tablet)!important;
  }
  .site-header .nav-shell,
  .nav-shell,
  .nav-shell--premium{
    height:var(--rp-final-header-height-tablet)!important;
    min-height:var(--rp-final-header-height-tablet)!important;
    width:calc(100% - clamp(28px,5vw,54px))!important;
  }
  .site-header .brand-mark,
  .site-header .brand img.brand-mark{
    width:var(--rp-final-logo-tablet)!important;
    max-width:var(--rp-final-logo-tablet)!important;
    max-height:calc(var(--rp-final-header-height-tablet) - 26px)!important;
  }
  .home-model-page .rp-home-hero,
  .rp-home-hero.rp-home-hero--video{
    min-height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    margin-top:0!important;
    background:#fff!important;
  }
  .home-model-page .rp-home-hero__media,
  .rp-home-hero--video .rp-home-hero__media{
    order:2!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
    border-top:1px solid rgba(26,43,76,.08)!important;
  }
  .home-model-page .rp-home-hero__cloud,
  .rp-home-hero--video .rp-home-hero__cloud{
    inset:0!important;
    width:100%!important;
    height:auto!important;
    bottom:auto!important;
    min-height:0!important;
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 86%,rgba(255,255,255,.72) 100%)!important;
  }
  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{
    order:1!important;
    min-height:auto!important;
    width:100%!important;
    padding:clamp(34px,7vw,62px) clamp(24px,5vw,48px) clamp(34px,6vw,54px)!important;
  }
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy,
  .home-model-page .hero-copy{
    width:min(100%,720px)!important;
    max-width:720px!important;
    gap:12px!important;
  }
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{
    font-size:clamp(3.05rem,8.6vw,5.25rem)!important;
    max-width:12.8ch!important;
    line-height:.9!important;
  }
  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{font-size:clamp(.98rem,2.2vw,1.1rem)!important;line-height:1.52!important;}
}
@media (max-width:640px){
  .site-header,
  .site-header.is-scrolled,
  .site-header:focus-within,
  .site-header.menu-active,
  body.menu-open .site-header{
    height:var(--rp-final-header-height-mobile)!important;
    min-height:var(--rp-final-header-height-mobile)!important;
  }
  .site-header .nav-shell,
  .nav-shell,
  .nav-shell--premium{
    height:var(--rp-final-header-height-mobile)!important;
    min-height:var(--rp-final-header-height-mobile)!important;
    width:calc(100% - 24px)!important;
    padding:14px 0!important;
  }
  .site-header .brand-mark,
  .site-header .brand img.brand-mark{
    width:var(--rp-final-logo-mobile)!important;
    max-width:var(--rp-final-logo-mobile)!important;
    max-height:calc(var(--rp-final-header-height-mobile) - 18px)!important;
  }
  .site-header .menu-toggle{width:48px!important;height:48px!important;}
  .site-header .menu-toggle span:nth-child(1),
  .site-header .menu-toggle span:nth-child(3){width:34px!important;}
  .site-header .menu-toggle span:nth-child(2){width:28px!important;}
  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{padding:30px 22px 34px!important;}
  .rp-hero-scene-caption{font-size:.66rem!important;line-height:1.33!important;}
  .home-model-page .rp-home-hero .rp-eyebrow,
  .rp-home-hero--video .rp-eyebrow{font-size:.68rem!important;letter-spacing:.19em!important;}
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{
    font-size:clamp(2.42rem,13.4vw,4.05rem)!important;
    max-width:11.6ch!important;
    letter-spacing:-.068em!important;
  }
  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{font-size:.95rem!important;line-height:1.5!important;}
  .home-model-page .rp-home-hero .rp-btn--primary,
  .rp-home-hero--video .rp-btn--primary{width:100%!important;justify-content:center!important;}
}

/* ===== SOURCE: assets/css/realpro-menu-logo-contrast-weight-final.css ===== */
/* ========================================================================== 
   REAL.PRO Studios — Mega menu light logo + refined 600-weight information
   Final patch: improves logo contrast on the dark fullscreen menu and reduces
   the visual weight of mega-menu information without changing the structure.
   ========================================================================== */
:root{
  --rp-menu-logo-light:url("../../images/REALPRO_STUDIOS_SITE_ASSETS_WEBP_ORGANIZED/00_GLOBAL_ASSETS/realpro-studios-logo-light-menu.webp");
}

@media (min-width:981px){
  /* Use a light logo only inside the dark fullscreen hamburger / mega menu. */
  .mobile-menu__top .brand .brand-mark,
  .mobile-menu__top .brand img.brand-mark{
    content:var(--rp-menu-logo-light)!important;
    width:clamp(160px,12.2vw,218px)!important;
    max-width:218px!important;
    max-height:82px!important;
    object-fit:contain!important;
    object-position:left center!important;
    filter:drop-shadow(0 18px 30px rgba(0,0,0,.38)) drop-shadow(0 0 1px rgba(255,255,255,.20))!important;
    opacity:1!important;
  }

  /* Reduce the heavy feel of the main fullscreen navigation to 600. */
  .mobile-menu__nav > a[data-nav]:not(.btn){
    font-weight:600!important;
    letter-spacing:-.074em!important;
    text-shadow:0 18px 42px rgba(0,0,0,.32)!important;
    -webkit-font-smoothing:antialiased!important;
    text-rendering:geometricPrecision!important;
  }
  .mobile-menu__nav > a[data-nav]:not(.btn):hover,
  .mobile-menu__nav > a[data-nav]:not(.btn):focus-visible{
    font-weight:600!important;
  }

  /* Keep Services highlighted, but less visually aggressive. */
  .mobile-menu__nav > a[href="services.html"]{
    font-weight:600!important;
    text-shadow:0 18px 42px rgba(211,47,47,.24)!important;
  }

  /* Services panel copy and controls: premium, lighter, more editorial. */
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy h2{
    font-weight:600!important;
    letter-spacing:-.055em!important;
  }
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy p,
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__copy span,
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__view,
  .rp-hamburger-services-panel--carousel .rp-hamburger-services-panel__cta,
  .rp-service-carousel__eyebrow h3,
  .rp-service-carousel__lead,
  .rp-service-carousel__caption strong,
  .rp-service-carousel__caption small,
  .rp-service-carousel__counter,
  .rp-service-carousel__number{
    font-weight:600!important;
  }

  .rp-service-carousel__caption strong{
    letter-spacing:-.018em!important;
  }
  .rp-service-carousel__caption small,
  .rp-service-carousel__lead{
    color:rgba(255,255,255,.86)!important;
  }
  .rp-service-carousel__lead{
    color:rgba(26,43,76,.64)!important;
  }

  /* Subtle balance for the panel so the lighter type still feels expensive. */
  .rp-hamburger-services-panel.rp-hamburger-services-panel--carousel{
    box-shadow:
      0 2px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(26,43,76,.08),
      0 38px 96px rgba(0,0,0,.36)!important;
  }
}

@media (min-width:981px) and (max-width:1460px){
  .mobile-menu__top .brand .brand-mark,
  .mobile-menu__top .brand img.brand-mark{
    width:clamp(142px,12vw,184px)!important;
    max-height:70px!important;
  }
  .mobile-menu__nav > a[data-nav]:not(.btn){
    font-weight:600!important;
  }
}

@media (max-width:980px){
  .mobile-menu__top .brand .brand-mark,
  .mobile-menu__top .brand img.brand-mark{
    content:var(--rp-menu-logo-light)!important;
    filter:drop-shadow(0 12px 24px rgba(0,0,0,.34))!important;
  }
}

/* ===== SOURCE: assets/css/realpro-final-hero-global-visual-fix.css ===== */
/* ==========================================================================
   REAL.PRO Studios — Final global hero + mega-menu visual correction
   Requested refinements:
   - remove visible scene-caption subtitle from home hero;
   - keep home hero as editorial split: text left, video right, no clipping;
   - make every internal page hero full-bleed, premium, aligned and readable;
   - normalize service carousel feature/thumb image sizes.
   ========================================================================== */

:root{
  --rp-page-hero-pad-x: clamp(34px, 6vw, 112px);
  --rp-page-hero-copy: min(680px, 46vw);
  --rp-page-hero-min: calc(100svh - var(--rp-final-header-height-desktop, 118px));
}

/* --------------------------------------------------------------------------
   HOME HERO: clean split video, all information visible, no extra caption line
   -------------------------------------------------------------------------- */
.rp-hero-scene-caption{display:none!important;}
.home-model-page .rp-home-hero,
.rp-home-hero.rp-home-hero--video{
  min-height:var(--rp-page-hero-min)!important;
  background:#fff!important;
}
.home-model-page .rp-home-hero__inner,
.rp-home-hero--video .rp-home-hero__inner{
  min-height:var(--rp-page-hero-min)!important;
  align-items:center!important;
  padding-top:clamp(26px,3vh,50px)!important;
  padding-bottom:clamp(28px,3.4vh,56px)!important;
}
.home-model-page .rp-home-hero__copy,
.rp-home-hero--video .rp-home-hero__copy{
  gap:clamp(11px,1.1vh,18px)!important;
  max-width:min(710px,calc(var(--rp-split-left, 45vw) - clamp(70px,8vw,150px)))!important;
}
.home-model-page .rp-home-hero h1,
.rp-home-hero--video h1{
  font-size:clamp(3.18rem,4.55vw,5.85rem)!important;
  line-height:.895!important;
  max-width:13.25ch!important;
  letter-spacing:-.072em!important;
}
.home-model-page .rp-home-hero .rp-lead,
.rp-home-hero--video .rp-lead{
  max-width:660px!important;
  line-height:1.56!important;
}
.home-model-page .rp-home-hero__media,
.rp-home-hero--video .rp-home-hero__media{
  left:clamp(540px,46vw,865px)!important;
}
.home-model-page .rp-home-hero__cloud,
.rp-home-hero--video .rp-home-hero__cloud{
  width:clamp(590px,50vw,930px)!important;
  background:
    radial-gradient(ellipse 70% 82% at 18% 48%,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 35%,rgba(255,255,255,.78) 58%,rgba(255,255,255,.28) 78%,rgba(255,255,255,0) 100%),
    linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 57%,rgba(255,255,255,.82) 77%,rgba(255,255,255,0) 100%)!important;
}
.rp-home-hero__video,
.rp-home-hero__fallback{
  object-fit:cover!important;
  object-position:center center!important;
}

@media (max-height:780px) and (min-width:981px){
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy{gap:9px!important;}
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{font-size:clamp(2.86rem,4.12vw,4.9rem)!important;line-height:.885!important;}
  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{font-size:.94rem!important;line-height:1.42!important;max-width:610px!important;}
  .home-model-page .rp-home-hero .rp-button-row,
  .rp-home-hero--video .rp-button-row{margin-top:5px!important;}
}

/* --------------------------------------------------------------------------
   INTERNAL PAGE HEROES: full-bleed image, professional safe alignment
   -------------------------------------------------------------------------- */
body:not(.home-model-page) main > .hero,
body:not(.home-model-page) .hero.ref-hero,
body:not(.home-model-page) .reference-page .hero.ref-hero,
body:not(.home-model-page) .article-hero{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  min-height:var(--rp-page-hero-min)!important;
  margin:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#0b1424!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body:not(.home-model-page) main > .hero .hero-media,
body:not(.home-model-page) .hero.ref-hero .hero-media,
body:not(.home-model-page) .reference-page .hero.ref-hero .hero-media,
body:not(.home-model-page) .article-hero .hero-media{
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#0b1424!important;
}
body:not(.home-model-page) main > .hero .hero-media img,
body:not(.home-model-page) .hero.ref-hero .hero-media img,
body:not(.home-model-page) .reference-page .hero.ref-hero .hero-media img,
body:not(.home-model-page) .article-hero .hero-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:saturate(1.03) contrast(1.02) brightness(.98)!important;
}
body:not(.home-model-page) main > .hero::before,
body:not(.home-model-page) .hero.ref-hero::before,
body:not(.home-model-page) .reference-page .hero.ref-hero::before,
body:not(.home-model-page) .article-hero::before{
  content:""!important;
  position:absolute!important;
  z-index:2!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse 68% 90% at 0% 52%, rgba(255,255,255,.99) 0%, rgba(255,255,255,.96) 28%, rgba(255,255,255,.80) 45%, rgba(255,255,255,.48) 62%, rgba(255,255,255,.16) 77%, rgba(255,255,255,0) 94%),
    radial-gradient(ellipse 40% 60% at 25% 26%, rgba(255,255,255,.58) 0%, rgba(255,255,255,.26) 45%, rgba(255,255,255,0) 78%),
    linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.88) 24%, rgba(255,255,255,.60) 42%, rgba(255,255,255,.28) 58%, rgba(255,255,255,.07) 72%, rgba(255,255,255,0) 86%)!important;
  opacity:1!important;
  filter:none!important;
}
body:not(.home-model-page) main > .hero::after,
body:not(.home-model-page) .hero.ref-hero::after,
body:not(.home-model-page) .reference-page .hero.ref-hero::after,
body:not(.home-model-page) .article-hero::after{
  content:""!important;
  position:absolute!important;
  z-index:3!important;
  inset:0!important;
  pointer-events:none!important;
  opacity:.055!important;
  background:
    linear-gradient(90deg, rgba(26,43,76,.18) 1px, transparent 1px),
    linear-gradient(180deg, rgba(26,43,76,.13) 1px, transparent 1px)!important;
  background-size:92px 92px!important;
  mask-image:linear-gradient(90deg, rgba(0,0,0,.34), transparent 64%)!important;
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,.34), transparent 64%)!important;
}
body:not(.home-model-page) main > .hero .hero-grid,
body:not(.home-model-page) .hero.ref-hero .hero-grid,
body:not(.home-model-page) .reference-page .hero.ref-hero .ref-hero__grid,
body:not(.home-model-page) .article-hero .article-hero__grid{
  position:relative!important;
  z-index:4!important;
  width:min(1560px, calc(100% - (var(--rp-page-hero-pad-x) * 2)))!important;
  max-width:1560px!important;
  min-height:var(--rp-page-hero-min)!important;
  margin:0 auto!important;
  padding:clamp(70px,8vh,118px) 0 clamp(62px,7vh,104px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
body:not(.home-model-page) main > .hero .hero-copy,
body:not(.home-model-page) .hero.ref-hero .hero-copy,
body:not(.home-model-page) .reference-page .hero.ref-hero .hero-copy,
body:not(.home-model-page) .article-hero .article-hero__grid > div:first-child{
  position:relative!important;
  z-index:5!important;
  width:var(--rp-page-hero-copy)!important;
  max-width:680px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body:not(.home-model-page) main > .hero .hero-copy::before,
body:not(.home-model-page) main > .hero .hero-copy::after,
body:not(.home-model-page) .hero.ref-hero .hero-copy::before,
body:not(.home-model-page) .hero.ref-hero .hero-copy::after,
body:not(.home-model-page) .article-hero .article-hero__grid > div:first-child::before,
body:not(.home-model-page) .article-hero .article-hero__grid > div:first-child::after{
  display:none!important;
  content:none!important;
}
body:not(.home-model-page) main > .hero h1,
body:not(.home-model-page) .hero.ref-hero h1,
body:not(.home-model-page) .reference-page .hero.ref-hero h1,
body:not(.home-model-page) .article-hero h1{
  max-width:12ch!important;
  margin:clamp(14px,1.5vh,22px) 0 clamp(18px,2vh,26px)!important;
  color:#1A2B4C!important;
  font-family:var(--display, Impact, "Arial Narrow", Arial, sans-serif)!important;
  font-size:clamp(3.45rem,5.35vw,7.15rem)!important;
  line-height:.92!important;
  letter-spacing:-.064em!important;
  font-weight:650!important;
  text-transform:uppercase!important;
  text-shadow:0 20px 52px rgba(255,255,255,.95), 0 2px 9px rgba(255,255,255,.86)!important;
}
body:not(.home-model-page) main > .hero .lead,
body:not(.home-model-page) .hero.ref-hero .lead,
body:not(.home-model-page) .reference-page .hero.ref-hero .lead,
body:not(.home-model-page) .article-hero .lead{
  max-width:640px!important;
  color:rgba(13,18,30,.84)!important;
  font-size:clamp(1.02rem,1.08vw,1.22rem)!important;
  line-height:1.62!important;
  font-weight:480!important;
  letter-spacing:-.01em!important;
  text-shadow:0 14px 34px rgba(255,255,255,.94), 0 1px 5px rgba(255,255,255,.72)!important;
}
body:not(.home-model-page) main > .hero .eyebrow,
body:not(.home-model-page) .hero.ref-hero .eyebrow,
body:not(.home-model-page) .reference-page .hero.ref-hero .eyebrow,
body:not(.home-model-page) .article-hero .eyebrow{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  color:#D32F2F!important;
  font-size:clamp(.7rem,.78vw,.86rem)!important;
  letter-spacing:.25em!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  text-shadow:0 12px 30px rgba(255,255,255,.95)!important;
}
body:not(.home-model-page) main > .hero .eyebrow::before,
body:not(.home-model-page) .hero.ref-hero .eyebrow::before,
body:not(.home-model-page) .reference-page .hero.ref-hero .eyebrow::before,
body:not(.home-model-page) .article-hero .eyebrow::before{
  content:""!important;
  width:clamp(28px,2.3vw,42px)!important;
  height:2px!important;
  background:#D32F2F!important;
  flex:0 0 auto!important;
}
body:not(.home-model-page) main > .hero .button-row,
body:not(.home-model-page) .hero.ref-hero .button-row,
body:not(.home-model-page) .article-hero .button-row{
  margin-top:clamp(22px,2.5vh,36px)!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
}
body:not(.home-model-page) main > .hero .btn,
body:not(.home-model-page) .hero.ref-hero .btn,
body:not(.home-model-page) .article-hero .btn{
  min-height:clamp(50px,4.1vw,58px)!important;
  border-radius:999px!important;
  box-shadow:0 20px 46px rgba(26,43,76,.14)!important;
}
body:not(.home-model-page) main > .hero .btn--primary,
body:not(.home-model-page) .hero.ref-hero .btn--primary,
body:not(.home-model-page) .article-hero .btn--primary{
  box-shadow:0 22px 52px rgba(211,47,47,.30)!important;
}

/* Special positioning for portfolio-style product/photography images so the subject is not cropped awkwardly. */
body:not(.home-model-page) .portfolio-page .hero-media img,
body:not(.home-model-page) .hero.ref-hero .hero-media img[src*="04_work_portfolio"]{
  object-position:center center!important;
}

@media (min-width:1700px){
  :root{--rp-page-hero-copy:min(760px,44vw);}
  body:not(.home-model-page) main > .hero .hero-grid,
  body:not(.home-model-page) .hero.ref-hero .hero-grid,
  body:not(.home-model-page) .reference-page .hero.ref-hero .ref-hero__grid,
  body:not(.home-model-page) .article-hero .article-hero__grid{
    width:min(1760px, calc(100% - clamp(112px,8vw,190px)))!important;
    max-width:1760px!important;
  }
  body:not(.home-model-page) main > .hero h1,
  body:not(.home-model-page) .hero.ref-hero h1,
  body:not(.home-model-page) .article-hero h1{font-size:clamp(4.65rem,4.7vw,7.7rem)!important;}
}

@media (max-width:1100px){
  :root{--rp-page-hero-copy:min(650px,72vw);--rp-page-hero-pad-x:clamp(24px,5vw,58px);}
  body:not(.home-model-page) main > .hero::before,
  body:not(.home-model-page) .hero.ref-hero::before,
  body:not(.home-model-page) .article-hero::before{
    background:
      radial-gradient(ellipse 82% 94% at 0% 54%,rgba(255,255,255,.99) 0%,rgba(255,255,255,.92) 34%,rgba(255,255,255,.70) 52%,rgba(255,255,255,.28) 72%,rgba(255,255,255,0) 91%),
      linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.82) 38%,rgba(255,255,255,.30) 68%,rgba(255,255,255,0) 90%)!important;
  }
  body:not(.home-model-page) main > .hero h1,
  body:not(.home-model-page) .hero.ref-hero h1,
  body:not(.home-model-page) .article-hero h1{font-size:clamp(3rem,7.2vw,5.6rem)!important;}
}

@media (max-width:760px){
  :root{--rp-page-hero-min:calc(100svh - var(--rp-final-header-height-mobile, 86px));--rp-page-hero-copy:100%;--rp-page-hero-pad-x:18px;}
  body:not(.home-model-page) main > .hero,
  body:not(.home-model-page) .hero.ref-hero,
  body:not(.home-model-page) .article-hero{min-height:var(--rp-page-hero-min)!important;}
  body:not(.home-model-page) main > .hero .hero-grid,
  body:not(.home-model-page) .hero.ref-hero .hero-grid,
  body:not(.home-model-page) .reference-page .hero.ref-hero .ref-hero__grid,
  body:not(.home-model-page) .article-hero .article-hero__grid{
    width:calc(100% - 36px)!important;
    min-height:var(--rp-page-hero-min)!important;
    align-items:flex-end!important;
    padding:clamp(76px,14vh,122px) 0 clamp(34px,7vh,58px)!important;
  }
  body:not(.home-model-page) main > .hero::before,
  body:not(.home-model-page) .hero.ref-hero::before,
  body:not(.home-model-page) .article-hero::before{
    background:
      linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.08) 24%,rgba(255,255,255,.72) 70%,rgba(255,255,255,.98) 100%),
      radial-gradient(ellipse 126% 70% at 50% 88%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.80) 48%,rgba(255,255,255,.25) 74%,rgba(255,255,255,0) 100%)!important;
  }
  body:not(.home-model-page) main > .hero::after,
  body:not(.home-model-page) .hero.ref-hero::after,
  body:not(.home-model-page) .article-hero::after{
    opacity:.045!important;
    background-size:64px 64px!important;
    mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.24) 48%,rgba(0,0,0,.34) 100%)!important;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.24) 48%,rgba(0,0,0,.34) 100%)!important;
  }
  body:not(.home-model-page) main > .hero h1,
  body:not(.home-model-page) .hero.ref-hero h1,
  body:not(.home-model-page) .article-hero h1{
    font-size:clamp(2.35rem,11.2vw,4rem)!important;
    max-width:12.2ch!important;
    line-height:.93!important;
    letter-spacing:-.054em!important;
  }
  body:not(.home-model-page) main > .hero .lead,
  body:not(.home-model-page) .hero.ref-hero .lead,
  body:not(.home-model-page) .article-hero .lead{font-size:clamp(.94rem,3.35vw,1.05rem)!important;line-height:1.54!important;}
  body:not(.home-model-page) main > .hero .button-row,
  body:not(.home-model-page) .hero.ref-hero .button-row,
  body:not(.home-model-page) .article-hero .button-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body:not(.home-model-page) main > .hero .btn,
  body:not(.home-model-page) .hero.ref-hero .btn,
  body:not(.home-model-page) .article-hero .btn{width:100%!important;justify-content:center!important;}
}

/* --------------------------------------------------------------------------
   MEGA MENU SERVICE CAROUSELS: consistent image sizing and premium rhythm
   -------------------------------------------------------------------------- */
.rp-hamburger-services-panel--carousel .rp-service-carousel{
  overflow:hidden!important;
}
.rp-hamburger-services-panel--carousel .rp-service-carousel__feature{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/4.35!important;
  min-height:clamp(176px,16.5vh,265px)!important;
  max-height:clamp(220px,23vh,315px)!important;
  border-radius:clamp(18px,1.4vw,26px)!important;
  overflow:hidden!important;
}
.rp-hamburger-services-panel--carousel .rp-service-carousel__feature figure,
.rp-hamburger-services-panel--carousel .rp-service-carousel__feature img{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  display:block!important;
}
.rp-hamburger-services-panel--carousel .rp-service-carousel__feature img{
  object-fit:cover!important;
  object-position:center center!important;
}
.rp-hamburger-services-panel--carousel .rp-service-carousel__thumbs{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;
  gap:clamp(12px,1vw,18px)!important;
  align-items:stretch!important;
  width:100%!important;
  margin-top:clamp(14px,1.45vh,22px)!important;
}
.rp-hamburger-services-panel--carousel .rp-service-carousel__thumb{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  aspect-ratio:16/5.3!important;
  border-radius:clamp(13px,1vw,18px)!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
}
.rp-hamburger-services-panel--carousel .rp-service-carousel__thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:inherit!important;
}
@media (min-width:981px){
  .rp-hamburger-services-panel--carousel .rp-service-carousel__thumbs:has(.rp-service-carousel__thumb:nth-child(5)){
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}
@media (max-width:1280px) and (min-width:981px){
  .rp-hamburger-services-panel--carousel .rp-service-carousel__thumbs{
    grid-template-columns:repeat(auto-fit,minmax(105px,1fr))!important;
    gap:10px!important;
  }
  .rp-hamburger-services-panel--carousel .rp-service-carousel__feature{
    min-height:170px!important;
  }
}
@media (max-width:980px){
  .rp-hamburger-services-panel--carousel .rp-service-carousel__feature{aspect-ratio:16/7.5!important;min-height:190px!important;}
  .rp-hamburger-services-panel--carousel .rp-service-carousel__thumbs{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* ===== SOURCE: assets/css/realpro-final-video-crop-fill-polish.css ===== */
/* ========================================================================
   REAL.PRO Studios — Final video framing polish
   Purpose: reduce the white split field slightly and make the hero video
   feel complete in-frame, removing visible top/bottom letterbox bars.
   Load after all previous hero CSS files.
   ======================================================================== */

@media (min-width: 981px){
  :root{
    /* Smaller text field = larger cinematic video field. */
    --rp-video-split-left-final: clamp(500px, 42.4vw, 790px);
  }

  .home-model-page .rp-home-hero,
  .rp-home-hero.rp-home-hero--video{
    min-height: calc(100svh - var(--rp-final-header-height-desktop, 132px)) !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  .home-model-page .rp-home-hero__media,
  .rp-home-hero--video .rp-home-hero__media{
    left: var(--rp-video-split-left-final) !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
    min-height: 100% !important;
    background:#0A0F18 !important;
    overflow:hidden !important;
    border:0 !important;
    box-shadow:none !important;
  }

  /* Keep the video clean. Only a subtle right-side vignette remains. */
  .home-model-page .rp-home-hero__media::before,
  .rp-home-hero--video .rp-home-hero__media::before{
    background:linear-gradient(90deg, rgba(255,255,255,.035) 0%, rgba(255,255,255,0) 9%, rgba(0,0,0,0) 76%, rgba(0,0,0,.12) 100%) !important;
    opacity:.42 !important;
  }

  .rp-home-hero__video,
  .rp-home-hero__fallback,
  .home-model-page .rp-home-hero__media img,
  .rp-home-hero--video .rp-home-hero__media img{
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    border:0 !important;
    display:block !important;
  }

  /* The source video has visible black bands. This controlled crop removes
     the bands while preserving the central visual action. */
  .rp-home-hero__video{
    transform:scale(1.17) !important;
    transform-origin:center center !important;
    filter:saturate(1.08) contrast(1.05) brightness(1.03) !important;
  }

  .rp-home-hero__fallback,
  .home-model-page .rp-home-hero__media img,
  .rp-home-hero--video .rp-home-hero__media img{
    transform:scale(1.08) !important;
    transform-origin:center center !important;
  }

  /* Text smoke stays inside the copy area and does not wash over the video. */
  .home-model-page .rp-home-hero__cloud,
  .rp-home-hero--video .rp-home-hero__cloud{
    width:clamp(545px, 46.5vw, 850px) !important;
    background:
      radial-gradient(ellipse 68% 82% at 17% 48%, rgba(255,255,255,1) 0%, rgba(255,255,255,.985) 34%, rgba(255,255,255,.77) 56%, rgba(255,255,255,.28) 76%, rgba(255,255,255,0) 100%),
      linear-gradient(90deg, #fff 0%, rgba(255,255,255,.99) 55%, rgba(255,255,255,.80) 75%, rgba(255,255,255,0) 100%) !important;
  }

  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{
    padding-left:clamp(40px, 4.15vw, 78px) !important;
    padding-right:clamp(24px, 2.6vw, 54px) !important;
  }

  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy{
    max-width:min(670px, calc(var(--rp-video-split-left-final) - clamp(74px, 8.5vw, 142px))) !important;
  }
}

@media (min-width: 1440px){
  :root{--rp-video-split-left-final: clamp(560px, 41.5vw, 805px);}
  .rp-home-hero__video{transform:scale(1.14) !important;}
}

@media (min-width: 1800px){
  :root{--rp-video-split-left-final: clamp(650px, 40.5vw, 860px);}
  .rp-home-hero__video{transform:scale(1.12) !important;}
}

@media (max-width: 980px){
  .home-model-page .rp-home-hero__media,
  .rp-home-hero--video .rp-home-hero__media{
    background:#0A0F18 !important;
    overflow:hidden !important;
  }
  .rp-home-hero__video{
    object-fit:cover !important;
    object-position:center center !important;
    transform:scale(1.12) !important;
    transform-origin:center center !important;
  }
}

/* ===== SOURCE: assets/css/realpro-hero-hard-final-fix.css ===== */
/* ==========================================================================
   REAL.PRO Studios — HERO HARD FINAL FIX
   Purpose:
   - Force every hero to become true full-screen / full-bleed.
   - Move all hero media visually to the section background.
   - Remove the old container/grid behavior that caused blue side blocks.
   - Apply the approved left white cloud column from top to bottom.
   - Preserve each page's own title, subtitle, buttons and image/video.
   ========================================================================== */

:root{
  --realpro-header-h: var(--rp-final-header-height-desktop, var(--header-height, 112px));
  --realpro-hero-h: calc(100svh - var(--realpro-header-h));
  --realpro-cloud-w: clamp(620px, 56vw, 1040px);
  --realpro-copy-left: clamp(52px, 7vw, 124px);
  --realpro-copy-top: clamp(54px, 8vh, 116px);
  --realpro-copy-bottom: clamp(48px, 7vh, 96px);
  --realpro-navy:#1A2B4C;
  --realpro-red:#D32F2F;
}

/* Reset lateral overflow from previous patches */
html,
body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}

/* ==========================================================
   HERO SECTION: full viewport width, no inherited container width
   ========================================================== */
body main > section.rp-home-hero,
body main > section.hero.ref-hero,
body main > section.article-hero,
body .rp-home-hero,
body .hero.ref-hero,
body .article-hero{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:100vw!important;
  max-width:100vw!important;
  min-height:var(--realpro-hero-h)!important;
  margin:0!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#080f1d!important;
  box-shadow:none!important;
  isolation:isolate!important;
}

/* Home should not get double negative if already full width inside main */
body.home-model-page main > section.rp-home-hero,
body.home-model-page .rp-home-hero{
  margin-left:0!important;
  margin-right:0!important;
}

/* ==========================================================
   FORCE THE OLD .container / .hero-grid TO STOP LIMITING MEDIA
   ========================================================== */
body .hero.ref-hero > .container,
body .hero.ref-hero .container,
body .hero.ref-hero .hero-grid,
body .hero.ref-hero .ref-hero__grid,
body .article-hero > .container,
body .article-hero .article-hero__grid,
body .rp-home-hero__inner{
  position:static!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:var(--realpro-hero-h)!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  grid-template-columns:none!important;
  align-items:initial!important;
  justify-content:initial!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* ==========================================================
   MEDIA LAYER: section background, full bleed, no side blocks
   ========================================================== */
body .rp-home-hero__media,
body .hero.ref-hero .hero-media,
body .article-hero .hero-media,
body .article-hero figure{
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#080f1d!important;
  box-shadow:none!important;
  transform:none!important;
  pointer-events:none!important;
}

/* Kill previous pseudo effects and unwanted overlays on media */
body .rp-home-hero__media::before,
body .rp-home-hero__media::after,
body .hero.ref-hero .hero-media::before,
body .hero.ref-hero .hero-media::after,
body .article-hero .hero-media::before,
body .article-hero .hero-media::after{
  content:none!important;
  display:none!important;
}

/* Image/video fill with crop safety: no black bars */
body .rp-home-hero__video,
body .rp-home-hero__fallback,
body .rp-home-hero__media img,
body .hero.ref-hero .hero-media img,
body .article-hero .hero-media img,
body .article-hero figure img{
  position:absolute!important;
  inset:-8% -6%!important;
  display:block!important;
  width:112%!important;
  height:116%!important;
  min-width:112%!important;
  min-height:116%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:scale(1.08)!important;
  transform-origin:center center!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:saturate(1.04) contrast(1.04) brightness(.96)!important;
  opacity:1!important;
}

/* stronger crop for home video source */
body .rp-home-hero__video{
  inset:-12% -7%!important;
  width:114%!important;
  height:124%!important;
  min-width:114%!important;
  min-height:124%!important;
  transform:scale(1.16)!important;
  filter:saturate(1.08) contrast(1.06) brightness(1.02)!important;
}

/* ==========================================================
   APPROVED WHITE CLOUD COLUMN: full height left column
   ========================================================== */
body .rp-home-hero::before,
body .hero.ref-hero::before,
body .article-hero::before{
  content:""!important;
  position:absolute!important;
  z-index:3!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  width:var(--realpro-cloud-w)!important;
  height:100%!important;
  pointer-events:none!important;
  border:0!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 18% 15%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.68) 21%, rgba(255,255,255,.22) 41%, rgba(255,255,255,0) 64%),
    radial-gradient(circle at 20% 50%, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 14%, rgba(255,255,255,.88) 30%, rgba(255,255,255,.64) 46%, rgba(255,255,255,.34) 60%, rgba(255,255,255,.11) 73%, rgba(255,255,255,0) 88%),
    radial-gradient(circle at 18% 84%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.52) 24%, rgba(255,255,255,.16) 44%, rgba(255,255,255,0) 66%),
    linear-gradient(90deg,
      #fff 0%,
      #fff 18%,
      rgba(255,255,255,.998) 31%,
      rgba(255,255,255,.985) 44%,
      rgba(255,255,255,.93) 56%,
      rgba(255,255,255,.76) 67%,
      rgba(255,255,255,.48) 78%,
      rgba(255,255,255,.18) 89%,
      rgba(255,255,255,0) 100%)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}

/* Soft cinematic shading over whole media, behind cloud and text */
body .rp-home-hero::after,
body .hero.ref-hero::after,
body .article-hero::after{
  content:""!important;
  position:absolute!important;
  z-index:2!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.03) 48%, rgba(0,0,0,.18) 100%),
    linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,0) 38%, rgba(0,0,0,.10) 100%)!important;
  opacity:.75!important;
  border:0!important;
  border-radius:0!important;
}

/* Hide physical old cloud div to prevent double fog boxes; section ::before is now the cloud */
body .rp-home-hero__cloud{
  display:none!important;
}

/* Kill old pseudo boxes from previous CSS versions */
body .hero-grid::before,
body .hero-grid::after,
body .ref-hero__grid::before,
body .ref-hero__grid::after,
body .article-hero__grid::before,
body .article-hero__grid::after,
body .hero-copy::before,
body .hero-copy::after,
body .rp-home-hero__copy::before,
body .rp-home-hero__copy::after{
  content:none!important;
  display:none!important;
}

/* ==========================================================
   COPY LAYER: sits over the cloud column, never over dark image
   ========================================================== */
body .rp-home-hero__copy,
body .hero.ref-hero .hero-copy,
body .article-hero .article-hero__grid > div:first-child{
  position:relative!important;
  z-index:5!important;
  width:min(760px, calc(var(--realpro-cloud-w) - var(--realpro-copy-left) - 40px))!important;
  max-width:min(760px, calc(var(--realpro-cloud-w) - var(--realpro-copy-left) - 40px))!important;
  min-height:var(--realpro-hero-h)!important;
  margin:0!important;
  padding:var(--realpro-copy-top) 0 var(--realpro-copy-bottom) var(--realpro-copy-left)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:clamp(12px,1.35vh,18px)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
}

/* all copy children keep readable max width */
body .rp-home-hero__copy > *,
body .hero.ref-hero .hero-copy > *,
body .article-hero .article-hero__grid > div:first-child > *{
  max-width:100%!important;
}

/* Eyebrow */
body .rp-home-hero .rp-eyebrow,
body .rp-home-hero .eyebrow,
body .hero.ref-hero .eyebrow,
body .article-hero .eyebrow{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0 0 clamp(2px,.5vh,6px)!important;
  color:var(--realpro-red)!important;
  font-family:var(--body, Arial, sans-serif)!important;
  font-size:clamp(.72rem,.78vw,.9rem)!important;
  font-weight:900!important;
  letter-spacing:.28em!important;
  line-height:1.1!important;
  text-transform:uppercase!important;
  text-shadow:none!important;
}
body .rp-home-hero .rp-eyebrow::before,
body .rp-home-hero .eyebrow::before,
body .hero.ref-hero .eyebrow::before,
body .article-hero .eyebrow::before{
  content:""!important;
  flex:0 0 clamp(28px,2.4vw,46px)!important;
  width:clamp(28px,2.4vw,46px)!important;
  height:2px!important;
  background:var(--realpro-red)!important;
}

/* Title */
body .rp-home-hero h1,
body .hero.ref-hero h1,
body .article-hero h1{
  margin:0!important;
  max-width:10.8ch!important;
  color:var(--realpro-navy)!important;
  font-family:var(--display, Impact, "Arial Narrow", Arial, sans-serif)!important;
  font-size:clamp(3.75rem,6.1vw,7.1rem)!important;
  line-height:.92!important;
  letter-spacing:-.058em!important;
  font-weight:720!important;
  text-transform:uppercase!important;
  text-shadow:none!important;
}

/* Lead */
body .rp-home-hero .rp-lead,
body .rp-home-hero .lead,
body .hero.ref-hero .lead,
body .article-hero .lead,
body .article-hero p{
  margin:clamp(2px,.6vh,8px) 0 0!important;
  max-width:31ch!important;
  color:rgba(22,31,50,.90)!important;
  font-family:var(--body, Arial, sans-serif)!important;
  font-size:clamp(1rem,1.18vw,1.28rem)!important;
  line-height:1.56!important;
  letter-spacing:-.012em!important;
  font-weight:500!important;
  text-shadow:none!important;
}

/* Button row */
body .rp-home-hero .rp-button-row,
body .hero.ref-hero .button-row,
body .article-hero .button-row{
  margin-top:clamp(8px,1.5vh,18px)!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  align-items:center!important;
}

body .rp-home-hero .rp-btn,
body .hero.ref-hero .btn,
body .article-hero .btn{
  min-height:clamp(52px,4.1vw,62px)!important;
  padding:0 clamp(24px,2.1vw,36px)!important;
  border-radius:999px!important;
  font-size:clamp(.78rem,.82vw,.9rem)!important;
  letter-spacing:.055em!important;
  font-weight:900!important;
  box-shadow:0 22px 50px rgba(26,43,76,.12)!important;
}

body .rp-home-hero .rp-btn--primary,
body .hero.ref-hero .btn--primary,
body .article-hero .btn--primary{
  background:var(--realpro-red)!important;
  color:#fff!important;
  box-shadow:0 24px 56px rgba(211,47,47,.26)!important;
}

/* ==========================================================
   MOBILE/TABLET
   ========================================================== */
@media (max-width:1280px){
  :root{
    --realpro-cloud-w:clamp(560px,60vw,860px);
    --realpro-copy-left:clamp(34px,5.4vw,76px);
  }
  body .rp-home-hero h1,
  body .hero.ref-hero h1,
  body .article-hero h1{
    font-size:clamp(3.1rem,5.8vw,6rem)!important;
  }
}

@media (max-width:980px){
  :root{
    --realpro-header-h:var(--rp-final-header-height-mobile, 86px);
    --realpro-hero-h:calc(100svh - var(--realpro-header-h));
    --realpro-cloud-w:100%;
    --realpro-copy-left:clamp(20px,5vw,38px);
    --realpro-copy-top:clamp(72px,13vh,118px);
    --realpro-copy-bottom:clamp(34px,7vh,64px);
  }

  body main > section.rp-home-hero,
  body main > section.hero.ref-hero,
  body main > section.article-hero,
  body .rp-home-hero,
  body .hero.ref-hero,
  body .article-hero{
    min-height:var(--realpro-hero-h)!important;
  }

  body .rp-home-hero__video,
  body .rp-home-hero__fallback,
  body .rp-home-hero__media img,
  body .hero.ref-hero .hero-media img,
  body .article-hero .hero-media img,
  body .article-hero figure img{
    inset:-6%!important;
    width:112%!important;
    height:112%!important;
    min-width:112%!important;
    min-height:112%!important;
    transform:scale(1.08)!important;
  }

  body .rp-home-hero::before,
  body .hero.ref-hero::before,
  body .article-hero::before{
    width:100%!important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.08) 20%, rgba(255,255,255,.76) 68%, rgba(255,255,255,.98) 100%),
      radial-gradient(ellipse 122% 74% at 50% 100%, rgba(255,255,255,1) 0%, rgba(255,255,255,.80) 42%, rgba(255,255,255,.28) 70%, rgba(255,255,255,0) 100%)!important;
  }

  body .rp-home-hero__copy,
  body .hero.ref-hero .hero-copy,
  body .article-hero .article-hero__grid > div:first-child{
    width:100%!important;
    max-width:100%!important;
    min-height:var(--realpro-hero-h)!important;
    justify-content:flex-end!important;
    padding:var(--realpro-copy-top) var(--realpro-copy-left) var(--realpro-copy-bottom)!important;
  }

  body .rp-home-hero h1,
  body .hero.ref-hero h1,
  body .article-hero h1{
    max-width:11.8ch!important;
    font-size:clamp(2.55rem,10.6vw,4.65rem)!important;
    line-height:.94!important;
  }

  body .rp-home-hero .rp-lead,
  body .hero.ref-hero .lead,
  body .article-hero .lead,
  body .article-hero p{
    max-width:100%!important;
    font-size:clamp(.95rem,3.2vw,1.08rem)!important;
    line-height:1.54!important;
  }

  body .rp-home-hero .rp-button-row,
  body .hero.ref-hero .button-row,
  body .article-hero .button-row{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  body .rp-home-hero .rp-btn,
  body .hero.ref-hero .btn,
  body .article-hero .btn{
    width:100%!important;
    justify-content:center!important;
    min-height:52px!important;
  }
}

@media (max-width:520px){
  body .rp-home-hero h1,
  body .hero.ref-hero h1,
  body .article-hero h1{
    font-size:clamp(2.25rem,10.3vw,3.55rem)!important;
  }
}

/* ===== SOURCE: assets/css/realpro-page-hero-structural-final.css ===== */
/* REAL.PRO Studios — Structural Page Hero Final */
:root{--rp-hero-header-h:var(--realpro-header-h,var(--rp-final-header-height-desktop,var(--header-height,112px)));--rp-hero-height:calc(100svh - var(--rp-hero-header-h));--rp-cloud-width:clamp(620px,55vw,1040px);--rp-copy-left:clamp(52px,7vw,124px);--rp-copy-top:clamp(54px,8vh,116px);--rp-copy-bottom:clamp(48px,7vh,96px);--rp-navy:#1A2B4C;--rp-red:#D32F2F}html,body{overflow-x:hidden!important}.reference-page main,body:not(.home-model-page) main{width:100%!important;max-width:none!important;overflow:hidden!important;background:#fff!important}.rp-page-hero{position:relative!important;width:100vw!important;max-width:100vw!important;min-height:var(--rp-hero-height)!important;margin:0!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#080f1d!important;isolation:isolate!important;box-shadow:none!important}.rp-page-hero__media{position:absolute!important;inset:0!important;z-index:1!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#080f1d!important}.rp-page-hero__media img{position:absolute!important;inset:-8% -6%!important;display:block!important;width:112%!important;height:116%!important;min-width:112%!important;min-height:116%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;transform:scale(1.08)!important;transform-origin:center center!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:saturate(1.05) contrast(1.05) brightness(.96)!important}.rp-page-hero__cloud{position:absolute!important;z-index:3!important;top:0!important;left:0!important;bottom:0!important;width:var(--rp-cloud-width)!important;pointer-events:none!important;border:0!important;border-radius:0!important;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.68) 21%,rgba(255,255,255,.22) 41%,rgba(255,255,255,0) 64%),radial-gradient(circle at 20% 50%,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 14%,rgba(255,255,255,.88) 30%,rgba(255,255,255,.64) 46%,rgba(255,255,255,.34) 60%,rgba(255,255,255,.11) 73%,rgba(255,255,255,0) 88%),radial-gradient(circle at 18% 84%,rgba(255,255,255,.92) 0%,rgba(255,255,255,.52) 24%,rgba(255,255,255,.16) 44%,rgba(255,255,255,0) 66%),linear-gradient(90deg,#fff 0%,#fff 18%,rgba(255,255,255,.998) 31%,rgba(255,255,255,.985) 44%,rgba(255,255,255,.93) 56%,rgba(255,255,255,.76) 67%,rgba(255,255,255,.48) 78%,rgba(255,255,255,.18) 89%,rgba(255,255,255,0) 100%)!important}.rp-page-hero::after{content:""!important;position:absolute!important;z-index:2!important;inset:0!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.03) 48%,rgba(0,0,0,.18) 100%),linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,0) 38%,rgba(0,0,0,.10) 100%)!important;opacity:.72!important}.rp-page-hero__content{position:relative!important;z-index:5!important;width:100%!important;min-height:var(--rp-hero-height)!important;margin:0!important;padding:0!important;display:block!important}.rp-page-hero__copy{position:relative!important;z-index:6!important;width:min(760px,calc(var(--rp-cloud-width) - var(--rp-copy-left) - 40px))!important;max-width:min(760px,calc(var(--rp-cloud-width) - var(--rp-copy-left) - 40px))!important;min-height:var(--rp-hero-height)!important;margin:0!important;padding:var(--rp-copy-top) 0 var(--rp-copy-bottom) var(--rp-copy-left)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:clamp(12px,1.35vh,18px)!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}.rp-page-hero__copy .eyebrow{display:flex!important;align-items:center!important;gap:14px!important;margin:0 0 clamp(2px,.5vh,6px)!important;color:var(--rp-red)!important;font-family:var(--body,Arial,sans-serif)!important;font-size:clamp(.72rem,.78vw,.9rem)!important;font-weight:900!important;letter-spacing:.28em!important;line-height:1.1!important;text-transform:uppercase!important;text-shadow:none!important}.rp-page-hero__copy .eyebrow::before{content:""!important;flex:0 0 clamp(28px,2.4vw,46px)!important;width:clamp(28px,2.4vw,46px)!important;height:2px!important;background:var(--rp-red)!important}.rp-page-hero__copy h1{margin:0!important;max-width:10.8ch!important;color:var(--rp-navy)!important;font-family:var(--display,Impact,"Arial Narrow",Arial,sans-serif)!important;font-size:clamp(3.75rem,6.1vw,7.1rem)!important;line-height:.92!important;letter-spacing:-.058em!important;font-weight:720!important;text-transform:uppercase!important;text-shadow:none!important}.rp-page-hero__copy .lead,.rp-page-hero__copy p:not(.eyebrow){margin:clamp(2px,.6vh,8px) 0 0!important;max-width:31ch!important;color:rgba(22,31,50,.90)!important;font-family:var(--body,Arial,sans-serif)!important;font-size:clamp(1rem,1.18vw,1.28rem)!important;line-height:1.56!important;letter-spacing:-.012em!important;font-weight:500!important;text-shadow:none!important}.rp-page-hero__copy .button-row{margin-top:clamp(8px,1.5vh,18px)!important;display:flex!important;flex-wrap:wrap!important;gap:14px!important;align-items:center!important}.rp-page-hero__copy .btn{min-height:clamp(52px,4.1vw,62px)!important;padding:0 clamp(24px,2.1vw,36px)!important;border-radius:999px!important;font-size:clamp(.78rem,.82vw,.9rem)!important;letter-spacing:.055em!important;font-weight:900!important;box-shadow:0 22px 50px rgba(26,43,76,.12)!important}.rp-page-hero__copy .btn--primary{background:var(--rp-red)!important;color:#fff!important;box-shadow:0 24px 56px rgba(211,47,47,.26)!important}.hero.ref-hero{display:none!important}.home-model-page .rp-home-hero{width:100vw!important;max-width:100vw!important;min-height:var(--rp-hero-height)!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#080f1d!important;isolation:isolate!important}.home-model-page .rp-home-hero__media{position:absolute!important;inset:0!important;z-index:1!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#080f1d!important}.home-model-page .rp-home-hero__video,.home-model-page .rp-home-hero__media img{position:absolute!important;inset:-12% -7%!important;width:114%!important;height:124%!important;min-width:114%!important;min-height:124%!important;object-fit:cover!important;object-position:center center!important;transform:scale(1.16)!important;border:0!important;border-radius:0!important;box-shadow:none!important}.home-model-page .rp-home-hero::before{content:""!important;position:absolute!important;z-index:3!important;top:0!important;left:0!important;bottom:0!important;width:var(--rp-cloud-width)!important;pointer-events:none!important;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.68) 21%,rgba(255,255,255,.22) 41%,rgba(255,255,255,0) 64%),radial-gradient(circle at 20% 50%,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 14%,rgba(255,255,255,.88) 30%,rgba(255,255,255,.64) 46%,rgba(255,255,255,.34) 60%,rgba(255,255,255,.11) 73%,rgba(255,255,255,0) 88%),radial-gradient(circle at 18% 84%,rgba(255,255,255,.92) 0%,rgba(255,255,255,.52) 24%,rgba(255,255,255,.16) 44%,rgba(255,255,255,0) 66%),linear-gradient(90deg,#fff 0%,#fff 18%,rgba(255,255,255,.998) 31%,rgba(255,255,255,.985) 44%,rgba(255,255,255,.93) 56%,rgba(255,255,255,.76) 67%,rgba(255,255,255,.48) 78%,rgba(255,255,255,.18) 89%,rgba(255,255,255,0) 100%)!important}.home-model-page .rp-home-hero__cloud{display:none!important}.home-model-page .rp-home-hero__inner{position:relative!important;z-index:5!important;width:100%!important;max-width:none!important;min-height:var(--rp-hero-height)!important;margin:0!important;padding:0!important;display:block!important}.home-model-page .rp-home-hero__copy{position:relative!important;z-index:6!important;width:min(760px,calc(var(--rp-cloud-width) - var(--rp-copy-left) - 40px))!important;max-width:min(760px,calc(var(--rp-cloud-width) - var(--rp-copy-left) - 40px))!important;min-height:var(--rp-hero-height)!important;margin:0!important;padding:var(--rp-copy-top) 0 var(--rp-copy-bottom) var(--rp-copy-left)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:clamp(12px,1.35vh,18px)!important}@media(max-width:1280px){:root{--rp-cloud-width:clamp(560px,60vw,860px);--rp-copy-left:clamp(34px,5.4vw,76px)}.rp-page-hero__copy h1,.home-model-page .rp-home-hero h1{font-size:clamp(3.1rem,5.8vw,6rem)!important}}@media(max-width:980px){:root{--rp-hero-header-h:var(--rp-final-header-height-mobile,86px);--rp-hero-height:calc(100svh - var(--rp-hero-header-h));--rp-cloud-width:100%;--rp-copy-left:clamp(20px,5vw,38px);--rp-copy-top:clamp(72px,13vh,118px);--rp-copy-bottom:clamp(34px,7vh,64px)}.rp-page-hero__media img,.home-model-page .rp-home-hero__video,.home-model-page .rp-home-hero__media img{inset:-6%!important;width:112%!important;height:112%!important;min-width:112%!important;min-height:112%!important;transform:scale(1.08)!important}.rp-page-hero__cloud,.home-model-page .rp-home-hero::before{width:100%!important;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.08) 20%,rgba(255,255,255,.76) 68%,rgba(255,255,255,.98) 100%),radial-gradient(ellipse 122% 74% at 50% 100%,rgba(255,255,255,1) 0%,rgba(255,255,255,.80) 42%,rgba(255,255,255,.28) 70%,rgba(255,255,255,0) 100%)!important}.rp-page-hero__copy,.home-model-page .rp-home-hero__copy{width:100%!important;max-width:100%!important;min-height:var(--rp-hero-height)!important;justify-content:flex-end!important;padding:var(--rp-copy-top) var(--rp-copy-left) var(--rp-copy-bottom)!important}.rp-page-hero__copy h1,.home-model-page .rp-home-hero h1{max-width:11.8ch!important;font-size:clamp(2.55rem,10.6vw,4.65rem)!important;line-height:.94!important}.rp-page-hero__copy .lead,.rp-page-hero__copy p:not(.eyebrow),.home-model-page .rp-home-hero .rp-lead{max-width:100%!important;font-size:clamp(.95rem,3.2vw,1.08rem)!important;line-height:1.54!important}.rp-page-hero__copy .button-row,.home-model-page .rp-home-hero .rp-button-row{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.rp-page-hero__copy .btn,.home-model-page .rp-home-hero .rp-btn{width:100%!important;justify-content:center!important;min-height:52px!important}}@media(max-width:520px){.rp-page-hero__copy h1,.home-model-page .rp-home-hero h1{font-size:clamp(2.25rem,10.3vw,3.55rem)!important}}


/* =====================================================================
   MOBILE HERO VISIBILITY REFINEMENT — FINAL
   Goal:
   - Show eyebrow, title, subtitle/lead and button entirely on mobile
   - Improve readability with a stronger left-side premium cloud
   - Keep only a subtle background video/image detail visible
   - Preserve a full-bleed cinematic hero on all pages
   ===================================================================== */

@media (max-width: 980px){
  :root{
    --rp-hero-height: calc(100svh - var(--rp-hero-header-h));
  }

  .rp-page-hero,
  .home-model-page .rp-home-hero{
    min-height: max(620px, var(--rp-hero-height))!important;
  }

  .rp-page-hero__media img,
  .home-model-page .rp-home-hero__video,
  .home-model-page .rp-home-hero__media img{
    inset: -2% -34% -2% 20%!important;
    width: 132%!important;
    height: 108%!important;
    min-width: 132%!important;
    min-height: 108%!important;
    transform: scale(1.04)!important;
    object-position: 74% center!important;
    filter: saturate(1.02) contrast(1.02) brightness(.95)!important;
  }

  .rp-page-hero__cloud,
  .home-model-page .rp-home-hero::before{
    width: 100%!important;
    background:
      radial-gradient(circle at 14% 14%, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 18%, rgba(255,255,255,.82) 40%, rgba(255,255,255,.42) 60%, rgba(255,255,255,.12) 78%, rgba(255,255,255,0) 100%),
      radial-gradient(circle at 18% 52%, rgba(255,255,255,1) 0%, rgba(255,255,255,.99) 16%, rgba(255,255,255,.92) 34%, rgba(255,255,255,.74) 50%, rgba(255,255,255,.46) 65%, rgba(255,255,255,.18) 82%, rgba(255,255,255,0) 100%),
      radial-gradient(circle at 22% 88%, rgba(255,255,255,.96) 0%, rgba(255,255,255,.78) 26%, rgba(255,255,255,.28) 54%, rgba(255,255,255,0) 82%),
      linear-gradient(90deg,
        rgba(255,255,255,1) 0%,
        rgba(255,255,255,.998) 22%,
        rgba(255,255,255,.985) 40%,
        rgba(255,255,255,.95) 54%,
        rgba(255,255,255,.86) 64%,
        rgba(255,255,255,.68) 74%,
        rgba(255,255,255,.42) 84%,
        rgba(255,255,255,.18) 92%,
        rgba(255,255,255,0) 100%)!important;
  }

  .rp-page-hero__copy,
  .home-model-page .rp-home-hero__copy{
    width:100%!important;
    max-width:100%!important;
    min-height:max(620px, var(--rp-hero-height))!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    gap:10px!important;
    padding:clamp(26px, 4vh, 36px) 20px calc(20px + env(safe-area-inset-bottom))!important;
    filter:drop-shadow(0 14px 30px rgba(18,30,58,.06))!important;
  }

  .rp-page-hero__copy::before,
  .home-model-page .rp-home-hero__copy::before{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    inset:0 auto 0 -10px!important;
    width:min(82vw, 500px)!important;
    background:linear-gradient(180deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.10) 100%)!important;
    filter:blur(24px)!important;
    opacity:.84!important;
    pointer-events:none!important;
  }

  .rp-page-hero__copy .eyebrow,
  .home-model-page .rp-home-hero .rp-eyebrow{
    margin:0 0 2px!important;
    font-size:clamp(.68rem, 2.2vw, .82rem)!important;
    line-height:1.1!important;
    letter-spacing:.20em!important;
    gap:12px!important;
  }

  .rp-page-hero__copy .eyebrow::before,
  .home-model-page .rp-home-hero .rp-eyebrow::before{
    width:32px!important;
    flex-basis:32px!important;
  }

  .rp-page-hero__copy h1,
  .home-model-page .rp-home-hero h1{
    max-width:11ch!important;
    margin:0!important;
    font-size:clamp(2.15rem, 9.2vw, 3.45rem)!important;
    line-height:.92!important;
    letter-spacing:-.052em!important;
  }

  .rp-page-hero__copy .lead,
  .rp-page-hero__copy p:not(.eyebrow),
  .home-model-page .rp-home-hero .rp-lead{
    max-width:29ch!important;
    margin:2px 0 0!important;
    font-size:clamp(.94rem, 3.25vw, 1.03rem)!important;
    line-height:1.48!important;
    color:rgba(22,31,50,.92)!important;
  }

  .rp-page-hero__copy .button-row,
  .home-model-page .rp-home-hero .rp-button-row{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:8px!important;
  }

  .rp-page-hero__copy .btn,
  .home-model-page .rp-home-hero .rp-btn{
    width:100%!important;
    max-width:100%!important;
    min-height:52px!important;
    justify-content:center!important;
    padding:0 18px!important;
    font-size:.84rem!important;
    letter-spacing:.045em!important;
    box-shadow:0 16px 34px rgba(26,43,76,.10)!important;
  }
}

@media (max-width: 640px){
  .rp-page-hero,
  .home-model-page .rp-home-hero{
    min-height: max(590px, var(--rp-hero-height))!important;
  }

  .rp-page-hero__media img,
  .home-model-page .rp-home-hero__video,
  .home-model-page .rp-home-hero__media img{
    inset: -2% -44% 0 24%!important;
    width: 140%!important;
    min-width: 140%!important;
    height: 106%!important;
    min-height: 106%!important;
    object-position: 78% center!important;
  }

  .rp-page-hero__copy,
  .home-model-page .rp-home-hero__copy{
    min-height:max(590px, var(--rp-hero-height))!important;
    padding:22px 18px calc(18px + env(safe-area-inset-bottom))!important;
    gap:8px!important;
  }

  .rp-page-hero__copy::before,
  .home-model-page .rp-home-hero__copy::before{
    width:84vw!important;
    left:-8px!important;
  }

  .rp-page-hero__copy h1,
  .home-model-page .rp-home-hero h1{
    font-size:clamp(1.95rem, 9vw, 2.85rem)!important;
    max-width:10.6ch!important;
  }

  .rp-page-hero__copy .lead,
  .rp-page-hero__copy p:not(.eyebrow),
  .home-model-page .rp-home-hero .rp-lead{
    max-width:31ch!important;
    font-size:clamp(.92rem, 3.7vw, .99rem)!important;
    line-height:1.44!important;
  }
}

@media (max-width: 390px){
  .rp-page-hero,
  .home-model-page .rp-home-hero{
    min-height: max(560px, var(--rp-hero-height))!important;
  }

  .rp-page-hero__copy,
  .home-model-page .rp-home-hero__copy{
    min-height:max(560px, var(--rp-hero-height))!important;
    padding:18px 16px calc(16px + env(safe-area-inset-bottom))!important;
  }

  .rp-page-hero__copy h1,
  .home-model-page .rp-home-hero h1{
    font-size:clamp(1.82rem, 8.7vw, 2.5rem)!important;
    line-height:.94!important;
  }

  .rp-page-hero__copy .lead,
  .rp-page-hero__copy p:not(.eyebrow),
  .home-model-page .rp-home-hero .rp-lead{
    font-size:.92rem!important;
    line-height:1.42!important;
  }

  .rp-page-hero__copy .btn,
  .home-model-page .rp-home-hero .rp-btn{
    min-height:50px!important;
  }
}

/* ===== SOURCE: assets/css/realpro-complete-professional-final.css ===== */
/* ==========================================================================
   REAL.PRO Studios — Complete Professional Final
   Final sitewide UX/UI polish:
   - Keeps the approved premium cinematic hero style.
   - Fixes mobile hero visibility: eyebrow, title, paragraph and CTA visible.
   - Keeps only a subtle video/image detail behind the left white cloud.
   - Restores premium carousel structure: large featured image + uniform smaller thumbnails.
   ========================================================================== */

:root{
  --rp-final-navy:#1A2B4C;
  --rp-final-red:#D32F2F;
  --rp-final-ease:cubic-bezier(.22,.61,.36,1);
}

html,body{max-width:100%;overflow-x:hidden!important;}
a,button{-webkit-tap-highlight-color:transparent;}
:focus-visible{outline:3px solid rgba(211,47,47,.38)!important;outline-offset:4px!important;}

/* HERO — restore premium visual and stabilize */
.rp-home-hero,.rp-page-hero{
  position:relative!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#07111f!important;
  isolation:isolate!important;
}

.rp-home-hero__media,.rp-page-hero__media{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#07111f!important;
}

.rp-home-hero__video,.rp-home-hero__media img,.rp-page-hero__media img{
  position:absolute!important;
  inset:-7% -5%!important;
  width:110%!important;
  height:114%!important;
  min-width:110%!important;
  min-height:114%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:scale(1.06)!important;
  border:0!important;
  border-radius:0!important;
  filter:saturate(1.04) contrast(1.04) brightness(.96)!important;
}

.rp-home-hero__video{
  inset:-10% -6%!important;
  width:112%!important;
  height:120%!important;
  min-width:112%!important;
  min-height:120%!important;
  transform:scale(1.13)!important;
}

.rp-home-hero::before,.rp-page-hero__cloud{
  content:""!important;
  position:absolute!important;
  z-index:3!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  width:clamp(560px,55vw,980px)!important;
  pointer-events:none!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.70) 22%,rgba(255,255,255,.24) 42%,rgba(255,255,255,0) 66%),
    radial-gradient(circle at 20% 50%,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 15%,rgba(255,255,255,.90) 31%,rgba(255,255,255,.66) 47%,rgba(255,255,255,.36) 62%,rgba(255,255,255,.12) 75%,rgba(255,255,255,0) 90%),
    radial-gradient(circle at 18% 84%,rgba(255,255,255,.92) 0%,rgba(255,255,255,.54) 25%,rgba(255,255,255,.18) 46%,rgba(255,255,255,0) 68%),
    linear-gradient(90deg,#fff 0%,#fff 18%,rgba(255,255,255,.998) 32%,rgba(255,255,255,.985) 44%,rgba(255,255,255,.93) 56%,rgba(255,255,255,.76) 68%,rgba(255,255,255,.48) 79%,rgba(255,255,255,.18) 90%,rgba(255,255,255,0) 100%)!important;
}

.rp-home-hero::after,.rp-page-hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.02) 48%,rgba(0,0,0,.16) 100%),linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,0) 42%,rgba(0,0,0,.10) 100%)!important;
  opacity:.76!important;
}

.rp-home-hero__inner,.rp-page-hero__content{
  position:relative!important;
  z-index:5!important;
  width:100%!important;
  min-height:calc(100svh - var(--rp-hero-header-h, var(--header-height,112px)))!important;
  display:block!important;
}

.rp-home-hero__copy,.rp-page-hero__copy{
  position:relative!important;
  z-index:6!important;
  min-height:calc(100svh - var(--rp-hero-header-h, var(--header-height,112px)))!important;
  width:min(760px, calc(clamp(560px,55vw,980px) - clamp(48px,7vw,124px) - 40px))!important;
  max-width:min(760px, calc(clamp(560px,55vw,980px) - clamp(48px,7vw,124px) - 40px))!important;
  margin:0!important;
  padding:clamp(56px,8vh,116px) 0 clamp(48px,7vh,96px) clamp(48px,7vw,124px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:clamp(12px,1.35vh,18px)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.rp-home-hero__cloud{display:none!important;}

.rp-home-hero .rp-eyebrow,.rp-page-hero__copy .eyebrow{
  display:flex!important;align-items:center!important;gap:14px!important;margin:0 0 3px!important;color:var(--rp-final-red)!important;font-size:clamp(.72rem,.78vw,.9rem)!important;font-weight:900!important;letter-spacing:.28em!important;line-height:1.1!important;text-transform:uppercase!important;
}
.rp-home-hero .rp-eyebrow::before,.rp-page-hero__copy .eyebrow::before{content:""!important;width:clamp(28px,2.4vw,46px)!important;height:2px!important;flex:0 0 clamp(28px,2.4vw,46px)!important;background:var(--rp-final-red)!important;}

.rp-home-hero h1,.rp-page-hero__copy h1{
  margin:0!important;max-width:10.8ch!important;color:var(--rp-final-navy)!important;font-size:clamp(3.6rem,6.1vw,7.1rem)!important;line-height:.92!important;letter-spacing:-.058em!important;font-weight:720!important;text-transform:uppercase!important;text-shadow:none!important;
}

.rp-home-hero .rp-lead,.rp-page-hero__copy .lead,.rp-page-hero__copy p:not(.eyebrow){
  margin:2px 0 0!important;max-width:31ch!important;color:rgba(22,31,50,.91)!important;font-size:clamp(1rem,1.18vw,1.28rem)!important;line-height:1.56!important;font-weight:500!important;
}

.rp-home-hero .rp-button-row,.rp-page-hero__copy .button-row{margin-top:clamp(8px,1.5vh,18px)!important;display:flex!important;flex-wrap:wrap!important;gap:14px!important;}
.rp-home-hero .rp-btn,.rp-page-hero__copy .btn{min-height:clamp(52px,4.1vw,62px)!important;padding:0 clamp(24px,2.1vw,36px)!important;border-radius:999px!important;font-weight:900!important;letter-spacing:.055em!important;box-shadow:0 24px 56px rgba(26,43,76,.12)!important;}
.rp-home-hero .rp-btn--primary,.rp-page-hero__copy .btn--primary{background:var(--rp-final-red)!important;color:#fff!important;box-shadow:0 24px 56px rgba(211,47,47,.26)!important;}

/* MOBILE HERO — all content fits and remains premium */
@media (max-width:980px){
  .rp-home-hero,.rp-page-hero{min-height:calc(100svh - var(--rp-hero-header-h,86px))!important;}

  .rp-home-hero__video,.rp-home-hero__media img,.rp-page-hero__media img{
    inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;transform:none!important;object-fit:cover!important;object-position:72% center!important;filter:saturate(1.02) contrast(1.02) brightness(.92)!important;
  }

  .rp-home-hero::before,.rp-page-hero__cloud{
    width:100%!important;
    background:
      radial-gradient(circle at 10% 17%,rgba(255,255,255,1) 0%,rgba(255,255,255,.96) 22%,rgba(255,255,255,.74) 44%,rgba(255,255,255,.34) 66%,rgba(255,255,255,0) 100%),
      radial-gradient(circle at 12% 50%,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 18%,rgba(255,255,255,.86) 40%,rgba(255,255,255,.58) 58%,rgba(255,255,255,.24) 78%,rgba(255,255,255,0) 100%),
      linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.99) 42%,rgba(255,255,255,.84) 62%,rgba(255,255,255,.48) 78%,rgba(255,255,255,.16) 92%,rgba(255,255,255,0) 100%)!important;
  }

  .rp-home-hero::after,.rp-page-hero::after{background:linear-gradient(90deg,rgba(255,255,255,.08) 0%,rgba(0,0,0,.06) 74%,rgba(0,0,0,.16) 100%)!important;opacity:.5!important;}

  .rp-home-hero__inner,.rp-page-hero__content{min-height:calc(100svh - var(--rp-hero-header-h,86px))!important;}
  .rp-home-hero__copy,.rp-page-hero__copy{
    width:100%!important;max-width:100%!important;min-height:calc(100svh - var(--rp-hero-header-h,86px))!important;justify-content:center!important;padding:clamp(20px,4vh,34px) 18px clamp(18px,4vh,32px)!important;gap:8px!important;filter:drop-shadow(0 14px 28px rgba(20,32,58,.08))!important;
  }

  .rp-home-hero__copy::before,.rp-page-hero__copy::before{
    content:""!important;position:absolute!important;z-index:-1!important;left:-8px!important;top:4%!important;bottom:4%!important;width:min(82vw,520px)!important;background:radial-gradient(ellipse at 20% 50%,rgba(255,255,255,.70) 0%,rgba(255,255,255,.30) 44%,rgba(255,255,255,0) 78%)!important;filter:blur(20px)!important;opacity:.9!important;pointer-events:none!important;
  }

  .rp-home-hero .rp-eyebrow,.rp-page-hero__copy .eyebrow{font-size:clamp(.62rem,2.2vw,.78rem)!important;letter-spacing:.18em!important;gap:10px!important;margin:0 0 2px!important;}
  .rp-home-hero .rp-eyebrow::before,.rp-page-hero__copy .eyebrow::before{width:28px!important;flex-basis:28px!important;}
  .rp-home-hero h1,.rp-page-hero__copy h1{max-width:11ch!important;font-size:clamp(2.05rem,8.9vw,3.18rem)!important;line-height:.93!important;letter-spacing:-.052em!important;}
  .rp-home-hero .rp-lead,.rp-page-hero__copy .lead,.rp-page-hero__copy p:not(.eyebrow){max-width:31ch!important;font-size:clamp(.88rem,3.25vw,.98rem)!important;line-height:1.42!important;margin:2px 0 0!important;}
  .rp-home-hero .rp-button-row,.rp-page-hero__copy .button-row{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:8px!important;}
  .rp-home-hero .rp-btn,.rp-page-hero__copy .btn{width:100%!important;min-height:50px!important;justify-content:center!important;padding:0 18px!important;font-size:.82rem!important;letter-spacing:.045em!important;}
}

@media (max-width:380px){
  .rp-home-hero__copy,.rp-page-hero__copy{padding:16px 15px 16px!important;gap:7px!important;}
  .rp-home-hero h1,.rp-page-hero__copy h1{font-size:clamp(1.78rem,8.4vw,2.36rem)!important;max-width:11.2ch!important;}
  .rp-home-hero .rp-lead,.rp-page-hero__copy .lead,.rp-page-hero__copy p:not(.eyebrow){font-size:.86rem!important;line-height:1.38!important;}
  .rp-home-hero .rp-btn,.rp-page-hero__copy .btn{min-height:48px!important;}
}

/* SERVICE / MEGA CAROUSEL — uniform thumbnails + larger featured image */
.rp-service-carousel{border-radius:30px!important;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)!important;border:1px solid rgba(26,43,76,.08)!important;box-shadow:0 24px 70px rgba(16,28,52,.10)!important;}
.rp-service-carousel__head,.rp-service-carousel__header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin-bottom:clamp(18px,2vw,28px)!important;}
.rp-service-carousel__eyebrow{display:flex!important;align-items:center!important;gap:18px!important;}
.rp-service-carousel__number{width:clamp(48px,4vw,64px)!important;height:clamp(48px,4vw,64px)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:rgba(211,47,47,.10)!important;color:var(--rp-final-red)!important;font-weight:900!important;}
.rp-service-carousel__eyebrow h3,.rp-service-carousel h3{margin:0!important;color:var(--rp-final-navy)!important;letter-spacing:.20em!important;font-size:clamp(1rem,1.4vw,1.35rem)!important;line-height:1!important;}
.rp-service-carousel__feature{aspect-ratio:16/6.3!important;min-height:clamp(260px,31vw,520px)!important;width:100%!important;border-radius:26px!important;overflow:hidden!important;box-shadow:0 18px 48px rgba(16,28,52,.12)!important;}
.rp-service-carousel__feature img,.rp-service-carousel__feature figure img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center center!important;}
.rp-service-carousel__caption{padding:clamp(20px,2vw,30px)!important;}
.rp-service-carousel__thumbs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:clamp(12px,1.4vw,22px)!important;align-items:center!important;margin-top:clamp(18px,2vw,28px)!important;}
.rp-service-carousel__thumb{width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;aspect-ratio:16/5.2!important;border-radius:16px!important;overflow:hidden!important;padding:0!important;margin:0!important;border:1px solid rgba(26,43,76,.10)!important;box-shadow:0 12px 30px rgba(16,28,52,.08)!important;background:#fff!important;transition:transform 240ms var(--rp-final-ease),box-shadow 240ms var(--rp-final-ease),border-color 240ms var(--rp-final-ease)!important;}
.rp-service-carousel__thumb:hover{transform:translateY(-2px)!important;box-shadow:0 18px 38px rgba(16,28,52,.12)!important;}
.rp-service-carousel__thumb.is-active{border-color:var(--rp-final-red)!important;box-shadow:0 0 0 2px rgba(211,47,47,.18),0 18px 42px rgba(211,47,47,.14)!important;}
.rp-service-carousel__thumb img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center center!important;border-radius:inherit!important;}
.rp-service-carousel__dots,.rp-service-carousel__pagination{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;margin-top:clamp(16px,1.8vw,24px)!important;}
.rp-service-carousel__dot{width:12px!important;height:12px!important;border-radius:999px!important;background:rgba(26,43,76,.16)!important;transition:all 240ms var(--rp-final-ease)!important;}
.rp-service-carousel__dot.is-active{width:34px!important;background:var(--rp-final-red)!important;}

@media (max-width:980px){
  .rp-service-carousel{border-radius:22px!important;padding:18px!important;}
  .rp-service-carousel__feature{min-height:240px!important;aspect-ratio:16/8.7!important;border-radius:18px!important;}
  .rp-service-carousel__thumbs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .rp-service-carousel__thumb{aspect-ratio:16/6!important;border-radius:13px!important;}
}

/* general premium interactions */
.rp-service-card,.rp-work-card,.rp-value-card,.rp-process-card,.rp-insight-card,.rp-contact-card{transition:transform 260ms var(--rp-final-ease),box-shadow 260ms var(--rp-final-ease),border-color 260ms var(--rp-final-ease)!important;}
.rp-service-card:hover,.rp-work-card:hover,.rp-value-card:hover,.rp-process-card:hover,.rp-insight-card:hover,.rp-contact-card:hover{transform:translateY(-3px)!important;box-shadow:0 26px 70px rgba(16,28,52,.12)!important;}

/* ===== SOURCE: assets/css/realpro-sitewide-uxui-performance-audit-final.css ===== */
/* ==========================================================================
   REAL.PRO Studios — Sitewide UX/UI + Performance Audit Final
   Purpose:
   - Refine typography weights and fluid type scale.
   - Normalize spacing rhythm across every section.
   - Improve responsive behavior from small phones to 4K+ screens.
   - Preserve premium cinematic/editorial identity.
   - Use stronger effects on capable devices and lighter rendering on weaker devices.
   ========================================================================== */

:root{
  --rp-navy:#1A2B4C;
  --rp-red:#D32F2F;
  --rp-ink:#22242A;
  --rp-muted:#5D6980;
  --rp-soft:#F7F8FB;
  --rp-paper:#FFFFFF;
  --rp-line:rgba(26,43,76,.10);
  --rp-line-strong:rgba(26,43,76,.16);
  --rp-shadow-soft:0 18px 48px rgba(16,28,52,.08);
  --rp-shadow-premium:0 30px 90px rgba(16,28,52,.13);
  --rp-radius-card:clamp(20px,1.8vw,34px);
  --rp-radius-media:clamp(18px,1.5vw,28px);
  --rp-container:min(1680px, calc(100% - clamp(32px,6vw,132px)));
  --rp-section-y:clamp(72px,8vw,152px);
  --rp-section-y-tight:clamp(48px,5.6vw,104px);
  --rp-grid-gap:clamp(22px,2.2vw,42px);
  --rp-font-display-weight:720;
  --rp-font-title-weight:680;
  --rp-font-body-weight:460;
  --rp-font-strong-weight:760;
  --rp-ease:cubic-bezier(.22,.61,.36,1);
  --rp-duration-fast:220ms;
  --rp-duration-med:420ms;
  --rp-duration-slow:760ms;
  --rp-vh:1vh;
  --rp-header-live:112px;
}

/* --------------------------------------------------------------------------
   Global baseline
   -------------------------------------------------------------------------- */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  scroll-behavior:smooth;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}

body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
  background:#fff;
  color:var(--rp-ink);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"kern" 1, "liga" 1;
}

img,
video,
svg{
  max-width:100%;
}

img{
  height:auto;
}

a,
button,
input,
textarea,
select{
  font:inherit;
}

button,
a{
  -webkit-tap-highlight-color:transparent;
}

:focus-visible{
  outline:3px solid rgba(211,47,47,.38)!important;
  outline-offset:4px!important;
}

::selection{
  background:rgba(211,47,47,.18);
  color:var(--rp-navy);
}

/* --------------------------------------------------------------------------
   Fluid typography system
   -------------------------------------------------------------------------- */
h1,
.h1,
.rp-home-hero h1,
.rp-page-hero__copy h1,
.hero h1{
  font-weight:var(--rp-font-display-weight)!important;
  letter-spacing:clamp(-.065em,-.35vw,-.045em)!important;
  text-wrap:balance;
}

h2,
.h2,
.section-title,
.rp-section-title{
  color:var(--rp-navy);
  font-weight:var(--rp-font-title-weight)!important;
  font-size:clamp(2.45rem,4.25vw,6.4rem)!important;
  line-height:.96!important;
  letter-spacing:-.052em!important;
  text-wrap:balance;
}

h3,
.h3,
.card-title,
.rp-card-title{
  color:var(--rp-navy);
  font-weight:var(--rp-font-strong-weight)!important;
  font-size:clamp(1.22rem,1.48vw,1.82rem)!important;
  line-height:1.04!important;
  letter-spacing:-.025em!important;
  text-wrap:balance;
}

p,
li,
.rp-lead,
.lead,
.card-copy,
.rp-copy{
  font-weight:var(--rp-font-body-weight);
  text-wrap:pretty;
}

.lead,
.rp-lead,
.section-lead,
.rp-section-lead{
  font-size:clamp(1rem,1.16vw,1.28rem)!important;
  line-height:1.58!important;
  letter-spacing:-.012em!important;
  color:rgba(34,36,42,.78)!important;
  max-width:62ch;
}

.eyebrow,
.rp-eyebrow,
.kicker,
.rp-kicker{
  font-weight:840!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  color:var(--rp-red)!important;
}

/* --------------------------------------------------------------------------
   Containers and section rhythm
   -------------------------------------------------------------------------- */
.container,
.rp-container,
.rp-home-container,
.section-inner,
.rp-section-inner{
  width:var(--rp-container)!important;
  max-width:var(--rp-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

section:not(.rp-home-hero):not(.rp-page-hero):not(.hero):not(.article-hero):not(.mobile-menu){
  scroll-margin-top:calc(var(--rp-header-live) + 24px);
}

.section,
.rp-section,
.services-section,
.work-section,
.process-section,
.insights-section,
.contact-section{
  padding-top:var(--rp-section-y)!important;
  padding-bottom:var(--rp-section-y)!important;
}

.section--tight,
.rp-section--tight{
  padding-top:var(--rp-section-y-tight)!important;
  padding-bottom:var(--rp-section-y-tight)!important;
}

.grid,
.rp-grid,
.card-grid,
.rp-card-grid{
  gap:var(--rp-grid-gap)!important;
}

/* --------------------------------------------------------------------------
   Header / navigation refinement
   -------------------------------------------------------------------------- */
.site-header{
  --rp-header-pad-x:clamp(24px,4vw,80px);
  min-height:clamp(86px,7.8vw,132px)!important;
  padding-left:var(--rp-header-pad-x)!important;
  padding-right:var(--rp-header-pad-x)!important;
  border-bottom:1px solid rgba(26,43,76,.08)!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.site-header .brand img,
.site-header .site-logo img,
.site-header img[alt*="REAL.PRO"],
.site-header img[alt*="REALPRO"]{
  width:auto!important;
  max-width:clamp(154px,14vw,250px)!important;
  max-height:clamp(58px,6.2vw,90px)!important;
  object-fit:contain!important;
}

.hamburger,
.menu-toggle,
.nav-toggle{
  width:clamp(44px,4vw,62px)!important;
  height:clamp(44px,4vw,62px)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* --------------------------------------------------------------------------
   Hero refinement
   -------------------------------------------------------------------------- */
.rp-home-hero,
.rp-page-hero{
  min-height:calc((var(--rp-vh) * 100) - var(--rp-header-live))!important;
}

.rp-home-hero__inner,
.rp-page-hero__content{
  min-height:calc((var(--rp-vh) * 100) - var(--rp-header-live))!important;
}

.rp-home-hero__copy,
.rp-page-hero__copy{
  min-height:calc((var(--rp-vh) * 100) - var(--rp-header-live))!important;
}

.rp-home-hero h1,
.rp-page-hero__copy h1{
  font-size:clamp(3.8rem,6.2vw,7.35rem)!important;
  max-width:10.8ch!important;
}

.rp-home-hero .rp-lead,
.rp-page-hero__copy .lead,
.rp-page-hero__copy p:not(.eyebrow){
  max-width:31ch!important;
}

/* --------------------------------------------------------------------------
   Premium cards / media
   -------------------------------------------------------------------------- */
.rp-service-card,
.rp-service-image-card,
.rp-work-card,
.rp-value-card,
.rp-process-card,
.rp-insight-card,
.rp-contact-card,
.card,
.article-card{
  border-color:var(--rp-line)!important;
  box-shadow:var(--rp-shadow-soft)!important;
  transition:
    transform var(--rp-duration-fast) var(--rp-ease),
    box-shadow var(--rp-duration-fast) var(--rp-ease),
    border-color var(--rp-duration-fast) var(--rp-ease),
    background var(--rp-duration-fast) var(--rp-ease)!important;
}

.rp-high-power .rp-service-card:hover,
.rp-high-power .rp-service-image-card:hover,
.rp-high-power .rp-work-card:hover,
.rp-high-power .rp-value-card:hover,
.rp-high-power .rp-process-card:hover,
.rp-high-power .rp-insight-card:hover,
.rp-high-power .rp-contact-card:hover,
.rp-high-power .card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(211,47,47,.18)!important;
  box-shadow:var(--rp-shadow-premium)!important;
}

figure,
.media-frame,
.rp-media-frame{
  overflow:hidden;
}

figure img,
.media-frame img,
.rp-media-frame img,
.rp-work-card img,
.rp-service-image-card img{
  object-fit:cover;
  object-position:center center;
}

/* --------------------------------------------------------------------------
   Services image cards with premium layout
   -------------------------------------------------------------------------- */
.rp-services-image-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(18px,1.8vw,32px)!important;
}

.rp-service-image-card{
  min-height:100%;
  border-radius:var(--rp-radius-card)!important;
}

.rp-service-image-card figure{
  border-radius:var(--rp-radius-card) var(--rp-radius-card) 0 0!important;
  aspect-ratio:16/9.2!important;
  background:#eef2f7!important;
}

.rp-service-image-card figure img{
  width:100%!important;
  height:100%!important;
  display:block!important;
}

.rp-service-image-card__body,
.rp-service-image-card .card-body{
  padding:clamp(22px,2vw,34px)!important;
}

/* --------------------------------------------------------------------------
   Trusted brands carousel section
   -------------------------------------------------------------------------- */
.rp-trusted-carousel,
.rp-logo-carousel,
.rp-trusted-carousel-section{
  overflow:hidden;
}

.rp-trusted-slide,
.rp-logo-card,
.rp-logo-row span{
  min-height:clamp(76px,6vw,104px)!important;
  border-radius:clamp(18px,1.45vw,26px)!important;
  border:1px solid var(--rp-line)!important;
  background:linear-gradient(180deg,#fff 0%,#f9fbff 100%)!important;
  box-shadow:0 16px 42px rgba(16,28,52,.075)!important;
}

/* --------------------------------------------------------------------------
   Carousels: consistent premium behavior
   -------------------------------------------------------------------------- */
.rp-service-carousel,
.rp-project-carousel,
.rp-work-carousel,
[data-rp-carousel]{
  will-change:auto;
}

.rp-high-power .rp-service-carousel__track,
.rp-high-power .rp-project-carousel__track,
.rp-high-power .rp-work-carousel__track{
  will-change:transform;
}

.rp-service-carousel__feature,
.rp-project-carousel__viewport,
.rp-work-carousel__viewport{
  border-radius:var(--rp-radius-media)!important;
  overflow:hidden!important;
}

.rp-service-carousel__thumb{
  aspect-ratio:16/5.35!important;
}

/* --------------------------------------------------------------------------
   4K+ and ultra-wide screens
   -------------------------------------------------------------------------- */
@media (min-width:1920px){
  :root{
    --rp-container:min(1840px, calc(100% - 180px));
    --rp-section-y:clamp(112px,7vw,190px);
    --rp-section-y-tight:clamp(78px,5vw,132px);
    --rp-grid-gap:clamp(34px,2vw,56px);
  }

  .rp-home-hero h1,
  .rp-page-hero__copy h1{
    font-size:clamp(6rem,5.4vw,9.2rem)!important;
  }

  h2,
  .section-title,
  .rp-section-title{
    font-size:clamp(4.2rem,3.6vw,7.6rem)!important;
  }
}

/* --------------------------------------------------------------------------
   Notebook and tablet screens
   -------------------------------------------------------------------------- */
@media (max-width:1280px){
  :root{
    --rp-container:min(1180px, calc(100% - clamp(30px,5vw,70px)));
    --rp-section-y:clamp(64px,7vw,118px);
    --rp-grid-gap:clamp(18px,2vw,30px);
  }

  .rp-services-image-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .rp-home-hero h1,
  .rp-page-hero__copy h1{
    font-size:clamp(3.2rem,6vw,6.1rem)!important;
  }
}

@media (max-width:1024px){
  :root{
    --rp-container:min(100%, calc(100% - 40px));
  }

  .site-header{
    min-height:clamp(78px,9vw,104px)!important;
  }

  h2,
  .section-title,
  .rp-section-title{
    font-size:clamp(2.2rem,6vw,4.4rem)!important;
  }
}

/* --------------------------------------------------------------------------
   Mobile refinement
   -------------------------------------------------------------------------- */
@media (max-width:760px){
  :root{
    --rp-container:min(100%, calc(100% - 32px));
    --rp-section-y:clamp(52px,14vw,86px);
    --rp-section-y-tight:clamp(36px,10vw,66px);
    --rp-grid-gap:18px;
  }

  .site-header{
    min-height:clamp(74px,18vw,104px)!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .site-header .brand img,
  .site-header .site-logo img,
  .site-header img[alt*="REAL.PRO"],
  .site-header img[alt*="REALPRO"]{
    max-width:clamp(148px,42vw,210px)!important;
    max-height:clamp(54px,14vw,74px)!important;
  }

  .rp-home-hero,
  .rp-page-hero{
    min-height:calc((var(--rp-vh) * 100) - var(--rp-header-live))!important;
  }

  .rp-home-hero__inner,
  .rp-page-hero__content,
  .rp-home-hero__copy,
  .rp-page-hero__copy{
    min-height:calc((var(--rp-vh) * 100) - var(--rp-header-live))!important;
  }

  .rp-home-hero__copy,
  .rp-page-hero__copy{
    justify-content:center!important;
    padding:clamp(18px,4vh,30px) 18px clamp(18px,4vh,30px)!important;
    gap:8px!important;
  }

  .rp-home-hero h1,
  .rp-page-hero__copy h1{
    font-size:clamp(2.05rem,8.8vw,3.18rem)!important;
    line-height:.94!important;
    max-width:11.2ch!important;
  }

  .rp-home-hero .rp-lead,
  .rp-page-hero__copy .lead,
  .rp-page-hero__copy p:not(.eyebrow){
    font-size:clamp(.88rem,3.2vw,.99rem)!important;
    line-height:1.42!important;
    max-width:31ch!important;
  }

  .rp-home-hero .rp-button-row,
  .rp-page-hero__copy .button-row{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .rp-home-hero .rp-btn,
  .rp-page-hero__copy .btn,
  .btn,
  .rp-btn{
    width:100%;
    min-height:50px!important;
    justify-content:center!important;
  }

  .rp-services-image-grid{
    grid-template-columns:1fr!important;
  }

  .rp-service-image-card figure{
    aspect-ratio:16/9!important;
    min-height:190px!important;
  }
}

@media (max-width:390px){
  .rp-home-hero__copy,
  .rp-page-hero__copy{
    padding:16px 15px!important;
    gap:7px!important;
  }

  .rp-home-hero h1,
  .rp-page-hero__copy h1{
    font-size:clamp(1.82rem,8.6vw,2.46rem)!important;
  }

  .rp-home-hero .rp-lead,
  .rp-page-hero__copy .lead,
  .rp-page-hero__copy p:not(.eyebrow){
    font-size:.86rem!important;
    line-height:1.38!important;
  }
}

/* --------------------------------------------------------------------------
   Performance tiers
   -------------------------------------------------------------------------- */
.rp-low-power *,
.rp-reduced-motion *{
  animation-duration:.001ms!important;
  animation-iteration-count:1!important;
  scroll-behavior:auto!important;
}

.rp-low-power .reveal,
.rp-reduced-motion .reveal{
  opacity:1!important;
  transform:none!important;
}

.rp-low-power .rp-service-card,
.rp-low-power .rp-work-card,
.rp-low-power .rp-service-image-card,
.rp-low-power .rp-trusted-slide,
.rp-low-power .rp-service-carousel,
.rp-low-power .card{
  box-shadow:0 10px 28px rgba(16,28,52,.07)!important;
}

.rp-low-power video:not(.rp-home-hero__video){
  display:none!important;
}

.rp-high-power .reveal{
  transition:opacity 680ms var(--rp-ease), transform 680ms var(--rp-ease);
}

.rp-high-power .reveal:not(.is-visible){
  opacity:0;
  transform:translateY(18px);
}

.rp-high-power .reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Render heavy below-the-fold sections efficiently */
@supports (content-visibility:auto){
  section:not(.rp-home-hero):not(.rp-page-hero):not(.hero):not(.mobile-menu){
    content-visibility:auto;
    contain-intrinsic-size:1px 900px;
  }
}

/* Reduced motion preference */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important;}
  *,
  *::before,
  *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}

/* ===== SOURCE: assets/css/realpro-footer-title-size-refinement-final.css ===== */
/* ==========================================================================
   REAL.PRO Studios — Footer Title Size Refinement Final
   Ajuste dos títulos grandes do footer para uma escala mais refinada,
   proporcional e responsiva em mobile, tablet, notebook, desktop e 4K+.
   ========================================================================== */

.site-footer .footer-shell h2,
.site-footer .footer-main h2,
.site-footer .footer-col h2,
.site-footer .footer-newsletter h2{
  color:#1A2B4C!important;
  font-weight:680!important;
  letter-spacing:-.052em!important;
  line-height:.95!important;
  text-transform:uppercase!important;
  text-wrap:balance!important;
  margin-top:0!important;
  margin-bottom:clamp(18px,1.7vw,30px)!important;
}

/* Títulos das colunas Navigate e Services */
.site-footer .footer-col > h2{
  font-size:clamp(2.85rem,4.05vw,5.15rem)!important;
  max-width:9.8ch!important;
}

/* Título Stay Inspired, mantendo impacto sem ficar pesado demais */
.site-footer .footer-newsletter h2,
.site-footer .footer-col--newsletter h2,
.site-footer .footer-stay h2{
  font-size:clamp(3rem,4.35vw,5.55rem)!important;
  max-width:8.5ch!important;
}

/* Caso o newsletter não tenha classe específica, limita apenas o último bloco do footer */
.site-footer .footer-main > *:last-child h2{
  font-size:clamp(3rem,4.35vw,5.55rem)!important;
  max-width:8.5ch!important;
}

/* Links com leitura mais refinada após reduzir os títulos */
.site-footer .footer-col a,
.site-footer .footer-link-grid a,
.site-footer .footer-newsletter p,
.site-footer .footer-main p{
  font-size:clamp(1rem,1.08vw,1.22rem)!important;
  line-height:1.48!important;
}

/* Desktop amplo / 4K: mantém grandeza sem estourar escala */
@media (min-width:1920px){
  .site-footer .footer-col > h2{
    font-size:clamp(4.2rem,3.05vw,6.25rem)!important;
  }

  .site-footer .footer-newsletter h2,
  .site-footer .footer-col--newsletter h2,
  .site-footer .footer-stay h2,
  .site-footer .footer-main > *:last-child h2{
    font-size:clamp(4.45rem,3.25vw,6.6rem)!important;
  }
}

/* Notebook e telas médias */
@media (max-width:1280px){
  .site-footer .footer-col > h2{
    font-size:clamp(2.45rem,4.8vw,4.25rem)!important;
  }

  .site-footer .footer-newsletter h2,
  .site-footer .footer-col--newsletter h2,
  .site-footer .footer-stay h2,
  .site-footer .footer-main > *:last-child h2{
    font-size:clamp(2.65rem,5.15vw,4.55rem)!important;
  }
}

/* Tablet */
@media (max-width:980px){
  .site-footer .footer-shell h2,
  .site-footer .footer-main h2,
  .site-footer .footer-col h2,
  .site-footer .footer-newsletter h2{
    margin-bottom:16px!important;
  }

  .site-footer .footer-col > h2,
  .site-footer .footer-newsletter h2,
  .site-footer .footer-col--newsletter h2,
  .site-footer .footer-stay h2,
  .site-footer .footer-main > *:last-child h2{
    font-size:clamp(2.25rem,7.6vw,3.7rem)!important;
    max-width:10ch!important;
  }
}

/* Mobile */
@media (max-width:640px){
  .site-footer .footer-col > h2,
  .site-footer .footer-newsletter h2,
  .site-footer .footer-col--newsletter h2,
  .site-footer .footer-stay h2,
  .site-footer .footer-main > *:last-child h2{
    font-size:clamp(2rem,10.2vw,3rem)!important;
    line-height:.98!important;
    letter-spacing:-.046em!important;
    max-width:11ch!important;
  }

  .site-footer .footer-col a,
  .site-footer .footer-link-grid a,
  .site-footer .footer-newsletter p,
  .site-footer .footer-main p{
    font-size:clamp(.98rem,4vw,1.08rem)!important;
  }
}

/* Mobile muito pequeno */
@media (max-width:380px){
  .site-footer .footer-col > h2,
  .site-footer .footer-newsletter h2,
  .site-footer .footer-col--newsletter h2,
  .site-footer .footer-stay h2,
  .site-footer .footer-main > *:last-child h2{
    font-size:clamp(1.82rem,9.4vw,2.55rem)!important;
  }
}

/* ===== SOURCE: assets/css/realpro-optimized-video-placement-final.css ===== */
/* ==========================================================================
   REAL.PRO Studios — Optimized Video Placement Final
   Hero: uploaded second video. Parallax: uploaded first video.
   Videos are locally optimized, muted, responsive, and performance-safe.
   ========================================================================== */

.rp-home-hero__media,
.rp-parallax-reel__media{
  background:#07111f!important;
  overflow:hidden!important;
}

.rp-home-hero__video,
.rp-home-hero__fallback{
  object-fit:cover!important;
  object-position:center center!important;
  background:#07111f!important;
}

/* The hero video was physically cropped to remove source black bars.
   This framing keeps it premium in the split hero field. */
.rp-home-hero__video{
  filter:saturate(1.06) contrast(1.05) brightness(1.02)!important;
}

.rp-parallax-reel{
  position:relative!important;
  min-height:clamp(560px,78vh,920px)!important;
  overflow:hidden!important;
  isolation:isolate!important;
}

.rp-parallax-reel__media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
}

.rp-parallax-reel__media video,
.rp-parallax-reel__media img{
  position:absolute!important;
  inset:-8% -4%!important;
  width:108%!important;
  height:116%!important;
  min-width:108%!important;
  min-height:116%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:translate3d(0,var(--rp-parallax-y,0px),0) scale(1.06)!important;
  will-change:transform!important;
  filter:saturate(1.03) contrast(1.05) brightness(.82)!important;
}

.rp-parallax-reel::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(5,10,20,.70) 0%,rgba(5,10,20,.44) 46%,rgba(5,10,20,.72) 100%),
    radial-gradient(circle at 28% 46%,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 34%)!important;
}

.rp-parallax-reel__content{
  position:relative!important;
  z-index:2!important;
}

.rp-parallax-reel__content h2,
.rp-parallax-reel__content p{
  text-shadow:0 18px 46px rgba(0,0,0,.32)!important;
}

.rp-video-ready .rp-home-hero__fallback{
  opacity:0!important;
  pointer-events:none!important;
}

@media (max-width:980px){
  .rp-home-hero__video{
    object-position:65% center!important;
  }

  .rp-parallax-reel{
    min-height:clamp(480px,72vh,680px)!important;
  }

  .rp-parallax-reel__media video,
  .rp-parallax-reel__media img{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    transform:scale(1.04)!important;
    object-position:center center!important;
  }
}

.rp-low-power .rp-parallax-reel__media video,
.rp-reduced-motion .rp-parallax-reel__media video{
  display:none!important;
}

.rp-low-power .rp-parallax-reel__media::after,
.rp-reduced-motion .rp-parallax-reel__media::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:var(--rp-parallax-poster)!important;
  background-size:cover!important;
  background-position:center!important;
}

/* ===== SOURCE: assets/css/realpro-video-real-colors-final.css ===== */
/* ==========================================================================
   REAL.PRO Studios — Video Real Colors Final
   Correção visual da seção reel/parallax:
   - remove o efeito escurecido pesado;
   - preserva as cores reais do vídeo;
   - mantém leitura premium com sombra sutil nas informações;
   - mantém performance e responsividade.
   ========================================================================== */

.rp-parallax-reel{
  background:#07111f!important;
  color:#fff!important;
}

/* Vídeo com cores reais, sem escurecimento pesado */
.rp-parallax-reel__media video,
.rp-parallax-reel__media img{
  filter:saturate(1.08) contrast(1.03) brightness(1.04)!important;
  opacity:1!important;
}

/* Remove os overlays escuros antigos */
.rp-parallax-reel::after{
  background:
    linear-gradient(90deg,
      rgba(5,10,20,.14) 0%,
      rgba(5,10,20,.07) 30%,
      rgba(5,10,20,.02) 62%,
      rgba(5,10,20,.06) 100%)!important;
  opacity:1!important;
}

/* O pacote otimizado usa ::before; deixa apenas uma película premium quase imperceptível */
.rp-parallax-reel::before{
  background:
    linear-gradient(90deg,
      rgba(5,10,20,.18) 0%,
      rgba(5,10,20,.08) 32%,
      rgba(5,10,20,0) 68%,
      rgba(5,10,20,.04) 100%),
    radial-gradient(circle at 20% 48%,
      rgba(255,255,255,.08) 0%,
      rgba(255,255,255,.025) 32%,
      rgba(255,255,255,0) 62%)!important;
  opacity:1!important;
}

/* Garante que a informação não fique apagada por reveal/opacity antiga */
.rp-parallax-reel__content,
.rp-parallax-reel__content.reveal,
.rp-parallax-reel__content.reveal.is-visible{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}

/* Texto com presença real, sem bloco escuro por trás */
.rp-parallax-reel .rp-eyebrow{
  color:#D32F2F!important;
  opacity:1!important;
  text-shadow:
    0 2px 10px rgba(0,0,0,.26),
    0 14px 36px rgba(0,0,0,.18)!important;
}

.rp-parallax-reel h2{
  color:#fff!important;
  opacity:1!important;
  text-shadow:
    0 2px 4px rgba(0,0,0,.20),
    0 12px 34px rgba(0,0,0,.32),
    0 28px 70px rgba(0,0,0,.18)!important;
}

.rp-parallax-reel p:not(.rp-eyebrow){
  color:rgba(255,255,255,.94)!important;
  opacity:1!important;
  font-weight:600!important;
  text-shadow:
    0 2px 8px rgba(0,0,0,.24),
    0 14px 38px rgba(0,0,0,.18)!important;
}

.rp-parallax-reel__play{
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 10px 28px rgba(0,0,0,.24)!important;
}

.rp-parallax-reel__play span{
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,255,255,.42)!important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}

/* Sombra premium sutil somente atrás do conteúdo, sem escurecer o vídeo inteiro */
.rp-parallax-reel__content::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  left:clamp(-20px,-1vw,-8px)!important;
  top:50%!important;
  width:min(620px,56vw)!important;
  height:min(560px,72%)!important;
  transform:translateY(-50%)!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at 18% 50%,
      rgba(0,0,0,.22) 0%,
      rgba(0,0,0,.10) 32%,
      rgba(0,0,0,.035) 56%,
      rgba(0,0,0,0) 78%)!important;
  filter:blur(18px)!important;
  opacity:.78!important;
}

/* Mobile: mantém o vídeo claro e a leitura firme, sem escurecer a seção */
@media (max-width:980px){
  .rp-parallax-reel__media video,
  .rp-parallax-reel__media img{
    filter:saturate(1.06) contrast(1.02) brightness(1.03)!important;
  }

  .rp-parallax-reel::before,
  .rp-parallax-reel::after{
    background:
      linear-gradient(180deg,
        rgba(5,10,20,.12) 0%,
        rgba(5,10,20,.03) 42%,
        rgba(5,10,20,.16) 100%)!important;
  }

  .rp-parallax-reel__content::before{
    width:92vw!important;
    height:62%!important;
    left:-18px!important;
    background:
      radial-gradient(ellipse at 20% 50%,
        rgba(0,0,0,.24) 0%,
        rgba(0,0,0,.12) 38%,
        rgba(0,0,0,.04) 62%,
        rgba(0,0,0,0) 82%)!important;
  }

  .rp-parallax-reel h2{
    text-shadow:
      0 2px 4px rgba(0,0,0,.24),
      0 12px 32px rgba(0,0,0,.34)!important;
  }
}

/* Em aparelhos fracos, usa poster mais claro também */
.rp-low-power .rp-parallax-reel__media video{
  display:none!important;
}

.rp-low-power .rp-parallax-reel__media img{
  filter:saturate(1.04) contrast(1.02) brightness(1.02)!important;
}

/* ===== SOURCE: assets/css/realpro-footer-premium-logo-layout-final.css ===== */
/* REAL.PRO Studios — final footer only patch
   Scope: footer visual system only. No header/hero/section rules included. */

.site-footer.site-footer--premium,
.site-footer.site-footer--premium *{
  box-sizing:border-box;
}

.site-footer.site-footer--premium{
  --footer-navy:#152744;
  --footer-text:#4a5568;
  --footer-muted:#657086;
  --footer-red:#df2f32;
  --footer-line:rgba(21,39,68,.12);
  --footer-line-soft:rgba(21,39,68,.09);
  --footer-card:#f7f8fa;
  position:relative;
  margin:0 auto !important;
  padding:0 !important;
  background:linear-gradient(180deg,#f4f6f8 0%,#fbfbfc 42%,#f2f4f6 100%) !important;
  color:var(--footer-text) !important;
  border:0 !important;
  overflow:hidden;
  border-radius:30px;
  box-shadow:inset 0 0 0 1px rgba(21,39,68,.035), 0 28px 90px rgba(21,39,68,.055) !important;
  isolation:isolate;
}

.site-footer.site-footer--premium::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 18%, rgba(255,255,255,.92) 0 18%, rgba(255,255,255,0) 44%),
    radial-gradient(circle at 88% 10%, rgba(255,255,255,.68) 0 14%, rgba(255,255,255,0) 38%),
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,0) 48%);
}

.site-footer.site-footer--premium .footer-cta-band{
  display:none !important;
}

.site-footer.site-footer--premium .footer-shell,
.site-footer.site-footer--premium .container.footer-shell{
  width:min(calc(100% - clamp(56px, 6.8vw, 132px)), 1760px) !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:clamp(96px, 10vw, 180px) 0 clamp(44px, 5vw, 84px) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.site-footer.site-footer--premium .footer-main{
  display:grid !important;
  grid-template-columns:minmax(270px,1.08fr) minmax(140px,.55fr) minmax(390px,1.52fr) minmax(300px,1fr) !important;
  align-items:start !important;
  gap:clamp(42px, 4.4vw, 82px) !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.site-footer.site-footer--premium .footer-brand,
.site-footer.site-footer--premium .footer-col{
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.site-footer.site-footer--premium .footer-col--navigate,
.site-footer.site-footer--premium .footer-col--services{
  min-height:clamp(330px, 28vw, 460px) !important;
  border-right:1px solid var(--footer-line) !important;
  padding-right:clamp(36px, 3.4vw, 70px) !important;
}

.site-footer.site-footer--premium .brand--footer{
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 0 clamp(34px, 3.2vw, 52px) !important;
  padding:0 !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
}

.site-footer.site-footer--premium .brand--footer .brand-mark,
.site-footer.site-footer--premium .footer-brand .brand-mark{
  display:block !important;
  width:min(330px, 100%) !important;
  max-width:330px !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 14px 24px rgba(21,39,68,.08)) !important;
}

.site-footer.site-footer--premium .footer-brand p{
  max-width:330px !important;
  margin:0 !important;
  color:var(--footer-text) !important;
  font-size:clamp(17px, 1.08vw, 21px) !important;
  line-height:1.72 !important;
  font-weight:500 !important;
  letter-spacing:.005em !important;
}

.site-footer.site-footer--premium .footer-social{
  display:flex !important;
  align-items:center !important;
  gap:clamp(14px, 1.6vw, 22px) !important;
  margin:clamp(34px, 3.2vw, 52px) 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}

.site-footer.site-footer--premium .footer-social a{
  width:58px !important;
  height:58px !important;
  display:inline-grid !important;
  place-items:center !important;
  border-radius:999px !important;
  border:1px solid rgba(21,39,68,.14) !important;
  background:rgba(255,255,255,.52) !important;
  color:var(--footer-navy) !important;
  text-decoration:none !important;
  font-size:0 !important;
  box-shadow:0 10px 24px rgba(21,39,68,.045), inset 0 1px 0 rgba(255,255,255,.9) !important;
  transition:transform .28s cubic-bezier(.22,.61,.36,1), border-color .28s ease, background .28s ease, box-shadow .28s ease !important;
}

.site-footer.site-footer--premium .footer-social a:hover,
.site-footer.site-footer--premium .footer-social a:focus-visible{
  transform:translateY(-3px) !important;
  border-color:rgba(223,47,50,.42) !important;
  background:#fff !important;
  box-shadow:0 16px 34px rgba(21,39,68,.09), 0 0 0 4px rgba(223,47,50,.06) !important;
  outline:none !important;
}

.site-footer.site-footer--premium svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
  fill:currentColor !important;
  stroke:none !important;
  flex:0 0 auto !important;
}

.site-footer.site-footer--premium .footer-col h2{
  position:relative !important;
  margin:0 0 clamp(58px, 5.4vw, 88px) !important;
  padding:0 0 34px !important;
  color:var(--footer-navy) !important;
  font-size:clamp(19px, 1.32vw, 25px) !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
}

.site-footer.site-footer--premium .footer-col h2::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  width:44px !important;
  height:3px !important;
  border-radius:999px !important;
  background:var(--footer-red) !important;
  box-shadow:0 8px 18px rgba(223,47,50,.22) !important;
}

.site-footer.site-footer--premium .footer-col a{
  display:flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  color:var(--footer-text) !important;
  text-decoration:none !important;
  font-size:clamp(16px, 1.03vw, 20px) !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
  transition:color .24s ease, transform .24s cubic-bezier(.22,.61,.36,1) !important;
}

.site-footer.site-footer--premium .footer-col a:hover,
.site-footer.site-footer--premium .footer-col a:focus-visible{
  color:var(--footer-navy) !important;
  transform:translateX(3px) !important;
  outline:none !important;
}

.site-footer.site-footer--premium .footer-col--navigate > a{
  margin:0 0 clamp(22px, 2vw, 32px) !important;
}

.site-footer.site-footer--premium .footer-link-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:clamp(26px, 2.35vw, 40px) clamp(52px, 4.5vw, 92px) !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.site-footer.site-footer--premium .footer-link-grid a{
  position:relative !important;
  padding-left:24px !important;
  min-height:24px !important;
}

.site-footer.site-footer--premium .footer-link-grid a::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.68em !important;
  width:5px !important;
  height:5px !important;
  border-radius:999px !important;
  background:var(--footer-red) !important;
  box-shadow:0 0 0 4px rgba(223,47,50,.05) !important;
}

.site-footer.site-footer--premium .footer-col--newsletter{
  padding-left:clamp(18px, 1.2vw, 26px) !important;
}

.site-footer.site-footer--premium .footer-col--newsletter p{
  max-width:330px !important;
  margin:0 0 clamp(36px, 3.4vw, 56px) !important;
  color:var(--footer-text) !important;
  font-size:clamp(17px, 1.08vw, 21px) !important;
  line-height:1.65 !important;
  font-weight:500 !important;
}

.site-footer.site-footer--premium .footer-newsletter{
  display:flex !important;
  align-items:stretch !important;
  width:min(100%, 340px) !important;
  height:68px !important;
  margin:0 0 clamp(36px, 3.4vw, 58px) !important;
  padding:0 !important;
  background:rgba(255,255,255,.44) !important;
  border:1px solid rgba(21,39,68,.14) !important;
  border-radius:5px !important;
  overflow:hidden !important;
  box-shadow:0 12px 28px rgba(21,39,68,.04), inset 0 1px 0 rgba(255,255,255,.72) !important;
}

.site-footer.site-footer--premium .footer-newsletter input{
  min-width:0 !important;
  flex:1 1 auto !important;
  height:100% !important;
  margin:0 !important;
  padding:0 22px !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  color:var(--footer-navy) !important;
  font:inherit !important;
  font-size:clamp(16px, 1vw, 19px) !important;
  font-weight:500 !important;
  box-shadow:none !important;
}

.site-footer.site-footer--premium .footer-newsletter input::placeholder{
  color:rgba(74,85,104,.72) !important;
}

.site-footer.site-footer--premium .footer-newsletter button{
  width:70px !important;
  min-width:70px !important;
  height:68px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:4px !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(135deg,#e43a3d,#cf292d) !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:300 !important;
  cursor:pointer !important;
  box-shadow:0 18px 34px rgba(223,47,50,.24), inset 0 1px 0 rgba(255,255,255,.22) !important;
  transition:transform .25s ease, filter .25s ease !important;
}

.site-footer.site-footer--premium .footer-newsletter button:hover,
.site-footer.site-footer--premium .footer-newsletter button:focus-visible{
  transform:translateX(2px) !important;
  filter:saturate(1.06) brightness(1.02) !important;
  outline:none !important;
}

.site-footer.site-footer--premium .footer-contact-mini{
  display:grid !important;
  gap:clamp(22px, 2vw, 30px) !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}

.site-footer.site-footer--premium .footer-contact-mini a{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  width:max-content !important;
  max-width:100% !important;
  color:var(--footer-text) !important;
  font-size:clamp(17px, 1.06vw, 21px) !important;
  font-weight:500 !important;
}

.site-footer.site-footer--premium .footer-contact-mini svg{
  width:21px !important;
  height:21px !important;
  color:var(--footer-red) !important;
}

.site-footer.site-footer--premium .footer-bottom,
.site-footer.site-footer--premium .footer-bottom--premium{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin:clamp(90px, 8.5vw, 130px) 0 0 !important;
  padding:clamp(42px, 4vw, 58px) 0 0 !important;
  border-top:1px solid var(--footer-line) !important;
  background:transparent !important;
  box-shadow:none !important;
}

.site-footer.site-footer--premium .footer-bottom p{
  margin:0 !important;
  color:var(--footer-text) !important;
  font-size:clamp(14px, .95vw, 18px) !important;
  line-height:1.5 !important;
  font-weight:500 !important;
}

.site-footer.site-footer--premium .footer-bottom div{
  display:flex !important;
  align-items:center !important;
  gap:28px !important;
  margin:0 !important;
  padding:0 !important;
}

.site-footer.site-footer--premium .footer-bottom div span{
  width:1px !important;
  height:26px !important;
  background:var(--footer-line) !important;
  display:block !important;
}

.site-footer.site-footer--premium .footer-bottom a{
  color:var(--footer-text) !important;
  text-decoration:none !important;
  font-size:clamp(14px, .95vw, 18px) !important;
  line-height:1.4 !important;
  font-weight:500 !important;
  transition:color .22s ease !important;
}

.site-footer.site-footer--premium .footer-bottom a:hover,
.site-footer.site-footer--premium .footer-bottom a:focus-visible{
  color:var(--footer-navy) !important;
  outline:none !important;
}

.site-footer.site-footer--premium .sr-only{
  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;
}

@media (max-width: 1180px){
  .site-footer.site-footer--premium .footer-main{
    grid-template-columns:1fr 1fr !important;
    gap:64px 56px !important;
  }
  .site-footer.site-footer--premium .footer-col--navigate,
  .site-footer.site-footer--premium .footer-col--services{
    min-height:0 !important;
    border-right:0 !important;
    padding-right:0 !important;
  }
  .site-footer.site-footer--premium .footer-col--newsletter{
    padding-left:0 !important;
  }
}

@media (max-width: 760px){
  .site-footer.site-footer--premium{
    border-radius:22px !important;
  }
  .site-footer.site-footer--premium .footer-shell,
  .site-footer.site-footer--premium .container.footer-shell{
    width:min(calc(100% - 32px), 680px) !important;
    padding:72px 0 42px !important;
  }
  .site-footer.site-footer--premium .footer-main{
    grid-template-columns:1fr !important;
    gap:54px !important;
  }
  .site-footer.site-footer--premium .brand--footer .brand-mark,
  .site-footer.site-footer--premium .footer-brand .brand-mark{
    width:min(285px, 86vw) !important;
    max-width:285px !important;
  }
  .site-footer.site-footer--premium .footer-brand p,
  .site-footer.site-footer--premium .footer-col--newsletter p{
    max-width:100% !important;
  }
  .site-footer.site-footer--premium .footer-social a{
    width:54px !important;
    height:54px !important;
  }
  .site-footer.site-footer--premium .footer-col h2{
    margin-bottom:34px !important;
  }
  .site-footer.site-footer--premium .footer-link-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .site-footer.site-footer--premium .footer-newsletter{
    width:100% !important;
  }
  .site-footer.site-footer--premium .footer-bottom,
  .site-footer.site-footer--premium .footer-bottom--premium{
    margin-top:64px !important;
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  .site-footer.site-footer--premium .footer-bottom div{
    flex-wrap:wrap !important;
    gap:16px 22px !important;
  }
}

/* ===== SOURCE: assets/css/realpro-footer-exact-reference-final.css ===== */
/* REAL.PRO Studios — Footer Exact Reference + Full Visibility Final
   Scope: footer only. This file intentionally loads last and does not touch header, hero, menu, videos or carousels. */

html body .site-footer.site-footer--premium,
html body .site-footer.site-footer--premium *{
  box-sizing:border-box !important;
}

html body .site-footer.site-footer--premium{
  --rf-navy:#152744;
  --rf-red:#df2f32;
  --rf-text:#4b5567;
  --rf-muted:#667085;
  --rf-line:rgba(21,39,68,.12);
  position:relative !important;
  width:min(calc(100% - 28px), 1900px) !important;
  max-width:1900px !important;
  margin:0 auto 18px !important;
  padding:0 !important;
  color:var(--rf-text) !important;
  background:
    radial-gradient(circle at 17% 17%, rgba(255,255,255,.98) 0 14%, rgba(255,255,255,0) 40%),
    radial-gradient(circle at 86% 6%, rgba(255,255,255,.70) 0 12%, rgba(255,255,255,0) 35%),
    linear-gradient(180deg, #f7f8fa 0%, #ffffff 45%, #f4f6f8 100%) !important;
  border:0 !important;
  border-radius:30px !important;
  overflow:hidden !important;
  box-shadow:
    inset 0 0 0 1px rgba(21,39,68,.035),
    0 24px 90px rgba(21,39,68,.055) !important;
  isolation:isolate !important;
}

html body .site-footer.site-footer--premium::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.38), transparent 22%, transparent 78%, rgba(255,255,255,.34)),
    radial-gradient(circle at 50% 100%, rgba(21,39,68,.035), transparent 58%) !important;
  opacity:.85 !important;
  z-index:0 !important;
}

html body .site-footer.site-footer--premium .footer-cta-band{
  display:none !important;
}

html body .site-footer.site-footer--premium .footer-shell,
html body .site-footer.site-footer--premium .container.footer-shell{
  position:relative !important;
  z-index:1 !important;
  width:min(calc(100% - 112px), 1760px) !important;
  max-width:1760px !important;
  margin:0 auto !important;
  padding:clamp(86px, 6.5vw, 118px) 0 clamp(46px, 3.7vw, 58px) !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

html body .site-footer.site-footer--premium .footer-main{
  display:grid !important;
  grid-template-columns:minmax(290px, 400px) minmax(145px, 180px) minmax(480px, 1fr) minmax(300px, 360px) !important;
  align-items:start !important;
  justify-content:space-between !important;
  column-gap:clamp(48px, 4.5vw, 82px) !important;
  row-gap:56px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

html body .site-footer.site-footer--premium .footer-brand,
html body .site-footer.site-footer--premium .footer-col,
html body .site-footer.site-footer--premium nav.footer-col,
html body .site-footer.site-footer--premium .footer-col--newsletter{
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-align:left !important;
}

html body .site-footer.site-footer--premium .footer-col--navigate,
html body .site-footer.site-footer--premium .footer-col--services{
  min-height:0 !important;
  padding-right:clamp(38px, 3.6vw, 70px) !important;
  border-right:1px solid var(--rf-line) !important;
}

html body .site-footer.site-footer--premium .footer-col--services{
  padding-right:clamp(44px, 4vw, 76px) !important;
}

html body .site-footer.site-footer--premium .brand--footer{
  display:inline-flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 0 40px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

html body .site-footer.site-footer--premium .brand--footer .brand-mark,
html body .site-footer.site-footer--premium .footer-brand .brand-mark,
html body .site-footer.site-footer--premium .footer-brand img.brand-mark{
  display:block !important;
  width:min(365px, 100%) !important;
  max-width:365px !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 16px 24px rgba(21,39,68,.075)) !important;
}

html body .site-footer.site-footer--premium .footer-brand p{
  width:100% !important;
  max-width:360px !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--rf-text) !important;
  font-family:inherit !important;
  font-size:19px !important;
  line-height:1.62 !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
}

html body .site-footer.site-footer--premium .footer-social{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:20px !important;
  margin:40px 0 0 !important;
  padding:0 !important;
  width:auto !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

html body .site-footer.site-footer--premium .footer-social a{
  position:relative !important;
  display:inline-grid !important;
  place-items:center !important;
  flex:0 0 56px !important;
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;
  max-width:56px !important;
  max-height:56px !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--rf-navy) !important;
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(21,39,68,.13) !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font-size:0 !important;
  line-height:0 !important;
  box-shadow:0 10px 24px rgba(21,39,68,.045), inset 0 1px 0 rgba(255,255,255,.88) !important;
  overflow:hidden !important;
  transition:transform .28s cubic-bezier(.22,.61,.36,1), border-color .28s ease, background .28s ease, box-shadow .28s ease !important;
}

html body .site-footer.site-footer--premium .footer-social a:hover,
html body .site-footer.site-footer--premium .footer-social a:focus-visible{
  transform:translateY(-3px) !important;
  border-color:rgba(223,47,50,.45) !important;
  background:#fff !important;
  box-shadow:0 16px 34px rgba(21,39,68,.09), 0 0 0 4px rgba(223,47,50,.06) !important;
  outline:none !important;
}

html body .site-footer.site-footer--premium svg,
html body .site-footer.site-footer--premium .footer-social svg,
html body .site-footer.site-footer--premium .footer-social a svg{
  display:block !important;
  flex:0 0 auto !important;
  width:22px !important;
  height:22px !important;
  max-width:22px !important;
  max-height:22px !important;
  margin:0 !important;
  padding:0 !important;
  color:currentColor !important;
  fill:currentColor !important;
  stroke:none !important;
  opacity:1 !important;
  transform:none !important;
}

html body .site-footer.site-footer--premium .footer-col h2,
html body .site-footer.site-footer--premium nav.footer-col h2,
html body .site-footer.site-footer--premium .footer-col--newsletter h2{
  position:relative !important;
  display:block !important;
  width:auto !important;
  max-width:none !important;
  margin:0 0 46px !important;
  padding:0 0 30px !important;
  color:var(--rf-navy) !important;
  font-family:inherit !important;
  font-size:25px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  white-space:normal !important;
}

html body .site-footer.site-footer--premium .footer-col h2::before,
html body .site-footer.site-footer--premium .footer-col h2::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  top:auto !important;
  width:44px !important;
  height:3px !important;
  background:var(--rf-red) !important;
  border:0 !important;
  border-radius:999px !important;
  box-shadow:0 8px 18px rgba(223,47,50,.22) !important;
  transform:none !important;
}

html body .site-footer.site-footer--premium .footer-col a,
html body .site-footer.site-footer--premium .footer-col--navigate > a,
html body .site-footer.site-footer--premium .footer-link-grid a,
html body .site-footer.site-footer--premium .footer-bottom a{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--rf-text) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  font-family:inherit !important;
  font-size:18px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
  text-transform:none !important;
  transition:color .24s ease, transform .24s cubic-bezier(.22,.61,.36,1) !important;
}

html body .site-footer.site-footer--premium .footer-col a:hover,
html body .site-footer.site-footer--premium .footer-col a:focus-visible,
html body .site-footer.site-footer--premium .footer-bottom a:hover,
html body .site-footer.site-footer--premium .footer-bottom a:focus-visible{
  color:var(--rf-navy) !important;
  transform:translateX(3px) !important;
  outline:none !important;
}

html body .site-footer.site-footer--premium .footer-col--navigate > a{
  margin-bottom:23px !important;
}

html body .site-footer.site-footer--premium .footer-col--navigate > a:last-child{
  margin-bottom:0 !important;
}

html body .site-footer.site-footer--premium .footer-link-grid{
  display:grid !important;
  grid-template-columns:minmax(210px,1fr) minmax(210px,1fr) !important;
  column-gap:clamp(50px, 4.6vw, 78px) !important;
  row-gap:23px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

html body .site-footer.site-footer--premium .footer-link-grid a{
  padding-left:24px !important;
  margin:0 !important;
}

html body .site-footer.site-footer--premium .footer-link-grid a::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.62em !important;
  width:5px !important;
  height:5px !important;
  border-radius:999px !important;
  background:var(--rf-red) !important;
  box-shadow:0 0 0 4px rgba(223,47,50,.05) !important;
}

html body .site-footer.site-footer--premium .footer-col--newsletter{
  padding-left:0 !important;
}

html body .site-footer.site-footer--premium .footer-col--newsletter p{
  width:100% !important;
  max-width:335px !important;
  margin:0 0 42px !important;
  padding:0 !important;
  color:var(--rf-text) !important;
  font-family:inherit !important;
  font-size:19px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

html body .site-footer.site-footer--premium .footer-newsletter{
  display:flex !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  width:340px !important;
  max-width:100% !important;
  height:68px !important;
  margin:0 0 44px !important;
  padding:0 !important;
  background:rgba(255,255,255,.62) !important;
  border:1px solid rgba(21,39,68,.13) !important;
  border-radius:5px !important;
  overflow:hidden !important;
  box-shadow:0 18px 44px rgba(21,39,68,.055), inset 0 1px 0 rgba(255,255,255,.82) !important;
}

html body .site-footer.site-footer--premium .footer-newsletter input{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:auto !important;
  height:100% !important;
  margin:0 !important;
  padding:0 22px !important;
  color:var(--rf-navy) !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  font-family:inherit !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
}

html body .site-footer.site-footer--premium .footer-newsletter input::placeholder{
  color:rgba(74,85,104,.72) !important;
}

html body .site-footer.site-footer--premium .footer-newsletter button{
  display:grid !important;
  place-items:center !important;
  flex:0 0 68px !important;
  width:68px !important;
  min-width:68px !important;
  height:68px !important;
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  background:linear-gradient(135deg,#e43a3d 0%,#d22b30 100%) !important;
  border:0 !important;
  border-radius:4px !important;
  box-shadow:0 18px 34px rgba(223,47,50,.24), inset 0 1px 0 rgba(255,255,255,.22) !important;
  font-family:inherit !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:300 !important;
  cursor:pointer !important;
  text-align:center !important;
}

html body .site-footer.site-footer--premium .footer-contact-mini{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:25px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

html body .site-footer.site-footer--premium .footer-contact-mini a{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:18px !important;
  width:max-content !important;
  max-width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--rf-text) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  font-size:19px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
  text-transform:none !important;
}

html body .site-footer.site-footer--premium .footer-contact-mini a svg,
html body .site-footer.site-footer--premium .footer-contact-mini svg{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  max-width:20px !important;
  min-height:20px !important;
  max-height:20px !important;
  color:var(--rf-red) !important;
  fill:currentColor !important;
  stroke:none !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  opacity:1 !important;
}

html body .site-footer.site-footer--premium .footer-bottom,
html body .site-footer.site-footer--premium .footer-bottom.footer-bottom--premium{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  width:100% !important;
  margin:78px 0 0 !important;
  padding:42px 0 0 !important;
  background:transparent !important;
  border:0 !important;
  border-top:1px solid var(--rf-line) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

html body .site-footer.site-footer--premium .footer-bottom p{
  margin:0 !important;
  padding:0 !important;
  color:var(--rf-text) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  font-family:inherit !important;
  font-size:16px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
}

html body .site-footer.site-footer--premium .footer-bottom div{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:28px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

html body .site-footer.site-footer--premium .footer-bottom div span{
  display:block !important;
  width:1px !important;
  height:25px !important;
  margin:0 !important;
  padding:0 !important;
  background:var(--rf-line) !important;
  border:0 !important;
}

html body .site-footer.site-footer--premium .footer-bottom a{
  font-size:16px !important;
  line-height:1.5 !important;
  white-space:nowrap !important;
}

html body .site-footer.site-footer--premium .sr-only{
  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;
}

@media (max-width: 1480px){
  html body .site-footer.site-footer--premium .footer-shell,
  html body .site-footer.site-footer--premium .container.footer-shell{
    width:min(calc(100% - 72px), 1320px) !important;
    padding:96px 0 52px !important;
  }
  html body .site-footer.site-footer--premium .footer-main{
    grid-template-columns:310px 145px minmax(410px, 1fr) 310px !important;
    column-gap:48px !important;
  }
  html body .site-footer.site-footer--premium .brand--footer .brand-mark,
  html body .site-footer.site-footer--premium .footer-brand .brand-mark{
    width:min(310px,100%) !important;
    max-width:310px !important;
  }
  html body .site-footer.site-footer--premium .footer-brand p,
  html body .site-footer.site-footer--premium .footer-col--newsletter p{
    font-size:17px !important;
  }
  html body .site-footer.site-footer--premium .footer-col a,
  html body .site-footer.site-footer--premium .footer-link-grid a,
  html body .site-footer.site-footer--premium .footer-contact-mini a{
    font-size:16px !important;
  }
  html body .site-footer.site-footer--premium .footer-link-grid{
    grid-template-columns:minmax(185px,1fr) minmax(185px,1fr) !important;
    column-gap:42px !important;
    row-gap:21px !important;
  }
  html body .site-footer.site-footer--premium .footer-bottom,
  html body .site-footer.site-footer--premium .footer-bottom.footer-bottom--premium{
    margin-top:62px !important;
    padding-top:34px !important;
  }
}

@media (max-width: 1180px){
  html body .site-footer.site-footer--premium{
    width:min(calc(100% - 24px), 1120px) !important;
  }
  html body .site-footer.site-footer--premium .footer-shell,
  html body .site-footer.site-footer--premium .container.footer-shell{
    width:min(calc(100% - 56px), 980px) !important;
    padding:82px 0 50px !important;
  }
  html body .site-footer.site-footer--premium .footer-main{
    grid-template-columns:1fr 1fr !important;
    column-gap:56px !important;
    row-gap:58px !important;
  }
  html body .site-footer.site-footer--premium .footer-col--navigate,
  html body .site-footer.site-footer--premium .footer-col--services{
    min-height:0 !important;
    padding-right:0 !important;
    border-right:0 !important;
  }
  html body .site-footer.site-footer--premium .footer-col--services,
  html body .site-footer.site-footer--premium .footer-col--newsletter{
    padding-top:0 !important;
  }
  html body .site-footer.site-footer--premium .footer-bottom,
  html body .site-footer.site-footer--premium .footer-bottom.footer-bottom--premium{
    margin-top:58px !important;
  }
}

@media (max-width: 760px){
  html body .site-footer.site-footer--premium{
    width:min(calc(100% - 18px), 720px) !important;
    border-radius:22px !important;
    margin-bottom:12px !important;
  }
  html body .site-footer.site-footer--premium .footer-shell,
  html body .site-footer.site-footer--premium .container.footer-shell{
    width:min(calc(100% - 32px), 620px) !important;
    padding:58px 0 36px !important;
  }
  html body .site-footer.site-footer--premium .footer-main{
    grid-template-columns:1fr !important;
    gap:46px !important;
  }
  html body .site-footer.site-footer--premium .brand--footer{
    margin-bottom:30px !important;
  }
  html body .site-footer.site-footer--premium .brand--footer .brand-mark,
  html body .site-footer.site-footer--premium .footer-brand .brand-mark{
    width:min(285px, 86vw) !important;
    max-width:285px !important;
  }
  html body .site-footer.site-footer--premium .footer-brand p,
  html body .site-footer.site-footer--premium .footer-col--newsletter p{
    max-width:100% !important;
    font-size:16px !important;
    line-height:1.62 !important;
  }
  html body .site-footer.site-footer--premium .footer-social{
    gap:14px !important;
    flex-wrap:wrap !important;
    margin-top:30px !important;
  }
  html body .site-footer.site-footer--premium .footer-social a{
    flex-basis:52px !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    min-height:52px !important;
  }
  html body .site-footer.site-footer--premium .footer-col h2,
  html body .site-footer.site-footer--premium nav.footer-col h2,
  html body .site-footer.site-footer--premium .footer-col--newsletter h2{
    margin-bottom:28px !important;
    padding-bottom:22px !important;
    font-size:20px !important;
  }
  html body .site-footer.site-footer--premium .footer-col--navigate > a{
    margin-bottom:18px !important;
  }
  html body .site-footer.site-footer--premium .footer-link-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  html body .site-footer.site-footer--premium .footer-newsletter{
    width:100% !important;
    height:60px !important;
    margin-bottom:30px !important;
  }
  html body .site-footer.site-footer--premium .footer-newsletter input{
    font-size:16px !important;
    padding:0 18px !important;
  }
  html body .site-footer.site-footer--premium .footer-newsletter button{
    width:60px !important;
    min-width:60px !important;
    flex-basis:60px !important;
    height:60px !important;
    font-size:30px !important;
  }
  html body .site-footer.site-footer--premium .footer-contact-mini a{
    font-size:16px !important;
    gap:14px !important;
  }
  html body .site-footer.site-footer--premium .footer-bottom,
  html body .site-footer.site-footer--premium .footer-bottom.footer-bottom--premium{
    margin-top:52px !important;
    padding-top:30px !important;
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  html body .site-footer.site-footer--premium .footer-bottom div{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:12px 20px !important;
  }
}

/* ===== SOURCE: assets/css/realpro-mobile-hero-cinematic-visibility-final.css ===== */
/* ========================================================================== 
   REAL.PRO Studios — Mobile Cinematic Hero Visibility Final
   Purpose: keep the mobile hero fully centered, make the video fill the full
   hero canvas, preserve perfect readability with a subtle left-side veil only,
   and remove excessive bottom whitespace across mobile viewports.
   ========================================================================== */

:root{
  --rp-mobile-header-h: 96px;
  --rp-mobile-header-h-sm: 92px;
  --rp-mobile-side: clamp(20px, 5.2vw, 30px);
  --rp-navy-mobile-final: #1A2B4C;
  --rp-red-mobile-final: #D32F2F;
}

@media (max-width: 980px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    background:#fff!important;
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
  }

  body,
  body.home-model-page{
    padding-top:var(--rp-mobile-header-h)!important;
  }

  .site-header,
  .site-header.is-scrolled,
  body.home-model-page .site-header{
    height:var(--rp-mobile-header-h)!important;
    min-height:var(--rp-mobile-header-h)!important;
    max-height:var(--rp-mobile-header-h)!important;
  }

  /* HOME HERO — full-screen video canvas with a refined text-reading veil. */
  body.home-model-page .rp-home-hero,
  .home-model-page .rp-home-hero,
  .rp-home-hero.rp-home-hero--video{
    position:relative!important;
    height:calc(100svh - var(--rp-mobile-header-h))!important;
    min-height:calc(100svh - var(--rp-mobile-header-h))!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
    border:0!important;
    isolation:isolate!important;
  }

  .home-model-page .rp-home-hero__media,
  .rp-home-hero--video .rp-home-hero__media{
    position:absolute!important;
    z-index:1!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    overflow:hidden!important;
    background:#eef1f5!important;
    opacity:1!important;
    border:0!important;
    box-shadow:none!important;
  }

  .home-model-page .rp-home-hero__video,
  .rp-home-hero--video .rp-home-hero__video,
  .home-model-page .rp-home-hero__fallback,
  .rp-home-hero--video .rp-home-hero__fallback,
  .home-model-page .rp-home-hero__media img,
  .rp-home-hero--video .rp-home-hero__media img{
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:62% center!important;
    opacity:1!important;
    transform:none!important;
    filter:saturate(1.08) contrast(1.04) brightness(1.01)!important;
  }

  .home-model-page .rp-home-hero__fallback,
  .rp-home-hero--video .rp-home-hero__fallback{
    z-index:1!important;
  }

  .home-model-page .rp-home-hero__media::before,
  .home-model-page .rp-home-hero__media::after,
  .rp-home-hero--video .rp-home-hero__media::before,
  .rp-home-hero--video .rp-home-hero__media::after{
    display:none!important;
    content:none!important;
  }

  .home-model-page .rp-home-hero__cloud,
  .rp-home-hero--video .rp-home-hero__cloud,
  .home-model-page .rp-home-hero::before,
  .rp-home-hero--video::before{
    content:""!important;
    position:absolute!important;
    z-index:3!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    pointer-events:none!important;
    opacity:1!important;
    display:block!important;
    background:
      radial-gradient(circle at 10% 23%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.96) 26%, rgba(255,255,255,.75) 45%, rgba(255,255,255,.32) 64%, rgba(255,255,255,0) 80%),
      radial-gradient(circle at 12% 62%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.95) 28%, rgba(255,255,255,.72) 48%, rgba(255,255,255,.26) 67%, rgba(255,255,255,0) 84%),
      linear-gradient(90deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.98) 35%,
        rgba(255,255,255,.82) 51%,
        rgba(255,255,255,.48) 64%,
        rgba(255,255,255,.16) 76%,
        rgba(255,255,255,.03) 88%,
        rgba(255,255,255,0) 100%)!important;
  }

  .home-model-page .rp-home-hero::after,
  .rp-home-hero--video::after{
    content:""!important;
    position:absolute!important;
    z-index:4!important;
    inset:auto 0 0 0!important;
    height:18%!important;
    pointer-events:none!important;
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.38) 100%)!important;
    opacity:.22!important;
  }

  .home-model-page .rp-home-hero__inner,
  .rp-home-hero--video .rp-home-hero__inner{
    position:relative!important;
    z-index:6!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
  }

  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy,
  .home-model-page .hero-copy{
    position:relative!important;
    z-index:7!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:clamp(36px, 6.5vh, 58px) var(--rp-mobile-side) clamp(16px, 2.4vh, 22px)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    gap:clamp(10px, 1.65vh, 14px)!important;
    color:var(--rp-navy-mobile-final)!important;
    transform:none!important;
    filter:none!important;
  }

  .home-model-page .rp-home-hero .rp-eyebrow,
  .rp-home-hero--video .rp-eyebrow{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:0!important;
    padding:0!important;
    color:var(--rp-red-mobile-final)!important;
    font-size:clamp(.68rem, 2vw, .82rem)!important;
    line-height:1.08!important;
    letter-spacing:.21em!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    text-shadow:none!important;
    white-space:normal!important;
  }

  .home-model-page .rp-home-hero .rp-eyebrow::before,
  .rp-home-hero--video .rp-eyebrow::before{
    content:""!important;
    flex:0 0 32px!important;
    width:32px!important;
    height:2px!important;
    background:var(--rp-red-mobile-final)!important;
  }

  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{
    margin:0!important;
    max-width:10.55ch!important;
    color:var(--rp-navy-mobile-final)!important;
    font-family:var(--display, Impact, "Arial Narrow", Arial, sans-serif)!important;
    font-size:clamp(2.5rem, 10.45vw, 3.45rem)!important;
    line-height:.91!important;
    letter-spacing:-.064em!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    text-wrap:balance!important;
    text-shadow:0 1px 0 rgba(255,255,255,.22)!important;
  }

  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{
    margin:0!important;
    max-width:min(100%, 33ch)!important;
    color:rgba(22,31,50,.95)!important;
    font-size:clamp(.96rem, 3.38vw, 1.08rem)!important;
    line-height:1.44!important;
    font-weight:680!important;
    letter-spacing:-.012em!important;
    text-shadow:0 1px 0 rgba(255,255,255,.26)!important;
  }

  .home-model-page .rp-home-hero .rp-button-row,
  .rp-home-hero--video .rp-button-row{
    width:100%!important;
    max-width:none!important;
    margin:clamp(7px, 1.55vh, 12px) 0 0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  .home-model-page .rp-home-hero .rp-btn,
  .home-model-page .rp-home-hero .rp-btn--primary,
  .rp-home-hero--video .rp-btn,
  .rp-home-hero--video .rp-btn--primary{
    width:100%!important;
    max-width:100%!important;
    min-height:54px!important;
    height:54px!important;
    padding:0 18px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    border-radius:7px!important;
    background:var(--rp-red-mobile-final)!important;
    color:#fff!important;
    font-size:.82rem!important;
    line-height:1!important;
    letter-spacing:.085em!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    box-shadow:0 18px 38px rgba(211,47,47,.22), 0 8px 22px rgba(26,43,76,.08)!important;
  }

  /* Mobile page sections: balanced vertical rhythm without clipped content. */
  .rp-section,
  .section,
  .section--tight,
  .reference-page section:not(.rp-home-hero):not(.site-footer):not(.rp-parallax-reel){
    padding-top:clamp(50px, 11vw, 74px)!important;
    padding-bottom:clamp(50px, 11vw, 74px)!important;
  }

  .rp-page-hero,
  .hero,
  .reference-page .hero.ref-hero,
  .article-hero{
    min-height:calc(100svh - var(--rp-mobile-header-h))!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  .rp-page-hero__content,
  .rp-page-hero__copy,
  .hero-grid,
  .reference-page .ref-hero__grid,
  .article-hero__grid{
    min-height:calc(100svh - var(--rp-mobile-header-h))!important;
    width:100%!important;
    max-width:none!important;
    padding:clamp(34px, 7vh, 62px) var(--rp-mobile-side)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:clamp(12px, 2vh, 18px)!important;
  }
}

@media (max-width: 640px){
  :root{
    --rp-mobile-header-h: var(--rp-mobile-header-h-sm);
    --rp-mobile-side: clamp(20px, 5vw, 24px);
  }

  body.home-model-page .rp-home-hero,
  .home-model-page .rp-home-hero,
  .rp-home-hero.rp-home-hero--video{
    height:calc(100svh - var(--rp-mobile-header-h))!important;
    min-height:calc(100svh - var(--rp-mobile-header-h))!important;
  }

  .home-model-page .rp-home-hero__video,
  .rp-home-hero--video .rp-home-hero__video,
  .home-model-page .rp-home-hero__fallback,
  .rp-home-hero--video .rp-home-hero__fallback,
  .home-model-page .rp-home-hero__media img,
  .rp-home-hero--video .rp-home-hero__media img{
    object-position:64% center!important;
  }

  .home-model-page .rp-home-hero__cloud,
  .rp-home-hero--video .rp-home-hero__cloud,
  .home-model-page .rp-home-hero::before,
  .rp-home-hero--video::before{
    background:
      radial-gradient(circle at 10% 23%, rgba(255,255,255,.985) 0%, rgba(255,255,255,.96) 28%, rgba(255,255,255,.74) 48%, rgba(255,255,255,.27) 66%, rgba(255,255,255,0) 82%),
      radial-gradient(circle at 11% 61%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.95) 30%, rgba(255,255,255,.72) 50%, rgba(255,255,255,.25) 69%, rgba(255,255,255,0) 86%),
      linear-gradient(90deg,
        rgba(255,255,255,.995) 0%,
        rgba(255,255,255,.985) 42%,
        rgba(255,255,255,.82) 56%,
        rgba(255,255,255,.46) 68%,
        rgba(255,255,255,.14) 80%,
        rgba(255,255,255,.02) 90%,
        rgba(255,255,255,0) 100%)!important;
  }

  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy,
  .home-model-page .hero-copy{
    padding-top:clamp(42px, 7.4vh, 64px)!important;
    padding-bottom:clamp(12px, 1.8vh, 18px)!important;
    gap:clamp(9px, 1.45vh, 12px)!important;
  }

  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{
    max-width:10.45ch!important;
    font-size:clamp(2.34rem, 10.1vw, 3.16rem)!important;
    line-height:.91!important;
  }

  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{
    max-width:32.5ch!important;
    font-size:clamp(.94rem, 3.35vw, 1.02rem)!important;
    line-height:1.43!important;
  }

  .home-model-page .rp-home-hero .rp-btn,
  .home-model-page .rp-home-hero .rp-btn--primary,
  .rp-home-hero--video .rp-btn,
  .rp-home-hero--video .rp-btn--primary{
    height:52px!important;
    min-height:52px!important;
  }
}

@media (max-width: 390px){
  .home-model-page .rp-home-hero__copy,
  .rp-home-hero--video .rp-home-hero__copy,
  .home-model-page .hero-copy{
    padding-top:clamp(34px, 6.4vh, 52px)!important;
    padding-bottom:10px!important;
    gap:7px!important;
  }

  .home-model-page .rp-home-hero .rp-eyebrow,
  .rp-home-hero--video .rp-eyebrow{
    font-size:.64rem!important;
    letter-spacing:.18em!important;
  }

  .home-model-page .rp-home-hero .rp-eyebrow::before,
  .rp-home-hero--video .rp-eyebrow::before{
    flex-basis:28px!important;
    width:28px!important;
  }

  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{
    font-size:clamp(2.08rem, 9.85vw, 2.82rem)!important;
    line-height:.92!important;
    max-width:10.35ch!important;
  }

  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{
    font-size:.91rem!important;
    line-height:1.39!important;
    max-width:31.5ch!important;
  }

  .home-model-page .rp-home-hero .rp-button-row,
  .rp-home-hero--video .rp-button-row{
    margin-top:7px!important;
  }

  .home-model-page .rp-home-hero .rp-btn,
  .home-model-page .rp-home-hero .rp-btn--primary,
  .rp-home-hero--video .rp-btn,
  .rp-home-hero--video .rp-btn--primary{
    height:50px!important;
    min-height:50px!important;
    font-size:.76rem!important;
  }
}

@media (max-width: 350px){
  .home-model-page .rp-home-hero h1,
  .rp-home-hero--video h1{
    font-size:1.98rem!important;
  }
  .home-model-page .rp-home-hero .rp-lead,
  .rp-home-hero--video .rp-lead{
    font-size:.86rem!important;
    line-height:1.34!important;
  }
}

/* ========================================================================== 
   REAL.PRO Studios — Mobile Hero Cinematic Visibility V2
   Final adjustment requested 2026-06-19:
   - more top breathing room inside the hero
   - reduced lower empty area
   - centered content balance
   - video fills the complete mobile hero canvas
   - only a light left-side reading veil behind the copy
   ========================================================================== */

@media (max-width: 980px){
  body.home-model-page .rp-home-hero.rp-home-hero--video,
  .home-model-page .rp-home-hero.rp-home-hero--video,
  .rp-home-hero.rp-home-hero--video{
    height:calc(100svh - var(--rp-mobile-header-h, 96px))!important;
    min-height:calc(100svh - var(--rp-mobile-header-h, 96px))!important;
    max-height:calc(100svh - var(--rp-mobile-header-h, 96px))!important;
    overflow:hidden!important;
    background:#f8fafc!important;
  }

  .rp-home-hero--video .rp-home-hero__media,
  .home-model-page .rp-home-hero__media{
    inset:0!important;
    height:100%!important;
    width:100%!important;
    opacity:1!important;
    transform:none!important;
    background:#edf1f5!important;
  }

  .rp-home-hero--video .rp-home-hero__video,
  .home-model-page .rp-home-hero__video,
  .rp-home-hero--video .rp-home-hero__fallback,
  .home-model-page .rp-home-hero__fallback,
  .rp-home-hero--video .rp-home-hero__media img,
  .home-model-page .rp-home-hero__media img{
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:68% center!important;
    opacity:1!important;
    filter:saturate(1.07) contrast(1.03) brightness(1.02)!important;
  }

  .rp-home-hero--video .rp-home-hero__cloud,
  .home-model-page .rp-home-hero__cloud,
  .rp-home-hero--video::before,
  .home-model-page .rp-home-hero::before{
    display:block!important;
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:3!important;
    pointer-events:none!important;
    opacity:1!important;
    background:
      radial-gradient(circle at 11% 31%, rgba(255,255,255,.94) 0%, rgba(255,255,255,.90) 24%, rgba(255,255,255,.54) 49%, rgba(255,255,255,.13) 70%, rgba(255,255,255,0) 88%),
      radial-gradient(circle at 13% 70%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.84) 25%, rgba(255,255,255,.46) 50%, rgba(255,255,255,.10) 72%, rgba(255,255,255,0) 90%),
      linear-gradient(90deg,
        rgba(255,255,255,.96) 0%,
        rgba(255,255,255,.92) 31%,
        rgba(255,255,255,.64) 49%,
        rgba(255,255,255,.30) 64%,
        rgba(255,255,255,.10) 78%,
        rgba(255,255,255,.02) 90%,
        rgba(255,255,255,0) 100%)!important;
  }

  .rp-home-hero--video::after,
  .home-model-page .rp-home-hero::after{
    opacity:.10!important;
    height:10%!important;
  }

  .rp-home-hero--video .rp-home-hero__inner,
  .home-model-page .rp-home-hero__inner{
    height:100%!important;
    min-height:0!important;
    display:block!important;
  }

  .rp-home-hero--video .rp-home-hero__copy,
  .home-model-page .rp-home-hero__copy,
  .home-model-page .hero-copy{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    padding:clamp(64px, 9.6svh, 92px) var(--rp-mobile-side, 24px) clamp(24px, 3.4svh, 36px)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    gap:clamp(9px, 1.35svh, 13px)!important;
    overflow:hidden!important;
  }

  .rp-home-hero--video .rp-eyebrow,
  .home-model-page .rp-home-hero .rp-eyebrow{
    font-size:clamp(.64rem, 1.95vw, .80rem)!important;
    line-height:1.05!important;
    letter-spacing:.20em!important;
  }

  .rp-home-hero--video h1,
  .home-model-page .rp-home-hero h1{
    max-width:10.55ch!important;
    font-size:clamp(2.42rem, 10.05vw, 3.28rem)!important;
    line-height:.895!important;
    letter-spacing:-.066em!important;
  }

  .rp-home-hero--video .rp-lead,
  .home-model-page .rp-home-hero .rp-lead{
    max-width:min(100%, 33ch)!important;
    font-size:clamp(.94rem, 3.28vw, 1.02rem)!important;
    line-height:1.40!important;
    font-weight:680!important;
  }

  .rp-home-hero--video .rp-button-row,
  .home-model-page .rp-home-hero .rp-button-row{
    margin-top:clamp(8px, 1.25svh, 12px)!important;
    width:100%!important;
  }

  .rp-home-hero--video .rp-btn,
  .rp-home-hero--video .rp-btn--primary,
  .home-model-page .rp-home-hero .rp-btn,
  .home-model-page .rp-home-hero .rp-btn--primary{
    height:clamp(50px, 6.4svh, 56px)!important;
    min-height:50px!important;
    border-radius:7px!important;
  }
}

@media (max-width: 640px){
  .rp-home-hero--video .rp-home-hero__video,
  .home-model-page .rp-home-hero__video,
  .rp-home-hero--video .rp-home-hero__fallback,
  .home-model-page .rp-home-hero__fallback,
  .rp-home-hero--video .rp-home-hero__media img,
  .home-model-page .rp-home-hero__media img{
    object-position:70% center!important;
  }

  .rp-home-hero--video .rp-home-hero__copy,
  .home-model-page .rp-home-hero__copy,
  .home-model-page .hero-copy{
    padding-top:clamp(72px, 10.4svh, 96px)!important;
    padding-bottom:clamp(18px, 2.4svh, 28px)!important;
    gap:clamp(8px, 1.15svh, 11px)!important;
  }

  .rp-home-hero--video h1,
  .home-model-page .rp-home-hero h1{
    max-width:10.45ch!important;
    font-size:clamp(2.30rem, 9.82vw, 3.06rem)!important;
    line-height:.895!important;
  }

  .rp-home-hero--video .rp-lead,
  .home-model-page .rp-home-hero .rp-lead{
    max-width:32.5ch!important;
    font-size:clamp(.92rem, 3.18vw, .995rem)!important;
    line-height:1.39!important;
  }
}

@media (max-width: 430px){
  .rp-home-hero--video .rp-home-hero__copy,
  .home-model-page .rp-home-hero__copy,
  .home-model-page .hero-copy{
    padding-top:clamp(70px, 9.8svh, 86px)!important;
    padding-bottom:clamp(14px, 2svh, 22px)!important;
    gap:clamp(7px, 1.05svh, 10px)!important;
  }

  .rp-home-hero--video h1,
  .home-model-page .rp-home-hero h1{
    font-size:clamp(2.18rem, 9.38vw, 2.92rem)!important;
    max-width:10.35ch!important;
    line-height:.90!important;
  }

  .rp-home-hero--video .rp-lead,
  .home-model-page .rp-home-hero .rp-lead{
    font-size:clamp(.88rem, 3.05vw, .96rem)!important;
    line-height:1.36!important;
    max-width:32ch!important;
  }

  .rp-home-hero--video .rp-btn,
  .rp-home-hero--video .rp-btn--primary,
  .home-model-page .rp-home-hero .rp-btn,
  .home-model-page .rp-home-hero .rp-btn--primary{
    height:50px!important;
    min-height:50px!important;
    font-size:.76rem!important;
  }
}

@media (max-width: 370px){
  .rp-home-hero--video .rp-home-hero__copy,
  .home-model-page .rp-home-hero__copy,
  .home-model-page .hero-copy{
    padding-top:56px!important;
    padding-bottom:12px!important;
    gap:6px!important;
  }

  .rp-home-hero--video h1,
  .home-model-page .rp-home-hero h1{
    font-size:2.02rem!important;
    line-height:.90!important;
  }

  .rp-home-hero--video .rp-lead,
  .home-model-page .rp-home-hero .rp-lead{
    font-size:.84rem!important;
    line-height:1.30!important;
    max-width:31ch!important;
  }
}

/* ===== SOURCE: assets/css/realpro-hybrid-cinematic-client-final.css ===== */
/* ========================================================================== 
   REAL.PRO Studios — Hybrid Editorial + Cinematic Client Final
   Applied last. HTML5/CSS3 only. No external dependencies.
   ========================================================================== */
:root{
  --rp-navy-deep:#07111F;
  --rp-navy:#1A2B4C;
  --rp-red:#D32F2F;
  --rp-offwhite:#F5F2EC;
  --rp-softwhite:#FFFFFF;
  --rp-editorial:#E8E6E1;
  --rp-text:#4C5565;
  --rp-ink:#111827;
  --rp-line:rgba(26,43,76,.14);
  --rp-shadow:0 28px 80px rgba(7,17,31,.16);
  --rp-shadow-strong:0 34px 110px rgba(7,17,31,.24);
  --rp-ease:cubic-bezier(.22,.61,.36,1);
}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at 12% 0%, rgba(211,47,47,.08), transparent 26rem),
    linear-gradient(180deg,#fff 0%,var(--rp-offwhite) 36%,#fff 100%) !important;
  color:var(--rp-ink) !important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
a{transition:color 260ms var(--rp-ease),background 260ms var(--rp-ease),border-color 260ms var(--rp-ease),transform 260ms var(--rp-ease),box-shadow 260ms var(--rp-ease);}
:focus-visible{outline:3px solid rgba(211,47,47,.72) !important;outline-offset:4px;}

/* Header: clean, premium, compact on mobile */
.site-header{
  background:rgba(255,255,255,.91) !important;
  border-bottom:1px solid rgba(7,17,31,.09) !important;
  box-shadow:0 14px 48px rgba(7,17,31,.07) !important;
  backdrop-filter:saturate(140%) blur(18px);
  -webkit-backdrop-filter:saturate(140%) blur(18px);
}
.nav-shell,
.nav-shell--premium{max-width:1560px !important;margin-inline:auto !important;padding-inline:clamp(1.25rem,4vw,4rem) !important;}
.brand-mark{filter:drop-shadow(0 10px 22px rgba(7,17,31,.08));}
.menu-toggle span{background:var(--rp-navy-deep) !important;}
.header-cta,.btn--primary,.rp-btn--primary{
  background:linear-gradient(135deg,#D32F2F 0%,#B82020 100%) !important;
  color:#fff !important;
  border-color:rgba(211,47,47,.08) !important;
  box-shadow:0 18px 40px rgba(211,47,47,.26) !important;
}
.header-cta:hover,.btn--primary:hover,.rp-btn--primary:hover{transform:translateY(-2px);box-shadow:0 24px 56px rgba(211,47,47,.32) !important;}

/* Home hero: hybrid cinematic, not white-only */
.rp-home-hero,
.rp-home-hero--video{
  position:relative !important;
  min-height:calc(100svh - 86px) !important;
  overflow:hidden !important;
  isolation:isolate;
  background:var(--rp-navy-deep) !important;
  display:grid !important;
  align-items:center !important;
}
.rp-home-hero__media{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;z-index:-3 !important;overflow:hidden !important;background:var(--rp-navy-deep);}
.rp-home-hero__video,
.rp-home-hero__fallback{
  width:100% !important;height:100% !important;object-fit:cover !important;object-position:center center !important;display:block !important;
  filter:saturate(1.08) contrast(1.06) brightness(.86) !important;
}
.rp-home-hero::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,17,31,.88) 0%,rgba(7,17,31,.72) 24%,rgba(7,17,31,.30) 52%,rgba(7,17,31,.08) 100%),
    radial-gradient(circle at 25% 42%, rgba(245,242,236,.08), transparent 28rem),
    linear-gradient(180deg,rgba(7,17,31,.22),rgba(7,17,31,.42));
}
.rp-home-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.38;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:120px 120px;
  mask-image:linear-gradient(90deg,#000,transparent 82%);
}
.rp-home-hero__cloud{opacity:.38 !important;filter:blur(20px) saturate(1.03) !important;left:-4vw !important;width:min(62vw,860px) !important;background:radial-gradient(circle at 34% 45%,rgba(255,255,255,.78),rgba(245,242,236,.45) 32%,rgba(245,242,236,.08) 62%,transparent 74%) !important;}
.rp-home-hero__inner{width:min(100%,1560px) !important;margin-inline:auto !important;padding:clamp(3rem,5vw,7rem) clamp(1.35rem,4vw,4.5rem) !important;}
.rp-home-hero__copy{
  width:min(100%,720px) !important;
  padding:clamp(1.65rem,3vw,3rem) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,rgba(245,242,236,.92),rgba(255,255,255,.78)) !important;
  box-shadow:0 36px 120px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(135%) !important;
}
.rp-home-hero__copy .rp-eyebrow{color:var(--rp-red) !important;letter-spacing:.22em !important;font-weight:900 !important;}
.rp-home-hero__copy h1{color:var(--rp-navy-deep) !important;letter-spacing:-.065em !important;line-height:.87 !important;text-shadow:none !important;}
.rp-home-hero__copy .rp-lead{color:#2F394A !important;font-weight:650 !important;max-width:58ch !important;}
.rp-button-row{margin-top:clamp(1.25rem,2.5vw,2rem) !important;}

/* Generic page hero: stronger editorial/cinematic depth */
main > .hero,
.page-hero,
.reference-hero{
  background:
    radial-gradient(circle at 10% 8%,rgba(211,47,47,.12),transparent 25rem),
    linear-gradient(135deg,var(--rp-navy-deep),var(--rp-navy)) !important;
  color:#fff !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  overflow:hidden !important;
}
main > .hero h1,
.page-hero h1,
.reference-hero h1{color:#fff !important;letter-spacing:-.055em !important;}
main > .hero p,
.page-hero p,
.reference-hero p{color:rgba(255,255,255,.82) !important;}
main > .hero .hero-media,
.page-hero figure,
.reference-hero figure{box-shadow:var(--rp-shadow-strong) !important;border:1px solid rgba(255,255,255,.14) !important;border-radius:28px !important;overflow:hidden !important;}
.hero-media img,.page-hero img,.reference-hero img{filter:saturate(1.05) contrast(1.06) !important;}

/* Section rhythm: alternating hybrid editorial blocks */
main > section:not(.rp-home-hero):not(.rp-trusted-premium):not(.rp-parallax-reel):not(.rp-mission-band){
  background:linear-gradient(180deg,#fff 0%,var(--rp-offwhite) 100%) !important;
  position:relative;
}
main > section:nth-of-type(odd):not(.rp-home-hero):not(.rp-parallax-reel){background:var(--rp-offwhite) !important;}
.rp-section,
.section,
.content-section{border-top:1px solid rgba(7,17,31,.07) !important;}
.rp-section-heading h2,
.section-heading h2,
main h2{color:var(--rp-navy-deep) !important;letter-spacing:-.045em;}
.rp-eyebrow{color:var(--rp-red) !important;font-weight:900 !important;letter-spacing:.18em !important;}
.rp-lead,.section-heading p,main p{color:var(--rp-text);}

/* Dark cinematic blocks */
.rp-mission-band,
.rp-parallax-reel,
.cta-band,
.dark-section{
  background:
    radial-gradient(circle at 78% 20%,rgba(211,47,47,.18),transparent 28rem),
    linear-gradient(135deg,var(--rp-navy-deep),#0E2037 56%,var(--rp-navy)) !important;
  color:#fff !important;
  border-block:1px solid rgba(255,255,255,.08) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(255,255,255,.05);
}
.rp-mission-band h2,.rp-parallax-reel h2,.cta-band h2,.dark-section h2{color:#fff !important;}
.rp-mission-band p,.rp-parallax-reel p,.cta-band p,.dark-section p{color:rgba(255,255,255,.78) !important;}
.rp-parallax-reel::before{background:linear-gradient(90deg,rgba(7,17,31,.86),rgba(7,17,31,.35),rgba(7,17,31,.1)) !important;}
.rp-parallax-reel__media video,.rp-parallax-reel__media img{filter:saturate(1.08) contrast(1.08) brightness(.88) !important;}

/* Premium cards */
.rp-service-image-card,
.card,
.service-card,
.rp-testimonial-card,
.article-card,
.process-card,
.rp-work-slide,
.rp-mega-service-card{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,242,236,.92)) !important;
  border:1px solid rgba(7,17,31,.12) !important;
  box-shadow:0 18px 52px rgba(7,17,31,.10) !important;
}
.rp-service-image-card:hover,
.card:hover,
.service-card:hover,
.article-card:hover,
.process-card:hover,
.rp-work-slide:hover,
.rp-mega-service-card:hover{
  transform:translateY(-5px);
  box-shadow:0 30px 80px rgba(7,17,31,.16) !important;
  border-color:rgba(211,47,47,.26) !important;
}
.rp-service-image-card figure,
.rp-work-slide__media,
.card figure{overflow:hidden;background:var(--rp-navy-deep);}
.rp-service-image-card img,
.rp-work-slide img,
.card img{filter:saturate(1.04) contrast(1.04);transition:transform 550ms var(--rp-ease),filter 550ms var(--rp-ease);}
.rp-service-image-card:hover img,
.rp-work-slide:hover img,
.card:hover img{transform:scale(1.045);filter:saturate(1.09) contrast(1.08);}
.rp-service-image-card strong,
.service-card h3,
.card h3{color:var(--rp-navy-deep) !important;}
.rp-service-image-card em,
.card em{color:var(--rp-red) !important;}

/* Trusted logos: cinematic marquee with real logo-like marks */
.rp-trusted-premium,
.rp-trusted-premium--hybrid{
  background:
    linear-gradient(180deg,rgba(7,17,31,.98),rgba(13,31,53,.98)),
    radial-gradient(circle at 18% 50%,rgba(211,47,47,.20),transparent 32rem) !important;
  color:#fff !important;
  padding:clamp(3.5rem,6vw,6.5rem) 0 !important;
  border-block:1px solid rgba(255,255,255,.08) !important;
  overflow:hidden !important;
  position:relative;
}
.rp-trusted-premium::before{content:"";position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:88px 88px;pointer-events:none;}
.rp-trusted-premium__inner{position:relative;z-index:1;display:block !important;max-width:100% !important;padding:0 !important;}
.rp-trusted-premium__header{max-width:1560px;margin:0 auto clamp(1.8rem,3vw,2.6rem);padding:0 clamp(1.25rem,4vw,4.5rem);display:flex;align-items:end;justify-content:space-between;gap:2rem;}
.rp-trusted-premium__label{color:#fff !important;font-weight:900 !important;letter-spacing:.18em !important;text-transform:uppercase !important;font-size:clamp(.8rem,1vw,.96rem) !important;margin:0 !important;}
.rp-trusted-premium__headline{margin:.65rem 0 0 !important;color:#fff !important;font-size:clamp(2rem,4vw,4.3rem) !important;line-height:.92 !important;letter-spacing:-.055em !important;text-transform:uppercase;}
.rp-trusted-premium__note{max-width:32rem;color:rgba(255,255,255,.68) !important;margin:0 !important;font-weight:600;}
.rp-trusted-premium__viewport{position:relative;overflow:hidden;width:100%;padding:1.2rem 0;mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);}
.rp-trusted-premium__track{display:flex !important;align-items:center;gap:1rem;width:max-content;animation:rpLogoMarquee 38s linear infinite;will-change:transform;}
.rp-logo-set{display:flex;gap:1rem;align-items:center;}
.rp-brand-logo-card{
  width:clamp(210px,18vw,278px) !important;min-height:112px !important;display:flex !important;align-items:center !important;gap:1rem !important;
  padding:1rem 1.1rem !important;border-radius:22px !important;
  background:linear-gradient(135deg,rgba(245,242,236,.96),rgba(255,255,255,.86)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 22px 60px rgba(0,0,0,.24) !important;
  color:var(--rp-navy-deep) !important;transition:transform 280ms var(--rp-ease),box-shadow 280ms var(--rp-ease),border-color 280ms var(--rp-ease);
}
.rp-brand-logo-card:hover{transform:translateY(-4px);box-shadow:0 30px 82px rgba(0,0,0,.32) !important;border-color:rgba(211,47,47,.42) !important;}
.rp-brand-logo-card svg{flex:0 0 48px;width:48px;height:48px;color:var(--rp-red);filter:drop-shadow(0 8px 18px rgba(211,47,47,.2));}
.rp-brand-logo-card strong{display:block;color:var(--rp-navy-deep);font-size:1.04rem;line-height:1;font-weight:900;letter-spacing:-.02em;text-transform:uppercase;}
.rp-brand-logo-card small{display:block;margin-top:.28rem;color:#687284;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;}
@keyframes rpLogoMarquee{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}
.rp-trusted-premium:hover .rp-trusted-premium__track{animation-play-state:paused;}

/* Mega menu refinement */
.mobile-menu--premium,
.rp-fullscreen-menu,
#mobile-menu{
  background:
    radial-gradient(circle at 12% 18%,rgba(211,47,47,.14),transparent 26rem),
    linear-gradient(135deg,var(--rp-navy-deep) 0%,#0C1A2C 58%,#091523 100%) !important;
}
.mobile-menu__nav > a,
.mobile-menu__nav button,
.rp-mobile-services-overview{font-weight:600 !important;letter-spacing:-.045em !important;}
.rp-hamburger-services-panel,
.rp-services-mega{
  background:linear-gradient(180deg,var(--rp-offwhite),#fff) !important;
  color:var(--rp-navy-deep) !important;
  box-shadow:0 40px 120px rgba(0,0,0,.36) !important;
  border:1px solid rgba(255,255,255,.42) !important;
}
.rp-hamburger-services-panel *:not(.rp-hamburger-services-panel__cta):not(.rp-service-carousel__arrow),
.rp-services-mega *:not(.btn):not(.rp-mega-service-card__arrow){font-weight:600;}
.rp-hamburger-services-panel h2,
.rp-services-mega h2{color:var(--rp-navy-deep) !important;font-weight:800 !important;letter-spacing:-.055em !important;}
.rp-service-carousel{background:rgba(255,255,255,.68) !important;border-color:rgba(7,17,31,.11) !important;box-shadow:0 20px 55px rgba(7,17,31,.10) !important;}
.rp-service-carousel__feature figure{background:var(--rp-navy-deep) !important;}
.rp-service-carousel__feature img{filter:saturate(1.05) contrast(1.05) !important;}

/* Footer: visible, exact reference spirit, inside safe container */
.site-footer.site-footer--premium{background:linear-gradient(180deg,#fff,var(--rp-offwhite)) !important;color:var(--rp-navy-deep) !important;border-top:1px solid rgba(7,17,31,.08) !important;box-shadow:inset 0 1px 0 #fff !important;}
.site-footer .footer-shell{max-width:1640px !important;margin-inline:auto !important;padding-inline:clamp(1.25rem,4vw,3.8rem) !important;}
.site-footer h2{color:var(--rp-navy-deep) !important;}
.site-footer a{color:#344258 !important;}
.site-footer a:hover{color:var(--rp-red) !important;}
.footer-newsletter button{background:linear-gradient(135deg,#D32F2F,#B82020) !important;color:#fff !important;}
.footer-bottom{border-top:1px solid rgba(7,17,31,.12) !important;}

/* Mobile: perfect fit, visible video + text */
@media (max-width:980px){
  .site-header{position:sticky !important;top:0 !important;z-index:80 !important;}
  .nav-shell,.nav-shell--premium{min-height:86px !important;padding:10px 28px !important;}
  .site-header .brand-mark{width:clamp(146px,45vw,198px) !important;height:auto !important;}
  .menu-toggle{width:56px !important;height:56px !important;}
  .rp-home-hero,.rp-home-hero--video{min-height:calc(100svh - 86px) !important;align-items:center !important;}
  .rp-home-hero__video,.rp-home-hero__fallback{object-position:62% center !important;filter:saturate(1.08) contrast(1.05) brightness(.95) !important;}
  .rp-home-hero::before{background:linear-gradient(90deg,rgba(245,242,236,.98) 0%,rgba(245,242,236,.92) 55%,rgba(245,242,236,.36) 80%,rgba(245,242,236,.1) 100%) !important;}
  .rp-home-hero::after{opacity:.16 !important;mask-image:none !important;}
  .rp-home-hero__cloud{display:none !important;}
  .rp-home-hero__inner{padding:clamp(1.15rem,4vh,2.1rem) clamp(1.15rem,4vw,2rem) !important;min-height:calc(100svh - 86px) !important;display:flex !important;align-items:center !important;}
  .rp-home-hero__copy{width:min(100%,680px) !important;background:linear-gradient(90deg,rgba(245,242,236,.97),rgba(255,255,255,.88) 68%,rgba(255,255,255,.42)) !important;box-shadow:0 24px 80px rgba(7,17,31,.16) !important;border-color:rgba(255,255,255,.35) !important;border-radius:24px !important;padding:clamp(1.1rem,3.6vw,1.6rem) !important;}
  .rp-home-hero__copy h1{font-size:clamp(3.2rem,15vw,5.7rem) !important;line-height:.88 !important;}
  .rp-home-hero__copy .rp-lead{font-size:clamp(1rem,4.3vw,1.18rem) !important;line-height:1.48 !important;}
  .rp-btn,.rp-btn--primary{width:100% !important;justify-content:center !important;min-height:58px !important;}
  .rp-trusted-premium__header{display:block;padding-inline:1.25rem;}
  .rp-trusted-premium__note{margin-top:.85rem !important;}
  .rp-brand-logo-card{width:220px !important;min-height:96px !important;}
  main > .hero .hero-grid{grid-template-columns:1fr !important;}
  .rp-service-image-card:hover,.card:hover,.service-card:hover{transform:none;}
}
@media (max-width:640px){
  .nav-shell,.nav-shell--premium{min-height:80px !important;padding:8px 24px !important;}
  .site-header .brand-mark{width:168px !important;}
  .rp-home-hero,.rp-home-hero--video{min-height:calc(100svh - 80px) !important;}
  .rp-home-hero__inner{min-height:calc(100svh - 80px) !important;padding-top:clamp(1.25rem,5vh,2rem) !important;padding-bottom:clamp(1rem,4vh,1.6rem) !important;}
  .rp-home-hero__copy h1{font-size:clamp(3rem,14.2vw,4.6rem) !important;}
  .rp-home-hero__copy .rp-eyebrow{font-size:.75rem !important;line-height:1.25 !important;}
  .rp-home-hero__copy .rp-lead{font-weight:700 !important;}
  .rp-trusted-premium{padding:3.2rem 0 !important;}
  .rp-trusted-premium__track,.rp-logo-set{gap:.75rem;}
  .rp-brand-logo-card{width:198px !important;padding:.88rem !important;border-radius:18px !important;}
  .rp-brand-logo-card svg{width:40px;height:40px;flex-basis:40px;}
  .rp-brand-logo-card strong{font-size:.88rem;}
  .rp-brand-logo-card small{font-size:.62rem;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.001ms !important;}
  .rp-trusted-premium__track{animation:none !important;transform:none !important;}
}

/* ===== SOURCE: assets/css/realpro-dark-section-contrast-final.css ===== */
/* ======================================================================
   REAL.PRO Studios — Dark Sections Contrast Final
   Scope: mission band, recent projects, testimonials only.
   Goal: fix low contrast and convert selected home sections to the
   approved hybrid editorial + cinematic dark navy system.
   ====================================================================== */
:root{
  --rp-ds-navy-950:#07111F;
  --rp-ds-navy-900:#0B1728;
  --rp-ds-navy-800:#10233B;
  --rp-ds-blue:#1A2B4C;
  --rp-ds-red:#D32F2F;
  --rp-ds-cream:#F5F2EC;
  --rp-ds-white:#FFFFFF;
  --rp-ds-soft:#DDE5F2;
  --rp-ds-muted:#AAB6C8;
  --rp-ds-ease:cubic-bezier(.22,.61,.36,1);
  --rp-ds-shadow:0 34px 120px rgba(0,0,0,.34);
}

/* Shared cinematic surface for requested dark sections */
.home-model-page .rp-mission-band,
.home-model-page .rp-section--work.rp-work-carousel-section,
.home-model-page .rp-section--testimonials{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 12% 18%,rgba(211,47,47,.14),transparent 26rem),
    radial-gradient(circle at 88% 10%,rgba(255,255,255,.08),transparent 30rem),
    linear-gradient(135deg,var(--rp-ds-navy-950) 0%,var(--rp-ds-navy-900) 48%,var(--rp-ds-navy-800) 100%) !important;
  color:var(--rp-ds-white) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(255,255,255,.045) !important;
}
.home-model-page .rp-mission-band::before,
.home-model-page .rp-section--work.rp-work-carousel-section::before,
.home-model-page .rp-section--testimonials::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  opacity:.28 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px) !important;
  background-size:86px 86px !important;
  pointer-events:none !important;
}
.home-model-page .rp-mission-band::after,
.home-model-page .rp-section--work.rp-work-carousel-section::after,
.home-model-page .rp-section--testimonials::after{
  content:"" !important;
  position:absolute !important;
  inset:auto -12% -38% -12% !important;
  height:52% !important;
  z-index:-1 !important;
  background:radial-gradient(ellipse at center,rgba(245,242,236,.13),transparent 70%) !important;
  pointer-events:none !important;
}

/* 01 — Mission band: fix invisible white-on-white content */
.home-model-page .rp-mission-band{
  padding:clamp(4rem,7vw,7.2rem) 0 !important;
}
.home-model-page .rp-mission-band__grid{
  width:min(100% - 5vw,1680px) !important;
  max-width:1680px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(72px,110px) minmax(250px,420px) minmax(320px,1fr) auto !important;
  align-items:center !important;
  gap:clamp(1.8rem,4vw,4.8rem) !important;
  min-height:clamp(290px,34vw,540px) !important;
  padding:clamp(2.2rem,4.4vw,5rem) !important;
  border-radius:0 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),
    rgba(7,17,31,.54) !important;
  box-shadow:var(--rp-ds-shadow) !important;
  backdrop-filter:blur(8px) !important;
}
.home-model-page .rp-mission-band__icon{
  width:clamp(72px,7vw,104px) !important;
  height:clamp(72px,7vw,104px) !important;
  border-radius:50% !important;
  border:1.5px solid rgba(255,255,255,.72) !important;
  color:var(--rp-ds-white) !important;
  background:rgba(255,255,255,.06) !important;
  box-shadow:0 20px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.home-model-page .rp-mission-band__icon svg{
  width:54% !important;
  height:54% !important;
  stroke:currentColor !important;
}
.home-model-page .rp-mission-band .rp-eyebrow,
.home-model-page .rp-section--work .rp-eyebrow,
.home-model-page .rp-section--testimonials .rp-eyebrow{
  color:#FF4A4A !important;
  text-shadow:0 10px 28px rgba(211,47,47,.22) !important;
}
.home-model-page .rp-mission-band h2,
.home-model-page .rp-mission-band h2 *,
.home-model-page .rp-mission-band .rp-eyebrow,
.home-model-page .rp-mission-band .rp-eyebrow *{
  color:var(--rp-ds-white) !important;
  opacity:1 !important;
  visibility:visible !important;
}
.home-model-page .rp-mission-band h2{
  font-family:var(--display,inherit) !important;
  font-size:clamp(3.2rem,6.6vw,8.2rem) !important;
  line-height:.86 !important;
  letter-spacing:-.064em !important;
  text-transform:uppercase !important;
  max-width:8.8ch !important;
  margin:0 !important;
  text-shadow:0 22px 70px rgba(0,0,0,.34) !important;
}
.home-model-page .rp-mission-band p:not(.rp-eyebrow){
  color:rgba(255,255,255,.82) !important;
  opacity:1 !important;
  visibility:visible !important;
  font-size:clamp(1.05rem,1.28vw,1.34rem) !important;
  line-height:1.68 !important;
  max-width:720px !important;
  margin:0 !important;
}
.home-model-page .rp-mission-band a{
  color:var(--rp-ds-white) !important;
  border-bottom:1px solid rgba(255,255,255,.36) !important;
  text-shadow:0 14px 32px rgba(0,0,0,.22) !important;
}
.home-model-page .rp-mission-band a:hover,
.home-model-page .rp-mission-band a:focus-visible{
  color:#FF5A5A !important;
  border-color:#FF5A5A !important;
}

/* 02 — Recent Projects: dark navy section with light editorial copy */
.home-model-page .rp-section--work.rp-work-carousel-section{
  padding:clamp(5.2rem,8vw,9rem) 0 !important;
}
.home-model-page .rp-work-carousel{
  width:min(100% - 5vw,1700px) !important;
  max-width:1700px !important;
  margin-inline:auto !important;
}
.home-model-page .rp-work-intro{
  color:var(--rp-ds-white) !important;
}
.home-model-page .rp-work-intro h2,
.home-model-page .rp-work-intro h2 *,
.home-model-page .rp-section--work #home-work-title{
  color:var(--rp-ds-white) !important;
  font-size:clamp(3.1rem,5.5vw,7.2rem) !important;
  line-height:.88 !important;
  letter-spacing:-.06em !important;
  text-transform:uppercase !important;
  text-shadow:0 22px 74px rgba(0,0,0,.38) !important;
}
.home-model-page .rp-work-intro p:not(.rp-eyebrow){
  color:rgba(255,255,255,.76) !important;
  font-size:clamp(1rem,1.1vw,1.18rem) !important;
  line-height:1.65 !important;
}
.home-model-page .rp-work-intro > a{
  color:var(--rp-ds-white) !important;
  border-bottom:1px solid rgba(255,255,255,.32) !important;
}
.home-model-page .rp-work-intro > a:hover,
.home-model-page .rp-work-intro > a:focus-visible{
  color:#FF5A5A !important;
  border-color:#FF5A5A !important;
}
.home-model-page .rp-work-carousel__controls button{
  background:rgba(255,255,255,.10) !important;
  color:var(--rp-ds-white) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 18px 54px rgba(0,0,0,.28) !important;
}
.home-model-page .rp-work-carousel__controls button:hover,
.home-model-page .rp-work-carousel__controls button:focus-visible{
  background:var(--rp-ds-red) !important;
  border-color:var(--rp-ds-red) !important;
  color:#fff !important;
}
.home-model-page .rp-work-carousel__viewport{
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 40px 110px rgba(0,0,0,.34) !important;
  border-radius:28px !important;
  overflow:hidden !important;
}
.home-model-page .rp-work-slide{
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.15) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.045)) !important;
  box-shadow:0 26px 80px rgba(0,0,0,.25) !important;
  color:#fff !important;
}
.home-model-page .rp-work-slide__media{
  background:#050B13 !important;
}
.home-model-page .rp-work-slide__media img{
  filter:saturate(1.08) contrast(1.1) brightness(.86) !important;
}
.home-model-page .rp-work-slide__body{
  background:linear-gradient(180deg,rgba(10,22,38,.92),rgba(7,17,31,.98)) !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
}
.home-model-page .rp-work-slide__body p{
  color:#FF4A4A !important;
}
.home-model-page .rp-work-slide__body h3,
.home-model-page .rp-work-slide__body h3 *{
  color:#fff !important;
}
.home-model-page .rp-work-slide__body span{
  color:rgba(221,229,242,.76) !important;
}
.home-model-page .rp-work-slide__body a{
  color:#FF4A4A !important;
}
.home-model-page .rp-work-carousel__dots span,
.home-model-page .rp-premium-dots span{
  background:rgba(255,255,255,.28) !important;
}
.home-model-page .rp-work-carousel__dots span.is-active,
.home-model-page .rp-premium-dots span.is-active,
.home-model-page .rp-work-carousel__dots span:first-child,
.home-model-page .rp-premium-dots span:first-child{
  background:var(--rp-ds-red) !important;
}

/* 03 — Testimonials: dark navy section + readable cards */
.home-model-page .rp-section--testimonials{
  padding:clamp(5.2rem,8vw,9rem) 0 !important;
}
.home-model-page .rp-testimonial-layout{
  width:min(100% - 5vw,1700px) !important;
  max-width:1700px !important;
  margin-inline:auto !important;
}
.home-model-page .rp-testimonial-intro h2,
.home-model-page .rp-testimonial-intro h2 *,
.home-model-page .rp-section--testimonials #home-testimonials-title{
  color:#fff !important;
  font-size:clamp(3.1rem,5.5vw,7.1rem) !important;
  line-height:.88 !important;
  letter-spacing:-.06em !important;
  text-transform:uppercase !important;
  text-shadow:0 22px 74px rgba(0,0,0,.38) !important;
}
.home-model-page .rp-testimonial-card{
  position:relative !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.052)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
  box-shadow:0 34px 100px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.09) !important;
  backdrop-filter:blur(10px) !important;
}
.home-model-page .rp-testimonial-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:radial-gradient(circle at 8% 0%,rgba(211,47,47,.16),transparent 45%) !important;
  pointer-events:none !important;
}
.home-model-page .rp-testimonial-card .rp-quote-mark{
  color:#FF4A4A !important;
  text-shadow:0 16px 36px rgba(211,47,47,.26) !important;
}
.home-model-page .rp-testimonial-card p{
  position:relative !important;
  z-index:1 !important;
  color:rgba(255,255,255,.84) !important;
}
.home-model-page .rp-testimonial-card footer,
.home-model-page .rp-testimonial-card cite{
  position:relative !important;
  z-index:1 !important;
}
.home-model-page .rp-testimonial-card cite strong{
  color:#fff !important;
}
.home-model-page .rp-testimonial-card cite small{
  color:rgba(221,229,242,.72) !important;
}
.home-model-page .rp-testimonial-card img,
.home-model-page .rp-avatar-placeholder{
  border:1px solid rgba(255,255,255,.26) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.28) !important;
}
.home-model-page .rp-section--testimonials .rp-dots span{
  background:rgba(255,255,255,.26) !important;
}
.home-model-page .rp-section--testimonials .rp-dots span:first-child{
  background:var(--rp-ds-red) !important;
}

/* Keep sections polished on tablets and mobile */
@media (max-width:1180px){
  .home-model-page .rp-mission-band__grid{
    grid-template-columns:84px 1fr !important;
    min-height:auto !important;
  }
  .home-model-page .rp-mission-band__grid > p,
  .home-model-page .rp-mission-band__grid > a{
    grid-column:2 / -1 !important;
  }
  .home-model-page .rp-work-carousel__viewport{
    border-radius:24px !important;
  }
}
@media (max-width:760px){
  .home-model-page .rp-mission-band,
  .home-model-page .rp-section--work.rp-work-carousel-section,
  .home-model-page .rp-section--testimonials{
    padding:clamp(3.8rem,12vw,5.4rem) 0 !important;
  }
  .home-model-page .rp-mission-band__grid{
    width:calc(100% - 28px) !important;
    grid-template-columns:1fr !important;
    gap:1.2rem !important;
    padding:clamp(1.35rem,6vw,2rem) !important;
    border-radius:24px !important;
  }
  .home-model-page .rp-mission-band__grid > p,
  .home-model-page .rp-mission-band__grid > a{
    grid-column:auto !important;
  }
  .home-model-page .rp-mission-band h2,
  .home-model-page .rp-work-intro h2,
  .home-model-page .rp-testimonial-intro h2{
    font-size:clamp(2.7rem,13vw,4.65rem) !important;
    line-height:.9 !important;
    max-width:10ch !important;
  }
  .home-model-page .rp-work-carousel,
  .home-model-page .rp-testimonial-layout{
    width:calc(100% - 28px) !important;
  }
  .home-model-page .rp-work-carousel__viewport{
    margin-top:1.5rem !important;
    border-radius:22px !important;
  }
  .home-model-page .rp-work-slide,
  .home-model-page .rp-testimonial-card{
    border-radius:22px !important;
  }
}
@media (prefers-reduced-motion:reduce){
  .home-model-page .rp-work-slide,
  .home-model-page .rp-testimonial-card{
    transition:none !important;
  }
}

/* ===== SOURCE: assets/css/realpro-header-footer-scrolltop-final.css ===== */

/* =========================================================
   REAL.PRO STUDIOS — HEADER WHITE SCROLL + PREMIUM FOOTER + SCROLL TOP
   Final sitewide refinement: header turns white on scroll with color logo,
   footer becomes a larger sophisticated navy system, and a premium back-to-top
   control appears at the lower-right after scrolling.
   ========================================================= */
:root{
  --rp-navy-deep:#07111F;
  --rp-navy:#1A2B4C;
  --rp-red:#D32F2F;
  --rp-red-hover:#B92525;
  --rp-soft:#F5F2EC;
  --rp-white:#FFFFFF;
  --rp-muted:#AEB8C7;
  --rp-line-dark:rgba(255,255,255,.14);
  --rp-line-light:rgba(26,43,76,.14);
  --rp-ease:cubic-bezier(.22,.61,.36,1);
}

html{scroll-behavior:smooth;}
body{background:var(--rp-navy-deep);}

/* Header: transparent over hero, white/premium after scroll */
.site-header{
  isolation:isolate;
  transition:background .34s var(--rp-ease), box-shadow .34s var(--rp-ease), border-color .34s var(--rp-ease), height .34s var(--rp-ease), padding .34s var(--rp-ease), backdrop-filter .34s var(--rp-ease) !important;
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(22px) saturate(1.18) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.18) !important;
  border-bottom:1px solid rgba(26,43,76,.12) !important;
  box-shadow:0 18px 48px rgba(7,17,31,.10), 0 1px 0 rgba(255,255,255,.7) inset !important;
  color:var(--rp-navy) !important;
}
.site-header.is-scrolled .nav-shell,
.site-header.is-scrolled .nav-shell--premium{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.site-header.is-scrolled .header-logo,
.site-header.is-scrolled .brand,
.site-header.is-scrolled .brand--header{
  filter:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
.site-header.is-scrolled .header-logo img,
.site-header.is-scrolled .brand-mark,
.site-header.is-scrolled .brand img.brand-mark{
  filter:drop-shadow(0 8px 18px rgba(26,43,76,.10)) !important;
}
.site-header.is-scrolled .menu-toggle{
  color:var(--rp-navy) !important;
  background:rgba(26,43,76,.045) !important;
  border-color:rgba(26,43,76,.14) !important;
}
.site-header.is-scrolled .menu-toggle span{
  background:var(--rp-navy) !important;
  box-shadow:none !important;
}
.site-header.is-scrolled .menu-toggle:hover span:nth-child(2){background:var(--rp-red) !important;}
.site-header.is-scrolled .desktop-nav a,
.site-header.is-scrolled .nav-link,
.site-header.is-scrolled .nav-button,
.site-header.is-scrolled .desktop-nav--premium .nav-link{
  color:var(--rp-navy) !important;
  text-shadow:none !important;
}
.site-header.is-scrolled .desktop-nav a:hover,
.site-header.is-scrolled .nav-link:hover,
.site-header.is-scrolled .nav-button:hover{
  color:var(--rp-red) !important;
}
.site-header.is-scrolled .btn,
.site-header.is-scrolled .btn--primary,
.site-header.is-scrolled .header-cta,
.site-header.is-scrolled .nav-cta{
  box-shadow:0 14px 34px rgba(211,47,47,.20) !important;
}

@media (min-width:1181px){
  .site-header.is-scrolled{height:86px !important;padding-top:12px !important;padding-bottom:12px !important;align-items:center !important;}
  .site-header.is-scrolled .header-logo{width:168px !important;max-height:62px !important;}
  .site-header.is-scrolled .brand-mark,
  .site-header.is-scrolled .brand img.brand-mark{width:168px !important;max-height:68px !important;object-fit:contain !important;}
}
@media (max-width:1180px){
  .site-header.is-scrolled{height:78px !important;padding-top:10px !important;padding-bottom:10px !important;align-items:center !important;}
  .site-header.is-scrolled .header-logo{width:142px !important;max-height:58px !important;}
  .site-header.is-scrolled .brand-mark,
  .site-header.is-scrolled .brand img.brand-mark{width:140px !important;max-height:58px !important;object-fit:contain !important;}
}
@media (max-width:760px){
  .site-header.is-scrolled{height:72px !important;padding:10px 18px !important;}
  .site-header.is-scrolled .header-logo{width:128px !important;}
  .site-header.is-scrolled .brand-mark,
  .site-header.is-scrolled .brand img.brand-mark{width:126px !important;max-height:54px !important;}
}

/* Final CTA and footer touch each other with no unwanted white seam */
.final-cta{margin-bottom:0 !important;border-bottom:0 !important;}
.final-cta + .site-footer{margin-top:0 !important;}
main + .site-footer{margin-top:0 !important;}

/* Large sophisticated footer system — supports both footer structures used in the package */
.site-footer,
.site-footer.site-footer--premium{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(211,47,47,.16), transparent 27%),
    radial-gradient(circle at 84% 18%, rgba(58,87,124,.20), transparent 30%),
    linear-gradient(180deg,#07111F 0%,#050B13 56%,#02060B 100%) !important;
  color:#fff !important;
  padding:clamp(82px,7.2vw,132px) 0 clamp(28px,3.3vw,48px) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:
    linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 84%,transparent 100%);
}
.site-footer > .container,
.site-footer .footer-shell{
  position:relative !important;
  z-index:1 !important;
  width:min(100% - clamp(36px,6vw,112px),1580px) !important;
  max-width:1580px !important;
  margin-inline:auto !important;
}
.footer-grid,
.footer-main{
  display:grid !important;
  grid-template-columns:minmax(280px,1.25fr) minmax(150px,.68fr) minmax(380px,1.45fr) minmax(230px,.86fr) minmax(290px,1.05fr) !important;
  align-items:start !important;
  gap:clamp(34px,4.2vw,76px) !important;
}
.footer-main{grid-template-columns:minmax(300px,1.18fr) minmax(170px,.68fr) minmax(420px,1.48fr) minmax(310px,1.05fr) !important;}
.footer-brand,
.footer-brand--premium{
  max-width:360px !important;
}
.footer-brand img,
.footer-brand .brand-mark,
.footer-brand--premium img,
.footer-brand--premium .brand-mark,
.brand--footer img{
  width:clamp(200px,15vw,285px) !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 0 clamp(22px,2.1vw,32px) !important;
  object-fit:contain !important;
  filter:drop-shadow(0 18px 42px rgba(0,0,0,.30)) !important;
}
.footer-brand p,
.footer-brand--premium p,
.site-footer .footer-col p,
.site-footer .footer-col--newsletter p,
.newsletter-col p{
  color:rgba(235,241,248,.74) !important;
  font-size:clamp(14px,.88vw,16px) !important;
  line-height:1.78 !important;
  max-width:360px !important;
  margin:0 0 28px !important;
}
.socials,
.footer-social{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  align-items:center !important;
}
.socials a,
.footer-social a{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  background:rgba(255,255,255,.035) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08) !important;
  transition:transform .28s var(--rp-ease), background .28s var(--rp-ease), border-color .28s var(--rp-ease) !important;
}
.socials a:hover,
.footer-social a:hover{transform:translateY(-3px) !important;background:rgba(211,47,47,.15) !important;border-color:rgba(211,47,47,.5) !important;}
.footer-social svg{width:18px !important;height:18px !important;fill:currentColor !important;}
.footer-col,
.footer-col--navigate,
.footer-col--services,
.footer-col--newsletter,
.contact-col,
.newsletter-col{
  display:block !important;
  min-width:0 !important;
}
.site-footer h2,
.site-footer .footer-col h2,
.site-footer .footer-col h3,
.footer-col h3{
  color:var(--rp-red) !important;
  font-family:inherit !important;
  font-size:clamp(12px,.82vw,14px) !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.24em !important;
  font-weight:900 !important;
  margin:0 0 clamp(22px,2.2vw,34px) !important;
}
.site-footer h2::after,
.site-footer .footer-col h2::after,
.site-footer .footer-col h3::after{
  content:"" !important;
  display:block !important;
  width:42px !important;
  height:2px !important;
  margin-top:16px !important;
  background:var(--rp-red) !important;
  border-radius:999px !important;
}
.site-footer .footer-col a,
.site-footer .footer-link-grid a,
.footer-col a{
  color:rgba(235,241,248,.78) !important;
  font-size:clamp(14px,.9vw,16px) !important;
  line-height:1.25 !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
  text-decoration:none !important;
  transition:color .24s var(--rp-ease), transform .24s var(--rp-ease) !important;
}
.site-footer .footer-col a:hover,
.site-footer .footer-link-grid a:hover,
.footer-col a:hover{color:#fff !important;transform:translateX(3px) !important;}
.footer-col:not(.footer-col--services):not(.footer-col--newsletter):not(.newsletter-col):not(.contact-col) > a{
  display:block !important;
  margin:0 0 18px !important;
}
.footer-grid > .footer-col:nth-child(2) > a,
.footer-grid > .footer-col:nth-child(3) > a,
.contact-col > a{
  display:block !important;
  margin:0 0 16px !important;
}
.footer-link-grid,
.footer-col--services .footer-link-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:clamp(26px,3.4vw,62px) !important;
  row-gap:18px !important;
}
.footer-col--services a,
.footer-grid > .footer-col:nth-child(2) a{
  position:relative !important;
  padding-left:18px !important;
}
.footer-col--services a::before,
.footer-grid > .footer-col:nth-child(2) a::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.55em !important;
  width:5px !important;
  height:5px !important;
  border-radius:999px !important;
  background:var(--rp-red) !important;
  box-shadow:0 0 16px rgba(211,47,47,.65) !important;
}
.site-footer form,
.footer-newsletter,
.newsletter-col form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 56px !important;
  height:58px !important;
  width:100% !important;
  max-width:380px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.16) !important;
}
.site-footer input,
.footer-newsletter input,
.newsletter-col input{
  min-width:0 !important;
  background:transparent !important;
  border:0 !important;
  color:#fff !important;
  padding:0 20px !important;
  font-size:16px !important;
  outline:none !important;
}
.site-footer input::placeholder{color:rgba(235,241,248,.48) !important;}
.site-footer form button,
.footer-newsletter button,
.newsletter-col button{
  border:0 !important;
  background:var(--rp-red) !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:1 !important;
  cursor:pointer !important;
  transition:background .24s var(--rp-ease), transform .24s var(--rp-ease) !important;
}
.site-footer form button:hover{background:var(--rp-red-hover) !important;transform:translateX(1px) !important;}
.footer-contact-mini{display:grid !important;gap:16px !important;margin-top:30px !important;}
.footer-contact-mini a{display:flex !important;align-items:center !important;gap:14px !important;color:rgba(235,241,248,.78) !important;}
.footer-contact-mini svg{width:18px !important;height:18px !important;fill:var(--rp-red) !important;flex:0 0 auto !important;}
.footer-bottom,
.footer-bottom--premium{
  position:relative !important;
  z-index:1 !important;
  margin-top:clamp(52px,5vw,86px) !important;
  padding-top:28px !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}
.footer-bottom p,
.footer-bottom--premium p{
  color:rgba(235,241,248,.58) !important;
  font-size:14px !important;
  margin:0 !important;
}
.footer-bottom nav,
.footer-bottom--premium div{
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
}
.footer-bottom a,
.footer-bottom--premium a{
  color:rgba(235,241,248,.66) !important;
  font-size:14px !important;
  text-decoration:none !important;
}
.footer-bottom a:hover,
.footer-bottom--premium a:hover{color:#fff !important;}
.footer-bottom--premium span[aria-hidden="true"],
.footer-bottom nav a + a::before{opacity:.35 !important;}

/* Premium scroll-to-top button */
.rp-scroll-top{
  position:fixed;
  right:clamp(18px,2.4vw,34px);
  bottom:clamp(18px,2.4vw,34px);
  z-index:998;
  width:56px;
  height:56px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.20);
  background:linear-gradient(180deg,rgba(13,28,45,.92),rgba(6,13,22,.96));
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 24px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10);
  opacity:0;
  visibility:hidden;
  transform:translateY(18px) scale(.92);
  transition:opacity .32s var(--rp-ease), visibility .32s var(--rp-ease), transform .32s var(--rp-ease), background .32s var(--rp-ease), border-color .32s var(--rp-ease);
}
.rp-scroll-top::before{content:"↑";font-size:24px;font-weight:900;line-height:1;}
.rp-scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.rp-scroll-top:hover{background:linear-gradient(180deg,#D32F2F,#B92525);border-color:rgba(255,255,255,.32);transform:translateY(-4px) scale(1.02);}
.rp-scroll-top:focus-visible{outline:3px solid rgba(211,47,47,.46);outline-offset:4px;}

@media (max-width:1320px){
  .footer-grid{grid-template-columns:1.2fr .7fr 1.35fr 1fr !important;}
  .footer-grid .newsletter-col{grid-column:1 / -1 !important;max-width:480px !important;}
  .footer-main{grid-template-columns:1.05fr .68fr 1.42fr !important;}
  .footer-col--newsletter{grid-column:1 / -1 !important;max-width:520px !important;}
}
@media (max-width:980px){
  .site-footer > .container,
  .site-footer .footer-shell{width:min(100% - 44px,760px) !important;}
  .footer-grid,
  .footer-main{grid-template-columns:1fr 1fr !important;gap:42px 36px !important;}
  .footer-brand,.footer-brand--premium{grid-column:1 / -1 !important;max-width:520px !important;}
  .footer-col--services,.footer-grid > .footer-col:nth-child(2){grid-column:1 / -1 !important;}
  .footer-link-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .footer-bottom,.footer-bottom--premium{align-items:flex-start !important;flex-direction:column !important;}
}
@media (max-width:640px){
  .site-footer,
  .site-footer.site-footer--premium{padding:66px 0 28px !important;}
  .footer-grid,
  .footer-main{grid-template-columns:1fr !important;gap:34px !important;}
  .footer-link-grid{grid-template-columns:1fr !important;row-gap:15px !important;}
  .footer-brand img,
  .footer-brand .brand-mark,
  .footer-brand--premium img,
  .footer-brand--premium .brand-mark{width:210px !important;}
  .site-footer form,.footer-newsletter,.newsletter-col form{max-width:none !important;height:56px !important;grid-template-columns:1fr 54px !important;}
  .footer-bottom nav,.footer-bottom--premium div{gap:16px !important;flex-wrap:wrap !important;}
  .rp-scroll-top{width:50px;height:50px;right:16px;bottom:16px;}
}


/* ======================================================================
   REAL.PRO Studios — Footer/Header Union Premium Refinement
   Goal: the enlarged footer visually meets the sticky header at the bottom
   of the page and reveals a subtle brand message inside the header.
   ====================================================================== */
:root{
  --rp-footer-union-header-height:86px;
  --rp-footer-union-ease:cubic-bezier(.22,.61,.36,1);
}

/* Header message that appears only when the footer reaches the sticky header */
.site-header .rp-header-union-message{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, calc(-50% + 10px)) !important;
  z-index:4 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.42em !important;
  max-width:min(54vw,760px) !important;
  white-space:nowrap !important;
  pointer-events:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  filter:blur(8px) !important;
  color:#1A2B4C !important;
  font-size:clamp(10px,.72vw,13px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  text-shadow:none !important;
  transition:
    opacity .62s var(--rp-footer-union-ease),
    visibility .62s var(--rp-footer-union-ease),
    transform .62s var(--rp-footer-union-ease),
    filter .62s var(--rp-footer-union-ease),
    letter-spacing .62s var(--rp-footer-union-ease) !important;
}
.site-header .rp-header-union-message::before,
.site-header .rp-header-union-message::after{
  content:"" !important;
  width:34px !important;
  height:2px !important;
  display:block !important;
  border-radius:999px !important;
  background:#D32F2F !important;
  box-shadow:0 0 20px rgba(211,47,47,.24) !important;
}
.site-header .rp-header-union-message em{
  color:#D32F2F !important;
  font-style:normal !important;
}
.site-header.is-footer-union .rp-header-union-message{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate(-50%,-50%) !important;
  filter:blur(0) !important;
  letter-spacing:.18em !important;
}
.site-header.is-footer-union{
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid rgba(26,43,76,.12) !important;
  box-shadow:0 18px 48px rgba(7,17,31,.10) !important;
}
.site-header.is-footer-union .menu-toggle{
  background:rgba(26,43,76,.055) !important;
  border-color:rgba(26,43,76,.14) !important;
}

/* Make the final footer tall enough so, at the bottom of the page, it begins
   exactly under the sticky header instead of leaving a strip of CTA above it. */
.site-footer,
.site-footer.site-footer--premium{
  min-height:calc(100svh - var(--rp-footer-union-header-height)) !important;
  display:flex !important;
  align-items:center !important;
  padding-top:clamp(92px,8.4vw,154px) !important;
  padding-bottom:clamp(34px,4vw,58px) !important;
}
.site-footer > .container,
.site-footer .footer-shell{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-height:calc(100svh - var(--rp-footer-union-header-height) - clamp(126px,12vw,210px)) !important;
}
.footer-grid,
.footer-main{
  width:100% !important;
  align-items:start !important;
}
.footer-bottom,
.footer-bottom--premium{
  width:100% !important;
}

/* More generous, premium footer scale and column rhythm */
.footer-brand img,
.footer-brand .brand-mark,
.footer-brand--premium img,
.footer-brand--premium .brand-mark,
.brand--footer img{
  width:clamp(220px,16vw,315px) !important;
}
.footer-brand p,
.footer-brand--premium p,
.site-footer .footer-col p,
.site-footer .footer-col--newsletter p,
.newsletter-col p{
  font-size:clamp(15px,.94vw,17px) !important;
  line-height:1.82 !important;
}
.site-footer .footer-col a,
.site-footer .footer-link-grid a,
.footer-col a{
  font-size:clamp(15px,.94vw,17px) !important;
  line-height:1.36 !important;
}
.footer-col:not(.footer-col--services):not(.footer-col--newsletter):not(.newsletter-col):not(.contact-col) > a,
.footer-grid > .footer-col:nth-child(2) > a,
.footer-grid > .footer-col:nth-child(3) > a,
.contact-col > a{
  margin-bottom:19px !important;
}
.footer-link-grid,
.footer-col--services .footer-link-grid{
  row-gap:19px !important;
}
.site-footer form,
.footer-newsletter,
.newsletter-col form{
  height:62px !important;
  grid-template-columns:minmax(0,1fr) 62px !important;
  max-width:420px !important;
}
.site-footer input,
.footer-newsletter input,
.newsletter-col input{
  font-size:17px !important;
}

@media (min-width:1181px){
  .site-header.is-footer-union{height:86px !important;padding-top:12px !important;padding-bottom:12px !important;align-items:center !important;}
}
@media (max-width:1180px){
  :root{--rp-footer-union-header-height:78px;}
  .site-header .rp-header-union-message{max-width:48vw !important;font-size:10px !important;letter-spacing:.16em !important;}
  .site-header .rp-header-union-message::before,
  .site-header .rp-header-union-message::after{width:22px !important;}
  .site-footer,.site-footer.site-footer--premium{padding-top:82px !important;}
}
@media (max-width:760px){
  :root{--rp-footer-union-header-height:72px;}
  .site-header .rp-header-union-message{display:none !important;}
  .site-footer,.site-footer.site-footer--premium{
    min-height:auto !important;
    padding-top:70px !important;
    padding-bottom:30px !important;
  }
  .site-footer > .container,
  .site-footer .footer-shell{min-height:auto !important;display:block !important;}
  .footer-brand img,
  .footer-brand .brand-mark,
  .footer-brand--premium img,
  .footer-brand--premium .brand-mark{width:220px !important;}
}

@media (prefers-reduced-motion:reduce){
  .site-header .rp-header-union-message{transition:none !important;filter:none !important;}
}

/* ===== SOURCE: assets/css/realpro-final-hybrid-site-fix.css ===== */
/* =========================================================
   REAL.PRO STUDIOS — FINAL HYBRID SITE FIX
   Purpose: final visual correction for the whole website, with a
   production-safe services section that matches the approved reference.
   Loaded last in every HTML file.
   ========================================================= */
:root{
  --rp-navy-deep:#07111F;
  --rp-navy:#1A2B4C;
  --rp-red:#D32F2F;
  --rp-red-hover:#B92525;
  --rp-off:#F5F2EC;
  --rp-white:#FFFFFF;
  --rp-muted:#C9D1DA;
  --rp-dark-line:rgba(255,255,255,.15);
  --rp-ease:cubic-bezier(.22,.61,.36,1);
}
html{scroll-behavior:smooth;}
body{
  background:var(--rp-navy-deep) !important;
  overflow-x:hidden !important;
}
img{max-width:100%;height:auto;}

/* Improve global hybrid rhythm without disturbing structural content */
main > section:nth-of-type(odd):not(.hero):not(.realpro-services-exact):not(.services){
  background-color:var(--rp-off);
}
.final-cta + .site-footer,
.final-cta + footer{margin-top:0 !important;}

/* Header guardrails: logo never breaks layout */
.site-header{
  min-height:86px !important;
  display:flex !important;
  align-items:center !important;
}
.site-header .header-logo,
.site-header .brand,
.site-header a[aria-label*="REAL.PRO"]{
  display:inline-flex !important;
  align-items:center !important;
  line-height:0 !important;
  flex:0 0 auto !important;
}
.site-header .header-logo img,
.site-header .brand img,
.site-header img[alt*="REAL.PRO"]{
  display:block !important;
  width:clamp(138px,11vw,214px) !important;
  max-height:72px !important;
  object-fit:contain !important;
}
.site-header.is-scrolled img[alt*="REAL.PRO"]{
  width:clamp(138px,10vw,198px) !important;
  max-height:66px !important;
}

/* =========================================================
   EXACT SERVICES SECTION — approved reference match
   ========================================================= */
.realpro-services-exact,
section.realpro-services-exact#services{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 7% 8%, rgba(129,161,193,.18), transparent 22%),
    radial-gradient(circle at 86% 3%, rgba(38,72,101,.18), transparent 32%),
    linear-gradient(180deg,#081522 0%,#06111d 52%,#050b14 100%) !important;
  padding:clamp(84px,8vh,112px) 0 clamp(82px,8vh,110px) !important;
  min-height:auto !important;
  border:0 !important;
}
.realpro-services-exact::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  opacity:.28 !important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.028) 1px,transparent 1px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.014) 0 1px,transparent 1px 8px) !important;
  background-size:120px 120px,120px 120px,9px 100% !important;
  pointer-events:none !important;
}
.realpro-services-exact::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 0% 42%, rgba(255,255,255,.09), transparent 19%),
    radial-gradient(circle at 11% 56%, rgba(54,83,111,.18), transparent 23%),
    radial-gradient(circle at 50% 80%, rgba(211,47,47,.035), transparent 22%),
    linear-gradient(90deg,rgba(0,0,0,.24),transparent 33%,transparent 80%,rgba(0,0,0,.15)) !important;
}
.realpro-services-exact .container,
.realpro-services-exact .services-layout{
  box-sizing:border-box !important;
}
.realpro-services-exact .container{
  width:min(100% - 120px,1500px) !important;
  max-width:1500px !important;
  margin-inline:auto !important;
}
.realpro-services-exact .services-layout{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:minmax(300px,380px) minmax(760px,980px) !important;
  gap:clamp(54px,4.8vw,86px) !important;
  justify-content:center !important;
  align-items:start !important;
}
.realpro-services-exact .services-intro{
  position:sticky !important;
  top:118px !important;
  align-self:start !important;
  padding-top:clamp(74px,9vh,112px) !important;
  max-width:380px !important;
  min-width:0 !important;
}
.realpro-services-exact .services-kicker,
.realpro-services-exact .kicker{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  margin:0 0 32px !important;
  color:rgba(255,255,255,.94) !important;
  font-family:var(--sans, Arial, sans-serif) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.24em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.realpro-services-exact .services-kicker span,
.realpro-services-exact .kicker span{
  display:block !important;
  flex:0 0 78px !important;
  width:78px !important;
  height:2px !important;
  background:linear-gradient(90deg,#d32f2f,#e53737) !important;
}
.realpro-services-exact .services-intro h2{
  max-width:365px !important;
  margin:0 !important;
  color:#f8fafc !important;
  font-family:var(--display,"Arial Narrow","Helvetica Neue Condensed",Impact,system-ui,sans-serif) !important;
  font-size:clamp(62px,5.1vw,96px) !important;
  line-height:.94 !important;
  letter-spacing:-.035em !important;
  font-weight:850 !important;
  text-transform:uppercase !important;
  text-shadow:0 18px 54px rgba(0,0,0,.52), 0 1px 0 rgba(255,255,255,.10) !important;
  word-spacing:.04em !important;
}
.realpro-services-exact .services-intro p:not(.kicker){
  max-width:355px !important;
  margin:34px 0 0 !important;
  color:rgba(255,255,255,.78) !important;
  font-family:var(--sans,Arial,sans-serif) !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.55 !important;
}
.realpro-services-exact .services-panel{
  position:relative !important;
  display:grid !important;
  gap:30px !important;
  min-width:0 !important;
  overflow:visible !important;
}
.realpro-services-exact .services-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
  min-width:0 !important;
}
.realpro-services-exact .service-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:380px !important;
  height:100% !important;
  overflow:hidden !important;
  color:#fff !important;
  text-decoration:none !important;
  background:linear-gradient(180deg,rgba(15,32,49,.92),rgba(6,16,28,.96)) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:10px !important;
  box-shadow:0 28px 72px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
  transform:translateZ(0) !important;
  transition:transform .34s var(--rp-ease),border-color .34s var(--rp-ease),box-shadow .34s var(--rp-ease),background .34s var(--rp-ease) !important;
}
.realpro-services-exact .service-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 34%,rgba(0,0,0,.13)) !important;
  opacity:.82 !important;
}
.realpro-services-exact .service-card:hover,
.realpro-services-exact .service-card:focus-visible{
  transform:translateY(-6px) !important;
  border-color:rgba(211,47,47,.62) !important;
  box-shadow:0 38px 92px rgba(0,0,0,.34), 0 0 0 1px rgba(211,47,47,.12), inset 0 1px 0 rgba(255,255,255,.12) !important;
  outline:none !important;
}
.realpro-services-exact .service-card img{
  display:block !important;
  position:relative !important;
  z-index:0 !important;
  width:100% !important;
  height:178px !important;
  min-height:178px !important;
  max-height:178px !important;
  flex:0 0 178px !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:brightness(.78) saturate(.95) contrast(1.08) !important;
  border:0 !important;
  border-radius:0 !important;
  transition:transform .54s var(--rp-ease),filter .54s var(--rp-ease) !important;
}
.realpro-services-exact .service-card:hover img,
.realpro-services-exact .service-card:focus-visible img{
  transform:scale(1.035) !important;
  filter:brightness(.9) saturate(1.03) contrast(1.1) !important;
}
.realpro-services-exact .service-card div{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  padding:22px 22px 54px !important;
  background:linear-gradient(180deg,rgba(9,24,38,.84),rgba(6,16,28,.96)) !important;
}
.realpro-services-exact .service-card span{
  position:absolute !important;
  top:-160px !important;
  left:18px !important;
  z-index:3 !important;
  display:grid !important;
  place-items:center !important;
  width:42px !important;
  height:42px !important;
  margin:0 !important;
  color:#fff !important;
  background:rgba(7,17,31,.76) !important;
  border:1px solid rgba(255,255,255,.25) !important;
  border-radius:50% !important;
  font-family:var(--sans,Arial,sans-serif) !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  box-shadow:0 10px 30px rgba(0,0,0,.32) !important;
}
.realpro-services-exact .service-card h3{
  margin:0 0 9px !important;
  color:#fff !important;
  font-family:var(--sans,Arial,sans-serif) !important;
  font-size:clamp(20px,1.28vw,24px) !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
  font-weight:800 !important;
  text-transform:none !important;
  text-shadow:0 10px 30px rgba(0,0,0,.30) !important;
}
.realpro-services-exact .service-card p{
  max-width:100% !important;
  margin:0 !important;
  color:rgba(255,255,255,.74) !important;
  font-family:var(--sans,Arial,sans-serif) !important;
  font-size:clamp(14px,.92vw,16px) !important;
  line-height:1.45 !important;
  font-weight:500 !important;
}
.realpro-services-exact .service-card b{
  position:absolute !important;
  left:22px !important;
  bottom:20px !important;
  color:#ff392f !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:500 !important;
  transition:transform .32s var(--rp-ease),color .32s var(--rp-ease) !important;
}
.realpro-services-exact .service-card:hover b,
.realpro-services-exact .service-card:focus-visible b{
  color:#ff4a45 !important;
  transform:translateX(8px) !important;
}
.realpro-services-exact .services-more{
  justify-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:28px !important;
  min-width:360px !important;
  min-height:54px !important;
  margin:0 auto !important;
  padding:0 38px !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:6px !important;
  background:rgba(7,17,31,.52) !important;
  box-shadow:0 20px 54px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06) !important;
  text-transform:uppercase !important;
  letter-spacing:.22em !important;
  font-family:var(--sans,Arial,sans-serif) !important;
  font-size:12px !important;
  font-weight:850 !important;
  text-decoration:none !important;
  transition:background .3s var(--rp-ease), transform .3s var(--rp-ease), border-color .3s var(--rp-ease), box-shadow .3s var(--rp-ease) !important;
}
.realpro-services-exact .services-more span{
  color:#ff392f !important;
  font-size:22px !important;
  line-height:1 !important;
  transition:transform .3s var(--rp-ease) !important;
}
.realpro-services-exact .services-more:hover,
.realpro-services-exact .services-more:focus-visible{
  border-color:rgba(211,47,47,.78) !important;
  background:rgba(211,47,47,.12) !important;
  transform:translateY(-3px) !important;
  box-shadow:0 28px 68px rgba(0,0,0,.28),0 0 36px rgba(211,47,47,.13) !important;
  outline:none !important;
}
.realpro-services-exact .services-more:hover span,
.realpro-services-exact .services-more:focus-visible span{transform:translateX(8px) !important;}

/* Desktop compact safeguard used on 1366px notebooks */
@media (min-width:1181px) and (max-width:1420px){
  .realpro-services-exact{padding:90px 0 92px !important;}
  .realpro-services-exact .container{width:min(100% - 96px,1240px) !important;}
  .realpro-services-exact .services-layout{
    grid-template-columns:minmax(294px,330px) minmax(760px,1fr) !important;
    gap:46px !important;
  }
  .realpro-services-exact .services-intro{padding-top:96px !important;}
  .realpro-services-exact .services-intro h2{
    max-width:318px !important;
    font-size:clamp(58px,5.2vw,74px) !important;
    line-height:.92 !important;
    letter-spacing:-.028em !important;
  }
  .realpro-services-exact .services-intro p:not(.kicker){
    max-width:310px !important;
    margin-top:28px !important;
    font-size:15.5px !important;
  }
  .realpro-services-exact .services-kicker span,
  .realpro-services-exact .kicker span{width:64px !important;flex-basis:64px !important;}
  .realpro-services-exact .services-grid{gap:14px !important;}
  .realpro-services-exact .service-card{min-height:346px !important;}
  .realpro-services-exact .service-card img{height:150px !important;min-height:150px !important;max-height:150px !important;flex-basis:150px !important;}
  .realpro-services-exact .service-card span{top:-134px !important;width:36px !important;height:36px !important;font-size:12px !important;}
  .realpro-services-exact .service-card div{padding:18px 18px 48px !important;}
  .realpro-services-exact .service-card h3{font-size:18px !important;margin-bottom:8px !important;}
  .realpro-services-exact .service-card p{font-size:13.5px !important;line-height:1.4 !important;}
  .realpro-services-exact .services-more{min-width:330px !important;min-height:50px !important;}
}

/* Large desktop: preserve the high-end spacious reference */
@media (min-width:1500px){
  .realpro-services-exact .services-layout{
    grid-template-columns:minmax(360px,420px) minmax(980px,1040px) !important;
    gap:80px !important;
  }
  .realpro-services-exact .services-intro h2{
    max-width:410px !important;
    font-size:clamp(76px,5.35vw,102px) !important;
  }
  .realpro-services-exact .services-grid{gap:18px !important;}
  .realpro-services-exact .service-card{min-height:398px !important;}
  .realpro-services-exact .service-card img{height:186px !important;min-height:186px !important;max-height:186px !important;flex-basis:186px !important;}
  .realpro-services-exact .service-card span{top:-168px !important;}
}

/* Tablet and mobile: clean stacked premium view */
@media (max-width:1180px){
  .realpro-services-exact{padding:84px 0 94px !important;min-height:auto !important;}
  .realpro-services-exact .container{width:min(100% - 48px,980px) !important;}
  .realpro-services-exact .services-layout{display:block !important;}
  .realpro-services-exact .services-intro{position:relative !important;top:auto !important;padding-top:0 !important;margin-bottom:42px !important;max-width:760px !important;}
  .realpro-services-exact .services-intro h2{max-width:720px !important;font-size:clamp(58px,8.6vw,86px) !important;line-height:.94 !important;}
  .realpro-services-exact .services-intro p:not(.kicker){max-width:620px !important;}
  .realpro-services-exact .services-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:20px !important;}
  .realpro-services-exact .service-card{min-height:390px !important;}
  .realpro-services-exact .service-card img{height:190px !important;min-height:190px !important;max-height:190px !important;flex-basis:190px !important;}
  .realpro-services-exact .service-card span{top:-172px !important;}
}
@media (max-width:680px){
  .realpro-services-exact{padding:68px 0 78px !important;}
  .realpro-services-exact .container{width:min(100% - 34px,560px) !important;}
  .realpro-services-exact .services-kicker,
  .realpro-services-exact .kicker{font-size:10px !important;letter-spacing:.2em !important;margin-bottom:24px !important;}
  .realpro-services-exact .services-kicker span,
  .realpro-services-exact .kicker span{width:42px !important;flex-basis:42px !important;}
  .realpro-services-exact .services-intro{margin-bottom:34px !important;}
  .realpro-services-exact .services-intro h2{font-size:clamp(46px,14vw,64px) !important;max-width:100% !important;}
  .realpro-services-exact .services-intro p:not(.kicker){font-size:15.5px !important;margin-top:24px !important;}
  .realpro-services-exact .services-grid{grid-template-columns:1fr !important;gap:18px !important;}
  .realpro-services-exact .service-card{min-height:auto !important;border-radius:10px !important;}
  .realpro-services-exact .service-card img{height:220px !important;min-height:220px !important;max-height:220px !important;flex-basis:220px !important;}
  .realpro-services-exact .service-card span{top:-202px !important;width:40px !important;height:40px !important;font-size:13px !important;}
  .realpro-services-exact .service-card h3{font-size:24px !important;}
  .realpro-services-exact .service-card p{font-size:15.5px !important;}
  .realpro-services-exact .services-more{width:100% !important;min-width:0 !important;padding:0 22px !important;font-size:11px !important;letter-spacing:.18em !important;}
}

/* Footer/header integration polish */
.site-footer, footer.site-footer{
  background:
    radial-gradient(circle at 11% 6%,rgba(39,75,109,.20),transparent 28%),
    linear-gradient(180deg,#07111F 0%,#040912 100%) !important;
  color:rgba(255,255,255,.78) !important;
}
.rp-scroll-top{z-index:2500 !important;}
@media (prefers-reduced-motion:reduce){
  .realpro-services-exact .service-card,
  .realpro-services-exact .service-card img,
  .realpro-services-exact .service-card b,
  .realpro-services-exact .services-more,
  .realpro-services-exact .services-more span{transition:none !important;}
}

/* ===== SOURCE: assets/css/realpro-title-weight-refinement-final.css ===== */
/* REAL.PRO Studios — Title Weight Refinement Final
   Purpose: reduce overly heavy title weights while preserving the premium hybrid visual system.
   Loaded last to neutralize earlier 900/1000 overrides without changing content or structure. */
:root{
  --rp-title-weight:650;
  --rp-title-weight-strong:700;
  --rp-card-title-weight:650;
  --rp-label-weight:700;
  --rp-title-tracking:-0.028em;
  --rp-title-shadow:0 16px 42px rgba(0,0,0,.32);
}

/* Global editorial title refinement */
h1,
h2,
h3,
.hero h1,
.page-hero h1,
.section-heading h2,
.featured-copy h2,
.testimonials-copy h2,
.process-copy h2,
.final-cta h2,
.final-cta-content h2,
.reel-content h2,
.mission h2,
.services-intro h2,
.realpro-services-exact .services-intro h2,
.menu-services-head h2,
.menu-showcase-head p,
.footer-col h2,
.article-body h2,
.legal-copy h2,
.quote-card,
.cta-panel h2{
  font-weight:var(--rp-title-weight) !important;
  letter-spacing:var(--rp-title-tracking) !important;
  text-rendering:geometricPrecision !important;
  -webkit-font-smoothing:antialiased !important;
}

/* Large cinematic headings keep authority, but with less visual weight */
.hero h1,
.page-hero h1,
.realpro-services-exact .services-intro h2,
.final-cta-content h2,
.reel-content h2,
.featured-copy h2,
.testimonials-copy h2,
.process-copy h2{
  font-weight:var(--rp-title-weight-strong) !important;
  text-shadow:var(--rp-title-shadow) !important;
}

/* Services section: refined to match the approved premium reference */
.realpro-services-exact .services-intro h2{
  max-width:390px !important;
  font-weight:650 !important;
  line-height:.95 !important;
  letter-spacing:-.022em !important;
  text-shadow:0 18px 44px rgba(0,0,0,.35), 0 1px 0 rgba(255,255,255,.08) !important;
}
.realpro-services-exact .services-kicker,
.realpro-services-exact .kicker,
.kicker{
  font-weight:var(--rp-label-weight) !important;
  letter-spacing:.24em !important;
}
.realpro-services-exact .service-card h3{
  font-family:var(--sans, Arial, sans-serif) !important;
  font-weight:650 !important;
  letter-spacing:-.012em !important;
  text-transform:none !important;
  line-height:1.08 !important;
  text-shadow:0 8px 22px rgba(0,0,0,.22) !important;
}
.realpro-services-exact .service-card span{
  font-weight:700 !important;
}
.realpro-services-exact .service-card p{
  font-weight:450 !important;
}
.realpro-services-exact .services-more,
.btn,
.text-link,
.menu-services-head a,
.footer-newsletter button{
  font-weight:760 !important;
}

/* Cards and lists across the site */
.service-card h3,
.project-card h3,
.related-card h3,
.portfolio-tile h3,
.process-cards h3,
.values-grid h3,
.capability-list strong,
.case-facts strong,
.result-grid strong,
.contact-details strong,
.footer-col h2{
  font-weight:650 !important;
  letter-spacing:-.012em !important;
}
.project-card p,
.service-card p,
.process-cards p,
.values-grid p,
.footer-col a,
.footer-brand p{
  font-weight:450 !important;
}

/* Menu: keep the big editorial scale, but avoid black/heavy titles */
.menu-links a,
.services-trigger{
  font-weight:600 !important;
  letter-spacing:-.045em !important;
}
.menu-services-head p,
.menu-showcase-head p,
.menu-showcase-caption strong,
.menu-showcase-card strong{
  font-weight:700 !important;
}
.menu-showcase-caption em,
.menu-showcase-head small{
  font-weight:450 !important;
}

/* Footer: premium, readable, less heavy */
.site-footer h2,
.footer-col h2,
.footer-brand strong,
.footer-bottom,
.footer-bottom a{
  font-weight:600 !important;
}
.site-footer p,
.site-footer a,
.footer-contact-mini a,
.footer-newsletter input{
  font-weight:450 !important;
}

/* Notebook and tablet refinement keeps the same hierarchy without crowding */
@media (max-width:1420px){
  .realpro-services-exact .services-intro h2{
    font-size:clamp(56px,5.1vw,72px) !important;
    line-height:.95 !important;
    letter-spacing:-.02em !important;
  }
  .realpro-services-exact .service-card h3{
    font-size:clamp(18px,1.2vw,23px) !important;
    font-weight:650 !important;
  }
}
@media (max-width:1180px){
  .realpro-services-exact .services-intro h2,
  .hero h1,
  .page-hero h1{
    font-weight:650 !important;
    letter-spacing:-.022em !important;
  }
}
@media (max-width:680px){
  h1,h2,h3,
  .hero h1,
  .page-hero h1,
  .realpro-services-exact .services-intro h2{
    font-weight:650 !important;
    letter-spacing:-.018em !important;
  }
  .realpro-services-exact .service-card h3{
    font-size:23px !important;
    font-weight:650 !important;
  }
}

/* ===== SOURCE: assets/css/realpro-sitewide-standardization-final.css ===== */
/* =========================================================
   REAL.PRO STUDIOS — SITEWIDE HEADER, FOOTER & PAGE RHYTHM
   Final synchronization layer.
   Purpose: replicate the approved homepage hamburger header,
   fullscreen services menu and footer across every page while
   preserving page content and assets.
   ========================================================= */
:root{
  --rp-sync-navy:#07111F;
  --rp-sync-navy-2:#0A1726;
  --rp-sync-navy-3:#1A2B4C;
  --rp-sync-red:#D32F2F;
  --rp-sync-red-dark:#B92525;
  --rp-sync-off:#F5F2EC;
  --rp-sync-cream:#F8F5EF;
  --rp-sync-white:#FFFFFF;
  --rp-sync-muted:#4C5565;
  --rp-sync-line:rgba(26,43,76,.14);
  --rp-sync-line-dark:rgba(255,255,255,.14);
  --rp-sync-ease:cubic-bezier(.22,.61,.36,1);
  --rp-sync-display:"Arial Narrow","Helvetica Neue Condensed",Impact,system-ui,sans-serif;
  --rp-sync-sans:Inter,"Segoe UI",Roboto,Arial,sans-serif;
}

html body{
  overflow-x:hidden !important;
}

/* ------------------------------
   Approved homepage header clone
   ------------------------------ */
html body .site-header[data-header]{
  position:fixed !important;
  z-index:1000 !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:98px !important;
  min-height:86px !important;
  padding:22px clamp(24px,7vw,138px) 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  background:linear-gradient(180deg,rgba(7,17,31,.62),rgba(7,17,31,.16) 72%,rgba(7,17,31,0)) !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.045) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transition:height .34s var(--rp-sync-ease),padding .34s var(--rp-sync-ease),background .34s var(--rp-sync-ease),border-color .34s var(--rp-sync-ease),box-shadow .34s var(--rp-sync-ease),backdrop-filter .34s var(--rp-sync-ease) !important;
}
html body .site-header[data-header].is-menu-open{
  height:82px !important;
  padding-top:14px !important;
  padding-bottom:14px !important;
  background:rgba(7,17,31,.90) !important;
  backdrop-filter:blur(20px) !important;
  -webkit-backdrop-filter:blur(20px) !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.16) !important;
  color:#fff !important;
}
html body .site-header[data-header].is-scrolled:not(.is-menu-open){
  height:86px !important;
  padding-top:12px !important;
  padding-bottom:12px !important;
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(22px) saturate(1.18) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.18) !important;
  border-bottom:1px solid rgba(26,43,76,.12) !important;
  box-shadow:0 18px 48px rgba(7,17,31,.10),0 1px 0 rgba(255,255,255,.70) inset !important;
  color:var(--rp-sync-navy-3) !important;
}
html body .site-header[data-header] .header-logo{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 auto !important;
  width:190px !important;
  max-width:36vw !important;
  max-height:74px !important;
  line-height:0 !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 14px 34px rgba(0,0,0,.38)) !important;
  transition:width .32s var(--rp-sync-ease),filter .32s var(--rp-sync-ease),transform .32s var(--rp-sync-ease) !important;
}
html body .site-header[data-header] .header-logo img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:74px !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
html body .site-header[data-header].is-scrolled .header-logo{
  width:168px !important;
  max-height:62px !important;
  filter:none !important;
}
html body .site-header[data-header].is-scrolled .header-logo img{
  max-height:62px !important;
  filter:drop-shadow(0 8px 18px rgba(26,43,76,.10)) !important;
}
html body .site-header[data-header] .menu-toggle{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  place-content:center !important;
  flex:0 0 auto !important;
  width:64px !important;
  height:54px !important;
  min-width:64px !important;
  min-height:54px !important;
  margin:4px 0 0 !important;
  padding:0 !important;
  gap:7px !important;
  color:#fff !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  cursor:pointer !important;
  opacity:1 !important;
  pointer-events:auto !important;
  transition:transform .28s var(--rp-sync-ease),color .28s var(--rp-sync-ease),background .28s var(--rp-sync-ease),border-color .28s var(--rp-sync-ease) !important;
}
html body .site-header[data-header] .menu-toggle span{
  display:block !important;
  width:34px !important;
  height:2px !important;
  margin:0 !important;
  background:currentColor !important;
  border-radius:10px !important;
  box-shadow:0 1px 12px rgba(0,0,0,.22) !important;
  transform:none !important;
  opacity:1 !important;
  transition:width .28s var(--rp-sync-ease),background .28s var(--rp-sync-ease),box-shadow .28s var(--rp-sync-ease) !important;
}
html body .site-header[data-header] .menu-toggle:hover span:nth-child(2),
html body .site-header[data-header] .menu-toggle:focus-visible span:nth-child(2){
  width:42px !important;
}
html body .site-header[data-header] .menu-toggle:focus-visible{
  outline:3px solid rgba(211,47,47,.82) !important;
  outline-offset:6px !important;
  border-radius:16px !important;
}
html body .site-header[data-header].is-scrolled:not(.is-menu-open) .menu-toggle{
  color:var(--rp-sync-navy-3) !important;
  background:rgba(26,43,76,.045) !important;
  border:1px solid rgba(26,43,76,.14) !important;
  border-radius:16px !important;
}
html body .site-header[data-header].is-scrolled:not(.is-menu-open) .menu-toggle span{
  background:var(--rp-sync-navy-3) !important;
  box-shadow:none !important;
}

/* Hide legacy desktop/nav structures whenever older CSS remains loaded. */
html body .site-header[data-header] .nav-shell,
html body .site-header[data-header] .desktop-nav,
html body .site-header[data-header] .header-cta,
html body .site-header[data-header] .brand:not(.header-logo){
  display:none !important;
}
html body .menu-backdrop,
html body .mobile-menu{
  display:none !important;
}

/* ------------------------------
   Approved fullscreen hamburger menu
   ------------------------------ */
html body .fullscreen-menu#siteMenu{
  position:fixed !important;
  inset:0 !important;
  z-index:2000 !important;
  display:block !important;
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:1 !important;
}
html body .fullscreen-menu#siteMenu.is-open{
  visibility:visible !important;
  pointer-events:auto !important;
}
html body .fullscreen-menu#siteMenu .menu-scrim{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  background:rgba(0,0,0,.55) !important;
  opacity:0 !important;
  transition:opacity .32s var(--rp-sync-ease) !important;
}
html body .fullscreen-menu#siteMenu.is-open .menu-scrim{
  opacity:1 !important;
}
html body .fullscreen-menu#siteMenu .menu-panel{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  overflow:auto !important;
  padding:42px 56px 32px !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 14% 26%,rgba(255,255,255,.08),transparent 36%),
    linear-gradient(135deg,#07111F,#0A1726 68%,#060B13) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:translateY(-18px) !important;
  opacity:0 !important;
  transition:transform .38s var(--rp-sync-ease),opacity .38s var(--rp-sync-ease) !important;
}
html body .fullscreen-menu#siteMenu.is-open .menu-panel{
  transform:none !important;
  opacity:1 !important;
}
html body .fullscreen-menu#siteMenu .menu-panel::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  opacity:.14 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px) !important;
  background-size:92px 92px !important;
  pointer-events:none !important;
}
html body .fullscreen-menu#siteMenu .menu-top,
html body .fullscreen-menu#siteMenu .menu-content,
html body .fullscreen-menu#siteMenu .menu-signature{
  position:relative !important;
  z-index:1 !important;
}
html body .fullscreen-menu#siteMenu .menu-top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}
html body .fullscreen-menu#siteMenu .menu-top img{
  width:245px !important;
  height:auto !important;
  max-height:101px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 16px 36px rgba(0,0,0,.28)) !important;
}
html body .fullscreen-menu#siteMenu .menu-close{
  display:flex !important;
  gap:18px !important;
  align-items:center !important;
  width:auto !important;
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#fff !important;
  text-transform:uppercase !important;
  letter-spacing:.28em !important;
  font-size:12px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
html body .fullscreen-menu#siteMenu .menu-close i{
  width:42px !important;
  height:42px !important;
  position:relative !important;
  display:block !important;
}
html body .fullscreen-menu#siteMenu .menu-close i::before,
html body .fullscreen-menu#siteMenu .menu-close i::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  width:42px !important;
  height:2px !important;
  background:#fff !important;
  border-radius:999px !important;
}
html body .fullscreen-menu#siteMenu .menu-close i::before{transform:rotate(45deg) !important;}
html body .fullscreen-menu#siteMenu .menu-close i::after{transform:rotate(-45deg) !important;}
html body .fullscreen-menu#siteMenu .menu-content{
  display:grid !important;
  grid-template-columns:minmax(300px,.72fr) minmax(620px,1.28fr) !important;
  gap:48px !important;
  align-items:start !important;
  margin-top:56px !important;
}
html body .fullscreen-menu#siteMenu .menu-links{
  display:grid !important;
  gap:2px !important;
  align-content:start !important;
}
html body .fullscreen-menu#siteMenu .menu-links a,
html body .fullscreen-menu#siteMenu .services-trigger{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:#fff !important;
  font-family:var(--rp-sync-display) !important;
  font-size:clamp(54px,6vw,96px) !important;
  line-height:.9 !important;
  letter-spacing:-.045em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  font-weight:600 !important;
  cursor:pointer !important;
  box-shadow:none !important;
  transition:color .22s var(--rp-sync-ease),transform .22s var(--rp-sync-ease) !important;
}
html body .fullscreen-menu#siteMenu .menu-links a:hover,
html body .fullscreen-menu#siteMenu .menu-links a:focus-visible,
html body .fullscreen-menu#siteMenu .services-trigger:hover,
html body .fullscreen-menu#siteMenu .services-trigger:focus-visible{
  color:var(--rp-sync-red) !important;
  transform:translateX(4px) !important;
  outline:none !important;
}
html body .fullscreen-menu#siteMenu .services-trigger{
  color:var(--rp-sync-red) !important;
}
html body .fullscreen-menu#siteMenu .menu-services.menu-services--showcase{
  color:#12233E !important;
  background:linear-gradient(180deg,#F7F4EF 0%,#EFEAE1 100%) !important;
  border:1px solid rgba(255,255,255,.56) !important;
  border-radius:30px !important;
  box-shadow:0 54px 150px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.88) !important;
}
html body .fullscreen-menu#siteMenu .menu-signature{
  margin-top:36px !important;
  color:rgba(255,255,255,.45) !important;
  text-transform:uppercase !important;
  letter-spacing:.42em !important;
  font-size:12px !important;
  font-weight:900 !important;
}
body:has(.fullscreen-menu.is-open){
  overflow:hidden !important;
}

/* ------------------------------
   Approved homepage footer clone
   ------------------------------ */
html body .site-footer.site-footer--premium{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:clamp(82px,7.2vw,132px) 0 clamp(28px,3.3vw,48px) !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(211,47,47,.16), transparent 27%),
    radial-gradient(circle at 84% 18%, rgba(58,87,124,.20), transparent 30%),
    linear-gradient(180deg,#07111F 0%,#050B13 56%,#02060B 100%) !important;
  border:0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-radius:0 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
html body .site-footer.site-footer--premium::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  opacity:.28 !important;
  background:
    linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px) !important;
  background-size:72px 72px !important;
  mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 84%,transparent 100%) !important;
}
html body .site-footer.site-footer--premium .footer-shell,
html body .site-footer.site-footer--premium > .container{
  position:relative !important;
  z-index:1 !important;
  width:min(100% - clamp(36px,6vw,112px),1580px) !important;
  max-width:1580px !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
html body .site-footer.site-footer--premium .footer-main{
  display:grid !important;
  grid-template-columns:minmax(300px,1.18fr) minmax(170px,.68fr) minmax(420px,1.48fr) minmax(310px,1.05fr) !important;
  align-items:start !important;
  gap:clamp(34px,4.2vw,76px) !important;
  margin:0 !important;
  padding:0 !important;
}
html body .site-footer.site-footer--premium .footer-brand,
html body .site-footer.site-footer--premium .footer-col{
  display:block !important;
  width:auto !important;
  max-width:360px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-align:left !important;
}
html body .site-footer.site-footer--premium .footer-col--services{
  max-width:none !important;
}
html body .site-footer.site-footer--premium .brand--footer{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  margin:0 0 clamp(22px,2.1vw,32px) !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  line-height:0 !important;
}
html body .site-footer.site-footer--premium .brand--footer img,
html body .site-footer.site-footer--premium .footer-brand img{
  display:block !important;
  width:clamp(200px,15vw,285px) !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:drop-shadow(0 18px 42px rgba(0,0,0,.30)) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
html body .site-footer.site-footer--premium .footer-brand p,
html body .site-footer.site-footer--premium .footer-col p{
  max-width:360px !important;
  margin:0 0 28px !important;
  color:rgba(235,241,248,.74) !important;
  font-family:inherit !important;
  font-size:clamp(14px,.88vw,16px) !important;
  line-height:1.78 !important;
  font-weight:450 !important;
}
html body .site-footer.site-footer--premium .footer-social{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
}
html body .site-footer.site-footer--premium .footer-social a{
  display:grid !important;
  place-items:center !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:999px !important;
  box-shadow:0 16px 34px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.08) !important;
  transition:transform .28s var(--rp-sync-ease),background .28s var(--rp-sync-ease),border-color .28s var(--rp-sync-ease) !important;
}
html body .site-footer.site-footer--premium .footer-social a:hover,
html body .site-footer.site-footer--premium .footer-social a:focus-visible{
  transform:translateY(-3px) !important;
  background:rgba(211,47,47,.15) !important;
  border-color:rgba(211,47,47,.50) !important;
  outline:none !important;
}
html body .site-footer.site-footer--premium .footer-social svg{
  display:block !important;
  width:18px !important;
  height:18px !important;
  fill:currentColor !important;
}
html body .site-footer.site-footer--premium .footer-col h2{
  display:block !important;
  margin:0 0 clamp(22px,2.2vw,34px) !important;
  padding:0 !important;
  color:var(--rp-sync-red) !important;
  font-family:inherit !important;
  font-size:clamp(12px,.82vw,14px) !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.24em !important;
  font-weight:650 !important;
  text-align:left !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
html body .site-footer.site-footer--premium .footer-col h2::after{
  content:"" !important;
  display:block !important;
  width:42px !important;
  height:2px !important;
  margin-top:16px !important;
  background:var(--rp-sync-red) !important;
  border-radius:999px !important;
}
html body .site-footer.site-footer--premium .footer-link-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px 22px !important;
}
html body .site-footer.site-footer--premium .footer-col a,
html body .site-footer.site-footer--premium .footer-link-grid a,
html body .site-footer.site-footer--premium .footer-bottom a,
html body .site-footer.site-footer--premium .footer-contact-mini a{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  color:rgba(235,241,248,.78) !important;
  font-size:clamp(14px,.9vw,16px) !important;
  line-height:1.25 !important;
  font-weight:450 !important;
  letter-spacing:-.01em !important;
  text-decoration:none !important;
  transform:none !important;
  transition:color .24s var(--rp-sync-ease),transform .24s var(--rp-sync-ease) !important;
}
html body .site-footer.site-footer--premium .footer-col--navigate > a{
  display:block !important;
  margin:0 0 18px !important;
}
html body .site-footer.site-footer--premium .footer-col a:hover,
html body .site-footer.site-footer--premium .footer-link-grid a:hover,
html body .site-footer.site-footer--premium .footer-bottom a:hover,
html body .site-footer.site-footer--premium .footer-contact-mini a:hover{
  color:#fff !important;
  transform:translateX(3px) !important;
}
html body .site-footer.site-footer--premium .footer-newsletter{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 54px !important;
  width:100% !important;
  max-width:360px !important;
  height:54px !important;
  margin:0 0 22px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:999px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html body .site-footer.site-footer--premium .footer-newsletter input{
  min-width:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 18px !important;
  color:#fff !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
}
html body .site-footer.site-footer--premium .footer-newsletter input::placeholder{
  color:rgba(255,255,255,.45) !important;
}
html body .site-footer.site-footer--premium .footer-newsletter button{
  display:grid !important;
  place-items:center !important;
  width:54px !important;
  height:54px !important;
  color:#fff !important;
  background:var(--rp-sync-red) !important;
  border:0 !important;
  border-radius:999px !important;
  cursor:pointer !important;
  font-size:22px !important;
  font-weight:760 !important;
}
html body .site-footer.site-footer--premium .footer-contact-mini{
  display:grid !important;
  gap:10px !important;
  margin-top:18px !important;
}
html body .site-footer.site-footer--premium .footer-contact-mini svg{
  width:18px !important;
  height:18px !important;
  fill:currentColor !important;
}
html body .site-footer.site-footer--premium .footer-bottom{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin:clamp(44px,4vw,64px) 0 0 !important;
  padding:24px 0 0 !important;
  color:rgba(235,241,248,.58) !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body .site-footer.site-footer--premium .footer-bottom p{
  margin:0 !important;
  color:rgba(235,241,248,.58) !important;
  font-size:12px !important;
  font-weight:450 !important;
}
html body .site-footer.site-footer--premium .footer-bottom nav{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  gap:24px !important;
}

/* ------------------------------
   Internal page section standardization
   ------------------------------ */
body.rp-standardized-page{
  background:var(--rp-sync-navy) !important;
}
body.rp-standardized-page main{
  background:var(--rp-sync-off) !important;
  overflow:hidden !important;
}
body.rp-standardized-page main > section{
  position:relative !important;
  isolation:isolate !important;
}
body.rp-standardized-page .rp-page-hero,
body.rp-standardized-page main > .hero{
  min-height:clamp(760px,92vh,980px) !important;
  display:grid !important;
  align-items:center !important;
  overflow:hidden !important;
  padding:clamp(128px,14vh,170px) 0 clamp(82px,10vh,126px) !important;
  color:#fff !important;
  background:#07111F !important;
}
body.rp-standardized-page .rp-page-hero::before,
body.rp-standardized-page main > .hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 12% 68%,rgba(211,47,47,.24),transparent 24%),
    linear-gradient(90deg,rgba(7,17,31,.98) 0%,rgba(7,17,31,.88) 38%,rgba(7,17,31,.34) 72%,rgba(7,17,31,.10) 100%),
    linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.05) 42%,rgba(0,0,0,.54)) !important;
}
body.rp-standardized-page .rp-page-hero::after,
body.rp-standardized-page main > .hero::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  opacity:.14 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px) !important;
  background-size:92px 92px !important;
}
body.rp-standardized-page .rp-page-hero__media,
body.rp-standardized-page main > .hero .hero-media{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
body.rp-standardized-page .rp-page-hero__media img,
body.rp-standardized-page main > .hero .hero-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:saturate(.98) contrast(1.05) brightness(.88) !important;
}
body.rp-standardized-page .rp-page-hero__cloud{
  display:none !important;
}
body.rp-standardized-page .rp-page-hero__content,
body.rp-standardized-page main > .hero .hero-grid,
body.rp-standardized-page main > .hero .container{
  position:relative !important;
  z-index:3 !important;
  width:min(100% - 96px,1440px) !important;
  margin-inline:auto !important;
}
body.rp-standardized-page .rp-page-hero__copy,
body.rp-standardized-page main > .hero .hero-copy{
  max-width:880px !important;
  margin:0 !important;
}
body.rp-standardized-page .rp-page-hero h1,
body.rp-standardized-page main > .hero h1{
  max-width:920px !important;
  margin:0 0 24px !important;
  color:#fff !important;
  font-family:var(--rp-sync-display) !important;
  font-size:clamp(58px,6.5vw,118px) !important;
  line-height:.92 !important;
  letter-spacing:-.035em !important;
  font-weight:650 !important;
  text-transform:uppercase !important;
  text-shadow:0 18px 54px rgba(0,0,0,.48) !important;
}
body.rp-standardized-page .rp-page-hero .lead,
body.rp-standardized-page main > .hero .lead{
  max-width:760px !important;
  margin:0 0 34px !important;
  color:rgba(255,255,255,.84) !important;
  font-size:clamp(17px,1.25vw,20px) !important;
  line-height:1.58 !important;
  font-weight:450 !important;
  text-shadow:0 10px 30px rgba(0,0,0,.30) !important;
}
body.rp-standardized-page .eyebrow,
body.rp-standardized-page .kicker{
  color:var(--rp-sync-red) !important;
  font-weight:700 !important;
  letter-spacing:.24em !important;
}
body.rp-standardized-page .button-row{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:14px !important;
}
body.rp-standardized-page .btn,
body.rp-standardized-page .btn--primary,
body.rp-standardized-page .btn--secondary,
body.rp-standardized-page .btn--light{
  min-height:56px !important;
  padding:0 24px !important;
  border-radius:8px !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
  font-size:14px !important;
  font-weight:760 !important;
}
body.rp-standardized-page .btn--primary{
  color:#fff !important;
  background:linear-gradient(135deg,var(--rp-sync-red),#ed3333) !important;
  border-color:transparent !important;
  box-shadow:0 22px 54px rgba(211,47,47,.28) !important;
}
body.rp-standardized-page .btn--secondary,
body.rp-standardized-page .btn--light{
  color:#fff !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero){
  padding:clamp(82px,8vw,132px) 0 !important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd){
  color:#111827 !important;
  background:
    radial-gradient(circle at 84% 12%,rgba(26,43,76,.07),transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#F5F2EC 100%) !important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even){
  color:#fff !important;
  background:
    radial-gradient(circle at 10% 12%,rgba(211,47,47,.14),transparent 28%),
    radial-gradient(circle at 86% 20%,rgba(58,87,124,.20),transparent 32%),
    linear-gradient(180deg,#07111F 0%,#0A1726 100%) !important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even)::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  opacity:.20 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px) !important;
  background-size:84px 84px !important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) h1,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) h2,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) h3,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) strong{
  color:#fff !important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) p,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) li,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) span:not(.eyebrow),
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .lead{
  color:rgba(255,255,255,.76) !important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) a:not(.btn){
  color:#fff !important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .btn--secondary{
  color:#fff !important;
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.22) !important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .service-card,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .process-cards article,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .values-grid article,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .quote-card,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .contact-details div,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .project-form,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .portfolio-tile,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .related-card{
  color:#fff !important;
  background:rgba(255,255,255,.075) !important;
  border-color:rgba(255,255,255,.14) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .service-card,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .process-cards article,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .values-grid article,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .quote-card,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .contact-details div,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .project-form,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .portfolio-tile,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .related-card{
  background:rgba(255,255,255,.86) !important;
  border-color:rgba(26,43,76,.10) !important;
  box-shadow:0 24px 70px rgba(7,17,31,.08),inset 0 1px 0 rgba(255,255,255,.88) !important;
}
body.rp-standardized-page .trust-strip.ref-trust{
  min-height:auto !important;
  padding:clamp(34px,4vw,56px) 0 !important;
}
body.rp-standardized-page .section--cta{
  color:#fff !important;
  background:
    radial-gradient(circle at 16% 0%,rgba(211,47,47,.22),transparent 30%),
    linear-gradient(135deg,#07111F,#0A1726 62%,#050B13) !important;
}
body.rp-standardized-page .section--cta h2,
body.rp-standardized-page .section--cta h3{
  color:#fff !important;
}
body.rp-standardized-page .section--cta p{
  color:rgba(255,255,255,.78) !important;
}

/* Keep forms and inputs readable on any alternating surface. */
body.rp-standardized-page input,
body.rp-standardized-page textarea,
body.rp-standardized-page select{
  color:#111827 !important;
  background:#fff !important;
}
body.rp-standardized-page label{
  color:inherit !important;
}

/* ------------------------------
   Responsive refinement
   ------------------------------ */
@media (max-width:1180px){
  html body .site-header[data-header]{
    height:92px !important;
    padding:20px 30px 14px !important;
  }
  html body .site-header[data-header] .header-logo{width:170px !important;}
  html body .site-header[data-header].is-scrolled .header-logo{width:142px !important;}
  html body .fullscreen-menu#siteMenu .menu-content{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  html body .fullscreen-menu#siteMenu .menu-services.menu-services--showcase{
    max-width:100% !important;
    max-height:none !important;
  }
  html body .site-footer.site-footer--premium .footer-main{
    grid-template-columns:1fr 1fr !important;
  }
  body.rp-standardized-page .rp-page-hero__content,
  body.rp-standardized-page main > .hero .hero-grid,
  body.rp-standardized-page main > .hero .container{
    width:min(100% - 56px,1120px) !important;
  }
}
@media (max-width:760px){
  html body .site-header[data-header]{
    height:76px !important;
    min-height:76px !important;
    padding:12px 18px 10px !important;
    align-items:center !important;
    background:rgba(7,17,31,.72) !important;
    backdrop-filter:blur(16px) !important;
    -webkit-backdrop-filter:blur(16px) !important;
  }
  html body .site-header[data-header].is-scrolled:not(.is-menu-open),
  html body .site-header[data-header].is-menu-open{
    height:70px !important;
    min-height:70px !important;
    padding:10px 18px !important;
  }
  html body .site-header[data-header] .header-logo{
    width:132px !important;
    max-height:52px !important;
  }
  html body .site-header[data-header].is-scrolled .header-logo{width:128px !important;}
  html body .site-header[data-header] .header-logo img{max-height:52px !important;}
  html body .site-header[data-header] .menu-toggle{
    width:44px !important;
    height:40px !important;
    min-width:44px !important;
    min-height:40px !important;
    gap:6px !important;
  }
  html body .site-header[data-header] .menu-toggle span{
    width:28px !important;
    height:2px !important;
  }
  html body .site-header[data-header] .menu-toggle:hover span:nth-child(2),
  html body .site-header[data-header] .menu-toggle:focus-visible span:nth-child(2){
    width:32px !important;
  }
  html body .fullscreen-menu#siteMenu .menu-panel{
    padding:24px 20px !important;
  }
  html body .fullscreen-menu#siteMenu .menu-top img{
    width:168px !important;
  }
  html body .fullscreen-menu#siteMenu .menu-close span{
    display:none !important;
  }
  html body .fullscreen-menu#siteMenu .menu-content{
    margin-top:32px !important;
    gap:28px !important;
  }
  html body .fullscreen-menu#siteMenu .menu-links a,
  html body .fullscreen-menu#siteMenu .services-trigger{
    font-size:clamp(42px,15vw,70px) !important;
  }
  html body .fullscreen-menu#siteMenu .menu-services.menu-services--showcase{
    padding:22px !important;
    border-radius:22px !important;
  }
  html body .site-footer.site-footer--premium{
    padding:72px 0 30px !important;
  }
  html body .site-footer.site-footer--premium .footer-shell,
  html body .site-footer.site-footer--premium > .container{
    width:calc(100% - 34px) !important;
  }
  html body .site-footer.site-footer--premium .footer-main{
    grid-template-columns:1fr !important;
    gap:38px !important;
  }
  html body .site-footer.site-footer--premium .footer-link-grid{
    grid-template-columns:1fr !important;
  }
  html body .site-footer.site-footer--premium .footer-bottom{
    display:grid !important;
    justify-content:start !important;
    gap:14px !important;
  }
  html body .site-footer.site-footer--premium .footer-bottom nav{
    justify-content:flex-start !important;
    gap:16px 22px !important;
  }
  body.rp-standardized-page .rp-page-hero,
  body.rp-standardized-page main > .hero{
    min-height:100svh !important;
    padding:104px 0 58px !important;
  }
  body.rp-standardized-page .rp-page-hero__content,
  body.rp-standardized-page main > .hero .hero-grid,
  body.rp-standardized-page main > .hero .container{
    width:calc(100% - 34px) !important;
  }
  body.rp-standardized-page .rp-page-hero h1,
  body.rp-standardized-page main > .hero h1{
    font-size:clamp(42px,12.5vw,64px) !important;
    line-height:.94 !important;
  }
  body.rp-standardized-page .rp-page-hero .lead,
  body.rp-standardized-page main > .hero .lead{
    font-size:15px !important;
    line-height:1.56 !important;
  }
  body.rp-standardized-page .button-row .btn{
    width:100% !important;
  }
  body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero){
    padding:68px 0 !important;
  }
}
@media (prefers-reduced-motion:reduce){
  html body .fullscreen-menu#siteMenu .menu-panel,
  html body .fullscreen-menu#siteMenu .menu-scrim,
  html body .site-header[data-header],
  html body .site-footer.site-footer--premium a{
    transition:none !important;
  }
}

/* ===== SOURCE: assets/css/realpro-requested-content-updates.css ===== */
/* Scoped layout support for the requested Services and About copy updates. */
.service-category{align-items:center}
.service-category__copy{max-width:720px}
.service-item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:28px 0 0;padding:0;list-style:none}
.service-item-list li{position:relative;padding:13px 16px 13px 38px;border:1px solid rgba(26,43,76,.1);border-radius:16px;background:rgba(255,255,255,.86);color:var(--navy);font-weight:750;line-height:1.35}
.service-item-list li::before{content:"";position:absolute;left:17px;top:1.15em;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(211,47,47,.1)}
.service-category__media{position:relative;margin:0}
.service-category__media figcaption{position:absolute;left:18px;right:18px;bottom:18px;z-index:3;padding:12px 16px;border-radius:14px;background:rgba(7,17,31,.84);backdrop-filter:blur(12px);color:#fff;font-size:.73rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.about-values-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.about-values-grid article{height:100%}
@media (max-width:1100px){.service-item-list{grid-template-columns:1fr}.about-values-grid{grid-template-columns:1fr}}
@media (max-width:760px){.service-item-list{margin-top:22px}.service-category__media figcaption{left:12px;right:12px;bottom:12px}}

/* ===== SOURCE: assets/css/realpro-contrast-visibility-final.css ===== */
/* ========================================================================
   REALPRO Studios — Final Contrast & Visibility Safeguards
   Scope: color contrast, text visibility, controls, and nested surfaces only.
   Layout, media, spacing, animation, and component structure are unchanged.
   ======================================================================== */
:root{
  --rp-c-ink:#13223A;
  --rp-c-muted:#3F4C60;
  --rp-c-muted-soft:#465368;
  --rp-c-dark:#07111F;
  --rp-c-dark-2:#0A1726;
  --rp-c-light:#FFFFFF;
  --rp-c-light-soft:#F5F2EC;
  --rp-c-on-dark:#DCE5F0;
  --rp-c-red-light:#FF8585;
  --rp-c-red-dark:#B42323;
}

/* Base readability and keyboard visibility. */
html body{color:var(--rp-c-ink)}
html body :focus-visible{
  outline:3px solid #D32F2F!important;
  outline-offset:4px!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.92)!important;
}
html body input::placeholder,
html body textarea::placeholder{color:#68768A!important;opacity:1!important}

/* White sticky header: keep every control visible before and after scroll. */
html body .site-header .menu-toggle{color:var(--rp-c-ink)!important}
html body .site-header .menu-toggle span{background:var(--rp-c-ink)!important;opacity:1!important}
html body .site-header .menu-toggle:hover span,
html body .site-header .menu-toggle:focus-visible span{background:var(--rp-c-red-dark)!important}

/* Fullscreen navigation remains a dark cinematic surface. */
html body .fullscreen-menu .menu-panel{color:#fff!important}
html body .fullscreen-menu .menu-links a{color:#fff!important;opacity:1!important}
html body .fullscreen-menu .menu-links a[href="services.html"]{color:var(--rp-c-red-light)!important}
html body .fullscreen-menu .menu-links a:hover,
html body .fullscreen-menu .menu-links a:focus-visible{color:var(--rp-c-red-light)!important}
html body .fullscreen-menu .menu-close,
html body .fullscreen-menu .menu-close span{color:#fff!important;opacity:1!important}
html body .fullscreen-menu .menu-close i::before,
html body .fullscreen-menu .menu-close i::after{background:#fff!important;opacity:1!important}

/* Internal heroes are full-bleed cinematic dark surfaces in the final cascade. */
body.rp-standardized-page .hero,
body.rp-standardized-page .rp-page-hero{color:#fff!important}
body.rp-standardized-page .hero h1,
body.rp-standardized-page .hero h2,
body.rp-standardized-page .hero h3,
body.rp-standardized-page .rp-page-hero h1,
body.rp-standardized-page .rp-page-hero h2,
body.rp-standardized-page .rp-page-hero h3{
  color:#fff!important;
  text-shadow:0 18px 54px rgba(0,0,0,.52)!important;
}
body.rp-standardized-page .hero .lead,
body.rp-standardized-page .hero p:not(.eyebrow),
body.rp-standardized-page .rp-page-hero .lead,
body.rp-standardized-page .rp-page-hero p:not(.eyebrow){
  color:var(--rp-c-on-dark)!important;
  text-shadow:0 10px 30px rgba(0,0,0,.38)!important;
}
body.rp-standardized-page .hero .eyebrow,
body.rp-standardized-page .rp-page-hero .eyebrow{color:var(--rp-c-red-light)!important}
body.rp-standardized-page .hero .eyebrow::before,
body.rp-standardized-page .rp-page-hero .eyebrow::before{background:var(--rp-c-red-light)!important}
body.rp-standardized-page .hero .btn--secondary,
body.rp-standardized-page .rp-page-hero .btn--secondary{
  color:#fff!important;
  background:rgba(7,17,31,.58)!important;
  border-color:rgba(255,255,255,.42)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.22)!important;
}
body.rp-standardized-page .hero .btn--secondary:hover,
body.rp-standardized-page .rp-page-hero .btn--secondary:hover{
  color:var(--rp-c-ink)!important;
  background:#fff!important;
  border-color:#fff!important;
}

/* Explicit surface markers prevent inherited colors from contradicting backgrounds. */
body.rp-standardized-page main > section[data-rp-surface="dark"]{color:#fff!important}
body.rp-standardized-page main > section[data-rp-surface="dark"] > :is(.container,.rp-page-hero__content) :is(h1,h2,h3,strong){color:#fff!important}
body.rp-standardized-page main > section[data-rp-surface="dark"] > :is(.container,.rp-page-hero__content) :is(p,li,.lead){color:var(--rp-c-on-dark)!important}
body.rp-standardized-page main > section[data-rp-surface="dark"] .eyebrow{color:var(--rp-c-red-light)!important}
body.rp-standardized-page main > section[data-rp-surface="light"]{color:var(--rp-c-ink)!important}
body.rp-standardized-page main > section[data-rp-surface="light"] > .container :is(h1,h2,h3,strong){color:var(--rp-c-ink)!important}
body.rp-standardized-page main > section[data-rp-surface="light"] > .container :is(p,li,.lead){color:var(--rp-c-muted-soft)!important}
body.rp-standardized-page main > section[data-rp-surface="light"] .eyebrow{color:var(--rp-c-red-dark)!important}

/* Alternating light sections: deep navy text and stronger supporting copy. */
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd){color:var(--rp-c-ink)!important}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) h1,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) h2,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) h3,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) strong,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) a:not(.btn){color:var(--rp-c-ink)!important}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) p,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) li,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .lead{color:var(--rp-c-muted-soft)!important}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .eyebrow,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(odd) .card-kicker{color:var(--rp-c-red-dark)!important}

/* Alternating dark sections: solid, high-contrast light text. */
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even){color:#fff!important}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) h1,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) h2,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) h3,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) strong,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) a:not(.btn){color:#fff!important}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) p,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) li,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .lead{color:var(--rp-c-on-dark)!important}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .eyebrow,
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) .card-kicker{color:var(--rp-c-red-light)!important}

/* Dark nested cards omitted by earlier alternation rules. */
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) :is(
  .timeline-list article,
  .next-steps article,
  .challenge-grid article,
  .capability-grid article,
  .sticky-note
){
  color:#fff!important;
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) :is(
  .timeline-list article,
  .next-steps article,
  .challenge-grid article,
  .capability-grid article,
  .sticky-note
) :is(h2,h3,strong,a){color:#fff!important}
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero):nth-of-type(even) :is(
  .timeline-list article,
  .next-steps article,
  .challenge-grid article,
  .capability-grid article,
  .sticky-note
) :is(p,li){color:var(--rp-c-on-dark)!important}

/* Service item chips intentionally remain light cards on dark category bands. */
body.rp-standardized-page .service-item-list li{
  color:var(--rp-c-ink)!important;
  background:#fff!important;
  border-color:rgba(19,34,58,.16)!important;
}

/* Explicit navy sections and their cards. */
body.rp-standardized-page .section--navy{color:#fff!important}
body.rp-standardized-page .section--navy .section-heading :is(h1,h2,h3,strong,a){color:#fff!important}
body.rp-standardized-page .section--navy .section-heading p:not(.eyebrow){color:var(--rp-c-on-dark)!important}
body.rp-standardized-page .section--navy .eyebrow,
body.rp-standardized-page .section--navy .card-kicker{color:var(--rp-c-red-light)!important}
body.rp-standardized-page .section--navy .service-card :is(h3,h3 a,.text-link){color:#fff!important}
body.rp-standardized-page .section--navy .service-card p:not(.card-kicker){color:var(--rp-c-on-dark)!important}

/* CTA outer bands are dark, while the approved CTA card itself is light. */
body.rp-standardized-page .section--cta{color:#fff!important}
body.rp-standardized-page .section--cta > .container.cta-panel{
  color:var(--rp-c-ink)!important;
  background:linear-gradient(135deg,#fff 0%,#FAF7F1 54%,#EFE8DC 100%)!important;
}
body.rp-standardized-page .section--cta .cta-panel :is(h1,h2,h3,strong){color:var(--rp-c-ink)!important;text-shadow:none!important}
body.rp-standardized-page .section--cta .cta-panel p:not(.eyebrow){color:var(--rp-c-muted)!important;text-shadow:none!important}
body.rp-standardized-page .section--cta .cta-panel .eyebrow{color:var(--rp-c-red-dark)!important}
body.rp-standardized-page .section--cta .cta-panel .btn--secondary{
  color:var(--rp-c-ink)!important;
  background:#fff!important;
  border-color:rgba(19,34,58,.34)!important;
}

/* Form controls remain legible on both alternating surfaces. */
body.rp-standardized-page :is(input,textarea,select){color:var(--rp-c-ink)!important;background:#fff!important;border-color:rgba(19,34,58,.28)!important}
body.rp-standardized-page main > section:nth-of-type(even) label{color:#fff!important}
body.rp-standardized-page main > section:nth-of-type(odd) label{color:var(--rp-c-ink)!important}

/* Homepage dark sections. */
body:not(.rp-standardized-page) :is(.hero,.services,.reel,.approach,.final-cta){color:#fff!important}
body:not(.rp-standardized-page) :is(.hero,.services,.reel,.approach,.final-cta) :is(h1,h2,h3,strong,a:not(.btn)){color:#fff!important}
body:not(.rp-standardized-page) .hero .hero-copy,
body:not(.rp-standardized-page) .services :is(.services-intro>p,.service-card p),
body:not(.rp-standardized-page) .reel p:not(.kicker),
body:not(.rp-standardized-page) .approach :is(.approach-copy>p:not(.kicker),.steps p),
body:not(.rp-standardized-page) .final-cta p:not(.kicker){color:var(--rp-c-on-dark)!important}
body:not(.rp-standardized-page) :is(.hero,.services,.reel,.approach,.final-cta) .kicker{color:var(--rp-c-red-light)!important}
body:not(.rp-standardized-page) .services .service-card{background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.055))!important;border-color:rgba(255,255,255,.28)!important}
body:not(.rp-standardized-page) .services .service-card p{color:var(--rp-c-on-dark)!important}
body:not(.rp-standardized-page) .approach .steps h3{color:#fff!important}
body:not(.rp-standardized-page) .approach .steps p{color:var(--rp-c-on-dark)!important}

/* Homepage light sections. */
body:not(.rp-standardized-page) :is(.mission,.testimonials){color:var(--rp-c-ink)!important}
body:not(.rp-standardized-page) :is(.mission,.testimonials) :is(h1,h2,h3,strong,a:not(.btn)){color:var(--rp-c-ink)!important}
body:not(.rp-standardized-page) .mission .mission-copy,
body:not(.rp-standardized-page) .testimonials :is(.testimonial-cards p,.testimonial-cards small){color:var(--rp-c-muted)!important}
body:not(.rp-standardized-page) .testimonial-cards article{background:#fff!important;border-color:rgba(19,34,58,.18)!important}

/* Trusted logos stay readable over glass and video. */
body:not(.rp-standardized-page) .trusted-hero h2{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.72)!important}
body:not(.rp-standardized-page) .trusted-hero .logo-card{color:#E5EDF7!important;background:rgba(7,17,31,.56)!important;border-color:rgba(255,255,255,.20)!important}
body:not(.rp-standardized-page) .trusted-hero .trusted-arrow{color:#fff!important;background:rgba(7,17,31,.72)!important;border-color:rgba(255,255,255,.34)!important}

/* Footer uses the approved dark system on every page. */
html body .site-footer.site-footer--premium{color:#fff!important}
html body .site-footer.site-footer--premium .footer-col h2{color:var(--rp-c-red-light)!important}
html body .site-footer.site-footer--premium :is(.footer-brand p,.footer-col p,.footer-col a,.footer-link-grid a,.footer-contact-mini a,.footer-bottom p,.footer-bottom a){color:var(--rp-c-on-dark)!important}
html body .site-footer.site-footer--premium .footer-newsletter input{color:#fff!important}
html body .site-footer.site-footer--premium .footer-newsletter input::placeholder{color:#D3DDE9!important;opacity:1!important}
html body .site-footer.site-footer--premium .footer-bottom{color:var(--rp-c-on-dark)!important}

/* Avoid low-opacity text on small screens. */
@media (max-width:760px){
  html body :is(p,li,.lead,.footer-col a,.footer-bottom p,.footer-bottom a){opacity:1!important}
  body:not(.rp-standardized-page) .hero .hero-copy{color:#fff!important;text-shadow:0 4px 24px rgba(0,0,0,.72)!important}
  body:not(.rp-standardized-page) .trusted-hero h2{letter-spacing:.16em!important}
}

@media (prefers-contrast:more){
  html body{--rp-c-muted:#2F3B4E;--rp-c-muted-soft:#344154;--rp-c-on-dark:#F0F4F9}
  html body :is(.service-card,.timeline-list article,.values-grid article,.cta-panel,.project-form){border-width:2px!important}
}

/* ===== SOURCE: assets/css/realpro-enterprise-uxui-refinement-final.css ===== */
/* ========================================================================
   REALPRO Studios — Enterprise UX/UI Refinement
   Final, non-destructive visual layer for all pages and viewports.
   ======================================================================== */

:root{
  --rp-enterprise-navy:#07111F;
  --rp-enterprise-navy-2:#0A1726;
  --rp-enterprise-ink:#13223A;
  --rp-enterprise-muted:#465368;
  --rp-enterprise-off:#F5F2EC;
  --rp-enterprise-white:#FFFFFF;
  --rp-enterprise-on-dark:#DCE5F0;
  --rp-enterprise-red:#D32F2F;
  --rp-enterprise-red-soft:#FF8585;
  --rp-enterprise-radius:clamp(18px,1.7vw,28px);
  --rp-enterprise-shadow:0 22px 64px rgba(7,17,31,.12);
  --rp-enterprise-shadow-dark:0 28px 76px rgba(0,0,0,.25);
  --rp-enterprise-ease:cubic-bezier(.22,.61,.36,1);
}

html{
  scroll-padding-top:clamp(78px,7vw,104px);
  overscroll-behavior-y:none;
}

html body{
  overflow-x:clip!important;
  -webkit-text-size-adjust:100%;
}

html body main{
  overflow:clip!important;
}

/* Reliability first: sections must always paint as they enter the viewport. */
html body main > section{
  content-visibility:visible!important;
  contain:none!important;
}

html body :is(h1,h2,h3){
  text-wrap:balance;
  overflow-wrap:normal;
}

html body :is(p,li,figcaption){
  text-wrap:pretty;
  overflow-wrap:break-word;
}

html body :target{
  scroll-margin-top:clamp(88px,8vw,116px);
}

html body img{
  color:transparent;
}

/* Consistent section rhythm without changing the approved structure. */
body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero){
  padding-block:clamp(78px,8vw,132px)!important;
}

body.rp-standardized-page main > section > .container,
body.rp-standardized-page main > section > :is(.service-grid,.gallery-grid){
  position:relative;
  z-index:1;
}

body.rp-standardized-page .section-heading{
  margin-bottom:clamp(34px,4.6vw,66px)!important;
}

body.rp-standardized-page .section-heading > :is(h1,h2),
body.rp-standardized-page .editorial-copy > :is(h1,h2),
body.rp-standardized-page .process-timeline .section-heading > h2{
  max-inline-size:15ch;
}

body.rp-standardized-page .section-heading > p:not(.eyebrow),
body.rp-standardized-page .editorial-copy > p:not(.eyebrow){
  max-inline-size:64ch;
  line-height:1.72!important;
}

/* Hero legibility and framing. */
body.rp-standardized-page :is(.rp-page-hero,main > .hero)::before{
  background:
    radial-gradient(circle at 12% 68%,rgba(211,47,47,.25),transparent 27%),
    linear-gradient(90deg,rgba(7,17,31,.98) 0%,rgba(7,17,31,.90) 36%,rgba(7,17,31,.46) 69%,rgba(7,17,31,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.06) 40%,rgba(0,0,0,.58))!important;
}

body.rp-standardized-page :is(.rp-page-hero,main > .hero) h1{
  max-inline-size:11ch!important;
  font-size:clamp(58px,6.25vw,112px)!important;
  line-height:.92!important;
  letter-spacing:-.035em!important;
  text-shadow:0 20px 58px rgba(0,0,0,.52)!important;
}

body.rp-standardized-page :is(.rp-page-hero,main > .hero) .lead{
  max-inline-size:64ch!important;
  line-height:1.62!important;
}

/* Surface-aware nested components. */
body.rp-standardized-page main > section[data-rp-surface="dark"] :is(
  .timeline-list article,
  .values-grid article,
  .process-cards article,
  .process-step,
  .next-steps article,
  .challenge-grid article,
  .capability-grid article,
  .quote-card,
  .sticky-note,
  .contact-details div,
  .case-facts div,
  .result-grid div
){
  color:#fff!important;
  background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:var(--rp-enterprise-shadow-dark),inset 0 1px 0 rgba(255,255,255,.09)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

body.rp-standardized-page main > section[data-rp-surface="dark"] :is(
  .timeline-list article,
  .values-grid article,
  .process-cards article,
  .process-step,
  .next-steps article,
  .challenge-grid article,
  .capability-grid article,
  .quote-card,
  .sticky-note,
  .contact-details div,
  .case-facts div,
  .result-grid div
) :is(h2,h3,strong,a){color:#fff!important}

body.rp-standardized-page main > section[data-rp-surface="dark"] :is(
  .timeline-list article,
  .values-grid article,
  .process-cards article,
  .process-step,
  .next-steps article,
  .challenge-grid article,
  .capability-grid article,
  .quote-card,
  .sticky-note,
  .contact-details div,
  .case-facts div,
  .result-grid div
) :is(p,li,span:not(.eyebrow)){color:var(--rp-enterprise-on-dark)!important}

body.rp-standardized-page main > section[data-rp-surface="light"] :is(
  .timeline-list article,
  .values-grid article,
  .process-cards article,
  .process-step,
  .next-steps article,
  .challenge-grid article,
  .capability-grid article,
  .quote-card,
  .sticky-note,
  .contact-details div,
  .case-facts div,
  .result-grid div
){
  color:var(--rp-enterprise-ink)!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(19,34,58,.12)!important;
  box-shadow:var(--rp-enterprise-shadow)!important;
}

body.rp-standardized-page main > section[data-rp-surface="light"] :is(
  .timeline-list article,
  .values-grid article,
  .process-cards article,
  .process-step,
  .next-steps article,
  .challenge-grid article,
  .capability-grid article,
  .quote-card,
  .sticky-note,
  .contact-details div,
  .case-facts div,
  .result-grid div
) :is(h2,h3,strong,a){color:var(--rp-enterprise-ink)!important}

body.rp-standardized-page main > section[data-rp-surface="light"] :is(
  .timeline-list article,
  .values-grid article,
  .process-cards article,
  .process-step,
  .next-steps article,
  .challenge-grid article,
  .capability-grid article,
  .quote-card,
  .sticky-note,
  .contact-details div,
  .case-facts div,
  .result-grid div
) :is(p,li,span:not(.eyebrow)){color:var(--rp-enterprise-muted)!important}

/* Standardized cards share the same geometry and density. */
body.rp-standardized-page :is(
  .timeline-list article,
  .values-grid article,
  .process-cards article,
  .process-step,
  .next-steps article,
  .challenge-grid article,
  .capability-grid article,
  .quote-card,
  .contact-details div,
  .case-facts div,
  .result-grid div,
  .service-card,
  .project-form
){
  border-radius:var(--rp-enterprise-radius)!important;
}

body.rp-standardized-page :is(.timeline-list,.values-grid,.process-cards,.next-steps,.challenge-grid,.capability-grid,.result-grid){
  gap:clamp(16px,2vw,28px)!important;
}

body.rp-standardized-page :is(.timeline-list article,.values-grid article,.process-cards article,.next-steps article,.challenge-grid article,.capability-grid article){
  padding:clamp(24px,2.5vw,36px)!important;
}

body.rp-standardized-page :is(.timeline-list article,.values-grid article,.capability-grid article) h3{
  font-size:clamp(1.45rem,2vw,2rem)!important;
  line-height:1.04!important;
}

body.rp-standardized-page :is(.timeline-list article,.values-grid article,.capability-grid article) p{
  line-height:1.68!important;
}

body.rp-standardized-page .service-card h3 a,
body.rp-standardized-page :is(.legal-layout,.article-layout) aside a{
  display:flex!important;
  align-items:center!important;
  min-height:44px!important;
  padding-block:5px!important;
}

/* Service item chips remain deliberately light on both surfaces. */
body.rp-standardized-page .service-item-list{
  gap:10px!important;
}

body.rp-standardized-page .service-item-list li{
  min-height:42px;
  display:flex;
  align-items:center;
  color:var(--rp-enterprise-ink)!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(19,34,58,.14)!important;
  box-shadow:0 8px 24px rgba(7,17,31,.07)!important;
}

/* Forms use a controlled light surface, even inside a dark band. */
html body.rp-standardized-page main > section[data-rp-surface]:not(.rp-page-hero):not(.hero) .project-form{
  color:var(--rp-enterprise-ink)!important;
  background:linear-gradient(145deg,#FFFFFF,#F7F4EE)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 34px 88px rgba(0,0,0,.26)!important;
  padding:clamp(24px,3vw,38px)!important;
}

html body.rp-standardized-page main > section[data-rp-surface]:not(.rp-page-hero):not(.hero) .project-form :is(label,.form-note){
  color:var(--rp-enterprise-ink)!important;
  text-shadow:none!important;
}

html body.rp-standardized-page main > section[data-rp-surface]:not(.rp-page-hero):not(.hero) .project-form .form-note{
  color:var(--rp-enterprise-muted)!important;
}

body.rp-standardized-page .project-form :is(input,textarea,select){
  min-height:54px!important;
  color:var(--rp-enterprise-ink)!important;
  background:#fff!important;
  border:1px solid rgba(19,34,58,.22)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset!important;
}

body.rp-standardized-page .project-form textarea{
  min-height:156px!important;
  resize:vertical;
}

body.rp-standardized-page .project-form :is(input,textarea,select):focus{
  border-color:var(--rp-enterprise-red)!important;
  box-shadow:0 0 0 4px rgba(211,47,47,.12)!important;
}

/* CTA card is intentionally light against its dark outer band. */
body.rp-standardized-page .section--cta .cta-panel{
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 34px 96px rgba(0,0,0,.30)!important;
}

body.rp-standardized-page .cta-media,
body.rp-standardized-page .image-frame,
body.rp-standardized-page .gallery-item,
body.rp-standardized-page .media-link{
  border-radius:var(--rp-enterprise-radius)!important;
  overflow:hidden!important;
}

body.rp-standardized-page :is(.cta-media,.image-frame,.gallery-item,.media-link) img{
  transition:transform 850ms var(--rp-enterprise-ease),filter 850ms var(--rp-enterprise-ease)!important;
}

/* Buttons and links: restrained enterprise-grade interaction. */
html body :is(.btn,.btn-red,.services-more,.text-link){
  transition:
    transform 260ms var(--rp-enterprise-ease),
    box-shadow 260ms var(--rp-enterprise-ease),
    color 220ms ease,
    background-color 220ms ease,
    border-color 220ms ease!important;
}

html body :is(.btn,.btn-red){
  min-height:52px;
  touch-action:manipulation;
}

html body :is(.btn,.btn-red):active{
  transform:translateY(1px) scale(.985)!important;
}

html body :is(.text-link,.services-more){
  min-height:44px;
  align-items:center;
}

/* Home: preserve presentation while resolving the real mobile overflow. */
body:not(.rp-standardized-page) .testimonials-grid{
  min-width:0;
}

body:not(.rp-standardized-page) .testimonial-cards{
  min-width:0;
}

body:not(.rp-standardized-page) .testimonial-cards article{
  border-radius:18px;
  transition:transform 320ms var(--rp-enterprise-ease),box-shadow 320ms var(--rp-enterprise-ease),border-color 320ms ease;
}

body:not(.rp-standardized-page) .service-card{
  transition:transform 340ms var(--rp-enterprise-ease),box-shadow 340ms var(--rp-enterprise-ease),border-color 340ms ease!important;
}

body:not(.rp-standardized-page) .approach-grid--copy-only{
  grid-template-columns:minmax(0,1fr)!important;
}

body:not(.rp-standardized-page) .approach-grid--copy-only .approach-copy{
  max-width:1180px;
}

/* Header, menu and footer safe-area details. */
html body .site-header[data-header]{
  padding-left:max(clamp(20px,7vw,138px),env(safe-area-inset-left))!important;
  padding-right:max(clamp(20px,7vw,138px),env(safe-area-inset-right))!important;
}

html body .fullscreen-menu .menu-panel{
  padding-top:max(32px,env(safe-area-inset-top))!important;
  padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
}

html body .site-footer.site-footer--premium{
  padding-bottom:env(safe-area-inset-bottom)!important;
}

html body .footer-social a,
html body .footer-newsletter button{
  min-width:44px!important;
  min-height:44px!important;
}

/* Footer: explicit contrast, collision-free grid and consistent alignment. */
html body .site-footer.site-footer--premium{
  color:#fff!important;
  background:
    radial-gradient(circle at 10% 14%,rgba(211,47,47,.13),transparent 30%),
    radial-gradient(circle at 88% 8%,rgba(42,72,108,.16),transparent 32%),
    linear-gradient(180deg,#07111F 0%,#050B13 100%)!important;
}

html body .site-footer.site-footer--premium .footer-shell{
  width:min(100% - clamp(40px,7vw,140px),1580px)!important;
  max-width:1580px!important;
  margin-inline:auto!important;
}

html body .site-footer.site-footer--premium .footer-main{
  display:grid!important;
  grid-template-columns:minmax(280px,1.08fr) minmax(150px,.58fr) minmax(430px,1.38fr) minmax(300px,1fr)!important;
  grid-template-areas:"brand navigate services newsletter"!important;
  align-items:start!important;
  gap:clamp(42px,3.7vw,76px)!important;
  width:100%!important;
  padding:0!important;
}

html body .site-footer.site-footer--premium .footer-brand{
  grid-area:brand!important;
  min-width:0!important;
  max-width:390px!important;
}

html body .site-footer.site-footer--premium .footer-col--navigate{
  grid-area:navigate!important;
}

html body .site-footer.site-footer--premium .footer-col--services{
  grid-area:services!important;
}

html body .site-footer.site-footer--premium .footer-col--newsletter{
  grid-area:newsletter!important;
}

html body .site-footer.site-footer--premium .footer-col{
  display:block!important;
  min-width:0!important;
  align-self:start!important;
}

html body .site-footer.site-footer--premium .footer-col h2,
html body .site-footer.site-footer--premium nav.footer-col h2{
  display:block!important;
  width:100%!important;
  min-height:32px!important;
  margin:0 0 34px!important;
  padding:0 0 18px!important;
  color:#FF8585!important;
  font-size:clamp(13px,.82vw,16px)!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  text-shadow:0 0 26px rgba(211,47,47,.12)!important;
  border:0!important;
}

html body .site-footer.site-footer--premium .footer-col h2::before{
  display:none!important;
}

html body .site-footer.site-footer--premium .footer-col h2::after{
  content:""!important;
  display:block!important;
  position:static!important;
  width:54px!important;
  height:3px!important;
  margin-top:17px!important;
  background:#EF3340!important;
  border:0!important;
  border-radius:999px!important;
  transform:none!important;
  opacity:1!important;
}

html body .site-footer.site-footer--premium .footer-brand p,
html body .site-footer.site-footer--premium .footer-col p,
html body .site-footer.site-footer--premium .footer-col a,
html body .site-footer.site-footer--premium .footer-link-grid a,
html body .site-footer.site-footer--premium .footer-contact-mini a{
  color:#DCE5F0!important;
  opacity:1!important;
}

html body .site-footer.site-footer--premium .footer-brand p{
  max-width:38ch!important;
  margin:24px 0 28px!important;
  font-size:clamp(15px,1vw,18px)!important;
  line-height:1.72!important;
}

html body .site-footer.site-footer--premium nav.footer-col.footer-col--navigate > a{
  display:flex!important;
  align-items:center!important;
  min-height:40px!important;
  margin:0 0 4px!important;
  padding:5px 0!important;
  font-size:clamp(14px,.92vw,17px)!important;
  line-height:1.35!important;
}

html body .site-footer.site-footer--premium nav.footer-col.footer-col--navigate > a:last-child{
  margin-bottom:0!important;
}

html body .site-footer.site-footer--premium nav.footer-col.footer-col--navigate:not(.footer-col--services):not(.footer-col--newsletter):not(.newsletter-col):not(.contact-col) > a:not(:last-child){
  margin:0 0 4px!important;
}

html body .site-footer.site-footer--premium .footer-link-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px clamp(24px,2.2vw,48px)!important;
  width:100%!important;
  min-width:0!important;
}

html body .site-footer.site-footer--premium .footer-link-grid a{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  min-height:40px!important;
  padding:5px 0 5px 18px!important;
  font-size:clamp(14px,.92vw,17px)!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

html body .site-footer.site-footer--premium .footer-link-grid a::before{
  left:0!important;
  top:50%!important;
  width:6px!important;
  height:6px!important;
  transform:translateY(-50%)!important;
  background:#EF3340!important;
  box-shadow:0 0 0 5px rgba(239,51,64,.08)!important;
}

html body .site-footer.site-footer--premium .footer-col--newsletter > p{
  max-width:34ch!important;
  margin:0 0 26px!important;
  font-size:clamp(15px,1vw,18px)!important;
  line-height:1.65!important;
}

html body .site-footer.site-footer--premium .footer-newsletter{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 64px!important;
  width:100%!important;
  max-width:440px!important;
  height:64px!important;
  margin:0 0 24px!important;
  overflow:hidden!important;
  border:1px solid rgba(220,229,240,.28)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.065)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}

html body .site-footer.site-footer--premium .footer-newsletter input{
  width:100%!important;
  min-width:0!important;
  height:62px!important;
  padding:0 20px!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
}

html body .site-footer.site-footer--premium .footer-newsletter input::placeholder{
  color:#DCE5F0!important;
  opacity:.9!important;
}

html body .site-footer.site-footer--premium .footer-newsletter button{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:64px!important;
  min-width:64px!important;
  height:64px!important;
  min-height:64px!important;
  padding:0!important;
  color:transparent!important;
  font-size:0!important;
  background:linear-gradient(145deg,#EF3340,#C92531)!important;
  border:0!important;
  border-radius:50%!important;
}

html body .site-footer.site-footer--premium .footer-newsletter button::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:13px!important;
  height:13px!important;
  border-top:3px solid #fff!important;
  border-right:3px solid #fff!important;
  transform:translate(-36%,-50%) rotate(45deg)!important;
  opacity:1!important;
  visibility:visible!important;
}

html body .site-footer.site-footer--premium .footer-newsletter button::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:21px!important;
  height:3px!important;
  background:#fff!important;
  border-radius:999px!important;
  transform:translate(-58%,-50%)!important;
  opacity:1!important;
  visibility:visible!important;
}

html body .site-footer.site-footer--premium .footer-contact-mini{
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
}

html body .site-footer.site-footer--premium .footer-contact-mini a{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
  min-height:38px!important;
  line-height:1.4!important;
}

html body .site-footer.site-footer--premium .footer-contact-mini svg{
  width:20px!important;
  height:20px!important;
  color:#EF3340!important;
  fill:currentColor!important;
}

html body .site-footer.site-footer--premium .footer-contact-mini span{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}

html body .site-footer.site-footer--premium .footer-bottom,
html body .site-footer.site-footer--premium .footer-bottom.footer-bottom--premium{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  width:100%!important;
  min-height:72px!important;
  margin-top:64px!important;
  padding:24px 88px 0 0!important;
  border-top:1px solid rgba(220,229,240,.16)!important;
}

html body .site-footer.site-footer--premium .footer-bottom p,
html body .site-footer.site-footer--premium .footer-bottom a{
  color:#DCE5F0!important;
  opacity:1!important;
}

html body .site-footer.site-footer--premium .footer-bottom p{
  margin:0!important;
  white-space:normal!important;
}

html body .site-footer.site-footer--premium .footer-bottom > div{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:14px 24px!important;
  min-width:0!important;
}

html body .site-footer.site-footer--premium .footer-bottom > div span[aria-hidden="true"]{
  color:rgba(220,229,240,.42)!important;
}

html body .rp-scroll-top{
  right:max(24px,env(safe-area-inset-right))!important;
  bottom:max(88px,calc(env(safe-area-inset-bottom) + 24px))!important;
  width:56px!important;
  height:56px!important;
  color:transparent!important;
  font-size:0!important;
}

html body .rp-scroll-top::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:13px!important;
  height:13px!important;
  border-top:3px solid #fff!important;
  border-left:3px solid #fff!important;
  transform:translate(-50%,-72%) rotate(45deg)!important;
  opacity:1!important;
  visibility:visible!important;
}

html body .rp-scroll-top::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:3px!important;
  height:22px!important;
  background:#fff!important;
  border-radius:999px!important;
  transform:translate(-50%,-32%)!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Mobile header and fullscreen navigation: clear in every state. */
@media (max-width:760px){
  html body .site-header[data-header]{
    height:76px!important;
    min-height:76px!important;
    padding-top:max(10px,env(safe-area-inset-top))!important;
    padding-bottom:10px!important;
    padding-left:max(18px,env(safe-area-inset-left))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
    background:linear-gradient(180deg,rgba(7,17,31,.94),rgba(7,17,31,.78))!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.18)!important;
    backdrop-filter:blur(16px) saturate(1.12)!important;
    -webkit-backdrop-filter:blur(16px) saturate(1.12)!important;
  }

  html body .site-header[data-header].is-scrolled:not(.is-menu-open){
    height:70px!important;
    min-height:70px!important;
    padding-top:max(8px,env(safe-area-inset-top))!important;
    padding-bottom:8px!important;
    background:rgba(255,255,255,.97)!important;
    border-bottom:1px solid rgba(19,34,58,.13)!important;
    box-shadow:0 14px 38px rgba(7,17,31,.12)!important;
  }

  html body .site-header[data-header] .header-logo{
    width:clamp(132px,38vw,150px)!important;
    max-width:44vw!important;
    max-height:54px!important;
    filter:drop-shadow(0 10px 24px rgba(0,0,0,.28))!important;
  }

  html body .site-header[data-header] .header-logo img{
    width:100%!important;
    height:auto!important;
    max-height:54px!important;
    object-fit:contain!important;
  }

  html body .site-header[data-header].is-scrolled .header-logo{
    width:clamp(126px,36vw,142px)!important;
    max-height:52px!important;
    filter:none!important;
  }

  html body .site-header[data-header] .menu-toggle{
    display:grid!important;
    place-content:center!important;
    width:48px!important;
    min-width:48px!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    gap:6px!important;
    color:#fff!important;
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:14px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  }

  html body .site-header[data-header] .menu-toggle span{
    width:27px!important;
    height:2px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  html body .site-header[data-header] .menu-toggle span:nth-child(2){
    width:21px!important;
    justify-self:end!important;
  }

  html body .site-header[data-header] .menu-toggle:hover span:nth-child(2),
  html body .site-header[data-header] .menu-toggle:focus-visible span:nth-child(2){
    width:27px!important;
  }

  html body .site-header[data-header].is-scrolled:not(.is-menu-open) .menu-toggle{
    color:var(--rp-enterprise-ink)!important;
    background:rgba(19,34,58,.05)!important;
    border-color:rgba(19,34,58,.16)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.82)!important;
  }

  html body .site-header[data-header].is-scrolled:not(.is-menu-open) .menu-toggle span{
    background:var(--rp-enterprise-ink)!important;
  }

  html body .fullscreen-menu#siteMenu .menu-panel{
    min-height:100dvh!important;
    padding-top:max(18px,env(safe-area-inset-top))!important;
    padding-right:max(20px,env(safe-area-inset-right))!important;
    padding-bottom:max(24px,env(safe-area-inset-bottom))!important;
    padding-left:max(20px,env(safe-area-inset-left))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    background:
      radial-gradient(circle at 14% 14%,rgba(211,47,47,.15),transparent 31%),
      radial-gradient(circle at 92% 10%,rgba(68,100,138,.17),transparent 30%),
      linear-gradient(155deg,#07111F 0%,#0A1726 62%,#050B13 100%)!important;
  }

  html body .fullscreen-menu#siteMenu .menu-panel::before{
    opacity:.10!important;
    background-size:72px 72px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-top{
    min-height:72px!important;
    align-items:center!important;
  }

  html body .fullscreen-menu#siteMenu .menu-top img{
    width:clamp(148px,43vw,174px)!important;
    max-width:54vw!important;
    max-height:70px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-close{
    display:grid!important;
    place-content:center!important;
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    color:#fff!important;
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:50%!important;
  }

  html body .fullscreen-menu#siteMenu .menu-close span{
    display:none!important;
  }

  html body .fullscreen-menu#siteMenu .menu-close i{
    width:28px!important;
    height:28px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-close i::before,
  html body .fullscreen-menu#siteMenu .menu-close i::after{
    left:1px!important;
    width:26px!important;
    height:2px!important;
    background:#fff!important;
  }

  html body .fullscreen-menu#siteMenu .menu-content{
    display:block!important;
    margin-top:22px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-links{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    width:100%!important;
  }

  html body .fullscreen-menu#siteMenu .menu-links a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:0!important;
    padding:8px 0 9px!important;
    color:#fff!important;
    font-size:clamp(43px,13.8vw,56px)!important;
    font-weight:620!important;
    line-height:.86!important;
    letter-spacing:-.035em!important;
    text-transform:uppercase!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    text-shadow:0 14px 34px rgba(0,0,0,.24)!important;
  }

  html body .fullscreen-menu#siteMenu .menu-links a:last-child{
    border-bottom:0!important;
  }

  html body .fullscreen-menu#siteMenu .menu-links a[aria-current="page"]{
    color:#FF8585!important;
  }

  html body .fullscreen-menu#siteMenu .menu-links a:hover,
  html body .fullscreen-menu#siteMenu .menu-links a:focus-visible{
    color:#FF8585!important;
    padding-left:10px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-signature{
    margin:30px 0 0!important;
    color:#AAB7C8!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.6!important;
    letter-spacing:.34em!important;
    text-transform:uppercase!important;
  }
}

@media (max-width:420px){
  html body .fullscreen-menu#siteMenu .menu-links a{
    font-size:clamp(40px,13.5vw,52px)!important;
  }
}

@media (max-width:1000px) and (max-height:600px){
  html body .site-header[data-header],
  html body .site-header[data-header].is-scrolled:not(.is-menu-open){
    height:66px!important;
    min-height:66px!important;
    padding:7px max(18px,env(safe-area-inset-right)) 7px max(18px,env(safe-area-inset-left))!important;
  }

  html body .site-header[data-header]{
    background:linear-gradient(180deg,rgba(7,17,31,.94),rgba(7,17,31,.80))!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
  }

  html body .site-header[data-header] .header-logo,
  html body .site-header[data-header].is-scrolled .header-logo{
    width:128px!important;
    max-width:34vw!important;
    max-height:52px!important;
  }

  html body .site-header[data-header] .menu-toggle{
    width:46px!important;
    min-width:46px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    color:#fff!important;
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:13px!important;
  }

  html body .site-header[data-header] .menu-toggle span{
    width:25px!important;
    height:2px!important;
    background:#fff!important;
  }

  html body .fullscreen-menu#siteMenu .menu-panel{
    padding-top:10px!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
    padding-bottom:14px!important;
    padding-left:max(18px,env(safe-area-inset-left))!important;
    overflow-x:hidden!important;
    background:
      radial-gradient(circle at 14% 14%,rgba(211,47,47,.15),transparent 31%),
      linear-gradient(155deg,#07111F 0%,#0A1726 62%,#050B13 100%)!important;
  }

  html body .fullscreen-menu#siteMenu .menu-top{
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }

  html body .fullscreen-menu#siteMenu .menu-top img{
    width:128px!important;
    max-height:54px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-close{
    display:grid!important;
    place-content:center!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:50%!important;
  }

  html body .fullscreen-menu#siteMenu .menu-close span{
    display:none!important;
  }

  html body .fullscreen-menu#siteMenu .menu-close i{
    width:26px!important;
    height:26px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-close i::before,
  html body .fullscreen-menu#siteMenu .menu-close i::after{
    left:1px!important;
    width:24px!important;
    height:2px!important;
    background:#fff!important;
  }

  html body .fullscreen-menu#siteMenu .menu-content{
    margin-top:4px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-links a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:0!important;
    padding:4px 0 5px!important;
    color:#fff!important;
    font-size:clamp(32px,7vh,39px)!important;
    font-weight:620!important;
    line-height:.88!important;
    letter-spacing:-.025em!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }

  html body .fullscreen-menu#siteMenu .menu-links a[aria-current="page"]{
    color:#FF8585!important;
  }

  html body .fullscreen-menu#siteMenu .menu-signature{
    margin-top:12px!important;
    font-size:9px!important;
  }
}

@media (max-width:1299px){
  html body .site-footer.site-footer--premium .footer-main{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
    grid-template-areas:"brand navigate" "services newsletter"!important;
    gap:54px clamp(48px,7vw,92px)!important;
  }

  html body .site-footer.site-footer--premium .footer-brand{
    max-width:520px!important;
  }
}

@media (max-width:900px){
  html body .site-footer.site-footer--premium .footer-shell{
    width:calc(100% - 40px)!important;
  }

  html body .site-footer.site-footer--premium .footer-main{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-areas:"brand brand" "navigate newsletter" "services services"!important;
    gap:46px 40px!important;
  }

  html body .site-footer.site-footer--premium .footer-col h2,
  html body .site-footer.site-footer--premium nav.footer-col h2{
    margin-bottom:24px!important;
  }

  html body .site-footer.site-footer--premium .footer-bottom,
  html body .site-footer.site-footer--premium .footer-bottom.footer-bottom--premium{
    align-items:flex-start!important;
    flex-direction:column!important;
    padding-right:76px!important;
  }
}

@media (max-width:600px){
  html body .site-footer.site-footer--premium .footer-shell{
    width:calc(100% - 28px)!important;
  }

  html body .site-footer.site-footer--premium .footer-main{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"brand" "navigate" "services" "newsletter"!important;
    gap:42px!important;
  }

  html body .site-footer.site-footer--premium .footer-link-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:2px!important;
  }

  html body .site-footer.site-footer--premium .footer-newsletter{
    max-width:none!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    height:58px!important;
  }

  html body .site-footer.site-footer--premium .footer-newsletter input{
    height:56px!important;
    padding-left:16px!important;
  }

  html body .site-footer.site-footer--premium .footer-newsletter button{
    width:58px!important;
    min-width:58px!important;
    height:58px!important;
    min-height:58px!important;
  }

  html body .site-footer.site-footer--premium .footer-bottom,
  html body .site-footer.site-footer--premium .footer-bottom.footer-bottom--premium{
    margin-top:48px!important;
    padding:22px 68px 8px 0!important;
  }

  html body .site-footer.site-footer--premium .footer-bottom > div{
    justify-content:flex-start!important;
    gap:10px 16px!important;
  }

  html body .rp-scroll-top{
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:max(76px,calc(env(safe-area-inset-bottom) + 18px))!important;
    width:50px!important;
    height:50px!important;
  }
}

/* Motion enhancement: content is visible by default and never depends on JS. */
.rp-enterprise-reveal{
  opacity:0;
  transform:translate3d(0,22px,0);
  transition:opacity 680ms var(--rp-enterprise-ease),transform 680ms var(--rp-enterprise-ease);
  transition-delay:var(--rp-enterprise-delay,0ms);
}

.rp-enterprise-reveal.is-visible{
  opacity:1;
  transform:none;
}

@media (hover:hover) and (pointer:fine){
  body.rp-standardized-page :is(
    .timeline-list article,
    .values-grid article,
    .process-cards article,
    .next-steps article,
    .challenge-grid article,
    .capability-grid article,
    .service-card
  ):hover{
    transform:translateY(-6px)!important;
    border-color:rgba(211,47,47,.34)!important;
  }

  body.rp-standardized-page :is(.cta-media,.image-frame,.gallery-item,.media-link):hover img{
    transform:scale(1.035)!important;
    filter:saturate(1.04) contrast(1.04)!important;
  }

  body:not(.rp-standardized-page) :is(.service-card,.testimonial-cards article):hover{
    transform:translateY(-6px)!important;
    border-color:rgba(211,47,47,.42)!important;
    box-shadow:0 30px 76px rgba(7,17,31,.18)!important;
  }
}

@media (max-width:1180px){
  body:not(.rp-standardized-page) .testimonial-dots{
    grid-column:1!important;
  }

  body.rp-standardized-page .section-heading--split{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }

  body.rp-standardized-page .section-heading--split > p{
    justify-self:start!important;
  }
}

@media (max-width:900px){
  body.rp-standardized-page :is(.rp-page-hero,main > .hero){
    min-height:max(720px,100svh)!important;
  }

  body.rp-standardized-page :is(.rp-page-hero,main > .hero)::before{
    background:
      linear-gradient(90deg,rgba(7,17,31,.94),rgba(7,17,31,.72)),
      linear-gradient(180deg,rgba(7,17,31,.28),rgba(7,17,31,.70))!important;
  }

  body.rp-standardized-page :is(.rp-page-hero__content,main > .hero .hero-grid,main > .hero .container){
    width:min(100% - 48px,760px)!important;
  }

  body.rp-standardized-page :is(.rp-page-hero,main > .hero) h1{
    font-size:clamp(50px,9vw,82px)!important;
  }
}

@media (max-width:760px){
  :root{--rp-enterprise-radius:18px}

  html body .container,
  body.rp-standardized-page :is(.service-grid,.gallery-grid){
    width:min(100% - 32px,760px)!important;
  }

  body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero){
    padding-block:clamp(68px,18vw,92px)!important;
  }

  body.rp-standardized-page :is(.rp-page-hero,main > .hero){
    min-height:max(680px,100svh)!important;
    padding:clamp(116px,18vh,150px) 0 clamp(54px,9vh,78px)!important;
    align-items:end!important;
  }

  body.rp-standardized-page :is(.rp-page-hero__content,main > .hero .hero-grid,main > .hero .container){
    width:calc(100% - 34px)!important;
  }

  body.rp-standardized-page :is(.rp-page-hero,main > .hero) h1{
    max-inline-size:10.5ch!important;
    font-size:clamp(42px,12vw,61px)!important;
    line-height:.92!important;
    margin-bottom:18px!important;
  }

  body.rp-standardized-page :is(.rp-page-hero,main > .hero) .lead{
    font-size:clamp(15px,4.05vw,17px)!important;
    line-height:1.56!important;
    margin-bottom:26px!important;
  }

  body.rp-standardized-page .button-row,
  body.rp-standardized-page .button-row .btn{
    width:100%!important;
  }

  body.rp-standardized-page :is(.timeline-list,.values-grid,.process-cards,.next-steps,.challenge-grid,.capability-grid,.result-grid){
    grid-template-columns:1fr!important;
  }

  body.rp-standardized-page :is(.timeline-list article,.values-grid article,.process-cards article,.next-steps article,.challenge-grid article,.capability-grid article){
    padding:24px!important;
  }

  body.rp-standardized-page .project-form{
    grid-template-columns:1fr!important;
    padding:24px 20px!important;
  }

  body.rp-standardized-page .project-form .form-row{
    grid-column:1!important;
  }

  body.rp-standardized-page .cta-panel{
    border-radius:22px!important;
    padding:26px 22px!important;
  }

  body:not(.rp-standardized-page) .testimonials-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:34px!important;
  }

  body:not(.rp-standardized-page) .testimonials-grid > *{
    grid-column:1!important;
    min-width:0!important;
  }

  body:not(.rp-standardized-page) .testimonial-cards{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    gap:18px!important;
  }

  body:not(.rp-standardized-page) .testimonial-cards article{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:28px 24px!important;
  }

  body:not(.rp-standardized-page) .testimonial-dots{
    display:none!important;
  }

  body:not(.rp-standardized-page) .trusted-arrow{
    min-width:44px!important;
    width:44px!important;
    height:44px!important;
  }

  body:not(.rp-standardized-page) .trusted-hero{
    grid-template-columns:44px minmax(0,1fr) 44px!important;
  }

  html body .fullscreen-menu .menu-panel{
    padding-left:max(20px,env(safe-area-inset-left))!important;
    padding-right:max(20px,env(safe-area-inset-right))!important;
  }

  html body .fullscreen-menu .menu-links a{
    min-height:54px;
    display:flex;
    align-items:center;
  }
}

@media (max-width:420px){
  html body .container,
  body.rp-standardized-page :is(.service-grid,.gallery-grid){
    width:calc(100% - 24px)!important;
  }

  body.rp-standardized-page :is(.rp-page-hero__content,main > .hero .hero-grid,main > .hero .container){
    width:calc(100% - 26px)!important;
  }

  body.rp-standardized-page :is(.rp-page-hero,main > .hero) h1{
    font-size:clamp(39px,11.5vw,52px)!important;
  }

  body:not(.rp-standardized-page) .testimonial-cards article{
    padding:25px 20px!important;
  }
}

@media (min-width:1800px){
  body.rp-standardized-page :is(.rp-page-hero,main > .hero) h1{
    font-size:clamp(84px,5.3vw,126px)!important;
  }

  body.rp-standardized-page main > section:not(.rp-page-hero):not(.hero){
    padding-block:clamp(120px,7vw,168px)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .rp-enterprise-reveal,
  .reveal,
  .ux-reveal,
  .reveal-stagger > *{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
}

@media (prefers-contrast:more){
  body.rp-standardized-page main > section[data-rp-surface="dark"] :is(
    .timeline-list article,.values-grid article,.capability-grid article,.contact-details div
  ){
    background:#0E1D2E!important;
    border-color:rgba(255,255,255,.42)!important;
  }

  body.rp-standardized-page main > section[data-rp-surface="light"] :is(
    .timeline-list article,.values-grid article,.capability-grid article,.contact-details div
  ){
    background:#fff!important;
    border-color:rgba(19,34,58,.38)!important;
  }
}

body.rp-standardized-page main > section[data-rp-surface="dark"] .contact-details{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* Smartphone-first visual refinement: generous media, readable type and reliable touch targets. */
@media (max-width:760px){
  body.rp-standardized-page main :is(
    .editorial-split,
    .editorial-split--reverse,
    .service-category,
    .service-detail-grid,
    .contact-grid,
    .case-overview,
    .capability-grid,
    .section-heading--split,
    .article-hero__grid,
    .image-row
  ){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:clamp(28px,8.5vw,42px)!important;
    align-items:start!important;
  }

  body.rp-standardized-page main :is(
    .service-category__copy,
    .service-category__media,
    .editorial-copy,
    .image-frame,
    .service-detail-grid > *,
    .contact-grid > *,
    .case-overview > *,
    .section-heading--split > *
  ){
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  body.rp-standardized-page main :is(
    .service-category__media,
    .image-frame,
    .gallery-item,
    .cta-media,
    .image-row figure
  ){
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:4/3!important;
    border-radius:clamp(18px,6vw,24px)!important;
  }

  body.rp-standardized-page main :is(
    .service-category__media,
    .image-frame,
    .gallery-item,
    .cta-media,
    .image-row figure
  ) > img,
  body.rp-standardized-page main img.contact-side-image{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
  }

  body.rp-standardized-page main img.contact-side-image{
    aspect-ratio:4/3!important;
    max-height:none!important;
    border-radius:22px!important;
  }

  body.rp-standardized-page main :is(
    .editorial-copy p,
    .section-heading p:not(.eyebrow),
    .service-lead,
    .card-body p,
    .timeline-list p,
    .values-grid p,
    .capability-grid p,
    .contact-details,
    .legal-copy p,
    .article-body p
  ){
    font-size:clamp(15px,4.15vw,17px)!important;
    line-height:1.68!important;
  }

  html body main :is(.eyebrow,.kicker,.card-kicker){
    font-size:13px!important;
    line-height:1.4!important;
    letter-spacing:.15em!important;
  }

  html body.rp-standardized-page main :is(.rp-page-hero,.hero) .eyebrow,
  html body main > :is(.rp-page-hero,.hero) .eyebrow{
    font-size:13px!important;
    line-height:1.4!important;
    letter-spacing:.15em!important;
  }

  body.rp-standardized-page main section:not(.rp-page-hero):not(.hero) h2{
    font-size:clamp(34px,10.4vw,48px)!important;
    line-height:.97!important;
    letter-spacing:-.038em!important;
  }

  body.rp-standardized-page main section:not(.rp-page-hero):not(.hero) h3{
    font-size:clamp(22px,6.8vw,29px)!important;
    line-height:1.02!important;
  }

  body.rp-standardized-page .service-item-list{
    gap:10px!important;
    margin-top:24px!important;
  }

  body.rp-standardized-page .service-item-list li{
    display:flex!important;
    align-items:center!important;
    min-height:48px!important;
    padding:12px 15px 12px 38px!important;
    font-size:15px!important;
    line-height:1.42!important;
    border-radius:15px!important;
  }

  body.rp-standardized-page .service-category__media figcaption{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    padding:11px 13px!important;
    font-size:12.5px!important;
    line-height:1.4!important;
    letter-spacing:.055em!important;
    text-wrap:pretty!important;
  }

  body.rp-standardized-page :is(
    .timeline-list article,
    .values-grid article,
    .process-cards article,
    .next-steps article,
    .challenge-grid article,
    .capability-grid article,
    .contact-details div,
    .case-facts div,
    .result-grid div
  ){
    padding:clamp(22px,6.5vw,28px)!important;
    border-radius:20px!important;
  }

  body.rp-standardized-page :is(.btn,.text-link,.category-band a){
    min-height:48px!important;
  }

  body.rp-standardized-page .text-link{
    display:inline-flex!important;
    align-items:center!important;
    font-size:15px!important;
  }

  body:not(.rp-standardized-page) main :is(.hero-copy,.service-card p,.steps p,.testimonial-cards p){
    font-size:clamp(15px,4.15vw,17px)!important;
    line-height:1.65!important;
  }

  body:not(.rp-standardized-page) main :is(.service-card,.testimonial-cards article){
    border-radius:20px!important;
  }

  body:not(.rp-standardized-page) main .service-card :is(.card-body,.service-card__body){
    padding:24px 21px!important;
  }

  body:not(.rp-standardized-page) main .trusted-hero h2{
    font-size:12px!important;
    line-height:1.4!important;
    letter-spacing:.16em!important;
  }

  body:not(.rp-standardized-page) main .logo-card p{
    font-size:14px!important;
    line-height:1.35!important;
  }

  body:not(.rp-standardized-page) main .logo-card span{
    font-size:12px!important;
    line-height:1.35!important;
  }

  body:not(.rp-standardized-page) main .text-link{
    display:inline-flex!important;
    align-items:center!important;
    min-height:44px!important;
    font-size:15px!important;
  }

  html body .site-footer.site-footer--premium .footer-col h2,
  html body .site-footer.site-footer--premium nav.footer-col h2{
    font-size:14px!important;
    line-height:1.2!important;
  }

  html body .site-footer.site-footer--premium nav.footer-col.footer-col--navigate > a,
  html body .site-footer.site-footer--premium .footer-link-grid a,
  html body .site-footer.site-footer--premium .footer-contact-mini a{
    min-width:45px!important;
    min-height:45px!important;
    font-size:15px!important;
  }

  html body .site-footer.site-footer--premium .footer-bottom p,
  html body .site-footer.site-footer--premium .footer-bottom a{
    font-size:14px!important;
    line-height:1.5!important;
  }

  html body .site-footer.site-footer--premium .footer-bottom a{
    display:inline-flex!important;
    align-items:center!important;
    min-width:44px!important;
    min-height:44px!important;
  }

  html body .site-footer.site-footer--premium .footer-social a{
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-signature{
    font-size:11px!important;
  }
}

@media (max-width:1000px) and (max-height:600px){
  html body .site-header[data-header] .menu-toggle,
  html body .fullscreen-menu#siteMenu .menu-close{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-links a{
    min-height:44px!important;
    padding-block:3px!important;
  }

  html body .fullscreen-menu#siteMenu .menu-signature{
    font-size:10px!important;
  }

  html body main :is(.eyebrow,.kicker,.card-kicker){
    font-size:13px!important;
    line-height:1.4!important;
    letter-spacing:.15em!important;
  }

  html body .site-footer.site-footer--premium .footer-col h2,
  html body .site-footer.site-footer--premium nav.footer-col h2{
    font-size:14px!important;
    line-height:1.2!important;
  }

  html body .site-footer.site-footer--premium nav.footer-col.footer-col--navigate > a,
  html body .site-footer.site-footer--premium .footer-link-grid a,
  html body .site-footer.site-footer--premium .footer-contact-mini a,
  html body .site-footer.site-footer--premium .footer-bottom a{
    display:flex!important;
    align-items:center!important;
    min-width:44px!important;
    min-height:44px!important;
    font-size:14px!important;
  }

  html body .site-footer.site-footer--premium .footer-bottom p,
  html body .site-footer.site-footer--premium .footer-bottom a{
    font-size:14px!important;
    line-height:1.5!important;
  }

  html body .site-footer.site-footer--premium .footer-social a{
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
}

@media (max-width:760px) and (prefers-reduced-motion:no-preference){
  .rp-enterprise-reveal{
    transform:translate3d(0,14px,0);
    transition-duration:520ms;
    will-change:auto;
  }
}

/* Services page: high-contrast light chips on every surface. */
html body.rp-standardized-page main#main > section[data-rp-surface] ul.service-item-list > li{
  color:#1A2B4C!important;
  -webkit-text-fill-color:#1A2B4C!important;
  background:linear-gradient(145deg,#FFFFFF 0%,#F7F9FC 100%)!important;
  border-color:rgba(26,43,76,.17)!important;
  box-shadow:0 10px 28px rgba(7,17,31,.10),inset 0 1px 0 #fff!important;
  opacity:1!important;
}

html body.rp-standardized-page main#main > section[data-rp-surface] ul.service-item-list > li::before{
  background:#E2383F!important;
  box-shadow:0 0 0 5px rgba(226,56,63,.12)!important;
}

/* Services page: progressive, GPU-friendly reveal activated only when JS is ready. */
@media (prefers-reduced-motion:no-preference){
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category{
    opacity:0;
    transform:translate3d(0,46px,0) scale(.988);
    transition:
      opacity 760ms var(--rp-enterprise-ease),
      transform 860ms var(--rp-enterprise-ease);
    will-change:opacity,transform;
  }

  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category > .service-category__copy > :is(.eyebrow,h2,p),
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-item-list li,
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category__media{
    opacity:0!important;
    transform:translate3d(var(--rp-service-reveal-x,0),30px,0);
    transition:
      opacity 620ms var(--rp-enterprise-ease) var(--rp-service-item-delay,80ms),
      transform 760ms var(--rp-enterprise-ease) var(--rp-service-item-delay,80ms),
      box-shadow 360ms ease;
    will-change:opacity,transform;
  }

  body.rp-service-motion-ready #main > section[id^="service-category-"]:nth-of-type(even) .service-category__copy{
    --rp-service-reveal-x:-18px;
  }

  body.rp-service-motion-ready #main > section[id^="service-category-"]:nth-of-type(odd) .service-category__copy{
    --rp-service-reveal-x:18px;
  }

  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category__media{
    --rp-service-reveal-x:22px;
    transform:translate3d(var(--rp-service-reveal-x),34px,0) scale(.975);
  }

  body.rp-service-motion-ready #main > section[id^="service-category-"]:nth-of-type(odd) .service-category__media{
    --rp-service-reveal-x:-22px;
  }

  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category.is-service-visible,
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category.is-service-visible > .service-category__copy > :is(.eyebrow,h2,p),
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category.is-service-visible .service-item-list li,
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category.is-service-visible .service-category__media{
    opacity:1!important;
    transform:none!important;
  }

  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category.is-service-visible{
    will-change:auto;
  }

  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category.is-service-visible > .service-category__copy > :is(.eyebrow,h2,p),
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category.is-service-visible .service-item-list li,
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category.is-service-visible .service-category__media{
    will-change:auto;
  }

  body.rp-motion-lite.rp-service-motion-ready #main > section[id^="service-category-"] .service-category,
  body.rp-motion-lite.rp-service-motion-ready #main > section[id^="service-category-"] .service-category > .service-category__copy > :is(.eyebrow,h2,p),
  body.rp-motion-lite.rp-service-motion-ready #main > section[id^="service-category-"] .service-item-list li,
  body.rp-motion-lite.rp-service-motion-ready #main > section[id^="service-category-"] .service-category__media{
    transition-duration:420ms!important;
    transition-delay:0ms!important;
  }
}

@media (max-width:760px) and (prefers-reduced-motion:no-preference){
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category,
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category > .service-category__copy > :is(.eyebrow,h2,p),
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-item-list li,
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category__media{
    --rp-service-reveal-x:0px!important;
  }

  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category{
    transform:translate3d(0,28px,0) scale(.993);
  }

  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category__media{
    transform:translate3d(0,24px,0) scale(.985);
  }
}

@media (prefers-reduced-motion:reduce){
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category,
  body.rp-service-motion-ready #main > section[id^="service-category-"] .service-category *{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
}

/* Final editorial title hierarchy: authoritative without excessive visual weight. */
html body.rp-standardized-page main#main :is(.rp-page-hero,.hero) h1,
html body.rp-standardized-page main#main > section:not(.rp-page-hero):not(.hero) :is(h1,h2,h3),
html body:not(.rp-standardized-page) main#main > section:not(.hero) :is(h1,h2,h3){
  font-weight:650!important;
}

html body:not(.rp-standardized-page) main#main > .hero h1{
  font-weight:700!important;
}

html body main#main .service-card h3 a,
html body main#main .text-link,
html body.rp-standardized-page main#main :is(.legal-layout,.article-layout) aside a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:46px!important;
}

/* Sitewide section reveal: stable surfaces with refined content entrance. */
@media (prefers-reduced-motion:no-preference){
  body.rp-site-motion-ready main#main > section.rp-scroll-section > .rp-section-reveal-item{
    opacity:0;
    transform:translate3d(0,42px,0) scale(.99);
    transition:
      opacity 680ms var(--rp-enterprise-ease) var(--rp-section-item-delay,0ms),
      transform 820ms var(--rp-enterprise-ease) var(--rp-section-item-delay,0ms);
    will-change:opacity,transform;
  }

  body.rp-site-motion-ready main#main > section.rp-scroll-section.is-section-visible > .rp-section-reveal-item{
    opacity:1;
    transform:none;
    will-change:auto;
  }

  body.rp-motion-lite.rp-site-motion-ready main#main > section.rp-scroll-section > .rp-section-reveal-item{
    transform:translate3d(0,20px,0);
    transition-duration:380ms!important;
    transition-delay:0ms!important;
  }
}

@media (max-width:760px) and (prefers-reduced-motion:no-preference){
  body.rp-site-motion-ready main#main > section.rp-scroll-section > .rp-section-reveal-item{
    transform:translate3d(0,26px,0) scale(.995);
    transition-duration:560ms,680ms;
  }
}

@media (prefers-reduced-motion:reduce){
  body.rp-site-motion-ready main#main > section.rp-scroll-section > .rp-section-reveal-item{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
}

@media (max-width:760px){
  html body .site-footer.site-footer--premium .footer-social a{
    flex-basis:46px!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
  }
}

@media (max-width:1000px) and (max-height:600px){
  html body .site-footer.site-footer--premium .footer-social a{
    flex-basis:46px!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
  }
}

/* ===== SOURCE: assets/css/realpro-premium-forms.css ===== */
/* REAL.PRO Studios — centralized premium forms */
:root{
  --rp-form-navy: var(--navy, #1a2b4c);
  --rp-form-navy-deep: var(--navy-2, #0e182a);
  --rp-form-red: var(--red, #d32f2f);
  --rp-form-ink: var(--ink, #151923);
  --rp-form-muted: var(--muted, #5c6675);
  --rp-form-line: rgba(26,43,76,.14);
  --rp-form-ease: cubic-bezier(.22,.61,.36,1);
}

body.rp-form-modal-open{overflow:hidden!important;overscroll-behavior:none}

.rp-form-modal[hidden]{display:none!important}
.rp-form-modal{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:clamp(12px,3vw,34px);
  isolation:isolate;
}
.rp-form-modal__backdrop{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:rgba(6,12,24,.78);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  cursor:pointer;
}
.rp-form-modal__dialog{
  position:relative;
  width:min(940px,100%);
  max-height:min(900px,calc(100dvh - 28px));
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(330px,.9fr) minmax(0,1.2fr);
  border:1px solid rgba(255,255,255,.18);
  border-radius:clamp(22px,3vw,36px);
  background:#fff;
  box-shadow:0 42px 120px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.06);
  transform-origin:center;
  animation:rpFormEnter .42s var(--rp-form-ease) both;
}
.rp-form-modal__aside{
  position:relative;
  overflow:hidden;
  padding:clamp(28px,4vw,50px);
  color:#fff;
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.17),transparent 26%),
    radial-gradient(circle at 100% 100%,rgba(211,47,47,.36),transparent 40%),
    linear-gradient(145deg,var(--rp-form-navy),var(--rp-form-navy-deep));
}
.rp-form-modal__aside::after{
  content:"";
  position:absolute;
  width:210px;
  aspect-ratio:1;
  right:-90px;
  bottom:-88px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.025);
}
.rp-form-modal__brand{
  width:min(210px,78%);
  height:auto;
  margin:0 0 clamp(54px,9vh,94px);
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.16));
}
.rp-form-modal__kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  font-size:.72rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#fff;
}
.rp-form-modal__kicker::before{content:"";width:30px;height:2px;border-radius:99px;background:var(--rp-form-red)}
.rp-form-modal__aside h2{
  margin:0 0 18px;
  max-width:420px;
  color:#fff!important;
  font-size:clamp(2.3rem,3.6vw,3.35rem)!important;
  line-height:.88!important;
  letter-spacing:-.045em!important;
  text-transform:uppercase;
}
.rp-form-modal__aside p{margin:0;color:rgba(255,255,255,.78);font-size:.96rem;line-height:1.7}
.rp-form-modal__trust{display:grid;gap:10px;margin:30px 0 0;padding:0;list-style:none}
.rp-form-modal__trust li{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.88);font-size:.84rem;line-height:1.45}
.rp-form-modal__trust li::before{content:"✓";display:grid;place-items:center;flex:0 0 20px;height:20px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-weight:900}

.rp-form-modal__main{
  position:relative;
  min-width:0;
  max-height:min(900px,calc(100dvh - 28px));
  overflow:auto;
  overscroll-behavior:contain;
  padding:clamp(28px,4vw,52px);
  scrollbar-width:thin;
  scrollbar-color:rgba(26,43,76,.28) transparent;
}
.rp-form-modal__close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:3;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid var(--rp-form-line);
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:var(--rp-form-navy);
  box-shadow:0 8px 24px rgba(26,43,76,.08);
  cursor:pointer;
  transition:transform .24s var(--rp-form-ease),background .24s ease,color .24s ease;
}
.rp-form-modal__close:hover{transform:rotate(7deg) scale(1.04);background:var(--rp-form-navy);color:#fff}
.rp-form-modal__close svg{width:19px;height:19px;stroke:currentColor;stroke-width:2;fill:none}
.rp-form-modal__heading{padding-right:54px;margin-bottom:28px}
.rp-form-modal__heading .rp-form-modal__kicker{color:var(--rp-form-red)}
.rp-form-modal__heading h3{
  margin:0 0 10px;
  color:var(--rp-form-navy)!important;
  font-size:clamp(2rem,3.5vw,3.25rem)!important;
  line-height:.94!important;
  letter-spacing:-.035em!important;
  text-transform:uppercase;
}
.rp-form-modal__heading p{margin:0;color:var(--rp-form-muted);font-size:.94rem;line-height:1.65}

.rp-premium-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px}
.rp-premium-form--newsletter{grid-template-columns:1fr}
.rp-premium-form__field{display:grid;gap:7px;min-width:0}
.rp-premium-form__field--full{grid-column:1/-1}
.rp-premium-form label{color:var(--rp-form-navy);font-size:.78rem;font-weight:850;letter-spacing:.025em}
.rp-premium-form label .rp-required{color:var(--rp-form-red)}
.rp-premium-form input:not([type="checkbox"]),
.rp-premium-form textarea,
.rp-premium-form select{
  width:100%;
  min-width:0;
  min-height:54px;
  margin:0;
  padding:13px 15px;
  border:1px solid var(--rp-form-line);
  border-radius:15px;
  background:#f8fafc;
  color:var(--rp-form-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  outline:0;
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.rp-premium-form textarea{min-height:126px;resize:vertical;line-height:1.55}
.rp-premium-form select{appearance:auto}
.rp-premium-form input::placeholder,.rp-premium-form textarea::placeholder{color:#8b94a1;opacity:1}
.rp-premium-form input:focus,.rp-premium-form textarea:focus,.rp-premium-form select:focus{
  border-color:rgba(211,47,47,.55);
  background:#fff;
  box-shadow:0 0 0 4px rgba(211,47,47,.1),0 9px 24px rgba(26,43,76,.055);
}
.rp-premium-form [aria-invalid="true"]{border-color:#bd1e2d!important;box-shadow:0 0 0 4px rgba(189,30,45,.1)!important}
.rp-premium-form__consent{grid-column:1/-1;display:flex!important;align-items:flex-start;gap:10px;cursor:pointer;color:var(--rp-form-muted)!important;font-weight:600!important;line-height:1.5}
.rp-premium-form__consent input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--rp-form-red)}
.rp-premium-form__consent a{color:var(--rp-form-navy);text-decoration:underline;text-underline-offset:3px}
.rp-premium-form__submit{
  grid-column:1/-1;
  min-height:56px;
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 22px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:var(--rp-form-red);
  box-shadow:0 14px 30px rgba(211,47,47,.25);
  cursor:pointer;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
  transition:transform .24s var(--rp-form-ease),box-shadow .24s ease,opacity .24s ease;
}
.rp-premium-form__submit:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(211,47,47,.31)}
.rp-premium-form__submit:disabled{cursor:wait;opacity:.72;transform:none}
.rp-premium-form__spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:rpFormSpin .7s linear infinite}
.rp-premium-form__status{grid-column:1/-1;min-height:0;margin:0;color:#a1192a;font-size:.84rem;font-weight:700;line-height:1.5}
.rp-premium-form__status:empty{display:none}
.rp-premium-form__privacy{grid-column:1/-1;margin:-4px 0 0;color:var(--rp-form-muted);font-size:.73rem;line-height:1.55;text-align:center}
.rp-form-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

.rp-form-success{display:grid;place-items:start;min-height:460px;align-content:center;padding:10px 0}
.rp-form-success__icon{display:grid;place-items:center;width:76px;height:76px;margin:0 0 24px;border-radius:50%;background:rgba(26,43,76,.08);color:var(--rp-form-navy)}
.rp-form-success__icon svg{width:37px;height:37px;stroke:currentColor;stroke-width:2;fill:none}
.rp-form-success h3{margin:0 0 14px;color:var(--rp-form-navy)!important;font-size:clamp(2.4rem,5vw,4.8rem)!important;line-height:.88!important;text-transform:uppercase}
.rp-form-success p{max-width:530px;margin:0 0 26px;color:var(--rp-form-muted);font-size:1rem;line-height:1.7}
.rp-form-success__meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.rp-form-success__meta span{padding:8px 12px;border:1px solid var(--rp-form-line);border-radius:999px;background:#f8fafc;color:var(--rp-form-navy);font-size:.75rem;font-weight:800}
.rp-form-success__close{min-width:190px}

.rp-form-launch-card{
  position:relative;
  overflow:hidden;
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:clamp(30px,5vw,58px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 10%,rgba(211,47,47,.36),transparent 28%),
    linear-gradient(145deg,var(--rp-form-navy),var(--rp-form-navy-deep));
  box-shadow:0 26px 70px rgba(6,12,24,.24);
}
.rp-form-launch-card::after{content:"";position:absolute;right:-96px;bottom:-96px;width:240px;aspect-ratio:1;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 76px rgba(255,255,255,.018)}
.rp-form-launch-card>*{position:relative;z-index:1}
.rp-form-launch-card__eyebrow{margin:0 0 14px;color:#fff;font-size:.73rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.rp-form-launch-card h3{max-width:520px;margin:0 0 16px;color:#fff!important;font-size:clamp(2.3rem,4vw,4rem)!important;line-height:.9!important;text-transform:uppercase}
.rp-form-launch-card p{max-width:560px;margin:0 0 28px;color:rgba(255,255,255,.78);line-height:1.7}
.rp-form-launch-card .btn{cursor:pointer;border:0}
.rp-form-launch-card__note{display:flex;gap:9px;align-items:center;margin:18px 0 0!important;color:rgba(255,255,255,.68)!important;font-size:.76rem!important}
.rp-form-launch-card__note::before{content:"";width:7px;height:7px;border-radius:50%;background:#70d19b;box-shadow:0 0 0 5px rgba(112,209,155,.12)}

.footer-newsletter[data-rp-modal-ready="true"] input{cursor:pointer}
.footer-newsletter[data-rp-modal-ready="true"] button{cursor:pointer}

@keyframes rpFormEnter{from{opacity:0;transform:translateY(24px) scale(.975)}to{opacity:1;transform:none}}
@keyframes rpFormSpin{to{transform:rotate(360deg)}}

@media (max-width:860px){
  .rp-form-modal{align-items:end;padding:0}
  .rp-form-modal__dialog{width:100%;max-height:100dvh;grid-template-columns:1fr;border-radius:24px 24px 0 0;border-bottom:0;animation-name:rpFormEnterMobile}
  .rp-form-modal__aside{display:none}
  .rp-form-modal__main{max-height:100dvh;padding:26px 18px calc(24px + env(safe-area-inset-bottom))}
  .rp-form-modal__close{position:sticky;float:right;top:0;margin:-4px 0 4px 10px;background:#fff}
  .rp-form-modal__heading{padding-right:0;margin-bottom:24px}
  .rp-form-modal__heading h3{font-size:clamp(2rem,10vw,3rem)!important}
  .rp-premium-form{grid-template-columns:1fr;gap:15px}
  .rp-premium-form__field--full,.rp-premium-form__consent,.rp-premium-form__submit,.rp-premium-form__status,.rp-premium-form__privacy{grid-column:1}
  .rp-premium-form input:not([type="checkbox"]),.rp-premium-form textarea,.rp-premium-form select{font-size:16px;min-height:55px}
  .rp-form-success{min-height:calc(100dvh - 80px);align-content:center}
  .rp-form-success__close{width:100%}
  .rp-form-launch-card{border-radius:24px;padding:30px 22px}
}

@media (max-width:390px){
  .rp-form-modal__main{padding-inline:14px}
  .rp-premium-form{gap:13px}
}

@media (prefers-reduced-motion:reduce){
  .rp-form-modal__dialog,.rp-form-modal__close,.rp-premium-form__submit{animation:none!important;transition:none!important}
  .rp-premium-form__spinner{animation-duration:1.2s}
}

@keyframes rpFormEnterMobile{from{opacity:0;transform:translateY(42px)}to{opacity:1;transform:none}}


/* v3 interaction stability */
html.rp-form-modal-open,body.rp-form-modal-open{overflow:hidden!important;overscroll-behavior:none!important}
.rp-form-modal{touch-action:none;pointer-events:auto}
.rp-form-modal__backdrop{z-index:0;touch-action:none}
.rp-form-modal__dialog{z-index:1;pointer-events:auto;touch-action:pan-y}
.rp-form-modal__main{background:#fff;color:var(--rp-form-ink)}
.rp-form-modal__dialog *{box-sizing:border-box}
.rp-premium-form__status{outline:0}
@media (max-width:860px){
  .rp-form-modal__dialog{min-height:min(100dvh,720px)}
  .rp-form-modal__main{-webkit-overflow-scrolling:touch}
}

/* ===== SOURCE: assets/css/realpro-august-2026-final-update.css ===== */
/* ==========================================================
   REALPRO STUDIOS — AUGUST 2026 FINAL UPDATE
   Isolated final layer: carousel, contact, typography, actions
   ========================================================== */

:root{
  --rp-update-navy:#07111f;
  --rp-update-navy-2:#101f35;
  --rp-update-red:#d32f2f;
  --rp-update-cream:#f4f1ea;
  --rp-update-white:#ffffff;
  --rp-update-muted:#9aa8b9;
  --rp-update-border:rgba(255,255,255,.16);
  --rp-update-ease:cubic-bezier(.22,.76,.24,1);
}

/* Official header statement: invisible in the hero, visible after it. */
.site-header .rp-header-statement{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  width:min(52vw,760px);
  margin:0;
  color:#fff;
  font-size:clamp(10px,.82vw,14px);
  font-weight:560;
  line-height:1.2;
  letter-spacing:.115em;
  text-align:center;
  text-transform:uppercase;
  opacity:0;
  visibility:hidden;
  filter:blur(4px);
  transform:translate(-50%,-38%);
  transition:opacity .55s var(--rp-update-ease),transform .65s var(--rp-update-ease),filter .6s var(--rp-update-ease),visibility 0s linear .65s;
  pointer-events:none;
}
.site-header .rp-header-statement strong,
.site-header .rp-header-statement em{
  font-size:1.08em;
  font-style:normal;
  font-weight:780;
  letter-spacing:.09em;
}
.site-header .rp-header-statement em{color:#ef5350;}
.site-header.is-past-hero .rp-header-statement{
  opacity:1;
  visibility:visible;
  filter:blur(0);
  transform:translate(-50%,-50%);
  transition-delay:0s;
}

/* Stronger, scalable emphasis for the key hero words. */
.hero #hero-title .rp-hero-emphasis{
  display:inline-block;
  font-size:1.065em;
  font-weight:800;
  line-height:.88;
  letter-spacing:-.058em;
  text-wrap:nowrap;
}
.hero #hero-title .rp-hero-emphasis--brands{color:inherit;}
.hero #hero-title .rp-hero-emphasis--growth{color:#ef3f3f;}

/* Home Full Services carousel. */
.services.rp-services-showcase{
  position:relative !important;
  overflow:hidden !important;
  padding:clamp(86px,8vw,148px) 0 clamp(82px,8vw,138px) !important;
  background:
    radial-gradient(circle at 18% 10%,rgba(211,47,47,.13),transparent 28%),
    linear-gradient(145deg,#07111f 0%,#0b1728 52%,#07111f 100%) !important;
  isolation:isolate;
}
.services.rp-services-showcase::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.34;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);
  background-size:84px 84px;
  mask-image:linear-gradient(to bottom,transparent,black 16%,black 84%,transparent);
}
.rp-services-heading{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.58fr);
  align-items:end;
  gap:clamp(34px,6vw,96px);
  margin-bottom:clamp(34px,4vw,68px);
}
.rp-services-heading h2{
  max-width:1060px;
  margin:.16em 0 0;
  color:#fff;
  font-size:clamp(48px,6.6vw,116px);
  font-weight:620;
  line-height:.88;
  letter-spacing:-.064em;
  text-wrap:balance;
}
.rp-services-heading > p{
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:clamp(15px,1.1vw,19px);
  line-height:1.68;
}
.rp-service-carousel{position:relative;}
.rp-service-viewport{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:clamp(18px,2vw,34px) 0 clamp(30px,4vw,62px);
  outline:none;
  touch-action:pan-y;
  cursor:grab;
}
.rp-service-viewport:active{cursor:grabbing;}
.rp-service-viewport:focus-visible::after{
  content:"";
  position:absolute;
  inset:6px 12px;
  border:2px solid rgba(255,255,255,.8);
  border-radius:18px;
  pointer-events:none;
}
.rp-service-track{
  display:flex;
  align-items:center;
  gap:clamp(16px,2.1vw,34px);
  width:max-content;
  padding-inline:max(0px,calc(50vw - min(29vw,440px)));
  transform:translate3d(0,0,0);
  transition:transform .78s var(--rp-update-ease);
  will-change:transform;
  user-select:none;
}
.rp-service-track.is-dragging{transition:none;}
.rp-service-slide{
  flex:0 0 min(58vw,880px);
  opacity:.28;
  filter:saturate(.7) brightness(.75);
  transform:scale(.82);
  transform-origin:center;
  transition:transform .78s var(--rp-update-ease),opacity .62s ease,filter .62s ease;
  pointer-events:none;
}
.rp-service-slide.is-adjacent{
  opacity:.72;
  filter:saturate(.9) brightness(.88);
  transform:scale(.91);
}
.rp-service-slide.is-active{
  z-index:2;
  opacity:1;
  filter:none;
  transform:scale(1);
  pointer-events:auto;
}
.rp-service-card{
  display:grid;
  grid-template-rows:minmax(280px,clamp(340px,34vw,620px)) auto;
  min-height:100%;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:clamp(16px,1.5vw,26px);
  color:#fff;
  text-decoration:none;
  background:rgba(9,20,35,.86);
  box-shadow:0 30px 88px rgba(0,0,0,.34);
  transition:border-color .35s ease,box-shadow .45s ease,transform .45s var(--rp-update-ease);
}
.rp-service-slide.is-active .rp-service-card:hover,
.rp-service-slide.is-active .rp-service-card:focus-visible{
  border-color:rgba(255,255,255,.5);
  box-shadow:0 42px 110px rgba(0,0,0,.48);
  transform:translateY(-5px);
  outline:none;
}
.rp-service-card__media{position:relative;overflow:hidden;background:#13233a;}
.rp-service-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(5,12,22,.42));
  pointer-events:none;
}
.rp-service-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
  transition:transform 1.1s var(--rp-update-ease),filter .6s ease;
}
.rp-service-slide.is-active .rp-service-card:hover img{transform:scale(1.055);}
.rp-service-card__content{padding:clamp(25px,3.2vw,52px);}
.rp-service-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:clamp(20px,2.3vw,34px);
  color:rgba(255,255,255,.58);
  font-size:11px;
  font-weight:690;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.rp-service-card__meta span:first-child{color:#ef5350;}
.rp-service-card h3{
  margin:0;
  color:#fff;
  font-size:clamp(32px,4vw,68px);
  font-weight:620;
  line-height:.98;
  letter-spacing:-.052em;
}
.rp-service-card p{
  max-width:720px;
  margin:clamp(15px,1.8vw,25px) 0 0;
  color:rgba(255,255,255,.69);
  font-size:clamp(14px,1.03vw,18px);
  line-height:1.62;
}
.rp-service-card__link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:clamp(22px,2.4vw,36px);
  color:#fff;
  font-size:13px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.rp-service-card__link b{font-size:1.2em;font-weight:500;transition:transform .3s ease;}
.rp-service-card:hover .rp-service-card__link b{transform:translate(3px,-3px);}
.rp-carousel-controls{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:clamp(20px,3vw,50px);
}
.rp-carousel-navigation{display:flex;align-items:center;gap:16px;}
.rp-carousel-arrow{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.035);
  cursor:pointer;
  transition:background .3s ease,border-color .3s ease,transform .3s var(--rp-update-ease),opacity .3s ease;
}
.rp-carousel-arrow:hover:not(:disabled),.rp-carousel-arrow:focus-visible:not(:disabled){background:#fff;color:#07111f;border-color:#fff;transform:translateY(-2px);outline:none;}
.rp-carousel-arrow:disabled{opacity:.24;cursor:not-allowed;}
.rp-carousel-status{display:flex;align-items:center;gap:10px;min-width:84px;color:#fff;}
.rp-carousel-status strong{font-size:18px;font-weight:700;}
.rp-carousel-status span{display:block;width:24px;height:1px;background:rgba(255,255,255,.34);}
.rp-carousel-status small{color:rgba(255,255,255,.5);font-size:12px;font-weight:650;}
.rp-carousel-dots{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;}
.rp-carousel-dot{
  position:relative;
  width:28px;
  height:18px;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
}
.rp-carousel-dot::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:100%;
  height:2px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  transform:translateY(-50%);
  transition:background .3s ease,transform .3s ease;
}
.rp-carousel-dot.is-active::before{background:#ef5350;transform:translateY(-50%) scaleY(1.5);}
.rp-carousel-dot:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px;}
.rp-services-all{
  display:inline-flex;
  align-items:center;
  gap:10px;
  justify-self:end;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  text-decoration:none;
  text-transform:uppercase;
}
.rp-services-all span{transition:transform .3s ease;}
.rp-services-all:hover span{transform:translate(3px,-3px);}

/* About: the Creative Solutions narrative now exists only here. */
.rp-about-creative{overflow:hidden;background:#f2efe8 !important;}
.rp-about-creative__grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:clamp(44px,8vw,132px);
  align-items:center;
}
.rp-about-creative__copy h2{
  max-width:860px;
  margin:.2em 0 .36em;
  color:#101b2a;
  font-size:clamp(48px,6vw,106px);
  font-weight:620;
  line-height:.9;
  letter-spacing:-.064em;
  text-wrap:balance;
}
.rp-about-creative__copy > p:not(.eyebrow){max-width:680px;color:#526071;font-size:clamp(16px,1.12vw,19px);line-height:1.72;}
.rp-about-creative__copy .btn{margin-top:20px;}
.rp-about-creative__media{
  position:relative;
  min-height:clamp(440px,55vw,780px);
  overflow:hidden;
  border-radius:clamp(18px,2vw,30px);
  box-shadow:0 40px 90px rgba(7,17,31,.17);
}
.rp-about-creative__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(7,17,31,.28));}
.rp-about-creative__media img{width:100%;height:100%;object-fit:cover;display:block;}

/* Services page: remove secondary labels and align direct actions. */
#main .service-category__copy > .rp-service-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  max-width:620px;
  margin-top:clamp(28px,3vw,44px);
}
.rp-contact-button{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 18px;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:12px;
  font-weight:760;
  line-height:1.15;
  letter-spacing:.075em;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .3s var(--rp-update-ease),background .3s ease,color .3s ease,border-color .3s ease;
}
.rp-contact-button small{font-size:9px;font-weight:650;letter-spacing:.04em;opacity:.72;}
[data-rp-surface="light"] .rp-contact-button--email{color:#fff;background:#d32f2f;border-color:#d32f2f;}
[data-rp-surface="light"] .rp-contact-button--call{color:#14243a;background:transparent;border-color:rgba(20,36,58,.35);}
[data-rp-surface="dark"] .rp-contact-button--email{color:#07111f;background:#fff;border-color:#fff;}
[data-rp-surface="dark"] .rp-contact-button--call{color:#fff;background:transparent;border-color:rgba(255,255,255,.34);}
.rp-contact-button:hover,.rp-contact-button:focus-visible{transform:translateY(-3px);outline:none;}
[data-rp-surface="light"] .rp-contact-button--call:hover,[data-rp-surface="light"] .rp-contact-button--call:focus-visible{color:#fff;background:#14243a;border-color:#14243a;}
[data-rp-surface="dark"] .rp-contact-button--call:hover,[data-rp-surface="dark"] .rp-contact-button--call:focus-visible{color:#07111f;background:#fff;border-color:#fff;}
.services-page .service-category__media figcaption{display:none !important;}
.service-category__media img{display:block;}

/* Contact: one cinematic hero, no secondary sections. */
body:has(.rp-contact-hero) main{background:#07111f;}
.rp-contact-hero{
  position:relative;
  min-height:max(720px,100svh);
  display:grid;
  align-items:center;
  overflow:hidden;
  padding:clamp(150px,17vh,230px) 0 clamp(88px,12vh,150px);
  isolation:isolate;
  background:#07111f;
}
.rp-contact-hero__media,.rp-contact-hero__shade{position:absolute;inset:0;z-index:-2;}
.rp-contact-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.82) contrast(1.1) brightness(.62);}
.rp-contact-hero__shade{
  z-index:-1;
  background:
    radial-gradient(circle at 74% 35%,rgba(211,47,47,.16),transparent 31%),
    linear-gradient(90deg,rgba(5,13,24,.96) 0%,rgba(5,13,24,.86) 45%,rgba(5,13,24,.42) 100%),
    linear-gradient(180deg,rgba(4,10,18,.42),rgba(4,10,18,.72));
}
.rp-contact-hero__content{max-width:1240px;margin-inline:auto;}
.rp-contact-hero .eyebrow{margin:0 0 22px;color:rgba(255,255,255,.68);}
.rp-contact-hero h1{
  max-width:1160px;
  margin:0;
  color:#fff;
  font-size:clamp(54px,7.4vw,138px);
  font-weight:610;
  line-height:.86;
  letter-spacing:-.068em;
  text-wrap:balance;
}
.rp-contact-hero__content > p:not(.eyebrow){max-width:730px;margin:clamp(26px,3vw,42px) 0 0;color:rgba(255,255,255,.72);font-size:clamp(16px,1.2vw,21px);line-height:1.65;}
.rp-contact-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(30px,4vw,54px);}
.rp-contact-hero__button{
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:16px 26px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:760;
  letter-spacing:.095em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .3s var(--rp-update-ease),background .3s ease,color .3s ease,border-color .3s ease;
}
.rp-contact-hero__button--primary{color:#fff;background:#d32f2f;border-color:#d32f2f;}
.rp-contact-hero__button--secondary{background:rgba(255,255,255,.04);backdrop-filter:blur(10px);}
.rp-contact-hero__button:hover,.rp-contact-hero__button:focus-visible{transform:translateY(-3px);outline:none;}
.rp-contact-hero__button--primary:hover,.rp-contact-hero__button--primary:focus-visible{background:#fff;color:#07111f;border-color:#fff;}
.rp-contact-hero__button--secondary:hover,.rp-contact-hero__button--secondary:focus-visible{background:#fff;color:#07111f;border-color:#fff;}
.rp-contact-hero__details{
  display:flex;
  flex-wrap:wrap;
  gap:clamp(24px,5vw,74px);
  margin-top:clamp(44px,6vw,82px);
  padding-top:clamp(25px,3vw,38px);
  border-top:1px solid rgba(255,255,255,.18);
}
.rp-contact-hero__details a{display:grid;gap:7px;color:#fff;text-decoration:none;}
.rp-contact-hero__details span{color:rgba(255,255,255,.5);font-size:10px;font-weight:680;letter-spacing:.16em;text-transform:uppercase;}
.rp-contact-hero__details strong{font-size:clamp(14px,1.18vw,18px);font-weight:560;letter-spacing:-.01em;overflow-wrap:anywhere;}

/* Global safeguards for the updated elements. */
.rp-service-card,.rp-contact-button,.rp-contact-hero__button,.rp-services-all{ -webkit-tap-highlight-color:transparent; }
.rp-contact-button:focus-visible,.rp-contact-hero__button:focus-visible,.rp-services-all:focus-visible{outline:2px solid currentColor;outline-offset:4px;}

@media (max-width:1100px){
  .site-header .rp-header-statement{width:min(48vw,570px);font-size:10px;letter-spacing:.085em;}
  .rp-services-heading{grid-template-columns:1fr;align-items:start;gap:22px;}
  .rp-services-heading > p{max-width:680px;}
  .rp-service-track{padding-inline:14vw;}
  .rp-service-slide{flex-basis:min(72vw,760px);}
  .rp-carousel-controls{grid-template-columns:auto 1fr;}
  .rp-services-all{grid-column:2;justify-self:end;}
  .rp-carousel-dots{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow:hidden;}
  .rp-about-creative__grid{grid-template-columns:1fr;}
  .rp-about-creative__media{min-height:min(74vw,690px);}
}

@media (max-width:760px){
  .site-header .rp-header-statement{
    top:calc(100% + 7px);
    width:calc(100vw - 30px);
    max-width:none;
    padding:9px 13px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    font-size:8px;
    letter-spacing:.065em;
    line-height:1.25;
    background:rgba(7,17,31,.88);
    box-shadow:0 10px 30px rgba(0,0,0,.22);
    backdrop-filter:blur(14px);
    transform:translate(-50%,-10px);
  }
  .site-header.is-past-hero .rp-header-statement{transform:translate(-50%,0);}
  .hero #hero-title .rp-hero-emphasis{font-size:1.04em;letter-spacing:-.055em;}
  .services.rp-services-showcase{padding:76px 0 82px !important;}
  .rp-services-heading{margin-bottom:22px;}
  .rp-services-heading h2{font-size:clamp(43px,13vw,65px);line-height:.91;}
  .rp-services-heading > p{font-size:15px;line-height:1.58;}
  .rp-service-viewport{padding:14px 0 30px;}
  .rp-service-track{padding-inline:8vw;}
  .rp-service-slide{flex-basis:84vw;transform:scale(.88);}
  .rp-service-slide.is-adjacent{transform:scale(.93);opacity:.54;}
  .rp-service-card{grid-template-rows:235px auto;border-radius:18px;}
  .rp-service-card__content{padding:25px 23px 27px;}
  .rp-service-card h3{font-size:clamp(31px,9vw,44px);}
  .rp-service-card p{font-size:14px;line-height:1.55;}
  .rp-service-card__link{margin-top:22px;font-size:11px;}
  .rp-carousel-controls{grid-template-columns:1fr auto;gap:24px 14px;}
  .rp-carousel-navigation{gap:10px;}
  .rp-carousel-arrow{width:46px;height:46px;}
  .rp-carousel-status{display:none;}
  .rp-carousel-dots{grid-column:1/-1;grid-row:2;justify-content:center;gap:5px;}
  .rp-carousel-dot{width:20px;}
  .rp-services-all{grid-column:2;grid-row:1;font-size:10px;}
  .rp-about-creative__copy h2{font-size:clamp(43px,13vw,64px);}
  .rp-about-creative__media{min-height:108vw;max-height:620px;}
  #main .service-category__copy > .rp-service-actions{grid-template-columns:1fr;}
  .rp-contact-button{width:100%;min-height:56px;}
  .rp-contact-hero{min-height:max(680px,100svh);padding:146px 0 76px;}
  .rp-contact-hero__shade{background:linear-gradient(90deg,rgba(5,13,24,.94),rgba(5,13,24,.72)),linear-gradient(180deg,rgba(5,13,24,.4),rgba(5,13,24,.82));}
  .rp-contact-hero__media img{object-position:60% center;}
  .rp-contact-hero h1{font-size:clamp(47px,14vw,72px);line-height:.89;}
  .rp-contact-hero__content > p:not(.eyebrow){font-size:15px;line-height:1.58;}
  .rp-contact-hero__actions{display:grid;grid-template-columns:1fr;width:100%;}
  .rp-contact-hero__button{width:100%;min-height:56px;}
  .rp-contact-hero__details{display:grid;grid-template-columns:1fr;gap:20px;}
}

@media (max-width:390px){
  .site-header .rp-header-statement{font-size:7.4px;padding-inline:10px;}
  .rp-service-slide{flex-basis:88vw;}
  .rp-service-card{grid-template-rows:210px auto;}
  .rp-service-card__content{padding:22px 20px 24px;}
  .rp-services-all{max-width:116px;text-align:right;line-height:1.35;}
}

@media (min-width:2200px){
  .rp-service-track{padding-inline:max(0px,calc(50vw - min(22vw,520px)));}
  .rp-service-slide{flex-basis:min(44vw,1040px);}
  .rp-service-card{grid-template-rows:minmax(520px,610px) auto;}
  .rp-services-heading{max-width:1900px;}
}

@media (prefers-reduced-motion:reduce){
  .site-header .rp-header-statement,
  .rp-service-track,
  .rp-service-slide,
  .rp-service-card,
  .rp-service-card__media img,
  .rp-carousel-arrow,
  .rp-contact-button,
  .rp-contact-hero__button{transition:none !important;scroll-behavior:auto !important;}
  .site-header .rp-header-statement{filter:none !important;}
}

/* ===== SOURCE: assets/css/realpro-viewport-visibility-final.css ===== */
/* ==========================================================
   REALPRO STUDIOS — VIEWPORT VISIBILITY FINAL
   2026-08-05
   Final non-destructive layer for header contrast, carousel
   fit and cross-device content visibility.
   ========================================================== */

:root{
  --rp-visibility-blue:#19365f;
  --rp-visibility-red:#d32f2f;
  --rp-visibility-ease:cubic-bezier(.22,.76,.24,1);
}

/* Structural safeguards: no page-level horizontal clipping. */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}

main,
main > section,
.container,
[class*="__grid"],
[class*="-grid"]{
  min-width:0;
  max-width:100%;
}

main > section{
  scroll-margin-top:clamp(92px,7vw,118px);
}

img,
picture,
video,
svg,
iframe{
  max-width:100%;
}

h1,
h2,
h3,
h4,
p,
a,
strong,
span{
  min-width:0;
}

h1,
h2,
h3,
h4{
  overflow-wrap:break-word;
}

/* Header statement: legible navy on the light header after the hero. */
.site-header.is-past-hero .rp-header-statement,
.site-header.is-scrolled .rp-header-statement{
  color:var(--rp-visibility-blue) !important;
  text-shadow:none !important;
}

.site-header .rp-header-statement strong{
  color:inherit !important;
}

.site-header .rp-header-statement em{
  color:var(--rp-visibility-red) !important;
}

/* Full Services carousel: preserve the approved structure while ensuring
   the complete active card can be seen on common laptop and desktop heights. */
.services.rp-services-showcase{
  overflow:hidden !important;
  padding-top:clamp(70px,7vw,118px) !important;
  padding-bottom:clamp(70px,7vw,112px) !important;
}

.rp-services-heading{
  margin-bottom:clamp(24px,3vw,48px);
}

.rp-service-viewport{
  overflow:hidden;
  padding-top:clamp(12px,1.7vh,20px);
  padding-bottom:clamp(20px,2.8vh,34px);
}

.rp-service-track{
  align-items:flex-start;
  gap:clamp(14px,1.65vw,28px);
  padding-inline:max(24px,calc(50vw - min(27vw,410px)));
}

.rp-service-slide{
  flex-basis:min(54vw,820px);
}

.rp-service-card{
  grid-template-rows:clamp(250px,32svh,420px) auto;
  height:auto;
  min-height:0;
}

.rp-service-card__content{
  padding:clamp(22px,2vw,34px);
}

.rp-service-card__meta{
  margin-bottom:clamp(13px,1.25vw,20px);
}

.rp-service-card h3{
  font-size:clamp(34px,3.15vw,54px);
  line-height:.96;
  letter-spacing:-.048em;
  text-wrap:balance;
}

.rp-service-card p{
  margin-top:clamp(10px,1vw,15px);
  font-size:clamp(13px,.92vw,16px);
  line-height:1.5;
}

.rp-service-card__link{
  margin-top:clamp(15px,1.35vw,22px);
  font-size:clamp(10px,.68vw,12px);
}

.rp-carousel-controls{
  gap:clamp(16px,2.3vw,36px);
}

/* Short landscape screens and standard notebooks. */
@media (min-width:1101px) and (max-height:900px){
  .services.rp-services-showcase{
    padding-top:clamp(58px,7vh,78px) !important;
    padding-bottom:clamp(58px,7vh,78px) !important;
  }

  .rp-services-heading{
    margin-bottom:20px;
  }

  .rp-services-heading h2{
    font-size:clamp(46px,5.2vw,88px);
    line-height:.9;
  }

  .rp-services-heading > p{
    font-size:clamp(14px,.95vw,17px);
    line-height:1.55;
  }

  .rp-service-card{
    grid-template-rows:clamp(235px,31svh,310px) auto;
  }

  .rp-service-card__content{
    padding:clamp(20px,1.65vw,28px);
  }

  .rp-service-card__meta{
    margin-bottom:12px;
  }

  .rp-service-card h3{
    font-size:clamp(32px,2.8vw,48px);
  }

  .rp-service-card p{
    margin-top:9px;
    line-height:1.45;
  }

  .rp-service-card__link{
    margin-top:14px;
  }

  .rp-service-viewport{
    padding-top:10px;
    padding-bottom:20px;
  }
}

@media (max-width:1100px){
  .rp-service-track{
    padding-inline:12vw;
  }

  .rp-service-slide{
    flex-basis:min(76vw,720px);
  }

  .rp-service-card{
    grid-template-rows:clamp(230px,30svh,340px) auto;
  }

  .rp-service-card__content{
    padding:clamp(21px,3vw,30px);
  }

  .rp-service-card h3{
    font-size:clamp(32px,5vw,48px);
  }

  .rp-carousel-dots{
    overflow:visible;
    flex-wrap:wrap;
  }
}

@media (max-width:760px){
  /* Keep the statement inside the mobile header so it never floats over
     section titles or carousel content. */
  .site-header{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center !important;
    gap:8px;
  }

  .site-header .header-logo{
    grid-column:1;
  }

  .site-header .menu-toggle{
    grid-column:3;
  }

  .site-header .rp-header-statement{
    position:static !important;
    grid-column:2;
    grid-row:1;
    align-self:center;
    width:auto !important;
    max-width:100%;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    color:var(--rp-visibility-blue) !important;
    font-size:clamp(6.2px,1.75vw,7.2px) !important;
    line-height:1.22 !important;
    letter-spacing:.045em !important;
    white-space:normal;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    transform:none !important;
  }

  .site-header.is-past-hero .rp-header-statement,
  .site-header.is-scrolled .rp-header-statement{
    color:var(--rp-visibility-blue) !important;
    transform:none !important;
  }

  .services.rp-services-showcase{
    padding:66px 0 72px !important;
  }

  .rp-services-heading{
    margin-bottom:18px;
  }

  .rp-services-heading h2{
    font-size:clamp(40px,12vw,58px);
    line-height:.92;
  }

  .rp-services-heading > p{
    font-size:14px;
    line-height:1.55;
  }

  .rp-service-viewport{
    padding:10px 0 20px;
  }

  .rp-service-track{
    gap:14px;
    padding-inline:5vw;
  }

  .rp-service-slide,
  .rp-service-slide.is-adjacent,
  .rp-service-slide.is-active{
    flex-basis:90vw;
  }

  .rp-service-slide{
    transform:scale(.94);
  }

  .rp-service-slide.is-adjacent{
    transform:scale(.96);
  }

  .rp-service-card{
    grid-template-rows:clamp(190px,30svh,250px) auto;
    border-radius:17px;
  }

  .rp-service-card__content{
    padding:21px 20px 23px;
  }

  .rp-service-card__meta{
    margin-bottom:12px;
    font-size:10px;
  }

  .rp-service-card h3{
    font-size:clamp(29px,8.6vw,40px);
    line-height:.97;
  }

  .rp-service-card p{
    margin-top:10px;
    font-size:13.5px;
    line-height:1.48;
  }

  .rp-service-card__link{
    margin-top:15px;
    font-size:10px;
  }

  .rp-carousel-controls{
    gap:18px 12px;
  }

  .rp-carousel-dots{
    gap:4px;
    overflow:visible;
    flex-wrap:nowrap;
  }

  .rp-carousel-dot{
    width:18px;
  }
}

@media (max-width:390px){
  .rp-service-track{
    padding-inline:4vw;
  }

  .rp-service-slide,
  .rp-service-slide.is-adjacent,
  .rp-service-slide.is-active{
    flex-basis:92vw;
  }

  .rp-service-card{
    grid-template-rows:clamp(180px,28svh,220px) auto;
  }

  .rp-service-card__content{
    padding:19px 18px 21px;
  }

  .rp-service-card h3{
    font-size:clamp(28px,8.5vw,36px);
  }

  .rp-services-all{
    max-width:128px;
  }
}

@media (max-height:700px) and (max-width:760px){
  .rp-service-card{
    grid-template-rows:170px auto;
  }

  .rp-service-card__content{
    padding-top:17px;
    padding-bottom:18px;
  }

  .rp-service-card p{
    line-height:1.42;
  }
}

@media (min-width:2200px){
  .rp-service-slide{
    flex-basis:min(42vw,980px);
  }

  .rp-service-track{
    padding-inline:max(32px,calc(50vw - min(21vw,490px)));
  }

  .rp-service-card{
    grid-template-rows:clamp(380px,29svh,500px) auto;
  }

  .rp-service-card h3{
    font-size:clamp(50px,2.6vw,70px);
  }
}

@media (prefers-reduced-motion:reduce){
  .rp-service-track,
  .rp-service-slide,
  .rp-service-card{
    transition:none !important;
  }
}

/* ===== SOURCE: assets/css/realpro-final-visibility-contrast-20260805.css ===== */
/* ================================================================
   REALPRO STUDIOS — FINAL VISIBILITY + CONTRAST CORRECTIONS
   2026-08-05 · Loaded last on every page
   ================================================================ */

:root{
  --rp-final-navy:#07111f;
  --rp-final-blue:#19365f;
  --rp-final-red:#d32f2f;
  --rp-final-red-hover:#b8242a;
  --rp-final-white:#ffffff;
  --rp-final-cream:#f7f4ee;
  --rp-final-ease:cubic-bezier(.22,.76,.24,1);
}

/* The page must expand with its content. No section is allowed to crop copy,
   actions, media or navigation because of a fixed viewport height. */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:clip !important;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

main,
main > section,
.hero,
.article-hero,
.rp-page-hero,
.rp-contact-hero,
.hero-grid,
.article-hero__grid,
.rp-page-hero__content,
.rp-contact-hero__content{
  height:auto !important;
  max-height:none !important;
}

main > section,
.hero,
.article-hero,
.rp-page-hero,
.rp-contact-hero{
  min-width:0;
}

main > section:not(.services):not(.rp-services-showcase){
  overflow-y:visible !important;
}

.container,
[class*="__content"],
[class*="__grid"],
[class*="-grid"],
.button-row,
.rp-service-actions{
  min-width:0;
  max-width:100%;
}

img,
picture,
video,
iframe,
svg{
  max-width:100%;
}

h1,
h2,
h3,
h4,
p,
a,
strong,
em,
span{
  min-width:0;
}

h1,
h2,
h3,
h4{
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}

p,
a{
  overflow-wrap:anywhere;
}

/* Home hero: both strategic words use the REALPRO red. */
html body .hero #hero-title .rp-hero-emphasis--brands,
html body .hero #hero-title .rp-hero-emphasis--growth{
  color:var(--rp-final-red) !important;
  -webkit-text-fill-color:var(--rp-final-red) !important;
  text-shadow:none !important;
}

/* One approved header statement across the full website. */
html body .site-header[data-header] .rp-header-statement{
  color:var(--rp-final-blue) !important;
  -webkit-text-fill-color:var(--rp-final-blue) !important;
  text-shadow:none !important;
}

html body .site-header[data-header] .rp-header-statement strong{
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
}

html body .site-header[data-header] .rp-header-statement em{
  color:var(--rp-final-red) !important;
  -webkit-text-fill-color:var(--rp-final-red) !important;
}

/* Full Services: complete active card, restrained neighboring previews and a
   soft transition. The card height responds to both width and screen height. */
html body .services.rp-services-showcase{
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
  padding-top:clamp(64px,7vw,112px) !important;
  padding-bottom:clamp(64px,7vw,108px) !important;
}

html body .rp-services-heading{
  margin-bottom:clamp(22px,2.7vw,44px) !important;
}

html body .rp-service-viewport{
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
  padding:clamp(10px,1.5vh,18px) 0 clamp(18px,2.5vh,30px) !important;
}

html body .rp-service-track{
  align-items:flex-start !important;
  gap:clamp(14px,1.55vw,26px) !important;
  transition:transform .92s var(--rp-final-ease) !important;
}

html body .rp-service-track.is-dragging{
  transition:none !important;
}

html body .rp-service-slide{
  flex-basis:min(54vw,820px) !important;
  transform:scale(.90) !important;
  transition:transform .92s var(--rp-final-ease),opacity .72s ease,filter .72s ease !important;
}

html body .rp-service-slide.is-adjacent{
  opacity:.62 !important;
  transform:scale(.95) !important;
}

html body .rp-service-slide.is-active{
  opacity:1 !important;
  filter:none !important;
  transform:scale(1) !important;
}

html body .rp-service-card{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  grid-template-rows:clamp(230px,31svh,410px) auto !important;
}

html body .rp-service-card__content{
  padding:clamp(21px,2vw,34px) !important;
}

html body .rp-service-card__meta{
  margin-bottom:clamp(12px,1.2vw,19px) !important;
}

html body .rp-service-card h3{
  font-size:clamp(32px,3.1vw,54px) !important;
  line-height:.97 !important;
}

html body .rp-service-card p{
  margin-top:clamp(9px,1vw,15px) !important;
  font-size:clamp(13px,.9vw,16px) !important;
  line-height:1.5 !important;
}

html body .rp-service-card__link{
  margin-top:clamp(14px,1.3vw,21px) !important;
}

/* Contrast system. Text and icons inherit the button foreground so no CTA can
   become navy-on-navy or transparent-on-image after cascade conflicts. */
html body .btn,
html body .rp-contact-button,
html body .rp-contact-hero__button{
  opacity:1 !important;
  text-shadow:none !important;
}

html body .btn *,
html body .rp-contact-button *,
html body .rp-contact-hero__button *{
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}

html body .btn-red,
html body .btn.btn-red,
html body .btn--primary,
html body .button-row .btn--primary,
html body .rp-contact-button--email,
html body [data-rp-surface="light"] .rp-contact-button--email,
html body [data-rp-surface="dark"] .rp-contact-button--email,
html body .rp-contact-hero__button--primary{
  color:var(--rp-final-white) !important;
  -webkit-text-fill-color:var(--rp-final-white) !important;
  background:var(--rp-final-red) !important;
  border-color:var(--rp-final-red) !important;
  box-shadow:0 12px 30px rgba(211,47,47,.24) !important;
}

html body .btn-red:hover,
html body .btn-red:focus-visible,
html body .btn--primary:hover,
html body .btn--primary:focus-visible,
html body .rp-contact-button--email:hover,
html body .rp-contact-button--email:focus-visible,
html body .rp-contact-hero__button--primary:hover,
html body .rp-contact-hero__button--primary:focus-visible{
  color:var(--rp-final-white) !important;
  -webkit-text-fill-color:var(--rp-final-white) !important;
  background:var(--rp-final-red-hover) !important;
  border-color:var(--rp-final-red-hover) !important;
}

html body [data-rp-surface="dark"] .btn--secondary,
html body [data-rp-surface="dark"] .button-row .btn:not(.btn-red):not(.btn--primary),
html body [data-rp-surface="dark"] .rp-contact-button--call,
html body .rp-contact-hero__button--secondary{
  color:var(--rp-final-white) !important;
  -webkit-text-fill-color:var(--rp-final-white) !important;
  background:rgba(7,17,31,.34) !important;
  border-color:rgba(255,255,255,.72) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter:blur(12px);
}

html body [data-rp-surface="dark"] .btn--secondary:hover,
html body [data-rp-surface="dark"] .btn--secondary:focus-visible,
html body [data-rp-surface="dark"] .button-row .btn:not(.btn-red):not(.btn--primary):hover,
html body [data-rp-surface="dark"] .button-row .btn:not(.btn-red):not(.btn--primary):focus-visible,
html body [data-rp-surface="dark"] .rp-contact-button--call:hover,
html body [data-rp-surface="dark"] .rp-contact-button--call:focus-visible,
html body .rp-contact-hero__button--secondary:hover,
html body .rp-contact-hero__button--secondary:focus-visible{
  color:var(--rp-final-navy) !important;
  -webkit-text-fill-color:var(--rp-final-navy) !important;
  background:var(--rp-final-white) !important;
  border-color:var(--rp-final-white) !important;
}

html body [data-rp-surface="light"] .btn--secondary,
html body [data-rp-surface="light"] .button-row .btn:not(.btn-red):not(.btn--primary),
html body [data-rp-surface="light"] .rp-contact-button--call{
  color:var(--rp-final-navy) !important;
  -webkit-text-fill-color:var(--rp-final-navy) !important;
  background:var(--rp-final-white) !important;
  border-color:rgba(7,17,31,.42) !important;
}

html body [data-rp-surface="light"] .btn--secondary:hover,
html body [data-rp-surface="light"] .btn--secondary:focus-visible,
html body [data-rp-surface="light"] .button-row .btn:not(.btn-red):not(.btn--primary):hover,
html body [data-rp-surface="light"] .button-row .btn:not(.btn-red):not(.btn--primary):focus-visible,
html body [data-rp-surface="light"] .rp-contact-button--call:hover,
html body [data-rp-surface="light"] .rp-contact-button--call:focus-visible{
  color:var(--rp-final-white) !important;
  -webkit-text-fill-color:var(--rp-final-white) !important;
  background:var(--rp-final-navy) !important;
  border-color:var(--rp-final-navy) !important;
}

html body .rp-contact-button small{
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:.82 !important;
}

/* Contact: restrained title scale, strong contrast and compact vertical rhythm
   so title, description, actions and official contact details remain visible. */
html body .rp-contact-hero{
  min-height:100svh !important;
  padding:clamp(112px,13vh,148px) 0 clamp(38px,5vh,64px) !important;
  align-items:center !important;
  overflow:hidden !important;
}

html body .rp-contact-hero__shade{
  background:
    radial-gradient(circle at 74% 35%,rgba(211,47,47,.18),transparent 31%),
    linear-gradient(90deg,rgba(5,13,24,.98) 0%,rgba(5,13,24,.91) 47%,rgba(5,13,24,.58) 100%),
    linear-gradient(180deg,rgba(4,10,18,.52),rgba(4,10,18,.82)) !important;
}

html body .rp-contact-hero__content{
  width:min(1240px,calc(100% - 64px)) !important;
  margin-inline:auto !important;
}

html body .rp-contact-hero .eyebrow{
  margin-bottom:clamp(12px,1.7vh,20px) !important;
  color:rgba(255,255,255,.78) !important;
  -webkit-text-fill-color:rgba(255,255,255,.78) !important;
}

html body .rp-contact-hero h1,
html body .rp-contact-hero #rp-contact-title{
  max-width:980px !important;
  color:var(--rp-final-cream) !important;
  -webkit-text-fill-color:var(--rp-final-cream) !important;
  font-size:clamp(42px,min(5.05vw,8.2vh),84px) !important;
  font-weight:620 !important;
  line-height:.95 !important;
  letter-spacing:-.052em !important;
  text-shadow:0 8px 34px rgba(0,0,0,.26) !important;
}

html body .rp-contact-hero__content > p:not(.eyebrow){
  max-width:700px !important;
  margin:clamp(16px,2.2vh,26px) 0 0 !important;
  color:rgba(255,255,255,.82) !important;
  -webkit-text-fill-color:rgba(255,255,255,.82) !important;
  font-size:clamp(15px,1vw,18px) !important;
  line-height:1.55 !important;
}

html body .rp-contact-hero__actions{
  gap:12px !important;
  margin-top:clamp(20px,2.8vh,32px) !important;
}

html body .rp-contact-hero__button{
  min-height:54px !important;
  padding:14px 25px !important;
}

html body .rp-contact-hero__details{
  gap:clamp(22px,4vw,64px) !important;
  margin-top:clamp(26px,3.8vh,44px) !important;
  padding-top:clamp(18px,2.4vh,28px) !important;
  border-color:rgba(255,255,255,.28) !important;
}

html body .rp-contact-hero__details a,
html body .rp-contact-hero__details strong{
  color:var(--rp-final-white) !important;
  -webkit-text-fill-color:var(--rp-final-white) !important;
}

html body .rp-contact-hero__details span{
  color:rgba(255,255,255,.68) !important;
  -webkit-text-fill-color:rgba(255,255,255,.68) !important;
}

/* Standard inner-page heroes remain readable and expand naturally when copy
   wraps on compact devices or translated browser settings. */
html body.rp-standardized-page .rp-page-hero,
html body.rp-standardized-page main > .hero,
html body .article-hero{
  min-height:min(100svh,980px) !important;
  height:auto !important;
  max-height:none !important;
  padding-top:clamp(112px,13vh,160px) !important;
  padding-bottom:clamp(52px,7vh,92px) !important;
}

html body.rp-standardized-page .rp-page-hero__content,
html body.rp-standardized-page main > .hero .hero-grid,
html body.rp-standardized-page main > .hero > .container{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}

@media (max-height:820px) and (min-width:761px){
  html body .rp-contact-hero{
    padding-top:104px !important;
    padding-bottom:28px !important;
  }

  html body .rp-contact-hero h1,
  html body .rp-contact-hero #rp-contact-title{
    max-width:900px !important;
    font-size:clamp(40px,min(4.55vw,7.2vh),68px) !important;
  }

  html body .rp-contact-hero__content > p:not(.eyebrow){
    margin-top:14px !important;
    line-height:1.46 !important;
  }

  html body .rp-contact-hero__actions{
    margin-top:18px !important;
  }

  html body .rp-contact-hero__details{
    margin-top:22px !important;
    padding-top:17px !important;
  }

  html body .services.rp-services-showcase{
    padding-top:54px !important;
    padding-bottom:58px !important;
  }

  html body .rp-service-card{
    grid-template-rows:clamp(205px,29svh,285px) auto !important;
  }
}

@media (max-width:1100px){
  html body .rp-service-slide{
    flex-basis:min(76vw,720px) !important;
  }

  html body .rp-service-card{
    grid-template-rows:clamp(220px,30svh,335px) auto !important;
  }
}

@media (max-width:760px){
  html body .site-header[data-header] .rp-header-statement{
    color:var(--rp-final-blue) !important;
    -webkit-text-fill-color:var(--rp-final-blue) !important;
  }

  html body .services.rp-services-showcase{
    padding:62px 0 68px !important;
  }

  html body .rp-service-track{
    gap:12px !important;
    padding-inline:5vw !important;
  }

  html body .rp-service-slide,
  html body .rp-service-slide.is-adjacent,
  html body .rp-service-slide.is-active{
    flex-basis:90vw !important;
  }

  html body .rp-service-card{
    grid-template-rows:clamp(180px,28svh,245px) auto !important;
  }

  html body .rp-service-card__content{
    padding:20px 19px 22px !important;
  }

  html body .rp-service-card h3{
    font-size:clamp(28px,8.5vw,39px) !important;
  }

  html body .rp-service-card p{
    font-size:13px !important;
    line-height:1.46 !important;
  }

  html body .rp-contact-hero{
    min-height:100svh !important;
    padding:112px 0 36px !important;
    align-items:start !important;
    overflow:hidden !important;
  }

  html body .rp-contact-hero__content{
    width:calc(100% - 34px) !important;
  }

  html body .rp-contact-hero h1,
  html body .rp-contact-hero #rp-contact-title{
    max-width:15ch !important;
    font-size:clamp(36px,10.8vw,54px) !important;
    line-height:.96 !important;
    letter-spacing:-.045em !important;
  }

  html body .rp-contact-hero__content > p:not(.eyebrow){
    margin-top:16px !important;
    font-size:14px !important;
    line-height:1.5 !important;
  }

  html body .rp-contact-hero__actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    margin-top:20px !important;
  }

  html body .rp-contact-hero__button{
    width:100% !important;
    min-height:52px !important;
  }

  html body .rp-contact-hero__details{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    margin-top:24px !important;
    padding-top:18px !important;
  }

  html body.rp-standardized-page .rp-page-hero,
  html body.rp-standardized-page main > .hero,
  html body .article-hero{
    min-height:100svh !important;
    padding-top:108px !important;
    padding-bottom:48px !important;
  }

  html body .button-row,
  html body .rp-service-actions{
    width:100% !important;
  }

  html body .button-row .btn,
  html body .rp-service-actions .rp-contact-button{
    width:100% !important;
  }
}

@media (max-width:390px){
  html body .rp-contact-hero{
    padding-top:104px !important;
    padding-bottom:28px !important;
  }

  html body .rp-contact-hero h1,
  html body .rp-contact-hero #rp-contact-title{
    font-size:clamp(34px,10.4vw,45px) !important;
  }

  html body .rp-service-slide,
  html body .rp-service-slide.is-adjacent,
  html body .rp-service-slide.is-active{
    flex-basis:92vw !important;
  }

  html body .rp-service-card{
    grid-template-rows:clamp(168px,27svh,210px) auto !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body .rp-service-track,
  html body .rp-service-slide{
    transition:none !important;
  }
}

/* Explicit light CTA used in dark end-of-page panels. */
html body [data-rp-surface="dark"] .btn--light,
html body .section--navy .btn--light{
  color:var(--rp-final-navy) !important;
  -webkit-text-fill-color:var(--rp-final-navy) !important;
  background:var(--rp-final-white) !important;
  border-color:var(--rp-final-white) !important;
}

html body [data-rp-surface="dark"] .btn--light:hover,
html body [data-rp-surface="dark"] .btn--light:focus-visible,
html body .section--navy .btn--light:hover,
html body .section--navy .btn--light:focus-visible{
  color:var(--rp-final-white) !important;
  -webkit-text-fill-color:var(--rp-final-white) !important;
  background:var(--rp-final-red) !important;
  border-color:var(--rp-final-red) !important;
}

@media (max-width:760px) and (max-height:740px){
  html body .rp-contact-hero{
    padding-top:96px !important;
    padding-bottom:22px !important;
  }

  html body .rp-contact-hero .eyebrow{
    margin-bottom:9px !important;
  }

  html body .rp-contact-hero h1,
  html body .rp-contact-hero #rp-contact-title{
    max-width:16ch !important;
    font-size:clamp(31px,9.6vw,42px) !important;
    line-height:.95 !important;
  }

  html body .rp-contact-hero__content > p:not(.eyebrow){
    margin-top:11px !important;
    font-size:13px !important;
    line-height:1.42 !important;
  }

  html body .rp-contact-hero__actions{
    gap:9px !important;
    margin-top:14px !important;
  }

  html body .rp-contact-hero__button{
    min-height:47px !important;
    padding:11px 20px !important;
  }

  html body .rp-contact-hero__details{
    gap:11px !important;
    margin-top:16px !important;
    padding-top:13px !important;
  }

  html body .rp-contact-hero__details strong{
    font-size:13px !important;
  }
}

/* ===== SOURCE: assets/css/realpro-master-refinement-20260805.css ===== */
/* ========================================================================
   REALPRO STUDIOS — MASTER ALIGNMENT, CONTRAST & RESPONSIVE REFINEMENT
   Final cascade layer. Loaded last on every HTML page.
   ======================================================================== */
:root{
  --rp-master-navy:#07111f;
  --rp-master-blue:#1a2b4c;
  --rp-master-red:#d83232;
  --rp-master-red-hover:#bd2428;
  --rp-master-white:#ffffff;
  --rp-master-cream:#f7f4ee;
  --rp-master-ink:#14243a;
  --rp-master-muted:#536276;
  --rp-master-on-dark:rgba(255,255,255,.82);
  --rp-master-line-dark:rgba(255,255,255,.48);
  --rp-master-line-light:rgba(7,17,31,.22);
  --rp-master-container:1320px;
  --rp-master-ease:cubic-bezier(.22,.76,.24,1);
}

/* ---------- Global geometry: no clipped page content ---------- */
html{
  overflow-x:clip;
  scroll-padding-top:clamp(72px,7vw,94px);
}
body{
  max-width:100%;
  overflow-x:clip;
}
main,
main > section,
main > article{
  width:100%;
  max-width:100%;
}
main > section,
main > article{
  height:auto !important;
  max-height:none !important;
  scroll-margin-top:clamp(72px,7vw,94px);
}
.container{
  width:min(calc(100% - 64px),var(--rp-master-container)) !important;
  margin-inline:auto !important;
}
img,
video,
iframe,
svg{
  max-width:100%;
}
img,
video{
  display:block;
}
h1,h2,h3,h4,h5,h6{
  min-width:0;
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}
p,li,a,strong,small,span{
  min-width:0;
}
.button-row,
.rp-service-actions,
.rp-contact-hero__actions{
  max-width:100%;
}

/* ---------- Single approved header statement ---------- */
.site-header .rp-header-union-message{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}
.site-header[data-header] .rp-header-statement{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:6 !important;
  display:block !important;
  width:min(58vw,780px) !important;
  max-width:calc(100% - 430px) !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  color:var(--rp-master-blue) !important;
  -webkit-text-fill-color:var(--rp-master-blue) !important;
  font-size:clamp(10px,.82vw,14px) !important;
  font-weight:650 !important;
  line-height:1.16 !important;
  letter-spacing:.105em !important;
  text-align:center !important;
  text-transform:uppercase !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  opacity:0 !important;
  visibility:hidden !important;
  filter:blur(4px) !important;
  transform:translate(-50%,-34%) !important;
  transition:opacity .42s ease,transform .58s var(--rp-master-ease),filter .5s ease,visibility 0s linear .55s !important;
  pointer-events:none !important;
  text-shadow:none !important;
}
.site-header[data-header] .rp-header-statement strong{
  color:var(--rp-master-blue) !important;
  -webkit-text-fill-color:var(--rp-master-blue) !important;
  font:inherit !important;
  font-weight:820 !important;
}
.site-header[data-header] .rp-header-statement em{
  color:var(--rp-master-red) !important;
  -webkit-text-fill-color:var(--rp-master-red) !important;
  font:inherit !important;
  font-style:normal !important;
  font-weight:850 !important;
}
.site-header[data-header].is-past-hero{
  background:rgba(255,255,255,.97) !important;
  border-bottom-color:rgba(26,43,76,.12) !important;
  box-shadow:0 12px 38px rgba(7,17,31,.09) !important;
  backdrop-filter:blur(18px) saturate(1.08) !important;
}
.site-header[data-header].is-past-hero .rp-header-statement{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  transform:translate(-50%,-50%) !important;
  transition-delay:0s !important;
}
/* Never reveal the statement merely because a few pixels were scrolled. */
.site-header[data-header].is-scrolled:not(.is-past-hero) .rp-header-statement{
  opacity:0 !important;
  visibility:hidden !important;
}

/* Home strategic words. */
.hero #hero-title .rp-hero-emphasis--brands,
.hero #hero-title .rp-hero-emphasis--growth{
  color:var(--rp-master-red) !important;
  -webkit-text-fill-color:var(--rp-master-red) !important;
  text-shadow:none !important;
}

/* ---------- Deterministic surface contrast ---------- */
/* Actual light surfaces. Some legacy pages had an incorrect dark data flag on
   section--soft, so class semantics intentionally win here. */
main > section.section--soft,
main > section[data-rp-surface="light"]{
  color:var(--rp-master-ink);
}
main > section.section--soft :is(.section-heading,.editorial-copy,.process-timeline) :is(h1,h2,h3,h4,strong),
main > section[data-rp-surface="light"] :is(.section-heading,.editorial-copy,.process-timeline) :is(h1,h2,h3,h4,strong){
  color:var(--rp-master-ink) !important;
  -webkit-text-fill-color:var(--rp-master-ink) !important;
}
main > section.section--soft :is(.section-heading,.editorial-copy,.process-timeline) :is(p,li),
main > section[data-rp-surface="light"] :is(.section-heading,.editorial-copy,.process-timeline) :is(p,li){
  color:var(--rp-master-muted) !important;
  -webkit-text-fill-color:var(--rp-master-muted) !important;
}

/* Actual dark/cinematic surfaces. */
main > :is(.hero,.rp-page-hero,.rp-contact-hero,.section--navy,.section--cta,.trust-strip,.services.rp-services-showcase),
.site-footer{
  color:var(--rp-master-white) !important;
}
main > :is(.hero,.rp-page-hero,.rp-contact-hero,.section--navy,.section--cta,.trust-strip,.services.rp-services-showcase) :is(h1,h2,h3,h4,strong),
.site-footer :is(h2,h3,h4,strong){
  color:var(--rp-master-white) !important;
  -webkit-text-fill-color:var(--rp-master-white) !important;
}
main > :is(.hero,.rp-page-hero,.rp-contact-hero,.section--navy,.section--cta,.trust-strip,.services.rp-services-showcase) :is(p,li),
.site-footer p{
  color:var(--rp-master-on-dark) !important;
  -webkit-text-fill-color:var(--rp-master-on-dark) !important;
}
main > :is(.hero,.rp-page-hero,.rp-contact-hero,.section--navy,.section--cta,.trust-strip,.services.rp-services-showcase) :is(.eyebrow,.kicker){
  color:#ff6666 !important;
  -webkit-text-fill-color:#ff6666 !important;
}

/* ---------- Buttons: foreground always inherits and always contrasts ---------- */
:is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all){
  position:relative;
  isolation:isolate;
  min-height:52px;
  max-width:100%;
  opacity:1 !important;
  text-decoration:none !important;
  text-shadow:none !important;
  -webkit-text-fill-color:currentColor !important;
}
:is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all) :is(span,small,strong,b,em,svg){
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
  fill:currentColor;
  stroke:currentColor;
}
:is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all):focus-visible{
  outline:3px solid rgba(255,255,255,.94) !important;
  outline-offset:3px !important;
}

/* Primary actions remain REALPRO red on every surface. */
:is(.btn-red,.btn--primary,.rp-contact-button--email,.rp-contact-hero__button--primary){
  color:var(--rp-master-white) !important;
  -webkit-text-fill-color:var(--rp-master-white) !important;
  background:var(--rp-master-red) !important;
  border-color:var(--rp-master-red) !important;
  box-shadow:0 12px 30px rgba(216,50,50,.24) !important;
}
:is(.btn-red,.btn--primary,.rp-contact-button--email,.rp-contact-hero__button--primary):is(:hover,:focus-visible){
  color:var(--rp-master-white) !important;
  -webkit-text-fill-color:var(--rp-master-white) !important;
  background:var(--rp-master-red-hover) !important;
  border-color:var(--rp-master-red-hover) !important;
}

/* Direct-call actions on light backgrounds: light pill, navy copy.
   The button itself remains visually light, so every label and phone number
   uses the approved dark foreground. */
[data-rp-button-surface="light"].rp-contact-button--call,
.section--soft .rp-contact-button--call,
[data-rp-surface="light"] .rp-contact-button--call{
  color:var(--rp-master-blue) !important;
  -webkit-text-fill-color:var(--rp-master-blue) !important;
  background:var(--rp-master-white) !important;
  border-color:rgba(26,43,76,.38) !important;
  box-shadow:0 12px 28px rgba(26,43,76,.12) !important;
}
[data-rp-button-surface="light"].rp-contact-button--call:is(:hover,:focus-visible),
.section--soft .rp-contact-button--call:is(:hover,:focus-visible),
[data-rp-surface="light"] .rp-contact-button--call:is(:hover,:focus-visible){
  color:var(--rp-master-white) !important;
  -webkit-text-fill-color:var(--rp-master-white) !important;
  background:var(--rp-master-blue) !important;
  border-color:var(--rp-master-blue) !important;
}

/* Secondary/call actions on dark backgrounds: light copy with a strong border. */
[data-rp-button-surface="dark"].rp-contact-button--call,
[data-rp-button-surface="dark"].btn:not(.btn--primary):not(.btn-red),
main > :is(.hero,.rp-page-hero,.rp-contact-hero,.section--navy,.section--cta,.trust-strip,.services.rp-services-showcase) :is(.rp-contact-button--call,.btn--secondary,.btn--light),
.rp-contact-hero__button--secondary{
  color:var(--rp-master-white) !important;
  -webkit-text-fill-color:var(--rp-master-white) !important;
  background:rgba(7,17,31,.44) !important;
  border-color:rgba(255,255,255,.72) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06) !important;
  backdrop-filter:blur(12px);
}
[data-rp-button-surface="dark"].rp-contact-button--call:is(:hover,:focus-visible),
[data-rp-button-surface="dark"].btn:not(.btn--primary):not(.btn-red):is(:hover,:focus-visible),
main > :is(.hero,.rp-page-hero,.rp-contact-hero,.section--navy,.section--cta,.trust-strip,.services.rp-services-showcase) :is(.rp-contact-button--call,.btn--secondary,.btn--light):is(:hover,:focus-visible),
.rp-contact-hero__button--secondary:is(:hover,:focus-visible){
  color:var(--rp-master-navy) !important;
  -webkit-text-fill-color:var(--rp-master-navy) !important;
  background:var(--rp-master-white) !important;
  border-color:var(--rp-master-white) !important;
}
.rp-contact-button small{
  display:block;
  font-size:9px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  letter-spacing:.035em !important;
}

/* ---------- Home services carousel: deliberate 3-second movement ---------- */
.rp-service-track{
  transition:transform .88s var(--rp-master-ease) !important;
}
.rp-service-slide{
  transition:transform .88s var(--rp-master-ease),opacity .7s ease,filter .7s ease !important;
}
.rp-service-card{
  height:auto !important;
  max-height:none !important;
}
.rp-service-card__content{
  height:auto !important;
  min-height:0 !important;
}

/* ---------- Contact: site-standard title scale and complete viewport layout ---------- */
body.rp-page-contact main{
  background:var(--rp-master-navy) !important;
}
body.rp-page-contact .rp-contact-hero{
  min-height:100svh !important;
  height:auto !important;
  max-height:none !important;
  align-items:center !important;
  overflow:hidden !important;
  padding:clamp(116px,13vh,146px) 0 clamp(40px,5vh,62px) !important;
}
body.rp-page-contact .rp-contact-hero__content{
  width:min(calc(100% - 64px),var(--rp-master-container)) !important;
  max-width:var(--rp-master-container) !important;
  margin-inline:auto !important;
}
body.rp-page-contact .rp-contact-hero .eyebrow{
  margin:0 0 clamp(12px,1.5vh,18px) !important;
  color:#ff6666 !important;
  -webkit-text-fill-color:#ff6666 !important;
}
body.rp-page-contact .rp-contact-hero h1,
body.rp-page-contact #rp-contact-title{
  max-width:18ch !important;
  margin:0 !important;
  color:var(--rp-master-cream) !important;
  -webkit-text-fill-color:var(--rp-master-cream) !important;
  font-size:clamp(48px,min(4.75vw,8.3vh),82px) !important;
  font-weight:650 !important;
  line-height:.96 !important;
  letter-spacing:-.052em !important;
  text-wrap:balance !important;
  text-shadow:0 10px 38px rgba(0,0,0,.34) !important;
}
body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){
  max-width:720px !important;
  margin:clamp(16px,2.2vh,25px) 0 0 !important;
  color:rgba(255,255,255,.84) !important;
  -webkit-text-fill-color:rgba(255,255,255,.84) !important;
  font-size:clamp(15px,1.03vw,18px) !important;
  line-height:1.54 !important;
}
body.rp-page-contact .rp-contact-hero__actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin-top:clamp(20px,2.7vh,31px) !important;
}
body.rp-page-contact .rp-contact-hero__button{
  min-width:190px !important;
  min-height:54px !important;
  padding:14px 25px !important;
}
body.rp-page-contact .rp-contact-hero__details{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(24px,5vw,72px) !important;
  max-width:900px !important;
  margin-top:clamp(26px,3.7vh,42px) !important;
  padding-top:clamp(18px,2.3vh,26px) !important;
  border-top:1px solid rgba(255,255,255,.3) !important;
}
body.rp-page-contact .rp-contact-hero__details a,
body.rp-page-contact .rp-contact-hero__details strong{
  color:var(--rp-master-white) !important;
  -webkit-text-fill-color:var(--rp-master-white) !important;
}
body.rp-page-contact .rp-contact-hero__details span{
  color:rgba(255,255,255,.68) !important;
  -webkit-text-fill-color:rgba(255,255,255,.68) !important;
}

/* ---------- Process: shared grid, rhythm and alignment standard ---------- */
body.rp-page-process .rp-page-hero__content,
body.rp-page-process .trust-strip > .container,
body.rp-page-process main > .section > .container,
body.rp-page-process .gallery-grid{
  width:min(calc(100% - 64px),var(--rp-master-container)) !important;
  max-width:var(--rp-master-container) !important;
  margin-inline:auto !important;
}
body.rp-page-process .rp-page-hero{
  min-height:min(100svh,900px) !important;
  height:auto !important;
  max-height:none !important;
  padding-top:clamp(124px,14vh,168px) !important;
  padding-bottom:clamp(60px,8vh,96px) !important;
}
body.rp-page-process .rp-page-hero__copy{
  width:min(100%,980px) !important;
  max-width:980px !important;
  margin:0 !important;
}
body.rp-page-process .rp-page-hero h1{
  max-width:12ch !important;
  font-size:clamp(58px,6vw,104px) !important;
  line-height:.93 !important;
  letter-spacing:-.052em !important;
}
body.rp-page-process .rp-page-hero .lead{
  max-width:720px !important;
  margin-top:clamp(18px,2.4vw,30px) !important;
  font-size:clamp(16px,1.15vw,20px) !important;
  line-height:1.62 !important;
}
body.rp-page-process .trust-strip__grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch !important;
}
body.rp-page-process .trust-strip__grid > div{
  min-width:0 !important;
  height:100% !important;
  padding:clamp(18px,2vw,28px) clamp(14px,1.7vw,24px) !important;
}
body.rp-page-process main > .section{
  padding-top:clamp(78px,7.5vw,124px) !important;
  padding-bottom:clamp(78px,7.5vw,124px) !important;
}
body.rp-page-process .section-heading{
  max-width:940px !important;
  margin:0 0 clamp(34px,4vw,62px) !important;
}
body.rp-page-process .section-heading--split{
  max-width:none !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.62fr) !important;
  align-items:end !important;
  gap:clamp(34px,5vw,78px) !important;
}
body.rp-page-process .section-heading h2{
  max-width:18ch !important;
  font-size:clamp(46px,5vw,82px) !important;
  line-height:.95 !important;
  letter-spacing:-.052em !important;
}
body.rp-page-process .section-heading > p:not(.eyebrow),
body.rp-page-process .section-heading--split > p{
  max-width:58ch !important;
  margin:0 !important;
  font-size:clamp(15px,1.05vw,18px) !important;
  line-height:1.68 !important;
}
body.rp-page-process .timeline-list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(16px,1.8vw,26px) !important;
}
body.rp-page-process .timeline-list article{
  min-width:0 !important;
  min-height:270px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  padding:clamp(24px,2.2vw,34px) !important;
  border:1px solid rgba(26,43,76,.11) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 18px 52px rgba(7,17,31,.07) !important;
}
body.rp-page-process .timeline-list article span{
  color:var(--rp-master-red) !important;
  -webkit-text-fill-color:var(--rp-master-red) !important;
}
body.rp-page-process .timeline-list article h3{
  margin:0 0 14px !important;
  color:var(--rp-master-ink) !important;
  -webkit-text-fill-color:var(--rp-master-ink) !important;
  font-size:clamp(25px,2vw,34px) !important;
  line-height:1 !important;
}
body.rp-page-process .timeline-list article p{
  margin:0 !important;
  color:var(--rp-master-muted) !important;
  -webkit-text-fill-color:var(--rp-master-muted) !important;
  line-height:1.62 !important;
}
body.rp-page-process .gallery-grid--detail{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(16px,1.8vw,26px) !important;
}
body.rp-page-process .gallery-grid--detail .gallery-item{
  min-height:0 !important;
  aspect-ratio:4/5 !important;
  border-radius:24px !important;
}
body.rp-page-process .gallery-grid--detail .gallery-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
body.rp-page-process .cta-panel{
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.58fr) !important;
  align-items:center !important;
  gap:clamp(32px,5vw,76px) !important;
  padding:clamp(32px,4.5vw,64px) !important;
}
body.rp-page-process .cta-panel h2{
  font-size:clamp(44px,4.5vw,76px) !important;
  line-height:.95 !important;
}
body.rp-page-process .cta-media{
  width:100% !important;
  height:clamp(280px,28vw,420px) !important;
}

/* ---------- Responsive refinements ---------- */
@media (max-width:1100px){
  .container{
    width:min(calc(100% - 48px),var(--rp-master-container)) !important;
  }
  .site-header[data-header] .rp-header-statement{
    max-width:calc(100% - 390px) !important;
    font-size:9px !important;
    letter-spacing:.075em !important;
  }
  body.rp-page-contact .rp-contact-hero__content,
  body.rp-page-process .rp-page-hero__content,
  body.rp-page-process .trust-strip > .container,
  body.rp-page-process main > .section > .container,
  body.rp-page-process .gallery-grid{
    width:calc(100% - 48px) !important;
  }
  body.rp-page-process .timeline-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.rp-page-process .section-heading--split{
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:22px !important;
  }
  body.rp-page-process .gallery-grid--detail{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.rp-page-process .gallery-grid--detail .gallery-item:last-child{
    grid-column:1/-1 !important;
    aspect-ratio:16/8 !important;
  }
}

@media (max-width:760px){
  html{scroll-padding-top:104px;}
  .container{
    width:calc(100% - 32px) !important;
  }
  main > section,
  main > article{
    scroll-margin-top:104px;
  }

  /* On compact screens the statement becomes one slim bar below the menu.
     This prevents the logo, sentence and menu icon from ever overlapping. */
  .site-header[data-header] .rp-header-statement{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:70px !important;
    width:100% !important;
    max-width:none !important;
    min-height:34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:6px 14px !important;
    background:rgba(255,255,255,.98) !important;
    border-top:1px solid rgba(26,43,76,.08) !important;
    border-bottom:1px solid rgba(26,43,76,.12) !important;
    box-shadow:0 8px 22px rgba(7,17,31,.08) !important;
    font-size:clamp(7px,2.15vw,9px) !important;
    line-height:1.18 !important;
    letter-spacing:.055em !important;
    white-space:normal !important;
    text-overflow:clip !important;
    transform:translateY(-8px) !important;
  }
  .site-header[data-header].is-past-hero .rp-header-statement{
    transform:none !important;
  }
  .rp-service-slide,
  .rp-service-slide.is-adjacent,
  .rp-service-slide.is-active{
    flex-basis:90vw !important;
  }
  .rp-service-card{
    grid-template-rows:clamp(190px,29svh,260px) auto !important;
  }
  #main .rp-service-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:none !important;
  }
  #main .rp-contact-button{
    width:100% !important;
    min-height:54px !important;
  }

  body.rp-page-contact .rp-contact-hero{
    min-height:100svh !important;
    align-items:start !important;
    padding:112px 0 34px !important;
  }
  body.rp-page-contact .rp-contact-hero__content{
    width:calc(100% - 32px) !important;
  }
  body.rp-page-contact .rp-contact-hero h1,
  body.rp-page-contact #rp-contact-title{
    max-width:15ch !important;
    font-size:clamp(36px,10.5vw,54px) !important;
    line-height:.97 !important;
  }
  body.rp-page-contact .rp-contact-hero__actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  body.rp-page-contact .rp-contact-hero__button{
    width:100% !important;
    min-width:0 !important;
  }
  body.rp-page-contact .rp-contact-hero__details{
    grid-template-columns:1fr !important;
    gap:15px !important;
    margin-top:22px !important;
  }

  body.rp-page-process .rp-page-hero__content,
  body.rp-page-process .trust-strip > .container,
  body.rp-page-process main > .section > .container,
  body.rp-page-process .gallery-grid{
    width:calc(100% - 32px) !important;
  }
  body.rp-page-process .rp-page-hero{
    min-height:100svh !important;
    padding-top:112px !important;
    padding-bottom:48px !important;
  }
  body.rp-page-process .rp-page-hero h1{
    max-width:11ch !important;
    font-size:clamp(43px,12.8vw,66px) !important;
    line-height:.95 !important;
  }
  body.rp-page-process .trust-strip__grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.rp-page-process main > .section{
    padding-top:70px !important;
    padding-bottom:70px !important;
  }
  body.rp-page-process .section-heading h2{
    max-width:16ch !important;
    font-size:clamp(40px,11.5vw,58px) !important;
  }
  body.rp-page-process .timeline-list,
  body.rp-page-process .gallery-grid--detail{
    grid-template-columns:1fr !important;
  }
  body.rp-page-process .timeline-list article{
    min-height:0 !important;
    padding:26px 24px !important;
  }
  body.rp-page-process .gallery-grid--detail .gallery-item,
  body.rp-page-process .gallery-grid--detail .gallery-item:last-child{
    grid-column:auto !important;
    aspect-ratio:4/5 !important;
  }
  body.rp-page-process .cta-panel{
    grid-template-columns:1fr !important;
    padding:26px 22px !important;
    border-radius:24px !important;
  }
  body.rp-page-process .cta-media{
    height:260px !important;
  }
}

@media (max-width:390px){
  .container{width:calc(100% - 28px) !important;}
  body.rp-page-contact .rp-contact-hero{
    padding-top:106px !important;
    padding-bottom:26px !important;
  }
  body.rp-page-contact .rp-contact-hero h1,
  body.rp-page-contact #rp-contact-title{
    font-size:clamp(33px,10.2vw,43px) !important;
  }
  body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){
    font-size:13.5px !important;
    line-height:1.46 !important;
  }
  body.rp-page-process .trust-strip__grid{
    grid-template-columns:1fr !important;
  }
}

@media (max-height:760px) and (min-width:761px){
  body.rp-page-contact .rp-contact-hero{
    padding-top:102px !important;
    padding-bottom:26px !important;
  }
  body.rp-page-contact .rp-contact-hero h1,
  body.rp-page-contact #rp-contact-title{
    max-width:19ch !important;
    font-size:clamp(42px,min(4.25vw,7.1vh),64px) !important;
  }
  body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){margin-top:13px !important;}
  body.rp-page-contact .rp-contact-hero__actions{margin-top:17px !important;}
  body.rp-page-contact .rp-contact-hero__details{margin-top:20px !important;padding-top:15px !important;}
  .rp-service-card{grid-template-rows:clamp(205px,29svh,285px) auto !important;}
}

@media (prefers-reduced-motion:reduce){
  .site-header[data-header] .rp-header-statement,
  .rp-service-track,
  .rp-service-slide{
    transition:none !important;
  }
}

/* Highest-specificity foreground lock against legacy color declarations. */
html body :is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all){
  -webkit-text-fill-color:currentColor !important;
}
html body :is(.btn-red,.btn--primary,.rp-contact-button--email,.rp-contact-hero__button--primary){
  color:var(--rp-master-white) !important;
  -webkit-text-fill-color:var(--rp-master-white) !important;
}
html body :is(.btn-red,.btn--primary,.rp-contact-button--email,.rp-contact-hero__button--primary) :is(span,small,strong,b,em,svg),
html body [data-rp-button-surface="dark"] :is(span,small,strong,b,em,svg),
html body [data-rp-button-surface="light"].rp-contact-button--call :is(span,small,strong,b,em,svg),
html body .rp-contact-hero__button--secondary :is(span,small,strong,b,em,svg){
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}
html body [data-rp-button-surface="dark"].rp-contact-button--call,
html body [data-rp-button-surface="dark"].btn:not(.btn--primary):not(.btn-red),
html body .rp-contact-hero__button--secondary{
  color:var(--rp-master-white) !important;
  -webkit-text-fill-color:var(--rp-master-white) !important;
}
html body [data-rp-button-surface="light"].rp-contact-button--call{
  color:var(--rp-master-blue) !important;
  -webkit-text-fill-color:var(--rp-master-blue) !important;
}

/* Contact icon foreground: exact white, never inherited from legacy dark ink. */
html body .rp-contact-hero__button--primary :is(span,small,strong,b,em,svg),
html body .rp-contact-hero__button--secondary :is(span,small,strong,b,em,svg){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  fill:#fff !important;
  stroke:#fff !important;
}

@media (max-width:760px){
  body.rp-page-contact .rp-contact-hero__actions{
    gap:9px !important;
    margin-top:17px !important;
  }
  body.rp-page-contact .rp-contact-hero__button{
    min-height:50px !important;
    padding-block:12px !important;
  }
  body.rp-page-contact .rp-contact-hero__details{
    gap:10px !important;
    margin-top:16px !important;
    padding-top:14px !important;
  }
}

/* ===== SOURCE: assets/css/realpro-ultimate-contrast-responsive-20260805.css ===== */
/* ========================================================================
   REALPRO STUDIOS — ULTIMATE CONTRAST, HERO & RESPONSIVE ALIGNMENT PATCH
   2026-08-05 · Loaded after every previous stylesheet
   Purpose: deterministic surface contrast, readable CTA panels, contact hero
   parity with the home hero, and no clipped page copy/actions at any viewport.
   ======================================================================== */
:root{
  --rp-u-navy:#07111f;
  --rp-u-navy-2:#0b1929;
  --rp-u-blue:#1a2b4c;
  --rp-u-ink:#14243a;
  --rp-u-muted:#526176;
  --rp-u-red:#d83232;
  --rp-u-red-hover:#b9252a;
  --rp-u-white:#ffffff;
  --rp-u-cream:#f7f4ee;
  --rp-u-soft:#f3f0ea;
  --rp-u-line-light:rgba(20,36,58,.18);
  --rp-u-line-dark:rgba(255,255,255,.48);
  --rp-u-container:1320px;
  --rp-u-radius:clamp(20px,1.65vw,30px);
  --rp-u-ease:cubic-bezier(.22,.76,.24,1);
}

/* ---------- Global geometry: content must grow instead of being cropped ---------- */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:clip !important;
}
html{scroll-padding-top:clamp(78px,7vw,108px);}
body main{
  width:100%;
  max-width:100%;
  overflow:visible !important;
}
body main > :is(section,article){
  position:relative;
  width:100%;
  max-width:100%;
  height:auto !important;
  max-height:none !important;
  min-width:0;
  overflow-x:clip !important;
  overflow-y:visible !important;
  isolation:isolate;
}
body .container{
  width:min(calc(100% - 64px),var(--rp-u-container)) !important;
  max-width:var(--rp-u-container) !important;
  margin-inline:auto !important;
}
body :is(.container,[class*="__content"],[class*="__copy"],[class*="__grid"],[class*="-grid"],.editorial-split,.section-heading,.button-row,.rp-service-actions){
  min-width:0;
  max-width:100%;
}
body :is(img,picture,video,iframe,svg){max-width:100%;}
body :is(h1,h2,h3,h4,h5,h6,p,li,a,strong,span,small){min-width:0;}
body :is(h1,h2,h3,h4,h5,h6){
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}
body :is(p,li,a){overflow-wrap:anywhere;}
body .reveal{
  visibility:visible !important;
}
html:not(.js) body .reveal{
  opacity:1 !important;
  transform:none !important;
}

/* ---------- Deterministic surfaces: explicit HTML semantics always win ---------- */
html body main > section[data-rp-surface="light"]{
  color:var(--rp-u-ink) !important;
  background:
    radial-gradient(circle at 86% 10%,rgba(26,43,76,.055),transparent 28%),
    linear-gradient(180deg,#fff 0%,var(--rp-u-soft) 100%) !important;
}
html body main > section[data-rp-surface="light"].section--soft{
  background:
    radial-gradient(circle at 8% 14%,rgba(216,50,50,.045),transparent 24%),
    linear-gradient(180deg,#f7f4ee 0%,#eee9e1 100%) !important;
}
html body main > section[data-rp-surface="light"] :is(h1,h2,h3,h4,h5,h6,strong){
  color:var(--rp-u-ink) !important;
  -webkit-text-fill-color:var(--rp-u-ink) !important;
  text-shadow:none !important;
}
html body main > section[data-rp-surface="light"] :is(p,li,.lead){
  color:var(--rp-u-muted) !important;
  -webkit-text-fill-color:var(--rp-u-muted) !important;
  text-shadow:none !important;
}
html body main > section[data-rp-surface="light"] :is(.eyebrow,.kicker,.card-kicker){
  color:#b52429 !important;
  -webkit-text-fill-color:#b52429 !important;
}
html body main > section[data-rp-surface="light"] a:not(.btn):not(.rp-contact-button):not(.rp-contact-hero__button){
  color:var(--rp-u-blue) !important;
  -webkit-text-fill-color:var(--rp-u-blue) !important;
}

html body main > section[data-rp-surface="dark"]{
  color:var(--rp-u-white) !important;
}
html body main > section[data-rp-surface="dark"]:not(.hero):not(.rp-page-hero):not(.rp-contact-hero):not(.section--cta):not(.services):not(.reel):not(.approach):not(.final-cta){
  background:
    radial-gradient(circle at 12% 12%,rgba(216,50,50,.14),transparent 29%),
    radial-gradient(circle at 88% 16%,rgba(54,85,122,.18),transparent 32%),
    linear-gradient(180deg,var(--rp-u-navy) 0%,var(--rp-u-navy-2) 100%) !important;
}
html body main > section[data-rp-surface="dark"] :is(h1,h2,h3,h4,h5,h6,strong){
  color:var(--rp-u-white) !important;
  -webkit-text-fill-color:var(--rp-u-white) !important;
}
html body main > section[data-rp-surface="dark"] :is(p,li,.lead){
  color:rgba(255,255,255,.82) !important;
  -webkit-text-fill-color:rgba(255,255,255,.82) !important;
}
html body main > section[data-rp-surface="dark"] :is(.eyebrow,.kicker,.card-kicker){
  color:#ff7070 !important;
  -webkit-text-fill-color:#ff7070 !important;
}
html body main > section[data-rp-surface="dark"] a:not(.btn):not(.rp-contact-button):not(.rp-contact-hero__button){
  color:var(--rp-u-white) !important;
  -webkit-text-fill-color:var(--rp-u-white) !important;
}

/* Captions and media overlays are dark nested surfaces even inside light bands. */
html body :is(.service-category__media figcaption,.image-frame figcaption,.gallery-item figcaption,.media-caption){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* ---------- Light CTA card inside a dark cinematic end band ---------- */
html body main > section.section--cta{
  color:var(--rp-u-white) !important;
  background:
    radial-gradient(circle at 14% 0%,rgba(216,50,50,.22),transparent 31%),
    linear-gradient(135deg,var(--rp-u-navy),var(--rp-u-navy-2) 64%,#050b13) !important;
}
html body main > section.section--cta > .container.cta-panel,
html body main > section.section--cta .cta-panel{
  color:var(--rp-u-ink) !important;
  background:
    radial-gradient(circle at 8% 8%,rgba(255,255,255,.96),transparent 35%),
    linear-gradient(135deg,#fff 0%,#f8f4ed 60%,#eee7dc 100%) !important;
  border:1px solid rgba(255,255,255,.54) !important;
  border-radius:var(--rp-u-radius) !important;
  box-shadow:0 34px 100px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.92) !important;
  overflow:hidden !important;
}
html body main > section.section--cta .cta-panel :is(h1,h2,h3,h4,h5,h6,strong){
  color:var(--rp-u-ink) !important;
  -webkit-text-fill-color:var(--rp-u-ink) !important;
  text-shadow:none !important;
}
html body main > section.section--cta .cta-panel :is(p,li,.lead){
  color:var(--rp-u-muted) !important;
  -webkit-text-fill-color:var(--rp-u-muted) !important;
  text-shadow:none !important;
}
html body main > section.section--cta .cta-panel :is(.eyebrow,.kicker){
  color:#b52429 !important;
  -webkit-text-fill-color:#b52429 !important;
}
html body .cta-panel{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.62fr) !important;
  align-items:center !important;
  gap:clamp(32px,5vw,76px) !important;
  padding:clamp(34px,4.6vw,68px) !important;
}
html body .cta-panel > div{min-width:0;}
html body .cta-panel h2{
  max-width:15ch !important;
  font-size:clamp(44px,4.6vw,78px) !important;
  line-height:.95 !important;
  letter-spacing:-.05em !important;
}
html body .cta-panel > div > p:not(.eyebrow){
  max-width:62ch !important;
  font-size:clamp(15px,1vw,18px) !important;
  line-height:1.65 !important;
}
html body .cta-media{
  width:100% !important;
  height:clamp(300px,31vw,500px) !important;
  min-height:0 !important;
  border-radius:clamp(18px,1.4vw,26px) !important;
  overflow:hidden !important;
}
html body .cta-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* ---------- Buttons: the foreground follows the actual button surface ---------- */
html body :is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all){
  position:relative;
  isolation:isolate;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:54px !important;
  max-width:100%;
  opacity:1 !important;
  visibility:visible !important;
  text-decoration:none !important;
  text-shadow:none !important;
  -webkit-text-fill-color:currentColor !important;
}
html body :is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all) :is(span,small,strong,b,em,svg){
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  fill:currentColor !important;
  stroke:currentColor !important;
  opacity:1 !important;
}
html body :is(.btn-red,.btn--primary,.rp-contact-button--email,.rp-contact-hero__button--primary){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:var(--rp-u-red) !important;
  border-color:var(--rp-u-red) !important;
  box-shadow:0 14px 34px rgba(216,50,50,.26) !important;
}
html body :is(.btn-red,.btn--primary,.rp-contact-button--email,.rp-contact-hero__button--primary):is(:hover,:focus-visible){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:var(--rp-u-red-hover) !important;
  border-color:var(--rp-u-red-hover) !important;
}

html body [data-rp-button-surface="light"]:is(.btn,.rp-contact-button,.rp-contact-hero__button):not(.btn-red):not(.btn--primary):not(.rp-contact-button--email):not(.rp-contact-hero__button--primary),
html body main > section[data-rp-surface="light"] :is(.btn--secondary,.rp-contact-button--call),
html body .cta-panel :is(.btn--secondary,.rp-contact-button--call,.btn--light){
  color:var(--rp-u-blue) !important;
  -webkit-text-fill-color:var(--rp-u-blue) !important;
  background:#fff !important;
  border:1.5px solid rgba(26,43,76,.55) !important;
  box-shadow:0 12px 30px rgba(20,36,58,.10) !important;
  backdrop-filter:none !important;
}
html body [data-rp-button-surface="light"]:is(.btn,.rp-contact-button,.rp-contact-hero__button):not(.btn-red):not(.btn--primary):not(.rp-contact-button--email):not(.rp-contact-hero__button--primary):is(:hover,:focus-visible),
html body main > section[data-rp-surface="light"] :is(.btn--secondary,.rp-contact-button--call):is(:hover,:focus-visible),
html body .cta-panel :is(.btn--secondary,.rp-contact-button--call,.btn--light):is(:hover,:focus-visible){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:var(--rp-u-blue) !important;
  border-color:var(--rp-u-blue) !important;
}

html body [data-rp-button-surface="dark"]:is(.btn,.rp-contact-button,.rp-contact-hero__button):not(.btn-red):not(.btn--primary):not(.rp-contact-button--email):not(.rp-contact-hero__button--primary),
html body main > section[data-rp-surface="dark"] :is(.btn--secondary,.rp-contact-button--call,.btn--light),
html body .rp-contact-hero__button--secondary{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:rgba(5,13,24,.54) !important;
  border:1.5px solid rgba(255,255,255,.76) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 12px 30px rgba(0,0,0,.18) !important;
  backdrop-filter:blur(12px) !important;
}
html body [data-rp-button-surface="dark"]:is(.btn,.rp-contact-button,.rp-contact-hero__button):not(.btn-red):not(.btn--primary):not(.rp-contact-button--email):not(.rp-contact-hero__button--primary):is(:hover,:focus-visible),
html body main > section[data-rp-surface="dark"] :is(.btn--secondary,.rp-contact-button--call,.btn--light):is(:hover,:focus-visible),
html body .rp-contact-hero__button--secondary:is(:hover,:focus-visible){
  color:var(--rp-u-navy) !important;
  -webkit-text-fill-color:var(--rp-u-navy) !important;
  background:#fff !important;
  border-color:#fff !important;
}
html body .rp-contact-button--call span,
html body .rp-contact-button--call small{
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}
html body .rp-contact-button--call small{
  font-size:clamp(9px,.72vw,11px) !important;
  font-weight:760 !important;
  line-height:1.1 !important;
  letter-spacing:.025em !important;
}
html body :is(.btn,.rp-contact-button,.rp-contact-hero__button):focus-visible{
  outline:3px solid var(--rp-u-red) !important;
  outline-offset:4px !important;
}

/* ---------- Inner-page heroes: same visual grammar, never clipped ---------- */
html body.rp-standardized-page .rp-page-hero,
html body .article-hero{
  min-height:min(100svh,940px) !important;
  height:auto !important;
  max-height:none !important;
  display:flex !important;
  align-items:center !important;
  padding:clamp(124px,14vh,172px) 0 clamp(58px,8vh,96px) !important;
  overflow:hidden !important;
  color:#fff !important;
  background-color:var(--rp-u-navy) !important;
}
html body.rp-standardized-page .rp-page-hero__content,
html body .article-hero__grid{
  position:relative !important;
  z-index:4 !important;
  width:min(calc(100% - 64px),var(--rp-u-container)) !important;
  max-width:var(--rp-u-container) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin-inline:auto !important;
}
html body.rp-standardized-page .rp-page-hero__copy{
  width:min(100%,980px) !important;
  max-width:980px !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
}
html body.rp-standardized-page .rp-page-hero h1,
html body .article-hero h1{
  max-width:12ch !important;
  margin:0 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:clamp(54px,min(6vw,10vh),104px) !important;
  line-height:.93 !important;
  letter-spacing:-.052em !important;
  text-shadow:0 18px 54px rgba(0,0,0,.46) !important;
}
html body.rp-standardized-page .rp-page-hero :is(.lead,p:not(.eyebrow)),
html body .article-hero :is(.lead,p:not(.eyebrow)){
  max-width:700px !important;
  color:rgba(255,255,255,.86) !important;
  -webkit-text-fill-color:rgba(255,255,255,.86) !important;
  font-size:clamp(16px,1.12vw,20px) !important;
  line-height:1.62 !important;
}
html body.rp-standardized-page .rp-page-hero .button-row,
html body .article-hero .button-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin-top:clamp(22px,3vh,34px) !important;
}

/* ---------- Contact hero: home-hero scale, framing and readability ---------- */
html body.rp-page-contact main{background:var(--rp-u-navy) !important;}
html body.rp-page-contact .rp-contact-hero{
  min-height:100svh !important;
  height:auto !important;
  max-height:none !important;
  display:flex !important;
  align-items:center !important;
  padding:clamp(126px,14vh,170px) 0 clamp(50px,7vh,84px) !important;
  overflow:hidden !important;
  background-color:var(--rp-u-navy) !important;
}
html body.rp-page-contact .rp-contact-hero__media,
html body.rp-page-contact .rp-contact-hero__shade{
  position:absolute !important;
  inset:0 !important;
}
html body.rp-page-contact .rp-contact-hero__media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:brightness(.86) contrast(1.05) saturate(.96) !important;
}
html body.rp-page-contact .rp-contact-hero__shade{
  z-index:1 !important;
  background:
    radial-gradient(circle at 16% 74%,rgba(216,50,50,.18),transparent 28%),
    linear-gradient(90deg,rgba(5,13,24,.985) 0%,rgba(5,13,24,.93) 42%,rgba(5,13,24,.54) 72%,rgba(5,13,24,.28) 100%),
    linear-gradient(180deg,rgba(0,0,0,.46),rgba(0,0,0,.06) 42%,rgba(0,0,0,.64)) !important;
}
html body.rp-page-contact .rp-contact-hero__content{
  position:relative !important;
  z-index:3 !important;
  width:min(calc(100% - 64px),var(--rp-u-container)) !important;
  max-width:var(--rp-u-container) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin-inline:auto !important;
}
html body.rp-page-contact .rp-contact-hero .eyebrow{
  margin:0 0 clamp(14px,1.8vh,22px) !important;
  color:#ff7070 !important;
  -webkit-text-fill-color:#ff7070 !important;
}
html body.rp-page-contact .rp-contact-hero h1,
html body.rp-page-contact #rp-contact-title{
  max-width:17ch !important;
  margin:0 !important;
  color:var(--rp-u-cream) !important;
  -webkit-text-fill-color:var(--rp-u-cream) !important;
  font-size:clamp(52px,min(5.7vw,9.2vh),96px) !important;
  font-weight:760 !important;
  line-height:.94 !important;
  letter-spacing:-.055em !important;
  text-transform:uppercase !important;
  text-shadow:0 18px 54px rgba(0,0,0,.48) !important;
}
html body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){
  max-width:760px !important;
  margin:clamp(18px,2.5vh,30px) 0 0 !important;
  color:rgba(255,255,255,.86) !important;
  -webkit-text-fill-color:rgba(255,255,255,.86) !important;
  font-size:clamp(16px,1.15vw,20px) !important;
  line-height:1.62 !important;
}
html body.rp-page-contact .rp-contact-hero__actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin-top:clamp(22px,3vh,34px) !important;
}
html body.rp-page-contact .rp-contact-hero__button{
  min-width:205px !important;
  min-height:56px !important;
  padding:14px 28px !important;
}
html body.rp-page-contact .rp-contact-hero__details{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(26px,5vw,78px) !important;
  max-width:930px !important;
  margin-top:clamp(30px,4.2vh,48px) !important;
  padding-top:clamp(20px,2.7vh,30px) !important;
  border-top:1px solid rgba(255,255,255,.34) !important;
}
html body.rp-page-contact .rp-contact-hero__details :is(a,strong){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
html body.rp-page-contact .rp-contact-hero__details span{
  color:rgba(255,255,255,.68) !important;
  -webkit-text-fill-color:rgba(255,255,255,.68) !important;
}

/* ---------- Consistent alignment and title density across content pages ---------- */
html body.rp-standardized-page main > section:not(.rp-page-hero):not(.rp-contact-hero):not(.trust-strip){
  padding-top:clamp(76px,7.5vw,124px) !important;
  padding-bottom:clamp(76px,7.5vw,124px) !important;
}
html body.rp-standardized-page :is(.editorial-split,.section-heading--split){
  display:grid !important;
  grid-template-columns:minmax(0,1.04fr) minmax(320px,.82fr) !important;
  align-items:center !important;
  gap:clamp(38px,5.5vw,84px) !important;
}
html body.rp-standardized-page .section-heading--split{align-items:end !important;}
html body.rp-standardized-page :is(.section-heading,.editorial-copy,.service-category__copy) > h2,
html body.rp-standardized-page .process-timeline .section-heading > h2{
  max-width:17ch !important;
  font-size:clamp(44px,4.8vw,82px) !important;
  line-height:.95 !important;
  letter-spacing:-.052em !important;
}
html body.rp-standardized-page :is(.section-heading,.editorial-copy,.service-category__copy) > p:not(.eyebrow){
  max-width:64ch !important;
  font-size:clamp(15px,1.03vw,18px) !important;
  line-height:1.68 !important;
}
html body.rp-standardized-page .image-frame{
  min-height:0 !important;
  overflow:hidden !important;
  border-radius:var(--rp-u-radius) !important;
}
html body.rp-standardized-page .image-frame img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
html body.rp-standardized-page .rp-service-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:stretch !important;
  gap:12px !important;
  margin-top:clamp(24px,3vw,38px) !important;
}
html body.rp-standardized-page .rp-service-actions .rp-contact-button{
  flex:1 1 210px !important;
  min-width:0 !important;
}

/* Process page: clean grid and readable light Behind the Process section. */
html body.rp-page-process .section-heading--split{
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.62fr) !important;
  align-items:end !important;
}
html body.rp-page-process .timeline-list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(18px,2vw,28px) !important;
}
html body.rp-page-process .timeline-list article{
  min-height:260px !important;
  padding:clamp(25px,2.4vw,36px) !important;
  color:var(--rp-u-ink) !important;
  background:#fff !important;
  border:1px solid rgba(20,36,58,.12) !important;
  border-radius:var(--rp-u-radius) !important;
  box-shadow:0 18px 54px rgba(7,17,31,.08) !important;
}
html body.rp-page-process .timeline-list article h3{
  color:var(--rp-u-ink) !important;
  -webkit-text-fill-color:var(--rp-u-ink) !important;
}
html body.rp-page-process .timeline-list article p{
  color:var(--rp-u-muted) !important;
  -webkit-text-fill-color:var(--rp-u-muted) !important;
}
html body.rp-page-process .gallery-grid--detail{
  width:min(calc(100% - 64px),var(--rp-u-container)) !important;
  max-width:var(--rp-u-container) !important;
  margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(18px,2vw,28px) !important;
}
html body.rp-page-process .gallery-grid--detail .gallery-item{
  aspect-ratio:4/5 !important;
  min-height:0 !important;
  overflow:hidden !important;
  border-radius:var(--rp-u-radius) !important;
}
html body.rp-page-process .gallery-grid--detail img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* ---------- Responsive and low-height safeguards ---------- */
@media (max-width:1100px){
  html body .container,
  html body.rp-standardized-page .rp-page-hero__content,
  html body .article-hero__grid,
  html body.rp-page-contact .rp-contact-hero__content,
  html body.rp-page-process .gallery-grid--detail{
    width:calc(100% - 48px) !important;
  }
  html body.rp-standardized-page :is(.editorial-split,.section-heading--split),
  html body.rp-page-process .section-heading--split{
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:26px !important;
  }
  html body .cta-panel{
    grid-template-columns:minmax(0,1fr) minmax(280px,.72fr) !important;
    gap:34px !important;
  }
  html body.rp-page-process .timeline-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  html body.rp-page-process .gallery-grid--detail{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  html body.rp-page-process .gallery-grid--detail .gallery-item:last-child{
    grid-column:1/-1 !important;
    aspect-ratio:16/8 !important;
  }
}

@media (max-width:760px){
  html{scroll-padding-top:104px;}
  html body .container,
  html body.rp-standardized-page .rp-page-hero__content,
  html body .article-hero__grid,
  html body.rp-page-contact .rp-contact-hero__content,
  html body.rp-page-process .gallery-grid--detail{
    width:calc(100% - 32px) !important;
  }
  html body.rp-standardized-page .rp-page-hero,
  html body .article-hero{
    min-height:100svh !important;
    align-items:flex-end !important;
    padding:118px 0 48px !important;
  }
  html body.rp-standardized-page .rp-page-hero h1,
  html body .article-hero h1{
    max-width:11.5ch !important;
    font-size:clamp(42px,12.2vw,64px) !important;
    line-height:.95 !important;
  }
  html body.rp-standardized-page .rp-page-hero :is(.lead,p:not(.eyebrow)),
  html body .article-hero :is(.lead,p:not(.eyebrow)){
    font-size:14px !important;
    line-height:1.52 !important;
  }
  html body.rp-standardized-page .rp-page-hero .button-row,
  html body .article-hero .button-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  html body.rp-standardized-page .rp-page-hero .button-row .btn,
  html body .article-hero .button-row .btn{
    width:100% !important;
  }

  html body.rp-page-contact .rp-contact-hero{
    min-height:100svh !important;
    align-items:flex-end !important;
    padding:118px 0 34px !important;
  }
  html body.rp-page-contact .rp-contact-hero h1,
  html body.rp-page-contact #rp-contact-title{
    max-width:14ch !important;
    font-size:clamp(38px,10.8vw,56px) !important;
    line-height:.96 !important;
  }
  html body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){
    margin-top:15px !important;
    font-size:14px !important;
    line-height:1.5 !important;
  }
  html body.rp-page-contact .rp-contact-hero__actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:10px !important;
    margin-top:18px !important;
  }
  html body.rp-page-contact .rp-contact-hero__button{
    width:100% !important;
    min-width:0 !important;
    min-height:51px !important;
  }
  html body.rp-page-contact .rp-contact-hero__details{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:18px !important;
    padding-top:15px !important;
  }
  html body.rp-standardized-page main > section:not(.rp-page-hero):not(.rp-contact-hero):not(.trust-strip){
    padding-top:68px !important;
    padding-bottom:68px !important;
  }
  html body.rp-standardized-page :is(.section-heading,.editorial-copy,.service-category__copy) > h2,
  html body.rp-standardized-page .process-timeline .section-heading > h2{
    max-width:15ch !important;
    font-size:clamp(38px,11vw,58px) !important;
    line-height:.96 !important;
  }
  html body .cta-panel{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:26px 22px !important;
    border-radius:24px !important;
  }
  html body .cta-panel h2{
    max-width:14ch !important;
    font-size:clamp(38px,10.5vw,56px) !important;
  }
  html body .cta-media{height:260px !important;}
  html body.rp-standardized-page .rp-service-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  html body.rp-standardized-page .rp-service-actions .rp-contact-button{width:100% !important;}
  html body.rp-page-process .timeline-list,
  html body.rp-page-process .gallery-grid--detail{grid-template-columns:1fr !important;}
  html body.rp-page-process .timeline-list article{min-height:0 !important;}
  html body.rp-page-process .gallery-grid--detail .gallery-item,
  html body.rp-page-process .gallery-grid--detail .gallery-item:last-child{
    grid-column:auto !important;
    aspect-ratio:4/5 !important;
  }
}

@media (max-width:390px){
  html body .container,
  html body.rp-standardized-page .rp-page-hero__content,
  html body .article-hero__grid,
  html body.rp-page-contact .rp-contact-hero__content,
  html body.rp-page-process .gallery-grid--detail{
    width:calc(100% - 28px) !important;
  }
  html body.rp-page-contact .rp-contact-hero{padding-top:108px !important;padding-bottom:26px !important;}
  html body.rp-page-contact .rp-contact-hero h1,
  html body.rp-page-contact #rp-contact-title{font-size:clamp(34px,10.2vw,46px) !important;}
}

@media (max-height:780px) and (min-width:761px){
  html body.rp-standardized-page .rp-page-hero,
  html body .article-hero{
    min-height:auto !important;
    padding-top:112px !important;
    padding-bottom:54px !important;
  }
  html body.rp-standardized-page .rp-page-hero h1,
  html body .article-hero h1{
    font-size:clamp(44px,min(5vw,8vh),76px) !important;
  }
  html body.rp-page-contact .rp-contact-hero{
    min-height:auto !important;
    padding-top:106px !important;
    padding-bottom:30px !important;
  }
  html body.rp-page-contact .rp-contact-hero h1,
  html body.rp-page-contact #rp-contact-title{
    max-width:18ch !important;
    font-size:clamp(42px,min(4.65vw,7.6vh),68px) !important;
  }
  html body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){margin-top:13px !important;line-height:1.48 !important;}
  html body.rp-page-contact .rp-contact-hero__actions{margin-top:17px !important;}
  html body.rp-page-contact .rp-contact-hero__details{margin-top:20px !important;padding-top:15px !important;}
}

@media (prefers-reduced-motion:reduce){
  html body *,
  html body *::before,
  html body *::after{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

/* Prevent a low-contrast color interpolation flash while the final surface
   hooks are resolved. Motion remains on transform and shadow only. */
html body :is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all){
  transition:transform .24s var(--rp-u-ease),box-shadow .24s ease,border-color .24s ease !important;
}

/* Absolute primary-action foreground lock against high-specificity legacy
   nth-of-type and contact-page declarations. */
html body main a.btn.btn--primary,
html body main a.btn.btn-red,
html body main a.rp-contact-button.rp-contact-button--email,
html body main a.rp-contact-hero__button.rp-contact-hero__button--primary,
html body main button.btn.btn--primary,
html body main button.btn.btn-red{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background-color:var(--rp-u-red) !important;
  border-color:var(--rp-u-red) !important;
}
html body main :is(a.btn.btn--primary,a.btn.btn-red,a.rp-contact-button.rp-contact-button--email,a.rp-contact-hero__button.rp-contact-hero__button--primary,button.btn.btn--primary,button.btn.btn-red) :is(span,small,strong,b,em,svg){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  fill:#fff !important;
  stroke:#fff !important;
}

/* ID-level surface lock: legacy nth-of-type selectors carry unusually high
   specificity. The explicit data-rp-surface value is the final source of truth. */
html body main#main > section[data-rp-surface="light"],
html body main#main > article[data-rp-surface="light"]{
  color:var(--rp-u-ink) !important;
  background-color:#f7f4ee !important;
  background-image:
    radial-gradient(circle at 86% 10%,rgba(26,43,76,.055),transparent 28%),
    linear-gradient(180deg,#fff 0%,var(--rp-u-soft) 100%) !important;
}
html body main#main > section.section--soft[data-rp-surface="light"]{
  background-color:#eee9e1 !important;
  background-image:
    radial-gradient(circle at 8% 14%,rgba(216,50,50,.045),transparent 24%),
    linear-gradient(180deg,#f7f4ee 0%,#eee9e1 100%) !important;
}
html body main#main > :is(section,article)[data-rp-surface="light"] :is(h1,h2,h3,h4,h5,h6,strong){
  color:var(--rp-u-ink) !important;
  -webkit-text-fill-color:var(--rp-u-ink) !important;
  text-shadow:none !important;
}
html body main#main > :is(section,article)[data-rp-surface="light"] :is(p,li,.lead,span:not(.eyebrow):not(.card-kicker)){
  color:var(--rp-u-muted) !important;
  -webkit-text-fill-color:var(--rp-u-muted) !important;
  text-shadow:none !important;
}
html body main#main > :is(section,article)[data-rp-surface="light"] :is(.eyebrow,.kicker,.card-kicker){
  color:#b52429 !important;
  -webkit-text-fill-color:#b52429 !important;
}
html body main#main > :is(section,article)[data-rp-surface="light"] a:not(.btn):not(.rp-contact-button):not(.rp-contact-hero__button){
  color:var(--rp-u-blue) !important;
  -webkit-text-fill-color:var(--rp-u-blue) !important;
}
/* Nested media captions remain white on their dark overlays. */
html body main#main > :is(section,article)[data-rp-surface="light"] :is(.service-category__media figcaption,.image-frame figcaption,.gallery-item figcaption,.media-caption){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
/* Button foregrounds are controlled by button-surface rules, never by the
   surrounding light-section text rule. */
html body main#main > :is(section,article)[data-rp-surface="light"] :is(.btn,.rp-contact-button,.rp-contact-hero__button) :is(span,small,strong,b,em,svg){
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
}

/* Compact-screen viewport accounting: internal heroes begin below the fixed
   header, so their minimum height subtracts that occupied header area. */
@media (max-width:760px){
  html body.rp-standardized-page main#main > section.rp-page-hero,
  html body .article-hero{
    min-height:calc(100svh - 92px) !important;
    padding-top:88px !important;
    padding-bottom:34px !important;
  }
  html body.rp-page-contact main#main > section.rp-contact-hero{
    min-height:calc(100svh - 92px) !important;
    padding:24px 0 20px !important;
    align-items:center !important;
  }
  html body .site-header[data-header] .rp-header-statement{
    min-height:36px !important;
    padding:7px 12px !important;
    font-size:clamp(7.6px,2.18vw,9px) !important;
    line-height:1.2 !important;
    letter-spacing:.035em !important;
  }
  html body .site-header[data-header] .rp-header-statement strong{
    margin-inline:.24em !important;
  }
  html body .site-header[data-header] .rp-header-statement em{
    margin-left:.24em !important;
  }
}

@media (max-width:760px) and (max-height:760px){
  html body.rp-page-contact main#main > section.rp-contact-hero{
    min-height:calc(100svh - 92px) !important;
    padding:18px 0 16px !important;
  }
  html body.rp-page-contact .rp-contact-hero .eyebrow{margin-bottom:9px !important;}
  html body.rp-page-contact .rp-contact-hero h1,
  html body.rp-page-contact #rp-contact-title{
    max-width:15ch !important;
    font-size:clamp(32px,9.3vw,40px) !important;
    line-height:.94 !important;
  }
  html body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){
    margin-top:10px !important;
    font-size:13px !important;
    line-height:1.42 !important;
  }
  html body.rp-page-contact .rp-contact-hero__actions{
    gap:8px !important;
    margin-top:12px !important;
  }
  html body.rp-page-contact .rp-contact-hero__button{
    min-height:46px !important;
    padding:10px 18px !important;
  }
  html body.rp-page-contact .rp-contact-hero__details{
    gap:9px !important;
    margin-top:12px !important;
    padding-top:11px !important;
  }
  html body.rp-page-contact .rp-contact-hero__details :is(a,strong){font-size:13px !important;}
}

/* ========================================================================
   COMPACT VIEWPORT HERO FIT — 320–390px / short mobile screens
   Keeps the complete title, supporting copy and primary actions inside the
   first visible viewport without clipping or forcing unreadably small type.
   ======================================================================== */
@media (max-width:390px) and (max-height:700px){
  /* Standard inner-page cinematic heroes */
  html body.rp-standardized-page main#main > section.rp-page-hero{
    min-height:calc(100svh - 92px) !important;
    padding:50px 0 14px !important;
    align-items:flex-end !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__content{
    width:calc(100% - 26px) !important;
    min-height:0 !important;
    padding:18px 16px 14px !important;
    margin-inline:auto !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__copy{
    min-height:0 !important;
    gap:0 !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero .eyebrow{
    margin:0 0 12px !important;
    font-size:10px !important;
    line-height:1.2 !important;
    letter-spacing:.18em !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero h1{
    max-width:13ch !important;
    margin:0 !important;
    font-size:clamp(33px,10.7vw,38px) !important;
    line-height:.94 !important;
    letter-spacing:-.045em !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero .lead{
    max-width:38ch !important;
    margin:12px 0 0 !important;
    font-size:12.75px !important;
    line-height:1.43 !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero .button-row{
    width:100% !important;
    gap:8px !important;
    margin-top:14px !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero .button-row .btn{
    width:100% !important;
    min-height:44px !important;
    padding:10px 16px !important;
    font-size:12.5px !important;
  }

  /* Legacy/support-page heroes use .hero + .hero-grid. Normalize them to the
     same compact editorial system instead of retaining oversized old padding. */
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero{
    min-height:calc(100svh - 92px) !important;
    padding:14px 0 12px !important;
    display:flex !important;
    align-items:flex-end !important;
  }
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero > .container.hero-grid,
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .hero-grid{
    width:calc(100% - 26px) !important;
    min-height:calc(100svh - 118px) !important;
    height:auto !important;
    padding:20px 0 10px !important;
    margin-inline:auto !important;
    display:flex !important;
    align-items:flex-end !important;
  }
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .hero-copy{
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    padding:18px 0 0 !important;
    margin:0 !important;
  }
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .eyebrow{
    margin:0 0 11px !important;
    font-size:9.5px !important;
    line-height:1.2 !important;
    letter-spacing:.17em !important;
  }
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero h1{
    max-width:13ch !important;
    margin:0 !important;
    font-size:clamp(31px,10.2vw,36px) !important;
    line-height:.94 !important;
    letter-spacing:-.045em !important;
  }
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .lead{
    max-width:38ch !important;
    margin:12px 0 0 !important;
    font-size:12.5px !important;
    line-height:1.4 !important;
  }
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .button-row{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    margin-top:13px !important;
  }
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .button-row .btn{
    width:100% !important;
    min-height:43px !important;
    padding:9px 15px !important;
    font-size:12.25px !important;
  }

  /* Contact is the home-style cinematic hero, but its contact details also
     belong in the first viewport on short phones. */
  html body.rp-page-contact main#main > section.rp-contact-hero{
    min-height:calc(100svh - 92px) !important;
    padding:12px 0 10px !important;
  }
  html body.rp-page-contact .rp-contact-hero__content{
    width:calc(100% - 26px) !important;
  }
  html body.rp-page-contact .rp-contact-hero .eyebrow{margin-bottom:7px !important;}
  html body.rp-page-contact .rp-contact-hero h1,
  html body.rp-page-contact #rp-contact-title{
    max-width:15ch !important;
    font-size:clamp(29px,8.9vw,34px) !important;
    line-height:.93 !important;
  }
  html body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){
    margin-top:8px !important;
    font-size:12px !important;
    line-height:1.38 !important;
  }
  html body.rp-page-contact .rp-contact-hero__actions{
    gap:7px !important;
    margin-top:10px !important;
  }
  html body.rp-page-contact .rp-contact-hero__button{
    min-height:42px !important;
    padding:8px 14px !important;
    font-size:11.75px !important;
  }
  html body.rp-page-contact .rp-contact-hero__details{
    gap:7px !important;
    margin-top:10px !important;
    padding-top:9px !important;
  }
  html body.rp-page-contact .rp-contact-hero__details :is(a,strong){font-size:12px !important;}
  html body.rp-page-contact .rp-contact-hero__details :is(span,small){font-size:9px !important;}
}

/* Short notebooks: long support-page hero headlines must never push their
   subtitle or actions below the fold. The home and contact heroes keep their
   dedicated cinematic scales. */
@media (min-width:761px) and (max-height:800px){
  html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero{
    min-height:100svh !important;
    padding:82px 0 28px !important;
    align-items:center !important;
  }
  html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero > .container.hero-grid,
  html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero .hero-grid{
    min-height:calc(100svh - 110px) !important;
    height:auto !important;
    padding:24px 0 22px !important;
    align-items:center !important;
  }
  html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero .hero-copy{
    max-width:min(650px,52vw) !important;
  }
  html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero h1{
    max-width:13ch !important;
    margin-bottom:18px !important;
    font-size:clamp(50px,7.7vh,64px) !important;
    line-height:.94 !important;
    letter-spacing:-.045em !important;
  }
  html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero .lead{
    margin-bottom:22px !important;
    font-size:15.5px !important;
    line-height:1.5 !important;
  }
  html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero .button-row{
    margin-top:16px !important;
  }
  html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero .button-row .btn{
    min-height:50px !important;
    padding:12px 22px !important;
  }
}

/* ===== SOURCE: assets/css/realpro-contrast-hero-system-final-20260805.css ===== */
/* ========================================================================
   REALPRO STUDIOS — DEFINITIVE CONTRAST + HERO + ALIGNMENT SYSTEM
   2026-08-05 · v20260805-6 · must be loaded last
   ======================================================================== */
:root{
  --rp-final-navy:#071321;
  --rp-final-navy-2:#0b1a2b;
  --rp-final-blue:#1a2b4c;
  --rp-final-ink:#14243a;
  --rp-final-copy:#526176;
  --rp-final-copy-dark:#d6dee8;
  --rp-final-red:#d83232;
  --rp-final-red-dark:#b8242a;
  --rp-final-white:#ffffff;
  --rp-final-cream:#f7f4ee;
  --rp-final-soft:#eee9e1;
  --rp-final-container:1320px;
  --rp-final-gutter:clamp(20px,4vw,64px);
  --rp-final-section-space:clamp(76px,8vw,132px);
  --rp-final-radius:clamp(20px,1.7vw,32px);
  --rp-final-ease:cubic-bezier(.22,.76,.24,1);
}

/* ---------- Geometry and permanent visibility ---------- */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:clip !important;
}
html{scroll-padding-top:clamp(78px,8vw,112px);}
body main#main{
  width:100%;
  max-width:100%;
  overflow:visible !important;
}
body main#main > :is(section,article){
  width:100%;
  max-width:100%;
  min-width:0;
  height:auto !important;
  max-height:none !important;
  overflow-x:clip !important;
  overflow-y:visible !important;
}
body main#main > :is(.hero,.rp-page-hero,.rp-contact-hero,.reel,.final-cta){
  overflow:hidden !important;
}
body .container{
  width:min(calc(100% - (var(--rp-final-gutter) * 2)),var(--rp-final-container)) !important;
  max-width:var(--rp-final-container) !important;
  margin-inline:auto !important;
}
body main#main :is(.reveal,.rp-visibility-guard){
  visibility:visible !important;
}
html.rp-final-ui-ready body main#main :is(.reveal,.rp-visibility-guard){
  opacity:1 !important;
}
body main#main :is(h1,h2,h3,h4,h5,h6,p,li,a,strong,span,small){
  min-width:0;
  max-width:100%;
}
body main#main :is(h1,h2,h3,h4,h5,h6){
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}
body main#main :is(p,li,a,strong,span,small){overflow-wrap:anywhere;}
body main#main :is(img,picture,video,iframe,svg){max-width:100%;}

/* ---------- Explicit surfaces are the final source of truth ---------- */
html body main#main > :is(section,article)[data-rp-surface="light"]{
  color:var(--rp-final-ink) !important;
  background-color:var(--rp-final-cream) !important;
  background-image:
    radial-gradient(circle at 88% 8%,rgba(26,43,76,.055),transparent 29%),
    linear-gradient(180deg,#fff 0%,var(--rp-final-cream) 100%) !important;
}
html body main#main > :is(section,article).section--soft[data-rp-surface="light"]{
  background-color:var(--rp-final-soft) !important;
  background-image:
    radial-gradient(circle at 8% 10%,rgba(216,50,50,.045),transparent 24%),
    linear-gradient(180deg,#f7f4ee 0%,var(--rp-final-soft) 100%) !important;
}
html body main#main > :is(section,article)[data-rp-surface="light"] :is(h1,h2,h3,h4,h5,h6,strong){
  color:var(--rp-final-ink) !important;
  -webkit-text-fill-color:var(--rp-final-ink) !important;
  text-shadow:none !important;
  background-image:none !important;
}
html body main#main > :is(section,article)[data-rp-surface="light"] :is(p,li,.lead){
  color:var(--rp-final-copy) !important;
  -webkit-text-fill-color:var(--rp-final-copy) !important;
  text-shadow:none !important;
}
html body main#main > :is(section,article)[data-rp-surface="light"] :is(.eyebrow,.kicker,.card-kicker){
  color:#b52429 !important;
  -webkit-text-fill-color:#b52429 !important;
}
html body main#main > :is(section,article)[data-rp-surface="light"] a:not(.btn):not(.rp-contact-button):not(.rp-contact-hero__button){
  color:var(--rp-final-blue) !important;
  -webkit-text-fill-color:var(--rp-final-blue) !important;
}

html body main#main > :is(section,article)[data-rp-surface="dark"]{
  color:var(--rp-final-white) !important;
}
html body main#main > :is(section,article)[data-rp-surface="dark"]:not(.hero):not(.rp-page-hero):not(.rp-contact-hero):not(.reel):not(.approach):not(.services):not(.final-cta):not(.section--cta){
  background-color:var(--rp-final-navy) !important;
  background-image:
    radial-gradient(circle at 10% 12%,rgba(216,50,50,.13),transparent 28%),
    radial-gradient(circle at 88% 10%,rgba(63,95,132,.17),transparent 32%),
    linear-gradient(180deg,var(--rp-final-navy) 0%,var(--rp-final-navy-2) 100%) !important;
}
html body main#main > :is(section,article)[data-rp-surface="dark"] :is(h1,h2,h3,h4,h5,h6,strong){
  color:var(--rp-final-white) !important;
  -webkit-text-fill-color:var(--rp-final-white) !important;
  background-image:none !important;
  text-shadow:0 8px 28px rgba(0,0,0,.26) !important;
}
html body main#main > :is(section,article)[data-rp-surface="dark"] :is(p,li,.lead){
  color:var(--rp-final-copy-dark) !important;
  -webkit-text-fill-color:var(--rp-final-copy-dark) !important;
}
html body main#main > :is(section,article)[data-rp-surface="dark"] :is(.eyebrow,.kicker,.card-kicker){
  color:#ff7070 !important;
  -webkit-text-fill-color:#ff7070 !important;
}
html body main#main > :is(section,article)[data-rp-surface="dark"] a:not(.btn):not(.rp-contact-button):not(.rp-contact-hero__button){
  color:var(--rp-final-white) !important;
  -webkit-text-fill-color:var(--rp-final-white) !important;
}

/* Nested media captions stay light regardless of the parent section. */
html body main#main :is(.service-category__media figcaption,.image-frame figcaption,.gallery-item figcaption,.media-caption){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* ---------- Button contrast: button surface, not section assumptions ---------- */
html body main#main :is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all){
  position:relative;
  isolation:isolate;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:54px !important;
  max-width:100%;
  padding:14px 24px !important;
  border:1.5px solid transparent !important;
  border-radius:999px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  letter-spacing:.025em !important;
  text-align:center !important;
  text-decoration:none !important;
  opacity:1 !important;
  visibility:visible !important;
  text-shadow:none !important;
  -webkit-text-fill-color:currentColor !important;
  transition:transform .24s var(--rp-final-ease),background-color .24s ease,color .24s ease,border-color .24s ease,box-shadow .24s ease !important;
}
html body main#main :is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all) :is(span,small,strong,b,em,svg){
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  fill:currentColor !important;
  stroke:currentColor !important;
  opacity:1 !important;
}
html body main#main :is(.btn--primary,.btn-red,.rp-contact-button--email,.rp-contact-hero__button--primary){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:var(--rp-final-red) !important;
  border-color:var(--rp-final-red) !important;
  box-shadow:0 14px 32px rgba(216,50,50,.28) !important;
}
html body main#main :is(.btn--primary,.btn-red,.rp-contact-button--email,.rp-contact-hero__button--primary):is(:hover,:focus-visible){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:var(--rp-final-red-dark) !important;
  border-color:var(--rp-final-red-dark) !important;
  transform:translateY(-2px) !important;
}

/* Every secondary / Call Now action on a light section is visibly light with navy copy. */
html body main#main > :is(section,article)[data-rp-surface="light"] :is(a.btn:not(.btn--primary):not(.btn-red),a.rp-contact-button--call,a.rp-contact-hero__button--secondary),
html body main#main [data-rp-ui-surface="light"] :is(a.btn:not(.btn--primary):not(.btn-red),a.rp-contact-button--call,a.rp-contact-hero__button--secondary),
html body main#main .cta-panel :is(a.btn:not(.btn--primary):not(.btn-red),a.rp-contact-button--call,a.rp-contact-hero__button--secondary){
  color:var(--rp-final-blue) !important;
  -webkit-text-fill-color:var(--rp-final-blue) !important;
  background:#fff !important;
  border-color:rgba(26,43,76,.72) !important;
  box-shadow:0 12px 28px rgba(20,36,58,.12) !important;
  backdrop-filter:none !important;
}
html body main#main > :is(section,article)[data-rp-surface="light"] :is(a.btn:not(.btn--primary):not(.btn-red),a.rp-contact-button--call,a.rp-contact-hero__button--secondary):is(:hover,:focus-visible),
html body main#main [data-rp-ui-surface="light"] :is(a.btn:not(.btn--primary):not(.btn-red),a.rp-contact-button--call,a.rp-contact-hero__button--secondary):is(:hover,:focus-visible),
html body main#main .cta-panel :is(a.btn:not(.btn--primary):not(.btn-red),a.rp-contact-button--call,a.rp-contact-hero__button--secondary):is(:hover,:focus-visible){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:var(--rp-final-blue) !important;
  border-color:var(--rp-final-blue) !important;
  transform:translateY(-2px) !important;
}

/* Every secondary / Call Now action on a dark section has white copy and border. */
html body main#main > :is(section,article)[data-rp-surface="dark"] :is(a.btn:not(.btn--primary):not(.btn-red),a.rp-contact-button--call,a.rp-contact-hero__button--secondary),
html body main#main [data-rp-ui-surface="dark"] :is(a.btn:not(.btn--primary):not(.btn-red),a.rp-contact-button--call,a.rp-contact-hero__button--secondary){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:rgba(7,19,33,.56) !important;
  border-color:rgba(255,255,255,.82) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04) !important;
  backdrop-filter:blur(12px) !important;
}
html body main#main > :is(section,article)[data-rp-surface="dark"] :is(a.btn:not(.btn--primary):not(.btn-red),a.rp-contact-button--call,a.rp-contact-hero__button--secondary):is(:hover,:focus-visible),
html body main#main [data-rp-ui-surface="dark"] :is(a.btn:not(.btn--primary):not(.btn-red),a.rp-contact-button--call,a.rp-contact-hero__button--secondary):is(:hover,:focus-visible){
  color:var(--rp-final-navy) !important;
  -webkit-text-fill-color:var(--rp-final-navy) !important;
  background:#fff !important;
  border-color:#fff !important;
  transform:translateY(-2px) !important;
}

/* Absolute lock for Services Call Now labels and phone numbers. */
html body.rp-page-services main#main > section[data-rp-surface="light"] a.rp-contact-button.rp-contact-button--call,
html body main#main > section[data-rp-surface="light"] a.rp-contact-button.rp-contact-button--call{
  color:var(--rp-final-blue) !important;
  -webkit-text-fill-color:var(--rp-final-blue) !important;
  background:#fff !important;
  border-color:rgba(26,43,76,.72) !important;
}
html body.rp-page-services main#main > section[data-rp-surface="light"] a.rp-contact-button.rp-contact-button--call :is(span,small,strong),
html body main#main > section[data-rp-surface="light"] a.rp-contact-button.rp-contact-button--call :is(span,small,strong){
  color:var(--rp-final-blue) !important;
  -webkit-text-fill-color:var(--rp-final-blue) !important;
}
html body.rp-page-services main#main > section[data-rp-surface="light"] a.rp-contact-button.rp-contact-button--call:is(:hover,:focus-visible) :is(span,small,strong),
html body main#main > section[data-rp-surface="light"] a.rp-contact-button.rp-contact-button--call:is(:hover,:focus-visible) :is(span,small,strong){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
html body main#main .rp-contact-button--call{
  flex-direction:column !important;
  gap:4px !important;
}
html body main#main .rp-contact-button--call small{
  display:block !important;
  font-size:10px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  letter-spacing:.025em !important;
}
html body main#main :is(.btn,.rp-contact-button,.rp-contact-hero__button):focus-visible{
  outline:3px solid #ff6b6b !important;
  outline-offset:4px !important;
}

/* ---------- Light CTA panel nested in a dark cinematic band ---------- */
html body main#main > section.section--cta[data-rp-surface="dark"]{
  padding:var(--rp-final-section-space) 0 !important;
  background:
    radial-gradient(circle at 12% 0%,rgba(216,50,50,.22),transparent 31%),
    linear-gradient(135deg,var(--rp-final-navy),var(--rp-final-navy-2) 64%,#050b13) !important;
}
html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.62fr) !important;
  align-items:center !important;
  gap:clamp(34px,5vw,76px) !important;
  padding:clamp(34px,4.7vw,68px) !important;
  color:var(--rp-final-ink) !important;
  background:
    radial-gradient(circle at 8% 8%,rgba(255,255,255,.98),transparent 35%),
    linear-gradient(135deg,#fff 0%,#f8f4ed 60%,#eee7dc 100%) !important;
  border:1px solid rgba(255,255,255,.58) !important;
  border-radius:var(--rp-final-radius) !important;
  box-shadow:0 34px 100px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.94) !important;
  overflow:hidden !important;
}
html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel :is(h1,h2,h3,h4,h5,h6,strong){
  color:var(--rp-final-ink) !important;
  -webkit-text-fill-color:var(--rp-final-ink) !important;
  text-shadow:none !important;
  background-image:none !important;
}
html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel :is(p,li,.lead){
  color:var(--rp-final-copy) !important;
  -webkit-text-fill-color:var(--rp-final-copy) !important;
  text-shadow:none !important;
}
html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel :is(.eyebrow,.kicker){
  color:#b52429 !important;
  -webkit-text-fill-color:#b52429 !important;
}
html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel h2{
  max-width:15ch !important;
  margin:0 !important;
  font-size:clamp(44px,4.6vw,78px) !important;
  line-height:.95 !important;
  letter-spacing:-.05em !important;
}
html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel > div > p:not(.eyebrow){
  max-width:60ch !important;
  margin-top:clamp(16px,1.8vw,24px) !important;
  font-size:clamp(15px,1vw,18px) !important;
  line-height:1.62 !important;
}
html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel .button-row{
  margin-top:clamp(22px,2.4vw,34px) !important;
}
html body main#main > section.section--cta[data-rp-surface="dark"] .cta-media{
  width:100% !important;
  height:clamp(300px,31vw,500px) !important;
  min-height:0 !important;
  margin:0 !important;
  border-radius:clamp(18px,1.5vw,26px) !important;
  overflow:hidden !important;
  background:var(--rp-final-navy) !important;
}
html body main#main > section.section--cta[data-rp-surface="dark"] .cta-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* ---------- Internal page heroes: full content, same cinematic grammar ---------- */
html body.rp-standardized-page main#main > section.rp-page-hero[data-rp-surface="dark"]{
  display:flex !important;
  align-items:center !important;
  min-height:max(660px,100svh) !important;
  height:auto !important;
  max-height:none !important;
  padding:clamp(126px,13vh,164px) 0 clamp(54px,7vh,84px) !important;
  color:#fff !important;
  background:var(--rp-final-navy) !important;
}
html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__media,
html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__cloud{
  position:absolute !important;
  inset:0 !important;
}
html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:brightness(.70) contrast(1.09) saturate(1.03) !important;
}
html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__cloud{
  background:
    radial-gradient(circle at 12% 70%,rgba(216,50,50,.16),transparent 29%),
    linear-gradient(90deg,rgba(7,19,33,.97) 0%,rgba(7,19,33,.90) 37%,rgba(7,19,33,.50) 66%,rgba(7,19,33,.20) 100%),
    linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.10) 45%,rgba(0,0,0,.62)) !important;
}
html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__content{
  position:relative !important;
  z-index:3 !important;
  width:min(calc(100% - (var(--rp-final-gutter) * 2)),var(--rp-final-container)) !important;
  max-width:var(--rp-final-container) !important;
  margin-inline:auto !important;
  padding:0 !important;
}
html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__copy{
  width:min(100%,820px) !important;
  max-width:820px !important;
  padding:0 !important;
  margin:0 !important;
}
html body.rp-standardized-page main#main > section.rp-page-hero .eyebrow{
  margin:0 0 clamp(14px,1.6vh,20px) !important;
  color:#ff7070 !important;
  -webkit-text-fill-color:#ff7070 !important;
}
html body.rp-standardized-page main#main > section.rp-page-hero h1{
  max-width:15ch !important;
  margin:0 !important;
  color:var(--rp-final-cream) !important;
  -webkit-text-fill-color:var(--rp-final-cream) !important;
  font-size:clamp(48px,min(5.4vw,9vh),88px) !important;
  font-weight:670 !important;
  line-height:.95 !important;
  letter-spacing:-.052em !important;
  text-shadow:0 12px 40px rgba(0,0,0,.38) !important;
}
html body.rp-standardized-page main#main > section.rp-page-hero .lead{
  max-width:690px !important;
  margin:clamp(18px,2.3vh,28px) 0 0 !important;
  color:var(--rp-final-copy-dark) !important;
  -webkit-text-fill-color:var(--rp-final-copy-dark) !important;
  font-size:clamp(15px,1.08vw,19px) !important;
  line-height:1.58 !important;
}
html body.rp-standardized-page main#main > section.rp-page-hero .button-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin-top:clamp(22px,3vh,34px) !important;
}

/* Legacy support-page heroes use the same visible hierarchy. */
html body.rp-standardized-page:not(.home-model-page) main#main > section.hero[data-rp-surface="dark"]{
  min-height:max(640px,100svh) !important;
  height:auto !important;
  max-height:none !important;
  padding:clamp(124px,13vh,160px) 0 clamp(48px,6vh,76px) !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
}
html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .hero-copy{
  max-width:min(760px,70vw) !important;
}
html body.rp-standardized-page:not(.home-model-page) main#main > section.hero h1{
  max-width:15ch !important;
  color:var(--rp-final-cream) !important;
  -webkit-text-fill-color:var(--rp-final-cream) !important;
  font-size:clamp(46px,min(5.2vw,8.6vh),84px) !important;
  line-height:.95 !important;
  letter-spacing:-.05em !important;
}
html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .lead,
html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .hero-copy > p:not(.eyebrow){
  max-width:680px !important;
  color:var(--rp-final-copy-dark) !important;
  -webkit-text-fill-color:var(--rp-final-copy-dark) !important;
  font-size:clamp(15px,1.05vw,18px) !important;
  line-height:1.58 !important;
}

/* ---------- Contact hero: same cinematic logic as Home, compact enough for details ---------- */
html body.rp-page-contact main#main{
  background:var(--rp-final-navy) !important;
}
html body.rp-page-contact main#main > section.rp-contact-hero[data-rp-surface="dark"]{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  min-height:max(700px,100svh) !important;
  height:auto !important;
  max-height:none !important;
  padding:clamp(128px,13vh,164px) 0 clamp(44px,5.8vh,70px) !important;
  background:var(--rp-final-navy) !important;
  overflow:hidden !important;
}
html body.rp-page-contact .rp-contact-hero__media,
html body.rp-page-contact .rp-contact-hero__shade{
  position:absolute !important;
  inset:0 !important;
}
html body.rp-page-contact .rp-contact-hero__media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:brightness(.70) contrast(1.10) saturate(1.03) !important;
}
html body.rp-page-contact .rp-contact-hero__shade{
  z-index:1 !important;
  background:
    radial-gradient(circle at 16% 76%,rgba(216,50,50,.15),transparent 28%),
    linear-gradient(90deg,rgba(7,19,33,.98) 0%,rgba(7,19,33,.92) 38%,rgba(7,19,33,.56) 66%,rgba(7,19,33,.22) 100%),
    linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.08) 46%,rgba(0,0,0,.68)) !important;
}
html body.rp-page-contact .rp-contact-hero__content{
  position:relative !important;
  z-index:3 !important;
  width:min(calc(100% - (var(--rp-final-gutter) * 2)),var(--rp-final-container)) !important;
  max-width:var(--rp-final-container) !important;
  margin-inline:auto !important;
  padding:0 !important;
}
html body.rp-page-contact .rp-contact-hero .eyebrow{
  margin:0 0 clamp(13px,1.6vh,19px) !important;
  color:#ff7070 !important;
  -webkit-text-fill-color:#ff7070 !important;
}
html body.rp-page-contact .rp-contact-hero h1,
html body.rp-page-contact #rp-contact-title{
  max-width:20ch !important;
  margin:0 !important;
  color:var(--rp-final-cream) !important;
  -webkit-text-fill-color:var(--rp-final-cream) !important;
  font-size:clamp(46px,min(4.9vw,8.2vh),82px) !important;
  font-weight:670 !important;
  line-height:.96 !important;
  letter-spacing:-.052em !important;
  text-shadow:0 12px 40px rgba(0,0,0,.40) !important;
  background-image:none !important;
}
html body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){
  max-width:720px !important;
  margin:clamp(16px,2.1vh,24px) 0 0 !important;
  color:var(--rp-final-copy-dark) !important;
  -webkit-text-fill-color:var(--rp-final-copy-dark) !important;
  font-size:clamp(15px,1.02vw,18px) !important;
  line-height:1.56 !important;
}
html body.rp-page-contact .rp-contact-hero__actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin-top:clamp(20px,2.6vh,30px) !important;
}
html body.rp-page-contact .rp-contact-hero__button{
  min-width:190px !important;
  min-height:54px !important;
}
html body.rp-page-contact .rp-contact-hero__details{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(24px,5vw,72px) !important;
  max-width:900px !important;
  margin-top:clamp(26px,3.5vh,40px) !important;
  padding-top:clamp(18px,2.2vh,25px) !important;
  border-top:1px solid rgba(255,255,255,.34) !important;
}
html body.rp-page-contact .rp-contact-hero__details a{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  text-decoration:none !important;
}
html body.rp-page-contact .rp-contact-hero__details span{
  color:#aeb9c6 !important;
  -webkit-text-fill-color:#aeb9c6 !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}
html body.rp-page-contact .rp-contact-hero__details strong{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:clamp(16px,1.2vw,21px) !important;
  line-height:1.3 !important;
}

/* ---------- Sitewide section alignment ---------- */
html body.rp-standardized-page main#main > section.section:not(.section--cta){
  padding:var(--rp-final-section-space) 0 !important;
}
html body.rp-standardized-page main#main .section-heading{
  max-width:100% !important;
  margin-bottom:clamp(34px,4vw,60px) !important;
}
html body.rp-standardized-page main#main .section-heading h2,
html body.rp-standardized-page main#main .editorial-copy h2,
html body.rp-standardized-page main#main .process-timeline .section-heading > h2{
  max-width:16ch !important;
  margin:0 !important;
  font-size:clamp(42px,4.5vw,76px) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}
html body.rp-standardized-page main#main .section-heading--split{
  display:grid !important;
  grid-template-columns:minmax(0,1.18fr) minmax(280px,.62fr) !important;
  align-items:end !important;
  gap:clamp(34px,6vw,92px) !important;
}
html body.rp-standardized-page main#main .section-heading--split > p{
  max-width:48ch !important;
  margin:0 !important;
  font-size:clamp(15px,1.05vw,18px) !important;
  line-height:1.62 !important;
}
html body.rp-standardized-page main#main .editorial-split,
html body.rp-standardized-page main#main .service-detail-grid,
html body.rp-standardized-page main#main .service-category{
  gap:clamp(38px,6vw,94px) !important;
  align-items:center !important;
}
html body.rp-standardized-page main#main :is(.image-frame,.gallery-item,.service-category__media){
  overflow:hidden !important;
}
html body.rp-standardized-page main#main :is(.image-frame,.gallery-item,.service-category__media) img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* Process receives the same container and rhythm as every other page. */
html body.rp-page-process main#main .process-timeline,
html body.rp-page-process main#main .section-heading--split,
html body.rp-page-process main#main .gallery-grid--detail{
  width:min(calc(100% - (var(--rp-final-gutter) * 2)),var(--rp-final-container)) !important;
  max-width:var(--rp-final-container) !important;
  margin-inline:auto !important;
}
html body.rp-page-process main#main .timeline-list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(18px,2vw,28px) !important;
}
html body.rp-page-process main#main .timeline-list article{
  min-height:260px !important;
  padding:clamp(24px,2.4vw,34px) !important;
  border:1px solid rgba(20,36,58,.14) !important;
  border-radius:clamp(18px,1.35vw,24px) !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:0 18px 48px rgba(20,36,58,.08) !important;
}
html body.rp-page-process main#main .timeline-list article > span{
  color:var(--rp-final-red) !important;
  -webkit-text-fill-color:var(--rp-final-red) !important;
}
html body.rp-page-process main#main .timeline-list h3{
  margin:clamp(24px,3vw,42px) 0 12px !important;
  font-size:clamp(24px,2vw,32px) !important;
  line-height:1.08 !important;
}
html body.rp-page-process main#main .timeline-list p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.58 !important;
}
html body.rp-page-process main#main .gallery-grid--detail{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(18px,2vw,28px) !important;
}
html body.rp-page-process main#main .gallery-grid--detail .gallery-item{
  min-height:clamp(280px,28vw,430px) !important;
  border-radius:clamp(18px,1.5vw,26px) !important;
}

/* ---------- Responsive refinements ---------- */
@media (max-width:1100px){
  html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel{
    grid-template-columns:1fr 1fr !important;
  }
  html body.rp-page-process main#main .timeline-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  html body.rp-page-process main#main .gallery-grid--detail{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  html body.rp-page-process main#main .gallery-grid--detail .gallery-item:last-child{grid-column:1/-1 !important;}
}

@media (max-width:820px){
  :root{--rp-final-gutter:clamp(18px,4.5vw,32px);--rp-final-section-space:clamp(64px,10vw,88px);}
  html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel{
    grid-template-columns:1fr !important;
  }
  html body main#main > section.section--cta[data-rp-surface="dark"] .cta-media{
    height:clamp(260px,58vw,430px) !important;
  }
  html body.rp-standardized-page main#main .section-heading--split{
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:22px !important;
  }
  html body.rp-page-process main#main .timeline-list,
  html body.rp-page-process main#main .gallery-grid--detail{
    grid-template-columns:1fr !important;
  }
  html body.rp-page-process main#main .gallery-grid--detail .gallery-item:last-child{grid-column:auto !important;}
}

@media (max-width:760px){
  html body.rp-standardized-page main#main > section.rp-page-hero[data-rp-surface="dark"],
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero[data-rp-surface="dark"]{
    min-height:max(600px,100svh) !important;
    padding:clamp(104px,14vh,124px) 0 38px !important;
    align-items:flex-end !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__copy,
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .hero-copy{
    width:100% !important;
    max-width:100% !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero h1,
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero h1{
    max-width:15ch !important;
    font-size:clamp(38px,11.5vw,58px) !important;
    line-height:.95 !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero .lead,
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .lead,
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .hero-copy > p:not(.eyebrow){
    max-width:42ch !important;
    font-size:14px !important;
    line-height:1.52 !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero .button-row,
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .button-row{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero .button-row .btn,
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero .button-row .btn{
    width:100% !important;
  }

  html body.rp-page-contact main#main > section.rp-contact-hero[data-rp-surface="dark"]{
    min-height:max(640px,100svh) !important;
    padding:clamp(104px,13vh,120px) 0 30px !important;
    align-items:flex-end !important;
  }
  html body.rp-page-contact .rp-contact-hero__media img{object-position:62% center !important;}
  html body.rp-page-contact .rp-contact-hero__shade{
    background:
      radial-gradient(circle at 15% 78%,rgba(216,50,50,.16),transparent 28%),
      linear-gradient(90deg,rgba(7,19,33,.98) 0%,rgba(7,19,33,.90) 64%,rgba(7,19,33,.42) 100%),
      linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.10) 44%,rgba(0,0,0,.76)) !important;
  }
  html body.rp-page-contact .rp-contact-hero h1,
  html body.rp-page-contact #rp-contact-title{
    max-width:15ch !important;
    font-size:clamp(36px,10.7vw,52px) !important;
  }
  html body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){font-size:14px !important;line-height:1.5 !important;}
  html body.rp-page-contact .rp-contact-hero__actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  html body.rp-page-contact .rp-contact-hero__button{width:100% !important;min-width:0 !important;}
  html body.rp-page-contact .rp-contact-hero__details{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel{
    padding:28px !important;
  }
  html body main#main > section.section--cta[data-rp-surface="dark"] .cta-panel h2,
  html body.rp-standardized-page main#main .section-heading h2,
  html body.rp-standardized-page main#main .editorial-copy h2,
  html body.rp-standardized-page main#main .process-timeline .section-heading > h2{
    font-size:clamp(38px,11vw,54px) !important;
  }
  html body.rp-standardized-page main#main .rp-service-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
  }
  html body.rp-standardized-page main#main .rp-service-actions .rp-contact-button{width:100% !important;}
}

@media (max-width:390px){
  :root{--rp-final-gutter:14px;}
  html body.rp-page-contact .rp-contact-hero h1,
  html body.rp-page-contact #rp-contact-title,
  html body.rp-standardized-page main#main > section.rp-page-hero h1,
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero h1{
    font-size:clamp(32px,10.2vw,42px) !important;
  }
  html body.rp-page-contact .rp-contact-hero__details strong{font-size:14px !important;}
  html body main#main :is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all){
    min-height:48px !important;
    padding:12px 18px !important;
    font-size:12px !important;
  }
}

@media (min-width:761px) and (max-height:820px){
  html body.rp-standardized-page main#main > section.rp-page-hero[data-rp-surface="dark"],
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero[data-rp-surface="dark"]{
    min-height:100svh !important;
    padding:108px 0 34px !important;
  }
  html body.rp-standardized-page main#main > section.rp-page-hero h1,
  html body.rp-standardized-page:not(.home-model-page) main#main > section.hero h1{
    font-size:clamp(46px,7.6vh,66px) !important;
  }
  html body.rp-page-contact main#main > section.rp-contact-hero[data-rp-surface="dark"]{
    min-height:100svh !important;
    padding:104px 0 28px !important;
  }
  html body.rp-page-contact .rp-contact-hero h1,
  html body.rp-page-contact #rp-contact-title{
    max-width:18ch !important;
    font-size:clamp(44px,7.2vh,64px) !important;
  }
  html body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){margin-top:14px !important;}
  html body.rp-page-contact .rp-contact-hero__actions{margin-top:18px !important;}
  html body.rp-page-contact .rp-contact-hero__details{margin-top:22px !important;padding-top:16px !important;}
}

@media (prefers-reduced-motion:reduce){
  html body main#main *,html body main#main *::before,html body main#main *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* Final mobile Contact fit: center the complete content block so title,
   supporting copy, actions, email and phone remain visible in one viewport. */
@media (max-width:760px){
  html body.rp-page-contact main#main > section.rp-contact-hero[data-rp-surface="dark"]{
    align-items:center !important;
  }
}
@media (max-width:760px){
  html body.rp-page-contact .rp-contact-hero h1,
  html body.rp-page-contact #rp-contact-title{
    font-size:clamp(31px,9vw,38px) !important;
    line-height:.94 !important;
  }
  html body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){
    margin-top:12px !important;
  }
  html body.rp-page-contact .rp-contact-hero__actions{
    margin-top:16px !important;
  }
  html body.rp-page-contact .rp-contact-hero__details{
    margin-top:18px !important;
    padding-top:14px !important;
    gap:10px !important;
  }
}

/* Final first-viewport fit for inner-page heroes on phones. The visual image
   remains visible, while the complete title, supporting copy and CTA move into
   the initial viewport instead of falling below it. */
@media (max-width:760px){
  html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__content{
    transform:translateY(clamp(-68px,-7vh,-44px)) !important;
  }
  html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero .hero-grid{
    transform:translateY(-20px) !important;
  }
  html body.rp-page-contact .rp-contact-hero__details{
    margin-top:14px !important;
    padding-top:12px !important;
  }
}

/* Ultra-compact phones: preserve every Contact item inside 320×640-class
   screens without hiding information or reducing tap-target reliability. */
@media (max-width:390px) and (max-height:700px){
  html body.rp-page-contact .rp-contact-hero__content{
    transform:translateY(-14px) !important;
  }
  html body.rp-page-contact .rp-contact-hero .eyebrow{
    margin-bottom:6px !important;
    font-size:9px !important;
  }
  html body.rp-page-contact .rp-contact-hero h1,
  html body.rp-page-contact #rp-contact-title{
    max-width:16ch !important;
    font-size:clamp(27px,8.6vw,31px) !important;
    line-height:.93 !important;
  }
  html body.rp-page-contact .rp-contact-hero__content > p:not(.eyebrow){
    margin-top:8px !important;
    font-size:11.25px !important;
    line-height:1.34 !important;
  }
  html body.rp-page-contact .rp-contact-hero__actions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    margin-top:10px !important;
  }
  html body.rp-page-contact .rp-contact-hero__button{
    min-height:42px !important;
    padding:8px 8px !important;
    font-size:10px !important;
    letter-spacing:.015em !important;
  }
  html body.rp-page-contact .rp-contact-hero__details{
    gap:4px !important;
    margin-top:8px !important;
    padding-top:7px !important;
  }
  html body.rp-page-contact .rp-contact-hero__details a{
    gap:2px !important;
  }
  html body.rp-page-contact .rp-contact-hero__details span{
    font-size:8px !important;
    letter-spacing:.11em !important;
  }
  html body.rp-page-contact .rp-contact-hero__details strong{
    font-size:11.5px !important;
    line-height:1.2 !important;
  }
}
@media (max-width:760px){
  html body.rp-standardized-page main#main > section.rp-page-hero .rp-page-hero__content{
    transform:translateY(clamp(-82px,-8.5vh,-64px)) !important;
  }
  html body.rp-page-contact .rp-contact-hero__details{
    margin-top:12px !important;
    padding-top:10px !important;
  }
}
html body main#main :is(.btn,.rp-contact-button,.rp-contact-hero__button,.rp-services-all){
  white-space:nowrap !important;
}

/* ===== SOURCE: assets/css/realpro-hero-title-scale-final-20260805.css ===== */
/*
 * REALPRO Studios — hero titles aligned to the ORIGINAL Home scale
 * Revision 2026-08-05 / v9.
 *
 * Important: the Home hero is deliberately excluded from every rule below.
 * Its original typography remains untouched and is the visual reference used
 * by all internal pages.
 */

:root{
  /* Original Home desktop scale */
  --rp-home-reference-title-size:clamp(66px,6.35vw,112px);
  --rp-home-reference-title-line:.93;
  --rp-home-reference-title-tracking:-.028em;
  --rp-home-reference-title-weight:700;
}

/*
 * Apply the Home reference only to internal-page primary hero titles.
 * The class exists once per page and never changes the Home hero itself.
 */
html body.rp-standardized-page:not(.rp-page-index) main#main > section.rp-page-hero .rp-page-hero__copy h1.rp-unified-hero-title,
html body.rp-standardized-page:not(.rp-page-index) main#main > section.hero .hero-copy h1.rp-unified-hero-title,
html body.rp-standardized-page.rp-page-contact main#main > section.rp-contact-hero h1.rp-unified-hero-title#rp-contact-title{
  width:auto !important;
  max-width:min(100%,1120px) !important;
  margin:0 !important;
  font-size:var(--rp-home-reference-title-size) !important;
  font-weight:var(--rp-home-reference-title-weight) !important;
  line-height:var(--rp-home-reference-title-line) !important;
  letter-spacing:var(--rp-home-reference-title-tracking) !important;
  text-transform:uppercase !important;
  text-wrap:balance !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

/* Give longer internal headlines enough line length without changing size. */
html body.rp-standardized-page main#main > section.rp-page-hero[data-rp-surface="dark"] .rp-page-hero__content > .rp-page-hero__copy{
  width:min(100%,1050px) !important;
  max-width:1050px !important;
}
html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero[data-rp-surface="dark"] .hero-grid > .hero-copy{
  width:min(100%,900px) !important;
  max-width:900px !important;
}
html body.rp-standardized-page.rp-page-contact main#main > section.rp-contact-hero[data-rp-surface="dark"] .rp-contact-hero__content{
  width:min(calc(100% - (var(--rp-final-gutter,clamp(20px,4vw,72px)) * 2)),var(--rp-final-container,1540px)) !important;
  max-width:var(--rp-final-container,1540px) !important;
}

/* Internal heroes may expand vertically instead of clipping long headlines. */
html body:not(.rp-page-index) main#main > section.hero,
html body:not(.rp-page-index) main#main > section.rp-page-hero,
html body:not(.rp-page-index) main#main > section.rp-contact-hero{
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
}
html body.rp-standardized-page:not(.rp-page-index) main#main > section.rp-page-hero[data-rp-surface="dark"],
html body.rp-standardized-page:not(.rp-page-index):not(.home-model-page) main#main > section.hero[data-rp-surface="dark"],
html body.rp-standardized-page.rp-page-contact main#main > section.rp-contact-hero[data-rp-surface="dark"]{
  min-height:100svh !important;
}

/* 1366px and compact notebooks: original Home scale at this breakpoint. */
@media (max-width:1399px){
  :root{
    --rp-home-reference-title-size:clamp(66px,5.85vw,91.44px);
    --rp-home-reference-title-line:.93;
    --rp-home-reference-title-tracking:-.028em;
  }
}

/* Tablets use the original Home minimum, preserving hierarchy without growth. */
@media (max-width:1024px){
  :root{
    --rp-home-reference-title-size:66px;
    --rp-home-reference-title-line:.93;
    --rp-home-reference-title-tracking:-.022em;
  }
}

/* Smartphones reproduce the original Home mobile scale exactly. */
@media (max-width:760px){
  :root{
    --rp-home-reference-title-size:clamp(42px,12.4vw,66px);
    --rp-home-reference-title-line:.94;
    --rp-home-reference-title-tracking:-.018em;
  }

  html body.rp-standardized-page:not(.rp-page-index) main#main > section.rp-page-hero .rp-page-hero__copy h1.rp-unified-hero-title,
  html body.rp-standardized-page:not(.rp-page-index) main#main > section.hero .hero-copy h1.rp-unified-hero-title,
  html body.rp-standardized-page.rp-page-contact main#main > section.rp-contact-hero h1.rp-unified-hero-title#rp-contact-title{
    width:100% !important;
    max-width:100% !important;
  }

  html body.rp-standardized-page main#main > section.rp-page-hero[data-rp-surface="dark"] .rp-page-hero__content > .rp-page-hero__copy,
  html body.rp-standardized-page:not(.home-model-page):not(.rp-page-contact) main#main > section.hero[data-rp-surface="dark"] .hero-grid > .hero-copy{
    width:100% !important;
    max-width:100% !important;
  }

  html body.rp-standardized-page:not(.rp-page-index) main#main > section.rp-page-hero[data-rp-surface="dark"],
  html body.rp-standardized-page:not(.rp-page-index):not(.home-model-page) main#main > section.hero[data-rp-surface="dark"],
  html body.rp-standardized-page.rp-page-contact main#main > section.rp-contact-hero[data-rp-surface="dark"]{
    min-height:100svh !important;
    height:auto !important;
    max-height:none !important;
  }
}

/* ===== SOURCE: assets/css/realpro-adaptive-section-rhythm-performance-final-20260805.css ===== */
/* ========================================================================== 
   REALPRO Studios — Adaptive Section Rhythm + Performance Final
   Revision: 2026-08-05 / v10

   Purpose
   - Establish one premium vertical rhythm across every direct page section.
   - Keep every heading, paragraph, image and CTA visible at any viewport size.
   - Scale gracefully from 320px phones to 8K+ displays without oversized gaps.
   - Preserve the approved Home hero typography and all validated components.
   - Progressively simplify nonessential effects on modest hardware.
   ========================================================================== */

:root{
  --rp-section-y:clamp(84px,7.15vw,148px);
  --rp-section-y-feature:clamp(96px,8.1vw,168px);
  --rp-section-y-cta:clamp(78px,6.8vw,136px);
  --rp-section-y-compact:clamp(28px,3vw,52px);
  --rp-section-gap:clamp(34px,4.4vw,76px);
  --rp-section-heading-gap:clamp(32px,4.1vw,68px);
  --rp-section-item-gap:clamp(20px,2.2vw,36px);
  --rp-safe-inline:clamp(18px,4vw,72px);
  --rp-readable-copy:68ch;
  --rp-section-ease:cubic-bezier(.22,.61,.36,1);
}

html{
  scroll-padding-top:calc(var(--rp-header-live,96px) + 18px);
}

html,
body,
main{
  max-width:100%;
}

body main{
  overflow-x:clip !important;
  overflow-y:visible !important;
}

/* Premium section rhythm. Heroes are deliberately excluded so the approved
   first-screen composition and original Home title scale remain untouched. */
body main > section.rp-adaptive-section:not(.hero):not(.rp-page-hero):not(.rp-contact-hero):not(.trust-strip):not(.trusted-hero){
  position:relative;
  box-sizing:border-box;
  height:auto !important;
  max-height:none !important;
  min-height:0;
  padding-block:var(--rp-section-y) !important;
  scroll-margin-top:calc(var(--rp-header-live,96px) + 18px);
}

/* Home sections receive the same editorial rhythm while retaining their
   cinematic visual identities. */
body.rp-page-index main > :is(.services,.approach,.testimonials){
  padding-block:var(--rp-section-y) !important;
}

body.rp-page-index main > .reel{
  height:auto !important;
  max-height:none !important;
  min-height:clamp(620px,86svh,980px) !important;
  padding-block:var(--rp-section-y-feature) !important;
}

body.rp-page-index main > .final-cta{
  height:auto !important;
  max-height:none !important;
  min-height:clamp(560px,72svh,820px) !important;
  padding-block:var(--rp-section-y-cta) !important;
}

/* Compact trust/logo bands should feel intentional rather than oversized. */
body main > :is(.trust-strip,.trusted-hero),
body main > .hero > .trusted-hero{
  box-sizing:border-box;
}

body main > .trust-strip{
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  padding-block:var(--rp-section-y-compact) !important;
}

/* CTA sections keep generous breathing room but never force content outside
   short laptop screens. */
body main > section.section--cta,
body main > section[class*="cta"]:not(.final-cta):not(.rp-contact-hero){
  padding-block:var(--rp-section-y-cta) !important;
}

/* Every direct section container follows one width system. This preserves
   readable line lengths on notebooks while using 4K/8K space with restraint. */
body main > section > :is(.container,[class$="__container"],[class*="__content"],[class*="__inner"]),
body main > section > .rp-home-container{
  min-width:0;
  max-width:100%;
}

body .container{
  width:min(calc(100% - (var(--rp-safe-inline) * 2)),var(--rp-final-container,1320px)) !important;
  margin-inline:auto !important;
}

/* Consistent internal spacing and alignment across editorial, grid and process
   compositions. Gaps remain fluid, but capped to avoid empty 8K canvases. */
body :is(
  .section-heading,
  .rp-services-heading,
  .services-intro,
  .rp-section-heading
){
  margin-bottom:var(--rp-section-heading-gap) !important;
}

body :is(
  .editorial-split,
  .contact-grid,
  .case-overview,
  .article-hero__grid,
  .approach-grid,
  .testimonials-grid,
  .project-layout,
  .rp-contact-hero__content,
  .rp-page-hero__content
){
  column-gap:var(--rp-section-gap) !important;
  row-gap:clamp(28px,3.4vw,58px) !important;
  min-width:0;
}

body :is(
  .service-grid,
  .service-grid--compact,
  .gallery-grid,
  .gallery-grid--detail,
  .values-grid,
  .quote-grid,
  .process-map,
  .timeline-list,
  .challenge-grid,
  .result-grid,
  .related-grid,
  .next-steps,
  .process-cards,
  .capability-grid,
  .testimonial-cards,
  .steps
){
  gap:var(--rp-section-item-gap) !important;
  min-width:0;
}

/* Text must never be clipped by fixed line boxes or narrow grid columns. */
body main > section :is(h1,h2,h3,h4,p,li,a,span,strong,em){
  min-width:0;
}

body main > section :is(h1,h2,h3,h4){
  max-height:none !important;
  overflow:visible !important;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

body main > section :is(p,li,figcaption){
  text-wrap:pretty;
  overflow-wrap:break-word;
}

body main > section :is(
  .section-heading p:not(.eyebrow),
  .editorial-copy p,
  .hero-copy,
  .lead,
  .rp-lead,
  .rp-page-hero__lead,
  .rp-contact-hero__lead
){
  max-width:var(--rp-readable-copy) !important;
}

/* Flexible media prevents fixed-height crops from hiding information. */
body main > section :is(img,picture,video,iframe,svg){
  max-width:100%;
}

body main > section img,
body main > section video{
  display:block;
}

body main > section :is(
  .image-frame,
  .image-frame--tall,
  .gallery-item,
  .cta-media,
  .contact-side-image,
  .rp-service-card__media,
  .work-card a,
  .portfolio-tile a
){
  max-width:100%;
}

/* Buttons stay fully readable and touch-safe even when labels wrap. */
body main > section :is(
  .btn,
  .rp-btn,
  .rp-contact-button,
  .rp-service-contact,
  .red-pill,
  button,
  [role="button"]
){
  min-height:48px;
  max-height:none !important;
  white-space:normal !important;
  line-height:1.2 !important;
  text-align:center;
  overflow:visible !important;
  text-overflow:clip !important;
}

/* Section content can grow naturally. Only media masks and carousels retain
   clipping, which is necessary for their approved visual effect. */
body main > section :is(
  .section-heading,
  .editorial-split,
  .editorial-copy,
  .service-category,
  .process-timeline,
  .process-map,
  .contact-grid,
  .cta-panel,
  .result-panel,
  .legal-layout,
  .article-layout
){
  height:auto !important;
  max-height:none !important;
  min-width:0;
}

/* Progressive rendering: selected below-fold sections receive content-visibility
   through an explicit class. Unsupported browsers simply ignore it. */
@supports (content-visibility:auto){
  body main > section.rp-render-deferred{
    content-visibility:auto !important;
    contain-intrinsic-size:auto 900px;
  }
}

/* Short notebooks and landscape tablets: reduce only empty space, never type. */
@media (min-width:761px) and (max-height:820px){
  :root{
    --rp-section-y:clamp(58px,8.5vh,78px);
    --rp-section-y-feature:clamp(66px,10vh,92px);
    --rp-section-y-cta:clamp(56px,8vh,76px);
    --rp-section-heading-gap:clamp(26px,5vh,42px);
  }

  body.rp-page-index main > .reel,
  body.rp-page-index main > .final-cta{
    min-height:auto !important;
  }
}

/* Tablets. */
@media (max-width:1100px){
  :root{
    --rp-section-y:clamp(72px,10vw,108px);
    --rp-section-y-feature:clamp(78px,11vw,118px);
    --rp-section-y-cta:clamp(68px,9.5vw,100px);
    --rp-section-gap:clamp(30px,5.6vw,56px);
    --rp-section-heading-gap:clamp(30px,5vw,52px);
    --rp-safe-inline:clamp(22px,4.5vw,48px);
  }

  body :is(
    .editorial-split,
    .contact-grid,
    .case-overview,
    .article-hero__grid,
    .approach-grid,
    .testimonials-grid,
    .project-layout
  ){
    grid-template-columns:1fr !important;
  }
}

/* Smartphones. */
@media (max-width:760px){
  :root{
    --rp-section-y:clamp(64px,18vw,92px);
    --rp-section-y-feature:clamp(70px,20vw,102px);
    --rp-section-y-cta:clamp(62px,17vw,88px);
    --rp-section-y-compact:clamp(22px,7vw,34px);
    --rp-section-gap:clamp(26px,9vw,42px);
    --rp-section-heading-gap:clamp(26px,8vw,42px);
    --rp-section-item-gap:clamp(16px,5vw,24px);
    --rp-safe-inline:clamp(14px,4.4vw,22px);
  }

  body main > section.rp-adaptive-section:not(.hero):not(.rp-page-hero):not(.rp-contact-hero):not(.trust-strip):not(.trusted-hero){
    padding-block:var(--rp-section-y) !important;
  }

  body.rp-page-index main > .reel,
  body.rp-page-index main > .final-cta{
    min-height:auto !important;
  }

  body main > section :is(.button-row,.rp-contact-hero__actions,.rp-service-contact-actions){
    width:100%;
    align-items:stretch !important;
  }

  body main > section :is(.button-row,.rp-contact-hero__actions,.rp-service-contact-actions) > :is(a,button){
    width:100% !important;
  }

  body main > section :is(.cta-panel,.project-form,.footer-main){
    padding:clamp(22px,6vw,30px) !important;
  }
}

/* Very narrow phones. */
@media (max-width:380px){
  :root{
    --rp-section-y:clamp(58px,17vw,72px);
    --rp-section-heading-gap:clamp(24px,7vw,32px);
    --rp-safe-inline:12px;
  }
}

/* Large desktop and 4K displays: expand deliberately, not proportionally to the
   entire screen, preserving editorial focus and image quality. */
@media (min-width:1800px){
  :root{
    --rp-final-container:1540px;
    --rp-section-y:clamp(132px,7vw,176px);
    --rp-section-y-feature:clamp(146px,7.8vw,196px);
    --rp-section-y-cta:clamp(118px,6.4vw,158px);
  }
}

@media (min-width:2560px){
  :root{
    --rp-final-container:1780px;
    --rp-section-y:176px;
    --rp-section-y-feature:204px;
    --rp-section-y-cta:164px;
    --rp-section-gap:92px;
    --rp-section-heading-gap:78px;
    --rp-section-item-gap:40px;
  }
}

@media (min-width:3840px){
  :root{
    --rp-final-container:2080px;
    --rp-section-y:204px;
    --rp-section-y-feature:232px;
    --rp-section-y-cta:188px;
    --rp-safe-inline:96px;
  }
}

@media (min-width:6000px){
  :root{
    --rp-final-container:2400px;
    --rp-section-y:232px;
    --rp-section-y-feature:264px;
    --rp-section-y-cta:210px;
  }
}

/* Performance tiers supplied by the existing capability audit and the final
   adaptive runtime. Low-power mode removes expensive paint work while keeping
   the exact content, hierarchy and contrast. */
body:is(.rp-low-power,.rp-motion-lite,[data-rp-performance="low"]) :is(
  .site-header,
  .fullscreen-menu,
  .menu-panel,
  .cta-panel,
  .service-card,
  .rp-service-card,
  .image-frame,
  .gallery-item
){
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}

body:is(.rp-low-power,.rp-motion-lite,[data-rp-performance="low"]) :is(
  .reveal,
  .ux-reveal,
  .reveal-stagger,
  .rp-enterprise-reveal,
  .rp-section-reveal-item
){
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
}

body:is(.rp-low-power,.rp-motion-lite,[data-rp-performance="low"]) :is(
  img,
  video,
  .service-card,
  .rp-service-card,
  .work-card,
  .gallery-item
){
  transition:none !important;
  animation:none !important;
}

body:is(.rp-low-power,.rp-motion-lite,[data-rp-performance="low"]) :is(
  .image-frame:hover img,
  .gallery-item:hover img,
  .service-card:hover img,
  .rp-service-card:hover img,
  .work-card:hover img,
  .portfolio-tile:hover img
){
  transform:none !important;
  filter:none !important;
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important;}
  body main > section *{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

@media print{
  body main > section{
    content-visibility:visible !important;
    contain:none !important;
    padding-block:32px !important;
  }
}

/* ==========================================================================
   REALPRO Studios — Refined Section Breathing v11
   Moderate increase in top/bottom breathing room across all page sections.
   The approved Home hero dimensions remain untouched.
   ========================================================================== */
:root{
  --rp-section-y:clamp(96px,8vw,164px);
  --rp-section-y-feature:clamp(110px,9.1vw,188px);
  --rp-section-y-cta:clamp(90px,7.5vw,150px);
  --rp-section-y-compact:clamp(34px,3.4vw,60px);
  --rp-section-heading-gap:clamp(36px,4.6vw,76px);
}

/* Short notebooks and landscape tablets keep a premium rhythm without
   pushing important content outside the viewport. */
@media (min-width:761px) and (max-height:820px){
  :root{
    --rp-section-y:clamp(64px,9.2vh,86px);
    --rp-section-y-feature:clamp(74px,11vh,100px);
    --rp-section-y-cta:clamp(62px,8.8vh,84px);
    --rp-section-heading-gap:clamp(28px,5.5vh,46px);
  }
}

@media (max-width:1100px){
  :root{
    --rp-section-y:clamp(82px,11vw,122px);
    --rp-section-y-feature:clamp(90px,12vw,132px);
    --rp-section-y-cta:clamp(76px,10.5vw,112px);
    --rp-section-heading-gap:clamp(34px,5.6vw,58px);
  }
}

@media (max-width:760px){
  :root{
    --rp-section-y:clamp(72px,20vw,104px);
    --rp-section-y-feature:clamp(80px,22vw,114px);
    --rp-section-y-cta:clamp(70px,19vw,100px);
    --rp-section-y-compact:clamp(26px,8vw,38px);
    --rp-section-heading-gap:clamp(30px,9vw,46px);
  }
}

@media (max-width:380px){
  :root{
    --rp-section-y:clamp(64px,19vw,80px);
    --rp-section-heading-gap:clamp(27px,8vw,36px);
  }
}

@media (min-width:1800px){
  :root{
    --rp-section-y:clamp(148px,7.8vw,196px);
    --rp-section-y-feature:clamp(164px,8.7vw,220px);
    --rp-section-y-cta:clamp(132px,7vw,178px);
  }
}

@media (min-width:2560px){
  :root{
    --rp-section-y:196px;
    --rp-section-y-feature:226px;
    --rp-section-y-cta:184px;
    --rp-section-heading-gap:86px;
  }
}

@media (min-width:3840px){
  :root{
    --rp-section-y:226px;
    --rp-section-y-feature:258px;
    --rp-section-y-cta:210px;
  }
}

@media (min-width:6000px){
  :root{
    --rp-section-y:252px;
    --rp-section-y-feature:286px;
    --rp-section-y-cta:234px;
  }
}

/* REAL.PRO V45 — explicit form submission confirmation */
.rp-form-success__receipt{
  margin:14px 0 0;
  padding:13px 15px;
  border:1px solid rgba(30,126,86,.22);
  border-radius:12px;
  background:rgba(30,126,86,.08);
  color:#315f4e;
  font-weight:650;
  line-height:1.55;
}
