
/* Source: ipoteco.css (unchanged CSS; original order preserved) */
/* Ipoteco v3 – isolated, editable Elementor sections with responsive desktop scaling. */
/* Ipoteco Elementor Theme 1.1 – revised Elementor DOM compatibility with native Elementor widgets.
 * Desktop artboard: 1122px. All text, icons, buttons and images are separate Elementor widgets.
 */
/* Lora este încărcată centralizat, prin inc/lora-runtime.php / MU-plugin. */
:root{--ipo-navy:#102243;--ipo-green:#078e50;--ipo-green-dark:#007d45;--ipo-softgreen:#e5f5ec;--ipo-blue:#1e4bbb;--ipo-body:#253959;--ipo-cream:#fff8e9}
html{scroll-behavior:smooth}
body.page-template-elementor_canvas,body.elementor-template-canvas{margin:0!important}
.ipo-app,.ipo-app *{box-sizing:border-box}
.ipo-app.ipo-con{--flex-direction:column!important;--display:flex!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;max-width:none!important;width:100%!important;padding:0!important;margin:0!important;overflow:hidden;background:white;color:var(--ipo-navy);font-family:"Lora",Georgia,serif;font-size:12px;line-height:1.36}
.ipo-app .ipo-con{--width:auto!important;min-width:0;width:auto;padding:0;margin:0;gap:0;max-width:none}
.ipo-app .ipo-widget{--container-widget-width:auto!important;min-width:0;max-width:none;width:auto;flex:0 0 auto;margin:0!important;padding:0;line-height:inherit}
.ipo-app .ipo-widget-container{min-width:0}
.ipo-app .ipo-widget-heading .ipo-heading-title{font-family:"Lora",Georgia,serif;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
.ipo-app .ipo-widget-text-editor .ipo-widget-container{font-family:"Lora",Georgia,serif;font-size:inherit;line-height:inherit;color:inherit}
.ipo-app .ipo-widget-text-editor p{margin:0 0 0.1em}
.ipo-app .ipo-widget-image .ipo-widget-container{width:100%;height:100%}
.ipo-app .ipo-widget-image img{display:block;width:100%;max-width:none;height:100%;object-fit:cover}
.ipo-app .ipo-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit}
.ipo-app .ipo-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linejoin:round;stroke-linecap:round}
.ipo-app .ipo-icon-wrapper,.ipo-app .ipo-widget-icon .ipo-widget-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}
.ipo-app .ipo-icon-wrapper .ipo-icon{width:100%;height:100%}
.ipo-app .ipo-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;border:0;background:transparent;color:inherit;font-family:"Lora",Georgia,serif;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}
.ipo-app .ipo-button-content-wrapper{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%}
.ipo-app .ipo-button-icon,.ipo-app .ipo-button-icon i{display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.ipo-app .ipo-button-icon svg{display:block;width:13px;height:13px;stroke:currentColor;fill:none}
.ipo-app .ipo-btn .ipo-button{height:37px;padding:0 23px;background:linear-gradient(100deg,#00854c,#08a55e);color:#fff;border-radius:9px;box-shadow:0 3px 8px #06663815;font-size:11px}
.ipo-app .ipo-btn .ipo-button:hover{background:#007c45;box-shadow:0 4px 15px #0a965141;transform:translateY(-1px)}
.ipo-app .ipo-shell{width:calc(100% - 104px)!important;max-width:1020px!important;margin-left:auto!important;margin-right:auto!important}
.ipo-app .ipo-green{color:var(--ipo-green)!important}
.ipo-app .ipo-eyebrow{display:inline-flex;align-self:flex-start;width:max-content;max-width:100%;padding:4px 9px;border-radius:30px;background:#e1f1e8;color:#177247;font-size:9.3px;font-weight:600;letter-spacing:.08px;line-height:1.2}
.ipo-app .ipo-eyebrow .ipo-heading-title{font-family:"Lora",Georgia,serif;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit}

/* Header */
.ipo-app .ipo-header{position:relative;z-index:10;display:flex!important;align-items:center;justify-content:center;height:46px;min-height:46px;background:#ffffffef}
.ipo-app .ipo-header-inner{display:flex!important;align-items:center;justify-content:space-between;width:calc(100% - 144px)!important;max-width:982px;min-height:44px}
.ipo-app .ipo-brand,.ipo-app .ipo-footer-brand{display:flex!important;align-items:center;gap:8px;flex:0 0 auto}
.ipo-app .ipo-brand-mark{width:32px;height:35px;color:#008e54}
.ipo-app .ipo-brand-mark svg{stroke-width:2.4}
.ipo-app .ipo-brand-name{font-weight:800;font-size:19px;letter-spacing:-.85px;white-space:nowrap}
.ipo-app .ipo-nav{display:flex!important;align-items:center;justify-content:center;gap:8px;flex:1;padding-left:48px}
.ipo-app .ipo-nav-link .ipo-button{height:35px;padding:0 9px;font-size:9.3px;font-weight:500;color:#22344f;border-radius:0}
.ipo-app .ipo-nav-active .ipo-button{font-weight:700;color:#06844c;position:relative}
.ipo-app .ipo-nav-active .ipo-button::after{content:"";position:absolute;bottom:3px;left:9px;right:9px;background:#089a56;height:1.5px}
.ipo-app .ipo-header-actions{display:flex!important;align-items:center;gap:9px;flex:0 0 auto}
.ipo-app .ipo-search{width:27px;height:27px;padding:7px;border-radius:50%;background:#f4f8fc;color:#172944}
.ipo-app .ipo-header-cta .ipo-button{height:32px;padding:0 15px;border-radius:9px;font-size:9.3px}
.ipo-app .ipo-mobile-toggle{display:none}

/* Hero */
.ipo-app .ipo-hero{display:block!important;position:relative;height:331px;min-height:331px;background:linear-gradient(100deg,#ecf8ff 0%,#fff 64%,#f5fcf9 100%);isolation:isolate;overflow:hidden}
.ipo-app .ipo-hero-photo{position:absolute!important;z-index:0;top:0;right:0;width:53.9%;height:100%}
.ipo-app .ipo-hero-photo img{object-fit:cover;object-position:left center}
.ipo-app .ipo-hero::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,#f6fbff 0%,#f8fcffed 32%,#f9fcff83 46%,transparent 60%)}
.ipo-app .ipo-hero-body{position:relative;z-index:2;width:calc(100% - 146px)!important;max-width:976px;margin:auto!important;display:block!important;height:100%}
.ipo-app .ipo-hero-copy{display:flex!important;flex-direction:column!important;align-items:flex-start;position:relative;top:22px;max-width:585px}
.ipo-app .ipo-hero-h1{font-weight:800;letter-spacing:-1.55px;font-size:38px;line-height:1.04;margin-top:8px!important;white-space:nowrap}
.ipo-app .ipo-hero-h1 .ipo-heading-title{font-weight:800}
.ipo-app .ipo-hero-lead{font-size:12.8px;line-height:1.42;max-width:550px;margin-top:8px!important;letter-spacing:.03px}
.ipo-app .ipo-hero-buttons{display:flex!important;align-items:center;gap:19px;margin-top:13px}
.ipo-app .ipo-hero-primary .ipo-button{min-width:228px;height:40px}
.ipo-app .ipo-btn-outline .ipo-button{min-width:178px;background:#fff!important;color:#182b49!important;border:1px solid #d4dee7!important;box-shadow:0 3px 10px #253a4c17}
.ipo-app .ipo-hero-secondary .ipo-button-icon{color:#079352}
.ipo-app .ipo-hero-handnote{position:absolute;z-index:3;top:54px;right:10.4%;width:154px;transform:rotate(-11deg);font:600 17px/1.05 "Lora",Georgia,serif;text-align:center;color:#34435a}
.ipo-app .ipo-hero-handnote .ipo-heading-title{font-family:"Lora",Georgia,serif;font-size:inherit;font-weight:inherit;line-height:inherit}
.ipo-app .ipo-hero-card{position:absolute;z-index:4;top:173px;right:3.3%;height:127px;width:196px;display:flex!important;overflow:hidden;border:3px solid white;border-radius:17px;background:linear-gradient(115deg,#fff 0%,#fff 51%,#e1f3fd 100%);box-shadow:0 5px 22px #41577530}
.ipo-app .ipo-hero-card-copy{position:relative;z-index:2;display:flex!important;flex-direction:column!important;align-items:flex-start;width:70%;padding:13px 0 10px 13px}
.ipo-app .ipo-card-stat{font-size:11px;font-weight:800;line-height:1.25}
.ipo-app .ipo-card-stat-text{font-size:9.2px;line-height:1.3;margin-top:2px!important;white-space:nowrap}
.ipo-app .ipo-hero-card-avatars{display:flex!important;align-items:center;margin-top:auto;gap:0}
.ipo-app .ipo-hero-avatar{width:27px;height:27px;border:2px solid white;border-radius:50%;overflow:hidden;margin-right:-7px!important;background:#fff}
.ipo-app .ipo-hero-avatar-count{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;font-size:9px;font-weight:700;color:white;background:#009b56;border:2px solid #fff}
.ipo-app .ipo-hero-house{position:absolute;right:0;top:9px;width:64px;height:117px;z-index:1}
.ipo-app .ipo-hero-house img{object-position:60% 50%;mask-image:linear-gradient(to right,transparent,black 22%)}
.ipo-app .ipo-benefits{position:absolute;z-index:3;left:max(calc((100% - 976px)/2),6.5%);bottom:23px;width:527px;display:flex!important;align-items:center;justify-content:space-between;gap:23px}
.ipo-app .ipo-benefit{display:flex!important;align-items:center;gap:9px;flex:0 0 auto}
.ipo-app .ipo-benefit-icon{width:26px;height:27px;color:#079a58}
.ipo-app .ipo-benefit-icon svg{stroke-width:2.2}
.ipo-app .ipo-benefit-label{font-size:9px;font-weight:600;line-height:1.34;white-space:nowrap}

/* Service cards */
.ipo-app .ipo-services{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;height:240px;min-height:240px;padding-top:10px;padding-bottom:10px}
.ipo-app .ipo-service-card{display:block!important;position:relative;min-width:0;height:220px;overflow:hidden;border-radius:15px;border:1px solid #d7eade;background:linear-gradient(125deg,#f7fff9 0%,#e9f8f1 100%)}
.ipo-app .ipo-card-referrals{background:linear-gradient(115deg,#f5faff,#e9f4ff);border-color:#edf1fa}
.ipo-app .ipo-card-resources{background:linear-gradient(115deg,#fff9ef,#fff1df);border-color:#fff2df}
.ipo-app .ipo-service-icon{position:absolute;z-index:2;top:14px;left:16px;width:58px;height:58px;padding:14px;border-radius:50%;color:var(--ipo-green);background:radial-gradient(circle at 45% 40%,#f5fff8,#c7ead1 80%)}
.ipo-app .ipo-card-referrals .ipo-service-icon{color:#1551d4;background:radial-gradient(circle,#f3f8ff,#dcecff)}
.ipo-app .ipo-card-resources .ipo-service-icon{color:#bf7900;background:radial-gradient(circle,#fff6dd,#ffe6b9)}
.ipo-app .ipo-service-icon svg{stroke-width:2.2}
.ipo-app .ipo-service-title{position:absolute;z-index:2;left:88px;top:21px;font-size:16.1px;font-weight:800;letter-spacing:-.55px;line-height:1.2;white-space:nowrap}
.ipo-app .ipo-service-desc{position:absolute;z-index:2;left:88px;top:50px;font-size:11.2px;line-height:1.45;color:#31435f;white-space:nowrap}
.ipo-app .ipo-service-bullets{position:absolute;z-index:2;top:96px;left:20px;display:flex!important;flex-direction:column!important;gap:4px}
.ipo-app .ipo-bullet{display:flex!important;align-items:center;gap:8px;height:17px;white-space:nowrap}
.ipo-app .ipo-check{width:14px;height:14px;color:#049653}
.ipo-app .ipo-check svg{stroke-width:2.7}
.ipo-app .ipo-bullet-label{font-size:10.4px;line-height:1.15;font-weight:500}
.ipo-app .ipo-card-resources .ipo-check{color:#d79a0a}
.ipo-app .ipo-card-button{position:absolute;z-index:3;bottom:14px;left:20px}
.ipo-app .ipo-card-button .ipo-button{height:35px;min-width:150px;padding:0 15px;border-radius:8px;font-size:10.5px}
.ipo-app .ipo-card-referrals .ipo-card-button .ipo-button{background:linear-gradient(105deg,#1748bc,#2354d1);min-width:177px}
.ipo-app .ipo-card-resources .ipo-card-button .ipo-button{background:linear-gradient(105deg,#ffc55b,#ffdb94);color:#13294a;box-shadow:none;min-width:143px}
.ipo-app .ipo-service-photo{position:absolute;z-index:1;bottom:-4px;right:-3px;width:167px;height:151px}
.ipo-app .ipo-service-photo img{object-fit:cover;object-position:55% bottom;mask-image:linear-gradient(90deg,transparent,#000 15%)}
.ipo-app .ipo-card-referrals .ipo-service-photo{right:9px;bottom:17px;width:107px;height:107px}
.ipo-app .ipo-card-referrals .ipo-service-photo img{object-fit:contain;mask-image:none;mix-blend-mode:multiply}
.ipo-app .ipo-card-resources .ipo-service-photo{bottom:-12px;right:-6px;width:128px;height:164px;transform:rotate(3deg)}
.ipo-app .ipo-card-resources .ipo-service-photo img{mask-image:linear-gradient(90deg,transparent,#000 14%);object-fit:cover}

/* The resources card has 4 entries rather than 3; avoid button collision. */
.ipo-app .ipo-card-resources .ipo-service-bullets{top:99px;gap:1px}
.ipo-app .ipo-card-resources .ipo-bullet{height:16px}

/* Four-step process */
.ipo-app .ipo-process{display:block!important;position:relative;height:214px;min-height:214px;margin:8px 17px 0!important;padding-top:14px;border-radius:19px;background:linear-gradient(110deg,#f3fbf8,#f5fcf9 55%,#eefaf3);overflow:hidden}
.ipo-app .ipo-process-heading{position:relative;display:flex!important;align-items:center;justify-content:space-between;min-height:64px}
.ipo-app .ipo-process-heading-left{display:flex!important;flex-direction:column!important;align-items:flex-start}
.ipo-app .ipo-section-title{font-size:26.2px;font-weight:800;letter-spacing:-1.1px;margin-top:6px!important;white-space:nowrap}
.ipo-app .ipo-process-subtitle{position:absolute;left:38%;top:31px;font-size:12.5px;color:#334765}
.ipo-app .ipo-process-handnote{position:absolute;top:0;right:5px;text-align:center;transform:rotate(-12deg);font:600 19px/1 "Lora",Georgia,serif;color:#2d435a}
.ipo-app .ipo-process-handnote .ipo-heading-title{font-family:"Lora",Georgia,serif;font-size:inherit;font-weight:inherit}
.ipo-app .ipo-process-steps{position:relative;z-index:1;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;height:125px;margin-top:4px!important}
.ipo-app .ipo-step{display:block!important;position:relative;height:106px;margin-top:12px;border-radius:17px;background:#fff;overflow:visible;padding:0 15px 10px;box-shadow:0 4px 20px #70b18b08}
.ipo-app .ipo-step::after{content:'➜';position:absolute;top:-3px;right:-13px;color:#02995b;font-size:14px;z-index:3}
.ipo-app .ipo-step:last-child::after{display:none}
.ipo-app .ipo-step-number{position:absolute;left:22px;top:-12px;width:31px;height:31px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0aae65,#007642);border-radius:50%;color:#fff;font-size:15px;font-weight:800;box-shadow:0 3px 7px #00a05a1a}
.ipo-app .ipo-step-icon{position:absolute;top:-20px;left:calc(50% - 25px);width:50px;height:50px;border-radius:50%;padding:13px;background:linear-gradient(145deg,#fff,#edf4fb);border:1px solid #e3e9f0;color:#152c52;box-shadow:0 2px 4px #15365308}
.ipo-app .ipo-step-title{position:absolute;left:59px;top:39px;font-size:13px;font-weight:800;letter-spacing:-.3px;line-height:1.18;white-space:nowrap}
.ipo-app .ipo-step-desc{position:absolute;left:59px;top:59px;color:#4a607f;font-size:10.6px;line-height:1.34;white-space:nowrap}

/* Referral strip */
.ipo-app .ipo-referral{display:block!important;position:relative;margin:8px 17px 0!important;height:171px;min-height:171px;overflow:hidden;border-radius:18px;background:linear-gradient(110deg,#fff8eb 0%,#fff9ef 43%,#f6efe3 75%,#f8f8ed 100%)}
.ipo-app .ipo-referral-copy{position:absolute;z-index:3;left:57px;top:15px;display:flex!important;align-items:flex-start;flex-direction:column!important;gap:0}
.ipo-app .ipo-referral-title{font-weight:800;font-size:26.8px;line-height:1.15;letter-spacing:-1.2px;margin-top:7px!important;white-space:nowrap}
.ipo-app .ipo-referral-lead{font-size:11.9px;line-height:1.34;color:#344762;margin-top:5px!important}
.ipo-app .ipo-referral-actions{display:flex!important;align-items:center;gap:16px;margin-top:10px}
.ipo-app .ipo-referral-actions .ipo-btn .ipo-button{height:34px;min-width:155px;font-size:10px}
.ipo-app .ipo-text-link .ipo-button{font-size:10.5px;color:#536981;text-decoration:underline!important;font-weight:500;padding:2px 5px}
.ipo-app .ipo-referral-photo{position:absolute;z-index:2;left:58.2%;top:0;width:22%;height:100%;mix-blend-mode:multiply}
.ipo-app .ipo-referral-photo img{object-fit:cover;object-position:53% 27%;mask-image:linear-gradient(90deg,transparent 0%,#000 19%,#000 88%,transparent 100%)}
.ipo-app .ipo-referral-handnote{position:absolute;z-index:4;left:49%;top:54px;width:125px;font:600 19px/1 "Lora",Georgia,serif;transform:rotate(-12deg);text-align:center;color:#2b4261}
.ipo-app .ipo-referral-handnote .ipo-heading-title{font-family:"Lora",Georgia,serif;font-size:inherit;font-weight:inherit}
.ipo-app .ipo-referral-reward{position:absolute;z-index:5;right:32px;top:38px;display:flex!important;align-items:center;gap:13px;width:176px;height:106px;padding:17px 13px;background:#fff9ef;transform:rotate(-10deg);border-radius:15px;box-shadow:0 7px 16px #bd9c7130}
.ipo-app .ipo-reward-icon{width:41px;height:45px;color:#04975a;flex:0 0 auto}
.ipo-app .ipo-reward-text{display:flex!important;flex-direction:column!important;align-items:flex-start;gap:4px}
.ipo-app .ipo-reward-heading{font-size:18px;font-weight:800;line-height:1}
.ipo-app .ipo-reward-details{font-size:13px;font-weight:600;line-height:1.22}

/* Reviews */
.ipo-app .ipo-testimonials{display:grid!important;grid-template-columns:278px minmax(0,1fr) 28px;gap:11px;height:159px;padding-top:16px;padding-bottom:13px;align-items:start}
.ipo-app .ipo-testimonials-intro{display:flex!important;align-items:flex-start;flex-direction:column!important}
.ipo-app .ipo-testimonials-title{font-size:21.5px;line-height:1.13;font-weight:800;letter-spacing:-.65px;margin-top:9px!important;white-space:nowrap}
.ipo-app .ipo-testimonials-caption{font-size:11.3px;color:#415775;margin-top:5px!important;white-space:nowrap}
.ipo-app .ipo-plain-link .ipo-button{height:22px;padding:0;margin-top:6px;background:none;color:#2255bd;font-size:10.4px;font-weight:500;text-decoration:underline!important}
.ipo-app .ipo-review-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ipo-app .ipo-review-card{display:block!important;position:relative;height:138px;padding:9px 16px;border:1px solid #e5ecf2;border-radius:13px;background:#fff;box-shadow:0 3px 12px #1834520b}
.ipo-app .ipo-stars{color:#ffa000;font-weight:800;font-size:14.5px;letter-spacing:0}
.ipo-app .ipo-review-quote{color:#455875;font-size:10.6px;line-height:1.25;margin-top:4px!important}
.ipo-app .ipo-review-person{display:flex!important;align-items:center;gap:10px;position:absolute;bottom:9px;left:15px}
.ipo-app .ipo-review-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden}
.ipo-app .ipo-review-person-data{display:flex!important;flex-direction:column!important;align-items:flex-start;gap:1px}
.ipo-app .ipo-review-name{font-size:11.3px;font-weight:700}
.ipo-app .ipo-review-city{font-size:9.2px;color:#718199}
.ipo-app .ipo-review-controls{display:flex!important;flex-direction:column!important;align-items:center;gap:8px;justify-content:center;height:120px}
.ipo-app .ipo-review-arrow{width:28px;height:28px;padding:8px;border:1px solid #e4eaf0;border-radius:50%;background:#fff;color:#1c355b;cursor:pointer}
.ipo-app .ipo-review-arrow svg{stroke-width:2.5}

/* FAQ */
.ipo-app .ipo-faq{display:grid!important;grid-template-columns:235px minmax(0,1fr) 193px;gap:17px;height:112px;min-height:112px;align-items:start;padding-top:3px;padding-bottom:7px}
.ipo-app .ipo-faq-intro{position:relative;display:flex!important;align-items:flex-start;flex-direction:column!important}
.ipo-app .ipo-faq-title{font-size:22px;line-height:1.13;font-weight:800;letter-spacing:-.8px;margin-top:8px!important;white-space:nowrap}
.ipo-app .ipo-faq-scribble{position:absolute;right:0;top:33px;width:35px;height:27px;color:#038d55;transform:rotate(-20deg)}
.ipo-app .ipo-faq-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.ipo-app .ipo-faq-col{display:flex!important;flex-direction:column!important;gap:5px}
.ipo-app .ipo-faq-item{background:#fff;border:1px solid #e5edf2;border-radius:9px;min-height:27px;box-shadow:0 1px 2px #10213805}
.ipo-app .ipo-faq-item .ipo-tab-title{position:relative;display:block!important;width:100%;padding:7px 27px 7px 11px!important;color:#203752;font:500 8.7px/1.25 "Lora",Georgia,serif;cursor:pointer;text-decoration:none;border:0!important}
.ipo-app .ipo-faq-item .ipo-tab-title:hover{color:#008e50}
.ipo-app .ipo-faq-item .ipo-tab-content{display:none;padding:7px 10px!important;color:#435873;font-size:10px;line-height:1.4;border-top:1px solid #eef2f6}
.ipo-app .ipo-faq-item .ipo-tab-title[aria-expanded="true"] + .ipo-tab-content{display:block}
.ipo-app .ipo-faq-item .ipo-toggle-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:15px;font-weight:400;line-height:1}
.ipo-app .ipo-faq-contact{display:flex!important;align-items:center;gap:10px;padding:13px 12px;min-height:95px;border-radius:13px;background:linear-gradient(125deg,#e4f6ec,#e9f8ee)}
.ipo-app .ipo-faq-contact-icon{width:35px;height:35px;color:#009a5a;flex:0 0 auto}
.ipo-app .ipo-faq-contact-words{display:flex!important;flex-direction:column!important;align-items:flex-start;gap:1px}
.ipo-app .ipo-faq-contact-title{font-size:9px;font-weight:700;white-space:nowrap}
.ipo-app .ipo-faq-contact-text{font-size:8.8px;white-space:nowrap}
.ipo-app .ipo-faq-contact-button .ipo-button{height:29px;padding:0 12px;font-size:9px;margin-top:5px;border-radius:9px}

/* Footer */
.ipo-app .ipo-footer{display:flex!important;align-items:stretch;justify-content:center;height:114px;min-height:114px;background:linear-gradient(160deg,#eff7fc,#f3f7fc)}
.ipo-app .ipo-footer-inner{display:grid!important;grid-template-columns:235px 180px 180px 180px minmax(0,1fr);gap:9px;padding-top:13px;padding-bottom:12px}
.ipo-app .ipo-footer-brand-col{display:flex!important;flex-direction:column!important;align-items:flex-start;gap:8px}
.ipo-app .ipo-footer-brand .ipo-brand-mark{width:28px;height:28px}
.ipo-app .ipo-footer-brand .ipo-brand-name{font-size:18px}
.ipo-app .ipo-footer-description{color:#5c708a;font-size:10.6px;line-height:1.35}
.ipo-app .ipo-footer-col,.ipo-app .ipo-footer-social{display:flex!important;align-items:flex-start;flex-direction:column!important;gap:5px}
.ipo-app .ipo-footer-title{font-size:9.1px;font-weight:700}
.ipo-app .ipo-footer-links{font-size:8.9px;color:#526984;line-height:1.42}
.ipo-app .ipo-footer-links a{color:inherit;text-decoration:none}
.ipo-app .ipo-footer-links a:hover{color:#098a54}
.ipo-app .ipo-social-row{display:flex!important;align-items:center;gap:13px;margin-top:2px}
.ipo-app .ipo-social-icon{width:14px;height:14px;color:#14254b}
.ipo-app .ipo-social-icon svg{stroke-width:2.6}
.ipo-app .ipo-copyright{color:#71819a;font-size:7.7px;line-height:1.25;white-space:nowrap;margin-top:14px!important}

/* Templates for other WordPress pages and posts */
.ipo-default-header,.ipo-default-footer{font-family:"Lora",Georgia,serif;padding:20px max(calc((100% - 1030px)/2),24px);background:#f3f9fb;color:var(--ipo-navy)}
.ipo-default-header a,.ipo-default-footer a{color:#058b50;text-decoration:none;font-weight:800}
.ipo-default-header{border-bottom:1px solid #e3eee8}
.ipo-standard-content{font-family:"Lora",Georgia,serif;max-width:900px;margin:60px auto;padding:0 26px;line-height:1.7;min-height:45vh;color:#17314d}
.ipo-standard-content h1{font-size:38px;line-height:1.2}
.ipo-standard-content a{color:#078e50}


/* Tablet: preserve card styles and editability while adapting columns. */
@media(max-width:1030px){
 .ipo-app .ipo-shell{width:calc(100% - 44px)!important}
 .ipo-app .ipo-header-inner{width:calc(100% - 44px)!important}
 .ipo-app .ipo-nav{padding-left:20px;gap:1px}
 .ipo-app .ipo-nav-link .ipo-button{font-size:9px;padding:0 6px}
 .ipo-app .ipo-header-cta .ipo-button{padding:0 10px}
 .ipo-app .ipo-hero-body{width:calc(100% - 60px)!important}
 .ipo-app .ipo-hero-h1{font-size:clamp(29px,3.4vw,38px)}
 .ipo-app .ipo-hero-lead{font-size:11.7px}
 .ipo-app .ipo-benefits{left:30px}
 .ipo-app .ipo-service-title{font-size:14px;left:81px}
 .ipo-app .ipo-service-desc{font-size:10.2px;left:81px}
 .ipo-app .ipo-referral-copy{left:36px}
 .ipo-app .ipo-testimonials{grid-template-columns:245px 1fr 28px}
 .ipo-app .ipo-review-card{padding:8px}
 .ipo-app .ipo-review-quote{font-size:9.9px}
 .ipo-app .ipo-faq{grid-template-columns:220px 1fr 180px;gap:8px}
 .ipo-app .ipo-footer-inner{grid-template-columns:22% repeat(3,17%) 1fr;gap:7px}
}
@media(max-width:850px){
 .ipo-app .ipo-header{height:60px;min-height:60px}
 .ipo-app .ipo-header-inner{width:calc(100% - 38px)!important}
 .ipo-app .ipo-nav{display:none!important;position:absolute;top:60px;left:15px;right:15px;padding:12px;background:white;box-shadow:0 15px 25px #16314e20;border-radius:15px;flex-direction:column!important;align-items:stretch;z-index:50}
 .ipo-app .ipo-header.ipo-menu-open .ipo-nav{display:flex!important}
 .ipo-app .ipo-nav-link .ipo-button{width:100%;justify-content:flex-start;padding:11px 15px;height:auto;font-size:13px}
 .ipo-app .ipo-header-cta .ipo-button{height:35px;font-size:10px}
 .ipo-app .ipo-mobile-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:5px;color:var(--ipo-green);cursor:pointer}
 .ipo-app .ipo-hero{height:395px;min-height:395px}
 .ipo-app .ipo-hero-photo{width:57%}
 .ipo-app .ipo-hero-h1{white-space:normal;max-width:515px;font-size:33px}
 .ipo-app .ipo-hero-lead{max-width:455px}
 .ipo-app .ipo-benefits{width:calc(100% - 50px);justify-content:flex-start;gap:26px;bottom:19px}
 .ipo-app .ipo-benefit-label{font-size:8.9px}
 .ipo-app .ipo-hero-card{transform:scale(.75);transform-origin:100% 100%;right:18px;top:226px}
 .ipo-app .ipo-hero-handnote{display:none}
 .ipo-app .ipo-services{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;min-height:0}
 .ipo-app .ipo-service-card{height:220px}
 .ipo-app .ipo-card-resources{grid-column:1 / -1}
 .ipo-app .ipo-process{height:auto;min-height:0;padding-bottom:20px}
 .ipo-app .ipo-process-heading{min-height:85px}
 .ipo-app .ipo-process-handnote{right:0}
 .ipo-app .ipo-process-subtitle{top:55px;left:0}
 .ipo-app .ipo-process-steps{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;row-gap:20px}
 .ipo-app .ipo-step{height:126px}
 .ipo-app .ipo-step::after{display:none}
 .ipo-app .ipo-step-title{top:44px}
 .ipo-app .ipo-step-desc{top:66px}
 .ipo-app .ipo-referral{height:195px;min-height:195px}
 .ipo-app .ipo-referral-title{font-size:23px}
 .ipo-app .ipo-referral-lead{max-width:420px;white-space:normal}
 .ipo-app .ipo-referral-photo{left:60%;width:24%}
 .ipo-app .ipo-referral-handnote{display:none}
 .ipo-app .ipo-referral-reward{transform:scale(.8) rotate(-10deg);transform-origin:100% 100%;right:10px;top:73px}
 .ipo-app .ipo-testimonials{display:flex!important;flex-direction:column!important;height:auto;gap:17px}
 .ipo-app .ipo-testimonials-intro{width:100%}
 .ipo-app .ipo-review-list{width:100%}
 .ipo-app .ipo-review-controls{display:none!important}
 .ipo-app .ipo-faq{display:grid!important;grid-template-columns:1fr;gap:14px;height:auto}
 .ipo-app .ipo-faq-columns{width:100%}
 .ipo-app .ipo-faq-contact{width:100%;justify-content:center}
 .ipo-app .ipo-footer{height:auto;min-height:0}
 .ipo-app .ipo-footer-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-top:25px;padding-bottom:25px}
 .ipo-app .ipo-footer-brand-col{grid-column:span 3}
 .ipo-app .ipo-footer-social{grid-column:span 3}
 .ipo-app .ipo-copyright{margin-top:5px!important}
}
@media(max-width:620px){
 .ipo-app .ipo-shell{width:calc(100% - 28px)!important}
 .ipo-app .ipo-header-inner{width:calc(100% - 28px)!important}
 .ipo-app .ipo-brand-name{font-size:19px}
 .ipo-app .ipo-header-cta{display:none}
 .ipo-app .ipo-header-actions{gap:14px}
 .ipo-app .ipo-hero{height:746px;min-height:746px}
 .ipo-app .ipo-hero-photo{top:0;right:0;width:100%;height:285px}
 .ipo-app .ipo-hero-photo img{object-position:left center}
 .ipo-app .ipo-hero::after{background:linear-gradient(180deg,#ffffffe0 0%,#ffffff00 10%,#ffffff00 170px,#f7fcff 290px,#fff 68%)}
 .ipo-app .ipo-hero-card{top:155px;right:13px;transform:scale(.74);transform-origin:right top}
 .ipo-app .ipo-hero-body{position:absolute;top:300px;left:19px;width:calc(100% - 38px)!important;height:auto;margin:0!important}
 .ipo-app .ipo-hero-copy{top:0;max-width:100%}
 .ipo-app .ipo-eyebrow{font-size:9px}
 .ipo-app .ipo-hero-h1{font-size:clamp(28px,7vw,35px);letter-spacing:-1px;margin-top:10px!important;white-space:normal}
 .ipo-app .ipo-hero-lead{font-size:12px;line-height:1.5;margin-top:13px!important}
 .ipo-app .ipo-hero-lead br{display:none}
 .ipo-app .ipo-hero-buttons{display:flex!important;flex-direction:column!important;align-items:stretch;width:100%;gap:9px;margin-top:15px}
 .ipo-app .ipo-hero-buttons .ipo-btn{width:100%}
 .ipo-app .ipo-hero-buttons .ipo-btn .ipo-button{width:100%;height:42px;min-width:0}
 .ipo-app .ipo-benefits{position:absolute;bottom:23px;left:18px;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 36px);gap:17px 9px}
 .ipo-app .ipo-benefit-icon{width:25px;height:25px}
 .ipo-app .ipo-benefit-label{font-size:10px}
 .ipo-app .ipo-services{grid-template-columns:1fr;gap:11px;padding-top:11px;padding-bottom:11px}
 .ipo-app .ipo-service-card{height:222px}
 .ipo-app .ipo-card-resources{grid-column:auto}
 .ipo-app .ipo-service-title{left:91px;font-size:16px}
 .ipo-app .ipo-service-desc{left:91px;font-size:10.8px}
 .ipo-app .ipo-service-photo{right:0}
 .ipo-app .ipo-process{margin:5px 12px 0!important;padding-top:15px;padding-bottom:23px}
 .ipo-app .ipo-process-heading{height:110px;align-items:flex-start}
 .ipo-app .ipo-section-title{font-size:23px;white-space:normal;max-width:300px}
 .ipo-app .ipo-process-subtitle{top:77px}
 .ipo-app .ipo-process-handnote{display:none}
 .ipo-app .ipo-process-steps{grid-template-columns:1fr;gap:20px}
 .ipo-app .ipo-step{height:120px}
 .ipo-app .ipo-step-number{left:23px}
 .ipo-app .ipo-step-title{left:66px;top:49px}
 .ipo-app .ipo-step-desc{left:66px;top:70px}
 .ipo-app .ipo-referral{margin:10px 12px 0!important;height:370px;min-height:370px}
 .ipo-app .ipo-referral-copy{left:17px;right:17px;top:16px}
 .ipo-app .ipo-referral-title{font-size:clamp(21px,6vw,26px);white-space:normal}
 .ipo-app .ipo-referral-lead{font-size:11px}
 .ipo-app .ipo-referral-lead br{display:none}
 .ipo-app .ipo-referral-actions{gap:12px}
 .ipo-app .ipo-referral-actions .ipo-btn .ipo-button{min-width:140px}
 .ipo-app .ipo-referral-photo{left:15%;top:178px;width:60%;height:200px}
 .ipo-app .ipo-referral-reward{top:222px;right:12px;transform:scale(.76) rotate(-10deg)}
 .ipo-app .ipo-testimonials{padding-top:20px;padding-bottom:19px;gap:14px}
 .ipo-app .ipo-testimonials-title{font-size:22px;white-space:normal}
 .ipo-app .ipo-testimonials-caption{white-space:normal}
 .ipo-app .ipo-review-list{grid-template-columns:1fr;gap:10px}
 .ipo-app .ipo-review-card{height:133px;padding:12px 14px}
 .ipo-app .ipo-review-quote{font-size:11.2px;max-width:90%}
 .ipo-app .ipo-faq{padding-bottom:23px}
 .ipo-app .ipo-faq-title{font-size:23px}
 .ipo-app .ipo-faq-columns{grid-template-columns:1fr;gap:5px}
 .ipo-app .ipo-faq-contact{min-height:98px}
 .ipo-app .ipo-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
 .ipo-app .ipo-footer-brand-col,.ipo-app .ipo-footer-social{grid-column:span 2}
 .ipo-app .ipo-footer-title{font-size:10px}
 .ipo-app .ipo-footer-links{font-size:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ipo-app *, .ipo-app *::before, .ipo-app *::after{transition:none!important}}

/* Reference-alignment refinements from the 1122×1402 verification pass. */
@media(min-width:1031px){
 .ipo-app .ipo-services{grid-template-columns:1.06fr 1fr 1fr;gap:15px}
 .ipo-app .ipo-process{height:214px;min-height:214px}
 .ipo-app .ipo-process-heading.ipo-shell{width:calc(100% - 114px)!important}
 .ipo-app .ipo-process-steps.ipo-shell{width:calc(100% - 70px)!important;margin-top:5px!important}
 .ipo-app .ipo-referral{height:171px;min-height:171px}
 .ipo-app .ipo-testimonials{grid-template-columns:298px minmax(0,1fr) 28px}
 .ipo-app .ipo-testimonials-intro{padding-left:21px}
 .ipo-app .ipo-faq.ipo-shell{width:calc(100% - 146px)!important}
 .ipo-app .ipo-footer-inner.ipo-shell{width:calc(100% - 148px)!important}
 .ipo-app .ipo-footer-inner{grid-template-columns:230px 170px 174px 180px minmax(0,1fr)}
}
.ipo-app .ipo-hero::after{background:linear-gradient(90deg,#f6fbff 0%,#f8fcffed 44%,#f9fcff83 54%,transparent 65%)}
.ipo-app .ipo-hero::before{content:"";position:absolute;z-index:2;bottom:0;left:0;width:60%;height:66px;pointer-events:none;background:linear-gradient(90deg,#f5faff 0%,#f5fbffed 74%,transparent)}
.ipo-app .ipo-hero-handnote,.ipo-app .ipo-process-handnote,.ipo-app .ipo-referral-handnote{font-family:"Lora",Georgia,serif;font-weight:500;font-style:italic}
.ipo-app .ipo-hero-handnote .ipo-heading-title,.ipo-app .ipo-process-handnote .ipo-heading-title,.ipo-app .ipo-referral-handnote .ipo-heading-title{font-family:"Lora",Georgia,serif;font-weight:500;font-style:italic}
@media(max-width:620px){
 .ipo-app .ipo-hero::after{background:linear-gradient(180deg,#ffffffe0 0%,#ffffff00 10%,#ffffff00 170px,#f7fcff 290px,#fff 68%)}
 .ipo-app .ipo-hero::before{display:none}
}
@media(max-width:360px){
 .ipo-app .ipo-process-heading{height:128px}
 .ipo-app .ipo-process-subtitle{top:95px}
}

/* Wide screens: keep the composition at the reference artboard scale,
 * while soft backgrounds can extend to the viewport edges. */
@media(min-width:1200px){
 .ipo-app .ipo-hero-photo{right:calc((100% - 1122px)/2);width:605px}
 .ipo-app .ipo-hero-card{right:calc((100% - 1122px)/2 + 37px)}
 .ipo-app .ipo-hero-handnote{right:calc((100% - 1122px)/2 + 116px)}
 .ipo-app .ipo-referral-copy{left:calc((100% - 976px)/2)}
 .ipo-app .ipo-referral-photo{left:calc(50% + 90px);width:250px}
 .ipo-app .ipo-referral-handnote{left:calc(50% - 12px)}
 .ipo-app .ipo-referral-reward{right:calc((100% - 976px)/2 - 32px)}
}


/* Real Elementor wrapper: the only native Elementor node is one wrapper per Ipoteco section. */
body .elementor .ipx-page-root.e-con{--display:flex!important;--flex-direction:column!important;--gap:0px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;row-gap:0!important;min-width:0!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
body .elementor .ipx-page-root.e-con > .e-con-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;row-gap:0!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
body .elementor .ipx-page-root .elementor-widget-ipx_header,body .elementor .ipx-page-root .elementor-widget-ipx_hero,body .elementor .ipx-page-root .elementor-widget-ipx_services,body .elementor .ipx-page-root .elementor-widget-ipx_process,body .elementor .ipx-page-root .elementor-widget-ipx_referral,body .elementor .ipx-page-root .elementor-widget-ipx_testimonials,body .elementor .ipx-page-root .elementor-widget-ipx_faq,body .elementor .ipx-page-root .elementor-widget-ipx_footer {--container-widget-width:100%!important;--container-widget-flex-grow:0!important;--container-widget-align-self:stretch!important;width:100%!important;max-width:none!important;min-width:0!important;flex:0 0 auto!important;margin:0!important;padding:0!important}
body .elementor .ipx-page-root [class^="elementor-widget-ipx_"] > .elementor-widget-container {margin:0!important;padding:0!important;width:100%!important;max-width:none!important}
.ipo-app { width:100%!important;max-width:none!important; min-width:0; overflow:visible; font-family:"Lora",Georgia,serif; font-size:14px; color:#102243; line-height:1.4; }
.ipo-app .ipo-con, .ipo-app .ipo-widget { box-sizing:border-box; }
.ipo-app .ipo-icon svg { width:100%!important;height:100%!important;display:block;max-width:100%!important;max-height:100%!important; }
.ipo-app .ipo-icon-wrapper,.ipo-app .ipo-widget-icon .ipo-widget-container{max-width:100%;max-height:100%;}
.ipo-app .ipo-widget img{max-width:none;}
.ipo-app .ipo-faq-item [role="button"] { cursor:pointer; }
.ipo-app .ipo-faq-item .ipo-tab-title:focus-visible {outline:2px solid #079a58;outline-offset:2px;}
/* Theme fonts and labels remain stable despite global Elementor styling. */
body .elementor .ipo-app p,body .elementor .ipo-app h1,body .elementor .ipo-app h2,body .elementor .ipo-app h3,body .elementor .ipo-app h4{margin:0}
@media(min-width:1200px){ body .elementor .ipx-page-root{width:100%!important} }

/* Alternative Elementor icons selected by an editor use filled Font Awesome SVGs. */
.ipo-app .ipo-icon svg.e-font-icon-svg {fill:currentColor!important;stroke:none!important}
.ipo-app .ipo-icon i {font-size:inherit;line-height:1}
/* Decorative strokes above the 500 lei gift card (reference detail). */
@media(min-width:851px){.ipo-app .ipo-referral-reward:before{content:"";position:absolute;z-index:0;left:-18px;top:-30px;width:63px;height:40px;transform:rotate(9deg);background:linear-gradient(68deg,transparent 47%,#078653 48%,#078653 51%,transparent 52%) 0 0/21px 32px no-repeat,linear-gradient(91deg,transparent 46%,#078653 47%,#078653 51%,transparent 52%) 24px 0/19px 31px no-repeat,linear-gradient(116deg,transparent 46%,#078653 47%,#078653 51%,transparent 52%) 45px 11px/15px 30px no-repeat;opacity:.9}}
/* v3 responsive shell ------------------------------------------------------
 * The 1122px reference is the design master. On desktop screens wider than
 * the reference, JS scales the complete editable Elementor sections together
 * so typography, spacing, cards, photos and decorative details keep the same
 * proportions instead of remaining tiny in a narrow 1020px column.
 */
.ipx-page-root{
  --display:flex!important;--flex-direction:column!important;
  display:flex!important;flex-direction:column!important;
  width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:0!important;gap:0!important;
  overflow:visible!important;
}
.ipx-page-root>.elementor-element{
  width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:0!important;
}
.ipx-page-root>.elementor-element>.elementor-widget-container{
  width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:0!important;
}
html,body{max-width:100%;overflow-x:hidden}
body.page-template-elementor_canvas .elementor,
body.elementor-template-canvas .elementor{width:100%!important;max-width:none!important}

@media (min-width:1122px){
  .ipo-app[data-ipx-scaled="1"]{
    flex:0 0 1122px!important;
    max-width:none!important;
    min-width:1122px!important;
  }
}

/* Laptop / compact desktop: keep the exact reference composition, with only
   safe type wrapping before the tablet layout takes over. */
@media (min-width:851px) and (max-width:1121px){
  .ipo-app .ipo-hero-h1{white-space:normal;max-width:560px}
  .ipo-app .ipo-hero-copy{max-width:58%}
  .ipo-app .ipo-benefits{max-width:56%;gap:16px}
  .ipo-app .ipo-benefit-label{white-space:normal}
}

/* Phone refinements: preserve hierarchy and touch targets on 320–480px. */
@media (max-width:480px){
  .ipo-app .ipo-header{height:56px;min-height:56px}
  .ipo-app .ipo-header-inner{width:calc(100% - 24px)!important}
  .ipo-app .ipo-brand-mark{width:29px;height:31px}
  .ipo-app .ipo-brand-name{font-size:18px}
  .ipo-app .ipo-search,.ipo-app .ipo-mobile-toggle{width:34px;height:34px}
  .ipo-app .ipo-hero{height:730px;min-height:730px}
  .ipo-app .ipo-hero-photo{height:270px}
  .ipo-app .ipo-hero-body{top:284px;left:14px;width:calc(100% - 28px)!important}
  .ipo-app .ipo-hero-card{top:145px;right:8px;transform:scale(.69)}
  .ipo-app .ipo-hero-h1{font-size:clamp(27px,8.4vw,34px);line-height:1.03}
  .ipo-app .ipo-hero-lead{font-size:11.5px}
  .ipo-app .ipo-benefits{left:14px;bottom:20px;width:calc(100% - 28px);gap:14px 8px}
  .ipo-app .ipo-benefit-label{font-size:9.4px;white-space:normal}
  .ipo-app .ipo-service-card{height:218px}
  .ipo-app .ipo-service-title{left:84px;font-size:15px}
  .ipo-app .ipo-service-desc{left:84px;right:10px;font-size:10.2px}
  .ipo-app .ipo-process{margin-left:8px!important;margin-right:8px!important}
  .ipo-app .ipo-referral{margin-left:8px!important;margin-right:8px!important}
  .ipo-app .ipo-review-card{height:auto;min-height:132px}
  .ipo-app .ipo-footer-description{font-size:10px}
}


/* v3 tablet fidelity fixes */
@media (min-width:621px) and (max-width:850px){
 .ipo-app .ipo-process-heading{min-height:148px;height:148px}
 .ipo-app .ipo-process-subtitle{top:108px;left:0}
 .ipo-app .ipo-process-steps{margin-top:8px!important}
 .ipo-app .ipo-hero-card{top:205px;right:8px;transform:scale(.86);transform-origin:right top}
}
@media (min-width:851px) and (max-width:1121px){
 .ipo-app .ipo-hero-card{right:0;width:205px;}
}
@media (max-width:480px){
 .ipo-app .ipo-hero-card{top:138px;right:0;transform:scale(.87);transform-origin:right top}
}

/* v3.3 branding păstrat din v3.2: "ipo" green + "teco" black; original house SVG unchanged. */
.ipo-app .ipo-logo-green,.ipo-default-header .ipo-logo-green,.ipo-default-footer .ipo-logo-green{color:#0a9a57;}
.ipo-app .ipo-logo-dark,.ipo-default-header .ipo-logo-dark,.ipo-default-footer .ipo-logo-dark{color:#000000;}
.ipo-default-header,.ipo-default-footer{font-family:"Lora",Georgia,serif} 
.ipo-default-logo-mark{color:#0a9a57;font-weight:700}

/* v3.3: visible design credit, alongside WordPress Theme Author metadata. */
.ipo-app .ipo-made-by{font-size:8px;line-height:1.2;color:#71819a;white-space:nowrap;margin-top:0}
.ipo-app .ipo-made-by strong{font-weight:700;color:#415470}
.ipo-default-footer .ipo-made-by{font-size:12px;color:#536a81;margin-left:10px;white-space:nowrap}
@media(max-width:620px){.ipo-app .ipo-made-by{font-size:9px}.ipo-default-footer .ipo-made-by{display:block;margin:8px 0 0}}
/* v3.3.1: Lora-friendly, content-driven cards. Avoid absolute text/checklist overlap.
   A longer edited Elementor description can grow without crossing the checkmarks. */
.ipo-app .ipo-services{
  height:auto;
  min-height:0;
  align-items:stretch;
}
.ipo-app .ipo-service-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  height:auto;
  min-height:236px;
  padding:20px 20px 14px;
}
.ipo-app .ipo-service-title,
.ipo-app .ipo-service-desc{
  position:relative;
  top:auto;
  left:auto;
  right:auto;
  width:calc(100% - 68px);
  max-width:calc(100% - 68px);
  margin-left:68px!important;
  white-space:normal;
  overflow-wrap:anywhere;
}
.ipo-app .ipo-service-desc{margin-top:8px!important}
.ipo-app .ipo-service-bullets,
.ipo-app .ipo-card-resources .ipo-service-bullets{
  position:relative;
  top:auto;
  left:auto;
  margin-top:12px!important;
  max-width:calc(100% - 80px);
  gap:4px;
}
.ipo-app .ipo-bullet,
.ipo-app .ipo-card-resources .ipo-bullet{
  height:auto;
  min-height:17px;
  align-items:flex-start;
  white-space:normal;
}
.ipo-app .ipo-check{flex:0 0 14px}
.ipo-app .ipo-bullet-label{line-height:1.28;white-space:normal;overflow-wrap:anywhere}
.ipo-app .ipo-card-button{
  position:relative;
  bottom:auto;
  left:auto;
  margin-top:auto!important;
  padding-top:12px;
}
/* FAQ expands with its answer content; the footer must flow below it. */
.ipo-app .ipo-faq{
  height:auto;
  min-height:112px;
  align-items:start;
}
.ipo-app .ipo-faq-item .ipo-tab-content{overflow-wrap:anywhere}


/* v3.4.0 dynamic ui */
.ipo-app .ipo-btn .ipo-button,
.ipo-app .ipo-nav-link .ipo-button,
.ipo-app .ipo-search,
.ipo-app .ipo-mobile-toggle,
.ipo-app .ipo-benefit,
.ipo-app .ipo-service,
.ipo-app .ipo-testimonial,
.ipo-app .ipo-faq-item .ipo-toggle-item,
.ipo-app .ipo-faq-contact,
.ipo-app .ipo-hero-card,
.ipo-app .ipo-referral-reward,
.ipo-app .ipo-process-card,
.ipo-app .ipo-footer-social a,
.ipo-default-footer .ipo-made-by,
.ipo-default-header .ipo-brand,
.ipo-default-footer .ipo-brand {
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease, opacity .25s ease;
}

.ipo-app .ipo-btn .ipo-button{position:relative;overflow:hidden;box-shadow:0 8px 18px rgba(14,39,78,.12)}
.ipo-app .ipo-btn .ipo-button:before{content:"";position:absolute;left:-120%;top:0;width:70%;height:100%;transform:skewX(-24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transition:left .55s ease}
.ipo-app .ipo-btn .ipo-button:hover:before{left:135%}
.ipo-app .ipo-btn .ipo-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(14,39,78,.18)}
.ipo-app .ipo-btn .ipo-button:active{transform:translateY(0);box-shadow:0 6px 12px rgba(14,39,78,.12)}

.ipo-app .ipo-nav-link .ipo-button{position:relative}
.ipo-app .ipo-nav-link .ipo-button:after{content:"";position:absolute;left:16px;right:16px;bottom:8px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .25s ease;opacity:.35}
.ipo-app .ipo-nav-link .ipo-button:hover:after,
.ipo-app .ipo-nav-active .ipo-button:after{transform:scaleX(1)}

.ipo-app .ipo-search:hover,
.ipo-app .ipo-mobile-toggle:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 12px 24px rgba(14,39,78,.12)}

.ipo-app .ipo-service,
.ipo-app .ipo-testimonial,
.ipo-app .ipo-process-card,
.ipo-app .ipo-faq-contact,
.ipo-app .ipo-faq-item .ipo-toggle-item{border:1px solid rgba(9,31,66,.08);box-shadow:0 6px 18px rgba(14,39,78,.04)}
.ipo-app .ipo-service:hover,
.ipo-app .ipo-testimonial:hover,
.ipo-app .ipo-process-card:hover,
.ipo-app .ipo-faq-contact:hover,
.ipo-app .ipo-faq-item .ipo-toggle-item:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(14,39,78,.12);border-color:rgba(10,154,87,.18)}

.ipo-app .ipo-service .ipo-icon-wrapper,
.ipo-app .ipo-benefit .ipo-icon-wrapper,
.ipo-app .ipo-faq-contact-icon .ipo-icon-wrapper,
.ipo-app .ipo-brand-mark .ipo-icon-wrapper{transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease}
.ipo-app .ipo-service:hover .ipo-icon-wrapper,
.ipo-app .ipo-benefit:hover .ipo-icon-wrapper,
.ipo-app .ipo-faq-contact:hover .ipo-faq-contact-icon .ipo-icon-wrapper,
.ipo-app .ipo-brand:hover .ipo-brand-mark .ipo-icon-wrapper{transform:translateY(-2px) scale(1.06);box-shadow:0 10px 24px rgba(10,154,87,.15)}

.ipo-app .ipo-benefit:hover{transform:translateY(-2px)}
.ipo-app .ipo-hero-card:hover,
.ipo-app .ipo-referral-reward:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 18px 34px rgba(14,39,78,.14)}

.ipo-app .ipo-service-image img,
.ipo-app .ipo-hero-house img,
.ipo-app .ipo-referral-photo img,
.ipo-app .ipo-hero-photo img,
.ipo-app .ipo-phone img,
.ipo-app .ipo-gift img{transition:transform .45s ease, filter .35s ease}
.ipo-app .ipo-service:hover .ipo-service-image img,
.ipo-app .ipo-hero-card:hover .ipo-hero-house img,
.ipo-app .ipo-referral:hover .ipo-referral-photo img,
.ipo-app .ipo-resources:hover .ipo-phone img,
.ipo-app .ipo-recommend:hover .ipo-gift img{transform:scale(1.035);filter:saturate(1.03) contrast(1.02)}

.ipo-app .ipo-referral,
.ipo-app .ipo-hero,
.ipo-app .ipo-process,
.ipo-app .ipo-services,
.ipo-app .ipo-testimonials,
.ipo-app .ipo-faq{position:relative;overflow:hidden}
.ipo-app .ipo-referral:after,
.ipo-app .ipo-process:after,
.ipo-app .ipo-services:after,
.ipo-app .ipo-testimonials:after,
.ipo-app .ipo-faq:after{content:"";position:absolute;inset:auto -10% -120px auto;width:320px;height:320px;border-radius:999px;background:radial-gradient(circle,rgba(10,154,87,.08) 0%, rgba(10,154,87,0) 72%);pointer-events:none}

.ipo-app .ipo-tab-title[aria-expanded="true"]{color:#0a9a57}
.ipo-app .ipo-tab-title[aria-expanded="true"] .ipo-toggle-icon{transform:rotate(45deg)}
.ipo-app .ipo-toggle-icon{display:inline-flex;align-items:center;justify-content:center;transition:transform .22s ease,color .22s ease}
.ipo-app .ipo-tab-content{transition:opacity .25s ease}

.ipo-app .ipo-made-by{margin-top:10px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.55);backdrop-filter:blur(6px);box-shadow:0 8px 18px rgba(14,39,78,.06)}
.ipo-app .ipo-made-by strong{color:#0a9a57}

@media (prefers-reduced-motion: reduce){
  .ipo-app *{transition:none!important;animation:none!important}
}


/* v3.4.1 social buttons + AllmaDesign link */
.ipo-app .ipo-social-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px}
.ipo-app .ipo-social-icon .ipo-widget-container{display:block}
.ipo-app .ipo-social-icon .ipo-icon-wrapper{
  width:46px;height:46px;border-radius:16px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#ffffff 0%, #f3f7fb 100%);
  border:1px solid rgba(11,42,86,.08);
  box-shadow:0 10px 22px rgba(15,37,72,.08), inset 0 1px 0 rgba(255,255,255,.7);
  color:#213867;position:relative;overflow:hidden;cursor:pointer;
}
.ipo-app .ipo-social-icon .ipo-icon-wrapper:before{
  content:"";position:absolute;inset:-35% auto auto -60%;width:70%;height:170%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);
  transform:rotate(18deg);transition:left .55s ease;
}
.ipo-app .ipo-social-icon .ipo-icon{display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}
.ipo-app .ipo-social-icon .ipo-icon svg{width:20px;height:20px;stroke-width:2.2;transition:transform .25s ease}
.ipo-app .ipo-social-icon .ipo-icon-wrapper:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 18px 30px rgba(15,37,72,.14), 0 0 0 6px rgba(10,154,87,.08);border-color:rgba(10,154,87,.24);color:#0a9a57}
.ipo-app .ipo-social-icon .ipo-icon-wrapper:hover:before{left:120%}
.ipo-app .ipo-social-icon .ipo-icon-wrapper:hover .ipo-icon svg{transform:scale(1.08)}
.ipo-app .ipo-social-icon:nth-child(1) .ipo-icon-wrapper:hover{color:#1877f2}
.ipo-app .ipo-social-icon:nth-child(2) .ipo-icon-wrapper:hover{color:#d62976}
.ipo-app .ipo-social-icon:nth-child(3) .ipo-icon-wrapper:hover{color:#ff0000}
.ipo-app .ipo-social-icon:nth-child(4) .ipo-icon-wrapper:hover{color:#111111}
.ipo-app .ipo-social-icon:nth-child(5) .ipo-icon-wrapper:hover{color:#0a66c2}

.ipo-app .ipo-made-by,
.ipo-default-footer .ipo-made-by{display:inline-flex;align-items:center;gap:4px}
.ipo-app .ipo-made-by-link,
.ipo-default-footer .ipo-made-by-link{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .22s ease,border-color .22s ease,opacity .22s ease}
.ipo-app .ipo-made-by-link strong,
.ipo-default-footer .ipo-made-by-link strong{color:#0a9a57}
.ipo-app .ipo-made-by-link:hover,
.ipo-default-footer .ipo-made-by-link:hover{color:#0b2a56;border-bottom-color:rgba(10,154,87,.35)}
.ipo-app .ipo-made-by-link:hover strong,
.ipo-default-footer .ipo-made-by-link:hover strong{color:#087545}


/* v3.6.0 modern icon system */
.ipo-app .ipo-icon svg,
.ipo-default-footer .ipo-icon svg,
.ipo-default-header .ipo-icon svg{
  display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;
}
.ipo-app .ipo-brand-mark .ipo-icon-wrapper,
.ipo-app .ipo-benefit-icon .ipo-icon-wrapper,
.ipo-app .ipo-service-icon,
.ipo-app .ipo-step-icon,
.ipo-app .ipo-faq-contact-icon .ipo-icon-wrapper,
.ipo-app .ipo-social-icon .ipo-icon-wrapper,
.ipo-default-footer .ipo-icon-wrapper{
  position:relative;isolation:isolate;
}
.ipo-app .ipo-brand-mark .ipo-icon-wrapper::before,
.ipo-app .ipo-service-icon::before,
.ipo-app .ipo-step-icon::before,
.ipo-app .ipo-faq-contact-icon .ipo-icon-wrapper::before,
.ipo-app .ipo-social-icon .ipo-icon-wrapper::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 24px rgba(17,45,84,.08);
}
.ipo-app .ipo-service-icon,
.ipo-app .ipo-step-icon,
.ipo-app .ipo-faq-contact-icon .ipo-icon-wrapper{
  border:1px solid rgba(11,43,87,.08);
}
.ipo-app .ipo-check{width:16px;height:16px;color:#08a15b}
.ipo-app .ipo-check svg{stroke-width:2.1}
.ipo-app .ipo-benefit-icon{width:28px;height:28px;color:#079a58}
.ipo-app .ipo-benefit{align-items:center;gap:10px}
.ipo-app .ipo-step-icon{padding:12px;background:linear-gradient(180deg,#ffffff 0%,#f1f6fb 100%);box-shadow:0 12px 24px rgba(15,38,72,.08)}
.ipo-app .ipo-service-icon{box-shadow:0 14px 28px rgba(10,154,87,.10)}
.ipo-app .ipo-step::after{font-size:15px;font-weight:700}
.ipo-app .ipo-social-icon .ipo-icon svg{stroke-width:1.9}


/* Source: ipoteco-motion.css (unchanged CSS; original order preserved) */
/*
 * IpoTeco v3.5.0 | AllmaDesign Custom
 * Motion layer for the REAL Elementor section classes in parts/*.html.
 * Deliberately limited to the Ipoteco landing page and its WP theme chrome.
 * Content and Elementor widget settings remain fully editable.
 */

/* Ambient backgrounds: a moving visual texture, not additional bitmap assets. */
@keyframes ipxAurora {
  0%,100% {background-position:0% 35%, 100% 50%, 50% 50%}
  50% {background-position:100% 65%, 0% 15%, 50% 50%}
}
@keyframes ipxAmbientOrb {
  0%,100% {translate:0 0;scale:1;opacity:.55}
  50% {translate:-25px -14px;scale:1.13;opacity:.9}
}
@keyframes ipxSoftFloat {
  0%,100% {translate:0 0}
  50% {translate:0 -6px}
}
@keyframes ipxGlowPulse {
  0%,100% {box-shadow:0 6px 20px rgba(6,128,79,.10),0 0 0 0 rgba(5,159,92,0)}
  50% {box-shadow:0 14px 30px rgba(6,128,79,.17),0 0 0 7px rgba(5,159,92,.10)}
}
@keyframes ipxConnector {
  0%,100% {translate:0 0;opacity:.55}
  50% {translate:5px 0;opacity:1}
}
@keyframes ipxIconAura {
  0%,100% {scale:.92;opacity:.18}
  50% {scale:1.16;opacity:.58}
}
@keyframes ipxPhotoBreath {
  from {scale:1.005}
  to {scale:1.045}
}
@keyframes ipxReveal {
  from {opacity:0;translate:0 19px}
  to {opacity:1;translate:0 0}
}
@keyframes ipxStarGlimmer {
  0%,100% {text-shadow:0 0 0 rgba(255,172,0,0)}
  55% {text-shadow:0 0 10px rgba(255,172,0,.22)}
}
@keyframes ipxGiftPulse {
  0%,100% {translate:0 0;scale:1}
  50% {translate:0 -3px;scale:1.04}
}

/* Animates only after scroll intersection. Nothing is invisible without JS. */
.ipo-app .ipx-in-view {
  animation:ipxReveal .7s cubic-bezier(.18,.75,.28,1) both;
  animation-delay:var(--ipx-reveal-delay,0ms);
}
.ipo-app [data-ipx-section],
.ipo-app .ipo-con {min-width:0}
.ipo-app .ipo-eyebrow {transition:box-shadow .35s ease,background-color .35s ease,translate .35s ease}
.ipo-app .ipo-eyebrow:hover {translate:0 -2px;box-shadow:0 7px 19px rgba(6,127,76,.13)}
.ipo-app .ipo-btn .ipo-button:focus-visible,
.ipo-app .ipo-nav-link .ipo-button:focus-visible,
.ipo-app .ipo-review-arrow:focus-visible,
.ipo-app .ipo-made-by-link:focus-visible,
.ipo-default-header a:focus-visible,
.ipo-default-footer a:focus-visible {
  outline:3px solid #009d65!important;outline-offset:3px;
}

/* Buttons and interactive navigation */
.ipo-app .ipo-btn .ipo-button {
  background-size:190% 190%;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),background-position .38s ease,box-shadow .3s ease!important;
}
.ipo-app .ipo-btn-primary .ipo-button {
  animation:ipxGlowPulse 4.4s ease-in-out infinite;
}
.ipo-app .ipo-btn .ipo-button:hover,
.ipo-app .ipo-btn .ipo-button:focus-visible {
  transform:translateY(-3px)!important;
  background-position:100% 50%;
  box-shadow:0 17px 28px rgba(5,92,65,.22)!important;
}
.ipo-app .ipo-btn .ipo-button:active {transform:translateY(0) scale(.98)!important}
.ipo-app .ipo-button-icon svg {transition:translate .3s cubic-bezier(.2,.8,.2,1),scale .3s ease}
.ipo-app .ipo-button:hover .ipo-button-icon svg,
.ipo-app .ipo-button:focus-visible .ipo-button-icon svg {translate:4px 0;scale:1.1}
.ipo-app .ipo-nav-link .ipo-button:hover {color:#009a58;background:rgba(9,158,93,.055);border-radius:8px}
.ipo-app .ipo-search:hover,.ipo-app .ipo-mobile-toggle:hover {background:#e5f7ed;box-shadow:0 0 0 5px rgba(8,157,91,.08)}

/* HERO: slowly drifting pastel light and subtly living imagery. */
.ipo-app .ipo-hero {
  background-image:
    radial-gradient(ellipse at 16% 40%,rgba(103,204,169,.20) 0%,transparent 53%),
    radial-gradient(ellipse at 68% 35%,rgba(119,191,255,.16) 0%,transparent 52%),
    linear-gradient(105deg,#effaf7 0%,#f9fcff 57%,#f3fcfa 100%);
  background-size:140% 160%,145% 145%,100% 100%;
  animation:ipxAurora 17s ease-in-out infinite;
}
.ipo-app .ipo-hero-photo img {
  animation:ipxPhotoBreath 18s ease-in-out infinite alternate;
  transform-origin:54% 50%;
}
.ipo-app .ipo-hero-card {
  animation:ipxGlowPulse 5.2s ease-in-out infinite;
  transition:translate .35s ease,box-shadow .35s ease!important;
}
/* Use individual translate, preserving tablet/phone transform:scale(...) rules. */
.ipo-app .ipo-hero-card:hover {translate:0 -5px;box-shadow:0 17px 32px rgba(31,73,110,.24)}
.ipo-app .ipo-benefit-icon {transition:translate .3s ease,scale .3s ease,color .3s ease}
.ipo-app .ipo-benefit:hover .ipo-benefit-icon {translate:0 -4px;scale:1.12;color:#02a966}
.ipo-app .ipo-hero-handnote {animation:ipxSoftFloat 6.4s ease-in-out infinite}

/* SERVICE CARDS: correct selector is .ipo-service-card, not .ipo-service. */
.ipo-app .ipo-services {position:relative;isolation:isolate}
.ipo-app .ipo-services::before {
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 18% 50%,rgba(8,169,103,.075),transparent 56%),
             radial-gradient(ellipse at 80% 20%,rgba(40,120,217,.06),transparent 60%);
  background-size:145% 145%;animation:ipxAurora 20s ease-in-out infinite;
  pointer-events:none;z-index:0;
}
.ipo-app .ipo-service-card {
  isolation:isolate;z-index:1;
  transform:translate3d(0,0,0);
  box-shadow:0 7px 22px rgba(19,49,75,.075);
  transition:transform .42s cubic-bezier(.2,.78,.21,1),box-shadow .42s ease,border-color .35s ease!important;
}
.ipo-app .ipo-service-card::before {
  content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;
  background:radial-gradient(210px circle at var(--ipx-pointer-x,50%) var(--ipx-pointer-y,30%),rgba(255,255,255,.75),transparent 72%);
  opacity:0;transition:opacity .35s ease;
}
.ipo-app .ipo-service-card:hover,
.ipo-app .ipo-service-card:focus-within {
  transform:translateY(-7px) scale(1.012);
  z-index:3;border-color:rgba(9,149,91,.27);
  box-shadow:0 19px 38px rgba(16,70,70,.17),0 0 0 1px rgba(5,156,88,.06);
}
.ipo-app .ipo-card-referrals:hover {border-color:rgba(35,91,210,.25)}
.ipo-app .ipo-card-resources:hover {border-color:rgba(224,150,0,.3)}
.ipo-app .ipo-service-card:hover::before,
.ipo-app .ipo-service-card:focus-within::before {opacity:.55}
.ipo-app .ipo-service-icon {
  transition:translate .35s ease,scale .35s ease,box-shadow .35s ease!important;
}
.ipo-app .ipo-service-icon::after {
  content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(6,163,97,.2);
  animation:ipxIconAura 3.6s ease-in-out infinite;pointer-events:none;
}
.ipo-app .ipo-service-card:hover .ipo-service-icon {translate:0 -5px;scale:1.1;box-shadow:0 10px 22px rgba(8,128,91,.17)}
.ipo-app .ipo-service-card:hover .ipo-service-photo {translate:0 -4px}
.ipo-app .ipo-service-photo {transition:translate .45s ease}
.ipo-app .ipo-bullet {transition:translate .25s ease}
.ipo-app .ipo-bullet:hover {translate:4px 0}
.ipo-app .ipo-check {transition:scale .25s ease;color:#009b58}
.ipo-app .ipo-bullet:hover .ipo-check {scale:1.18}

/* PROCESS: visible dynamics for the four actual .ipo-step cards. */
.ipo-app .ipo-process {
  isolation:isolate;
  background-image:
    radial-gradient(ellipse at 22% 18%,rgba(102,222,159,.24),transparent 50%),
    radial-gradient(ellipse at 81% 73%,rgba(125,198,255,.23),transparent 54%),
    linear-gradient(115deg,#f0fcf5,#f7fcff 55%,#e9f9f1);
  background-size:150% 180%,165% 165%,100% 100%;
  animation:ipxAurora 12s ease-in-out infinite;
}
.ipo-app .ipo-process::before {
  content:"";position:absolute;z-index:0;width:300px;height:300px;right:-100px;top:-105px;
  background:radial-gradient(circle,rgba(24,178,127,.20),rgba(122,208,190,.045) 49%,transparent 72%);
  filter:blur(7px);border-radius:50%;pointer-events:none;
  animation:ipxAmbientOrb 8s ease-in-out infinite;
}
.ipo-app .ipo-process::after {
  content:"";position:absolute;z-index:0;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(3,139,86,.14) .8px,transparent .9px);
  background-size:22px 22px;opacity:.35;
  mask-image:linear-gradient(90deg,transparent 16%,#000 50%,transparent 96%);
}
.ipo-app .ipo-process-heading,
.ipo-app .ipo-process-steps {position:relative;z-index:2}
.ipo-app .ipo-process-steps {overflow:visible!important}
.ipo-app .ipo-step {
  isolation:isolate;
  z-index:1;
  background:linear-gradient(155deg,rgba(255,255,255,.97),rgba(248,254,251,.97));
  border:1px solid rgba(11,140,92,.13);
  box-shadow:0 9px 20px rgba(16,74,66,.085),inset 0 1px 0 #fff;
  transform:perspective(720px) translateY(0);
  transition:transform .32s cubic-bezier(.18,.76,.24,1),box-shadow .32s ease,border-color .32s ease,background-color .3s ease!important;
}
.ipo-app .ipo-step::before {
  content:"";position:absolute;inset:0;border-radius:inherit;z-index:0;pointer-events:none;
  background:
    radial-gradient(185px circle at var(--ipx-pointer-x,50%) var(--ipx-pointer-y,38%),rgba(31,215,137,.24),transparent 75%),
    linear-gradient(115deg,transparent 38%,rgba(255,255,255,.34) 52%,transparent 66%);
  background-size:100% 100%,240% 100%;
  background-position:center,100% 50%;opacity:0;
  transition:opacity .32s ease,background-position .55s ease;
}
.ipo-app .ipo-step:hover,
.ipo-app .ipo-step:focus-within {
  z-index:5;border-color:rgba(4,162,101,.47);
  transform:perspective(720px) translateY(-8px) rotateX(var(--ipx-tilt-x,0deg)) rotateY(var(--ipx-tilt-y,0deg));
  box-shadow:0 22px 40px rgba(11,103,78,.2),0 0 0 1px rgba(5,156,88,.13);
}
.ipo-app .ipo-step:hover::before,.ipo-app .ipo-step:focus-within::before {opacity:1;background-position:center,0% 50%}
.ipo-app .ipo-step-title,.ipo-app .ipo-step-desc {position:absolute;z-index:2}
.ipo-app .ipo-step-number {
  z-index:4;
  box-shadow:0 6px 16px rgba(0,136,76,.22);
  animation:ipxGlowPulse 3.5s ease-in-out infinite;
  transition:scale .32s ease,translate .32s ease,background .32s ease;
}
.ipo-app .ipo-step:nth-child(2) .ipo-step-number {animation-delay:.7s}
.ipo-app .ipo-step:nth-child(3) .ipo-step-number {animation-delay:1.4s}
.ipo-app .ipo-step:nth-child(4) .ipo-step-number {animation-delay:2.1s}
.ipo-app .ipo-step-icon {
  z-index:4;
  box-shadow:0 8px 20px rgba(27,75,113,.11);
  transition:translate .34s cubic-bezier(.2,.78,.21,1),scale .34s ease,background .34s ease,box-shadow .34s ease!important;
}
.ipo-app .ipo-step-icon::before {
  content:"";position:absolute;inset:-7px;border:1px solid rgba(8,158,93,.2);border-radius:50%;pointer-events:none;
  animation:ipxIconAura 3s ease-in-out infinite;
}
.ipo-app .ipo-step:nth-child(2) .ipo-step-icon::before {animation-delay:.55s}
.ipo-app .ipo-step:nth-child(3) .ipo-step-icon::before {animation-delay:1.1s}
.ipo-app .ipo-step:nth-child(4) .ipo-step-icon::before {animation-delay:1.65s}
.ipo-app .ipo-step:hover .ipo-step-icon {
  translate:0 -7px;scale:1.11;
  background:linear-gradient(145deg,#e8fff1,#e3f7ff);
  box-shadow:0 13px 25px rgba(5,133,91,.2);
}
.ipo-app .ipo-step:hover .ipo-step-number {scale:1.09;translate:0 -3px;background:linear-gradient(145deg,#08c475,#078746)}
.ipo-app .ipo-step::after {
  animation:ipxConnector 2s ease-in-out infinite;
}
.ipo-app .ipo-step:nth-child(2)::after {animation-delay:.5s}
.ipo-app .ipo-step:nth-child(3)::after {animation-delay:1s}
.ipo-app .ipo-step:hover::after {animation-play-state:paused;opacity:1}
.ipo-app .ipo-process-handnote {animation:ipxSoftFloat 5.5s ease-in-out infinite}

/* REFERRAL: alive background, reward and decorative lines. */
.ipo-app .ipo-referral {
  isolation:isolate;
  background-image:
    radial-gradient(ellipse at 66% 28%,rgba(255,204,120,.19),transparent 48%),
    radial-gradient(ellipse at 18% 82%,rgba(6,178,113,.1),transparent 52%),
    linear-gradient(115deg,#fff7e8,#fffaf2 54%,#f3f7ea);
  background-size:130% 140%,130% 140%,100% 100%;
  animation:ipxAurora 15s ease-in-out infinite;
}
.ipo-app .ipo-referral::before {
  content:"";position:absolute;z-index:0;top:-58px;right:16%;width:210px;height:210px;border-radius:50%;
  border:1px solid rgba(7,149,89,.18);box-shadow:0 0 0 34px rgba(13,164,101,.035),0 0 0 68px rgba(13,164,101,.025);
  animation:ipxAmbientOrb 8s ease-in-out infinite;pointer-events:none;
}
.ipo-app .ipo-referral-reward {
  animation:ipxSoftFloat 4.5s ease-in-out infinite;
  transition:box-shadow .3s ease,filter .3s ease,scale .3s ease!important;
}
.ipo-app .ipo-referral-reward:hover {
  transform:rotate(-10deg)!important;scale:1.055;
  box-shadow:0 20px 38px rgba(172,126,60,.27)!important;
}
.ipo-app .ipo-reward-icon {animation:ipxGiftPulse 3.5s ease-in-out infinite}
.ipo-app .ipo-referral-handnote {animation:ipxSoftFloat 6s ease-in-out infinite}
.ipo-app .ipo-referral-photo img {animation:ipxPhotoBreath 17s ease-in-out infinite alternate}
.ipo-app .ipo-text-link .ipo-button:hover {color:#008b56;translate:3px 0}

/* REVIEWS: gradient surface and genuinely reactive testimonial cards. */
.ipo-app .ipo-testimonials {position:relative;isolation:isolate}
.ipo-app .ipo-testimonials::before {
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 75% 28%,rgba(82,157,221,.095),transparent 53%),
             radial-gradient(ellipse at 16% 75%,rgba(54,182,120,.09),transparent 60%);
  background-size:140% 140%;animation:ipxAurora 17s ease-in-out infinite;
}
.ipo-app .ipo-testimonials > * {position:relative;z-index:1}
.ipo-app .ipo-review-card {
  isolation:isolate;
  transition:translate .34s ease,box-shadow .34s ease,border-color .34s ease!important;
}
.ipo-app .ipo-review-card::before {
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(170px circle at var(--ipx-pointer-x,50%) var(--ipx-pointer-y,50%),rgba(12,164,106,.085),transparent 73%);
  opacity:0;transition:opacity .3s ease;
}
.ipo-app .ipo-review-card:hover {translate:0 -6px;border-color:rgba(8,142,92,.28);box-shadow:0 16px 27px rgba(17,67,92,.16)}
.ipo-app .ipo-review-card:hover::before {opacity:1}
.ipo-app .ipo-stars {animation:ipxStarGlimmer 4.2s ease-in-out infinite}
.ipo-app .ipo-review-arrow {
  transition:translate .25s ease,background .25s ease,box-shadow .25s ease,color .25s ease!important;
}
.ipo-app .ipo-review-arrow:hover,
.ipo-app .ipo-review-arrow:focus-visible {translate:0 -3px;background:#e5f8ed;color:#007b49;box-shadow:0 9px 16px rgba(7,118,77,.17)}

/* FAQ: ensure answers grow and active panels feel interactive. */
.ipo-app .ipo-faq {position:relative;isolation:isolate}
.ipo-app .ipo-faq::before {
  content:"";position:absolute;inset:-10%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 45% 50%,rgba(12,156,109,.058),transparent 55%);
  background-size:130% 130%;animation:ipxAurora 18s ease-in-out infinite;
}
.ipo-app .ipo-faq > * {position:relative;z-index:1}
.ipo-app .ipo-faq-item {
  transition:translate .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease!important;
}
.ipo-app .ipo-faq-item:hover,
.ipo-app .ipo-faq-item:focus-within {translate:0 -2px;border-color:rgba(6,151,92,.25);box-shadow:0 10px 20px rgba(11,80,72,.11)}
.ipo-app .ipo-faq-item:has(.ipo-tab-title[aria-expanded="true"]) {
  border-color:rgba(3,154,89,.34);background:linear-gradient(145deg,#ffffff,#f3fff7);
  box-shadow:0 12px 24px rgba(14,112,77,.12);
}
.ipo-app .ipo-faq-item .ipo-tab-title[aria-expanded="true"] + .ipo-tab-content {
  animation:ipxReveal .32s ease-out both;
}
.ipo-app .ipo-faq-item .ipo-tab-title .ipo-toggle-icon {
  transition:color .25s ease,rotate .25s ease,scale .25s ease;
}
.ipo-app .ipo-faq-item:hover .ipo-toggle-icon {color:#059354;scale:1.15}
/* JS swaps + to minus; don't rotate the minus itself out of alignment. */
.ipo-app .ipo-tab-title[aria-expanded="true"] .ipo-toggle-icon {transform:translateY(-50%) rotate(0)!important;color:#039659}
.ipo-app .ipo-faq-contact {
  transition:translate .32s ease,box-shadow .32s ease,border-color .32s ease!important;
  background:linear-gradient(120deg,#e5f7ed,#f4fffa,#dff7eb);
  background-size:180% 180%;animation:ipxAurora 10s ease-in-out infinite;
}
.ipo-app .ipo-faq-contact:hover {translate:0 -5px;box-shadow:0 18px 28px rgba(12,125,83,.15)}
.ipo-app .ipo-faq-contact-icon {animation:ipxSoftFloat 4s ease-in-out infinite}

/* FOOTER and default page chrome: visual polish across the site. */
.ipo-app .ipo-footer {
  position:relative;height:auto!important;min-height:128px;
  background-image:radial-gradient(ellipse at 16% 28%,rgba(66,184,138,.1),transparent 50%),
    radial-gradient(ellipse at 86% 73%,rgba(72,143,218,.13),transparent 54%),
    linear-gradient(125deg,#eff8fa,#f5f9ff);
  background-size:150% 180%,150% 160%,100% 100%;
  animation:ipxAurora 18s ease-in-out infinite;
}
.ipo-app .ipo-footer-inner {padding-bottom:18px}
.ipo-app .ipo-footer-social .ipo-social-row {display:flex!important;gap:5px;flex-wrap:nowrap;margin-top:2px}
.ipo-app .ipo-social-icon {width:28px;height:28px;flex:0 0 28px}
.ipo-app .ipo-social-icon .ipo-icon-wrapper {width:28px;height:28px;border-radius:10px;transition:translate .26s ease,scale .26s ease,box-shadow .26s ease}
.ipo-app .ipo-social-icon .ipo-icon svg {width:15px!important;height:15px!important}
.ipo-app .ipo-social-icon .ipo-icon-wrapper:hover {translate:0 -4px;scale:1.05;box-shadow:0 11px 18px rgba(16,64,92,.2)}
.ipo-app .ipo-copyright {white-space:normal;font-size:8px;line-height:1.45;margin-top:5px!important}
.ipo-app .ipo-made-by {margin-top:3px;padding:6px 9px;border-radius:10px}
.ipo-app .ipo-footer-links a {transition:color .22s ease,padding-left .22s ease}
.ipo-app .ipo-footer-links a:hover {padding-left:3px}
.ipo-default-header,.ipo-default-footer {
  background:linear-gradient(120deg,#ecfaf4,#f2f9ff,#e8f9f0);
  background-size:200% 200%;animation:ipxAurora 17s ease-in-out infinite;
}
.ipo-standard-content a {transition:color .2s ease,text-decoration-color .2s ease}
.ipo-standard-content a:hover {color:#05a561}

@media(max-width:850px){
  .ipo-app .ipo-social-icon {width:42px;height:42px;flex:0 0 42px}
  .ipo-app .ipo-social-icon .ipo-icon-wrapper {width:42px;height:42px;border-radius:14px}
  .ipo-app .ipo-social-icon .ipo-icon svg {width:19px!important;height:19px!important}
  .ipo-app .ipo-footer-social .ipo-social-row {gap:10px}
  .ipo-app .ipo-step:hover {transform:translateY(-6px)}
  .ipo-app .ipo-referral-reward:hover {transform:scale(.8) rotate(-10deg)!important;scale:1.02}
}
@media(max-width:620px){
  .ipo-app .ipo-process {background-size:200% 190%,185% 180%,100% 100%}
  .ipo-app .ipo-process::before {right:-160px;top:-70px;opacity:.5}
  .ipo-app .ipo-step:hover {transform:translateY(-5px)}
  .ipo-app .ipo-referral-reward:hover {transform:scale(.76) rotate(-10deg)!important;scale:1.02}
  .ipo-app .ipo-service-card:hover {transform:translateY(-4px)}
  .ipo-app .ipo-social-icon {width:40px;height:40px;flex-basis:40px}
  .ipo-app .ipo-social-icon .ipo-icon-wrapper {width:40px;height:40px}
}
@media(hover:none),(pointer:coarse){
  .ipo-app .ipo-step,.ipo-app .ipo-service-card,.ipo-app .ipo-review-card {transform:none}
  .ipo-app .ipo-step:active {box-shadow:0 17px 30px rgba(10,130,87,.15);border-color:rgba(3,149,91,.29)}
}
@media(prefers-reduced-motion:reduce){
  html:focus-within {scroll-behavior:auto}
  .ipo-app,.ipo-app *, .ipo-app *::before,.ipo-app *::after,
  .ipo-default-header,.ipo-default-footer {
    animation:none!important;transition:none!important;
  }
  .ipo-app .ipo-step:hover,.ipo-app .ipo-service-card:hover,
  .ipo-app .ipo-service-card:focus-within,.ipo-app .ipo-btn .ipo-button:hover,
  .ipo-app .ipo-review-card:hover {transform:none!important;translate:none!important;scale:none!important}
}

/* Keep pre-existing responsive transforms for the hero counter intact on hover. */
@media (min-width:621px) and (max-width:850px) {
  .ipo-app .ipo-hero-card:hover {transform:scale(.86)}
}
@media (min-width:481px) and (max-width:620px) {
  .ipo-app .ipo-hero-card:hover {transform:scale(.74)}
}
@media (max-width:480px) {
  .ipo-app .ipo-hero-card:hover {transform:scale(.87)}
}
/* In Elementor edit mode, editing overlays must not move with the motion layer. */
.elementor-editor-active .ipo-app,
.elementor-editor-active .ipo-app *,
.elementor-editor-active .ipo-app *::before,
.elementor-editor-active .ipo-app *::after {animation:none!important;transition:none!important}
.elementor-editor-active .ipo-app .ipo-step:hover,
.elementor-editor-active .ipo-app .ipo-service-card:hover,
.elementor-editor-active .ipo-app .ipo-review-card:hover,
.elementor-editor-active .ipo-app .ipo-btn .ipo-button:hover {
  transform:none!important;translate:none!important;scale:none!important;
}

/* The mobile dropdown must be able to extend past its Elementor header widget. */
.ipo-app[data-ipx-section="header"] {position:relative;z-index:35;overflow:visible!important}
.ipo-app .ipo-header {
  background-image:radial-gradient(ellipse at 8% 50%,rgba(23,170,116,.08),transparent 50%),
    linear-gradient(115deg,#ffffff,#f7fcff,#ffffff);
  background-size:160% 140%,150% 150%;
  animation:ipxAurora 19s ease-in-out infinite;
}


/* Source: ipoteco-header-tools.css (unchanged CSS; original order preserved) */
/* IpoTeco v3.5.1 | usable site search and customer account menus. */
.ipo-app .ipo-header-actions{gap:7px}
.ipo-app .ipo-nav{padding-left:19px;gap:5px}
.ipo-app .ipo-nav-link .ipo-button{padding-left:7px;padding-right:7px}
.ipo-header-tools {display:flex!important;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;position:relative;z-index:85}
.ipo-header-tool{position:relative;flex:none}
.ipo-header-tool > summary {list-style:none;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.ipo-header-tool > summary::-webkit-details-marker {display:none}
.ipo-header-tool > summary::marker {content:""}
.ipo-app .ipo-header-tool-button,
.ipo-default-header .ipo-header-tool-button{
  width:34px!important;height:34px!important;min-width:34px;min-height:34px;
  padding:7px!important;display:flex!important;align-items:center;justify-content:center;
  position:relative;border-radius:12px!important;border:1px solid #e3ebf0!important;
  background:linear-gradient(145deg,#fff,#eef7f5)!important;
  color:#19314e!important;box-shadow:0 4px 12px rgba(17,52,84,.07)!important;
  transition:background-color .22s ease,transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
  box-sizing:border-box!important;
}
.ipo-header-tool-button .ipo-header-tool-icon {display:flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:1;color:inherit}
.ipo-header-tool-button svg {width:20px;height:20px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ipo-header-tool[open] > .ipo-header-tool-button,
.ipo-header-tool-button:hover {transform:translateY(-2px);border-color:#96d9b8!important;background:#e6f8ed!important;color:#008c50!important;box-shadow:0 8px 20px rgba(7,128,75,.16)!important}
.ipo-header-tool-button:focus-visible,.ipo-header-popover a:focus-visible,
.ipo-header-search-fields input:focus-visible,.ipo-header-search-fields button:focus-visible{
  outline:3px solid #07a561!important;outline-offset:3px!important;
}
.ipo-account-status{position:absolute;bottom:3px;right:3px;width:7px;height:7px;border:1px solid white;border-radius:100%;background:#03ad63}
.ipo-header-popover{
  position:absolute;top:calc(100% + 12px);right:0;z-index:120;
  box-sizing:border-box!important;min-width:235px;
  padding:17px!important;border:1px solid #dbeee5;border-radius:17px!important;
  background:rgba(255,255,255,.99)!important;color:#15284a!important;
  box-shadow:0 18px 45px rgba(10,46,73,.19),0 4px 12px rgba(0,87,62,.06)!important;
  text-align:left;line-height:1.45;
  animation:ipxToolAppear .18s ease-out;
}
@keyframes ipxToolAppear{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}
.ipo-header-search-panel{width:350px;max-width:calc(100vw - 28px)}
.ipo-header-account-panel{width:244px;max-width:calc(100vw - 28px)}
.ipo-header-search-panel label{display:block;font-weight:700;font-size:13px;color:#19304e;margin:0 0 10px}
.ipo-header-search-fields{display:flex;gap:8px;align-items:stretch;width:100%}
.ipo-header-search-fields input{
  flex:1;min-width:0;width:100%;height:40px!important;padding:0 11px!important;
  border:1px solid #ccdfe2!important;border-radius:10px!important;background:#f8fbfb!important;
  color:#152b4a!important;font-size:12px!important;font-family:"Lora",Georgia,serif;
}
.ipo-header-search-fields input::placeholder{color:#677d91;opacity:1}
.ipo-header-search-fields button,.ipo-account-primary-link{
  border:0!important;border-radius:10px!important;background:linear-gradient(110deg,#00884f,#04a565)!important;
  color:#fff!important;text-decoration:none!important;font-weight:700!important;
  box-shadow:0 5px 12px rgba(0,119,70,.17)!important;cursor:pointer;
  transition:transform .2s ease,filter .2s ease!important;
}
.ipo-header-search-fields button{height:40px!important;padding:0 15px!important;font-size:12px!important;white-space:nowrap}
.ipo-header-search-fields button:hover,.ipo-account-primary-link:hover{transform:translateY(-2px);filter:brightness(.95)}
.ipo-account-caption{font-size:10px;color:#60778e;font-weight:600;letter-spacing:.15px}
.ipo-account-name{font-size:15px!important;color:#102743!important;font-weight:700!important;line-height:1.3!important;margin:2px 0 13px!important;overflow-wrap:anywhere}
.ipo-account-primary-link{display:flex;align-items:center;justify-content:space-between;padding:10px 13px!important;font-size:12px!important}
.ipo-account-secondary-link{display:block;margin:12px 0 0!important;color:#127548!important;text-decoration:none!important;font-size:11.5px;font-weight:600}
.ipo-account-secondary-link:hover{text-decoration:underline!important}
/* Custom Elementor landing header extends above the hero. */
.ipo-app[data-ipx-section="header"] {overflow:visible!important;position:relative;z-index:90!important}
.ipo-app .ipo-header{overflow:visible!important;z-index:60!important}
.ipo-app .ipo-header-inner{overflow:visible!important}
.ipo-app .ipo-header-actions{overflow:visible!important}
/* Search pages, posts and standard WordPress pages use the same real tools. */
.ipo-default-header{position:relative;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:16px}
.ipo-default-header .ipo-default-brand{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:20px}
.ipo-default-header .ipo-header-tools{gap:10px}
.ipo-standard-content.ipo-search-results{max-width:900px;margin-top:48px}
.ipo-search-eyebrow{display:inline-flex;background:#e4f5ec;color:#128654;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:700}
.ipo-search-results h1{font-size:clamp(26px,3.6vw,38px);line-height:1.15}
.ipo-search-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}
.ipo-search-result{min-width:0;padding:22px;border:1px solid #dcebe7;border-radius:18px;background:#fff;box-shadow:0 9px 25px #173b5c0c;transition:transform .25s ease,box-shadow .25s ease}
.ipo-search-result:hover{transform:translateY(-3px);box-shadow:0 13px 30px #173b5c16}
.ipo-search-result h2{font-size:20px;line-height:1.25;margin:0 0 10px}
.ipo-search-result p{font-size:13px;color:#425874;line-height:1.55}
.ipo-search-result .ipo-search-read-more{font-size:12px;font-weight:700;text-decoration:none}
.ipo-search-empty{max-width:570px}
.ipo-search-empty form{display:flex;gap:8px;flex-wrap:wrap}
.ipo-search-empty input[type="search"]{border:1px solid #b7ced0;border-radius:10px;padding:9px}
.ipo-search-empty input[type="submit"]{border:0;border-radius:10px;background:#069c59;color:white;padding:9px 16px;cursor:pointer}
@media(max-width:1030px){.ipo-app .ipo-nav{padding-left:7px;gap:0}.ipo-app .ipo-nav-link .ipo-button{padding:0 5px}}
@media(min-width:851px) and (max-width:975px){.ipo-app .ipo-header-cta{display:none}}
@media(max-width:850px){.ipo-app .ipo-header-actions{gap:8px}.ipo-app .ipo-nav{z-index:75!important}}
@media(max-width:620px){.ipo-app .ipo-header-actions{gap:6px}.ipo-header-tools{gap:5px}.ipo-header-search-panel{width:min(350px,calc(100vw - 28px))}}
@media(max-width:390px){.ipo-app .ipo-header-tool-button{width:32px!important;height:32px!important;min-width:32px;min-height:32px;padding:6px!important}.ipo-app .ipo-header-actions{gap:4px}}
@media(max-width:500px){.ipo-search-result-list{grid-template-columns:1fr}.ipo-default-header{padding:16px 14px}}
@media(prefers-reduced-motion:reduce){.ipo-header-popover{animation:none!important}.ipo-header-tool-button,.ipo-account-primary-link,.ipo-header-search-fields button{transition:none!important}}
/* Mobile header has a hamburger to the right of both tools. Align search with the viewport, not the magnifier. */
@media(max-width:850px){.ipo-app .ipo-header-search-panel{right:-76px}}
/* Native (non-Elementor) header has no hamburger, align to the account icon. */
.ipo-default-header .ipo-header-search-panel{right:-41px}


/* v3.6.0 header icon refresh */
.ipo-app .ipo-header-actions{gap:10px}
.ipo-header-tools{gap:9px}
.ipo-app .ipo-header-tool-button,
.ipo-default-header .ipo-header-tool-button{
  width:42px!important;height:42px!important;min-width:42px;min-height:42px;padding:0!important;
  border-radius:16px!important;border:1px solid rgba(18,46,86,.08)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0%, rgba(241,247,251,.98) 100%)!important;
  box-shadow:0 12px 24px rgba(15,37,72,.08), inset 0 1px 0 rgba(255,255,255,.7)!important;
  color:#173158!important;
}
.ipo-header-tool-button:before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.7), rgba(255,255,255,0) 45%);
}
.ipo-header-tool-button .ipo-header-tool-icon{width:20px;height:20px}
.ipo-header-tool-button svg{width:22px;height:22px;stroke-width:1.9}
.ipo-header-tool[open] > .ipo-header-tool-button,
.ipo-header-tool-button:hover{
  transform:translateY(-2px) scale(1.03);border-color:rgba(10,154,87,.24)!important;
  background:linear-gradient(180deg,#ffffff 0%, #eaf9f0 100%)!important;color:#0a9a57!important;
  box-shadow:0 18px 30px rgba(15,37,72,.12),0 0 0 6px rgba(10,154,87,.08)!important;
}
.ipo-account-status{bottom:6px;right:6px;width:8px;height:8px;border:2px solid #fff;box-shadow:0 0 0 2px rgba(10,154,87,.08)}
@media(max-width:390px){.ipo-app .ipo-header-tool-button{width:38px!important;height:38px!important;min-width:38px;min-height:38px}.ipo-header-tools{gap:7px}}


/* Source: ipoteco-2026.css (unchanged CSS; original order preserved) */
/* IpoTeco 2026 Design System v3.7.0
 * Presentation layer: no Elementor content migration and no data rewrite.
 * Scoped to IpoTeco elements; improves new and existing pages alike.
 */
:root {
  --ipx26-ink:#102741;
  --ipx26-subtle:#506782;
  --ipx26-green:#009b60;
  --ipx26-deep-green:#007d51;
  --ipx26-mint:#e4f7ef;
  --ipx26-line:rgba(25,75,93,.12);
  --ipx26-ease:cubic-bezier(.2,.72,.22,1);
  --ipx26-shadow:0 12px 34px rgba(19,62,76,.09),0 2px 6px rgba(19,62,76,.035);
  --ipx26-shadow-hover:0 25px 52px rgba(16,65,74,.17),0 6px 16px rgba(16,65,74,.07);
}
.ipo-app {
  --ipo-navy:var(--ipx26-ink);
  --ipo-body:var(--ipx26-subtle);
  color:var(--ipx26-ink);
}
.ipo-app .ipo-eyebrow {
  padding:6px 12px;
  font-size:9.1px;
  font-weight:700;
  letter-spacing:.48px;
  text-transform:uppercase;
  color:#08744d;
  background:rgba(220,244,229,.93);
  border:1px solid rgba(41,162,107,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.ipo-app .ipo-eyebrow .ipo-heading-title {letter-spacing:inherit;}
.ipo-app .ipo-btn .ipo-button {
  border-radius:13px;
  background:linear-gradient(112deg,#008f59 0%,#04b874 55%,#00854f 100%);
  border:1px solid rgba(0,111,67,.1);
  box-shadow:0 9px 23px rgba(0,135,86,.21),inset 0 1px 0 rgba(255,255,255,.3);
  font-weight:700;
  letter-spacing:-.08px;
  position:relative;
  isolation:isolate;
}
.ipo-app .ipo-btn .ipo-button:hover,
.ipo-app .ipo-btn .ipo-button:focus-visible {
  background:linear-gradient(112deg,#007f50,#00a967 62%,#008151);
  box-shadow:0 19px 35px rgba(0,128,81,.28),inset 0 1px 0 rgba(255,255,255,.26)!important;
}
.ipo-app .ipo-btn-outline .ipo-button,
.ipo-app .ipo-hero-secondary .ipo-button {
  background:linear-gradient(155deg,#fff,#f5fbff)!important;
  color:var(--ipx26-ink)!important;
  border:1px solid rgba(30,91,109,.17)!important;
  box-shadow:0 8px 21px rgba(29,64,83,.1),inset 0 1px 0 #fff;
}
.ipo-app .ipo-btn-outline .ipo-button:hover {
  background:linear-gradient(125deg,#f6fffa,#e9f9f1)!important;
  border-color:rgba(0,153,94,.25)!important;
}
.ipo-app .ipo-btn .ipo-button:focus-visible,
.ipo-app .ipo-tab-title:focus-visible,
.ipo-app .ipo-review-arrow:focus-visible,
.ipo-header-tool-button:focus-visible,
.ipo-app .ipo-footer a:focus-visible,
.ipo-app .ipo-nav a:focus-visible,
.ipo-standard-content :is(a,button,input,textarea,select):focus-visible {
  outline:3px solid rgba(0,147,90,.68)!important;
  outline-offset:3px!important;
}

/* Header | frosted, tactile controls, generous nav rhythm */
.ipo-app .ipo-header {
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(244,251,250,.97))!important;
  border-bottom:1px solid rgba(29,82,86,.09);
  box-shadow:0 6px 28px rgba(35,77,84,.065);
}
.ipo-app .ipo-brand-name {letter-spacing:-.7px}
.ipo-app .ipo-nav-link .ipo-button {
  border-radius:11px;
  transition:background-color .24s ease,color .24s ease,transform .24s ease;
}
.ipo-app .ipo-nav-link .ipo-button:hover {
  background:rgba(5,159,101,.08);
  color:#007c50;
  transform:translateY(-1px);
}
.ipo-app .ipo-nav-active .ipo-button {background:rgba(5,159,101,.065)}
.ipo-app .ipo-nav-active .ipo-button::after {bottom:0;left:24%;right:24%;height:2px;border-radius:2px}
.ipo-app .ipo-header-cta .ipo-button {border-radius:12px}
.ipo-app .ipo-header-tool-button,
.ipo-default-header .ipo-header-tool-button {
  border-radius:14px!important;
  background:linear-gradient(155deg,#fff,#f1f8fb)!important;
  border-color:rgba(30,83,112,.14)!important;
  box-shadow:0 9px 18px rgba(26,66,80,.1),inset 0 1px 0 #fff!important;
  color:#17334d!important;
}
.ipo-app .ipo-header-tool-button:hover,
.ipo-default-header .ipo-header-tool-button:hover,
.ipo-header-tool[open]>.ipo-header-tool-button {
  color:#008a5a!important;
  border-color:rgba(4,155,96,.38)!important;
  background:linear-gradient(150deg,#fafffc,#e8f9f2)!important;
}
.ipo-header-popover {
  border-color:rgba(20,126,91,.19)!important;
  border-radius:20px!important;
  box-shadow:0 28px 62px rgba(18,51,64,.2),0 4px 12px rgba(18,51,64,.06)!important;
  backdrop-filter:blur(16px);
}
.ipo-header-search-fields input {border-radius:12px!important;background:#f5faf9!important}
.ipo-header-search-fields button,.ipo-account-primary-link {border-radius:12px!important}

/* Hero | editorial typography, fresh palette and believable depth */
.ipo-app .ipo-hero {
  background:linear-gradient(105deg,#f1fbf8 0%,#f7fcff 46%,#f5fbf9 100%);
  box-shadow:inset 0 -1px 0 rgba(13,127,101,.085);
}
.ipo-app .ipo-hero::after {
  background:linear-gradient(90deg,#f4fcfa 0%,rgba(249,253,255,.98) 32%,rgba(249,253,255,.78) 46%,rgba(248,251,252,0) 64%);
}
.ipo-app .ipo-hero-h1 {
  letter-spacing:-1.7px;
  font-weight:800;
  text-wrap:balance;
}
.ipo-app .ipo-hero-lead {color:#344e67;line-height:1.5}
.ipo-app .ipo-hero-h1 .ipo-heading-title {color:#102943}
.ipo-app .ipo-hero-primary .ipo-button {min-height:41px}
.ipo-app .ipo-hero-card {
  border:2px solid rgba(255,255,255,.98);
  border-radius:21px;
  box-shadow:0 19px 38px rgba(28,64,81,.18),inset 0 1px 0 #fff;
  background:linear-gradient(122deg,rgba(255,255,255,.98),rgba(244,254,250,.97));
  backdrop-filter:blur(10px);
}
.ipo-app .ipo-hero-avatar-count {background:linear-gradient(145deg,#00b873,#008e58)}
.ipo-app .ipo-benefits {gap:12px}
.ipo-app .ipo-benefit {
  padding:5px 7px;
  border-radius:12px;
  background:rgba(255,255,255,.46);
  border:1px solid rgba(255,255,255,.56);
  box-shadow:0 4px 13px rgba(7,112,91,.045);
  transition:background .3s ease,transform .3s ease,box-shadow .3s ease;
}
.ipo-app .ipo-benefit:hover {
  background:#fafffc;
  transform:translateY(-3px);
  box-shadow:0 10px 22px rgba(21,100,87,.1);
}

/* Service trio | layered cards, coloured top edge, tasteful imagery */
.ipo-app .ipo-services {gap:15px;padding-top:16px;padding-bottom:16px}
.ipo-app .ipo-service-card {
  min-height:247px;
  padding:22px 21px 17px;
  border-radius:22px;
  border:1px solid rgba(21,118,87,.14);
  box-shadow:var(--ipx26-shadow);
  background:linear-gradient(140deg,#f3fff8,#eaf9f1 72%,#f9fffc);
}
.ipo-app .ipo-card-referrals {
  background:linear-gradient(145deg,#f4f8ff,#eaf2ff 70%,#f8fbff);
  border-color:rgba(43,98,183,.12);
}
.ipo-app .ipo-card-resources {
  background:linear-gradient(145deg,#fffaf0,#fff1da 72%,#fffcf5);
  border-color:rgba(181,120,27,.15);
}
.ipo-app .ipo-service-card::after {
  content:"";
  position:absolute;
  z-index:4;
  top:0;left:20px;right:20px;height:3px;
  border-radius:0 0 8px 8px;
  background:linear-gradient(90deg,#07b36b,rgba(3,177,105,.15),transparent);
  opacity:.82;
  pointer-events:none;
}
.ipo-app .ipo-card-referrals::after {background:linear-gradient(90deg,#2b66d7,rgba(43,102,215,.15),transparent)}
.ipo-app .ipo-card-resources::after {background:linear-gradient(90deg,#efaa32,rgba(239,170,50,.14),transparent)}
.ipo-app .ipo-service-icon {
  position:absolute!important;
  top:20px;left:20px;
  width:56px;height:56px;
  border-radius:19px;
  background:linear-gradient(155deg,#e4f8eb,#c8f0da);
  box-shadow:0 10px 25px rgba(1,146,92,.12),inset 0 2px 1px rgba(255,255,255,.6);
}
.ipo-app .ipo-card-referrals .ipo-service-icon {background:linear-gradient(155deg,#e9f2ff,#d5e6ff)}
.ipo-app .ipo-card-resources .ipo-service-icon {background:linear-gradient(155deg,#fff4d9,#ffe2a8)}
.ipo-app .ipo-service-icon::after {border-radius:21px}
.ipo-app .ipo-service-title {font-size:15px;letter-spacing:-.4px;color:#132b47}
.ipo-app .ipo-service-desc {color:#425975;line-height:1.45}
.ipo-app .ipo-service-bullets,.ipo-app .ipo-card-resources .ipo-service-bullets {gap:5px;margin-top:13px!important}
.ipo-app .ipo-bullet-label {color:#1c3952}
.ipo-app .ipo-card-button {z-index:4;padding-top:14px}
.ipo-app .ipo-card-button .ipo-button {border-radius:11px;min-height:36px}
.ipo-app .ipo-card-referrals .ipo-card-button .ipo-button {
  background:linear-gradient(108deg,#2656c0,#3876e8);
  box-shadow:0 10px 23px rgba(32,91,193,.2);
}
.ipo-app .ipo-card-resources .ipo-card-button .ipo-button {
  background:linear-gradient(110deg,#ffc75d,#ffdc93);
  box-shadow:0 9px 19px rgba(195,123,23,.15);
}
.ipo-app .ipo-service-card:hover,
.ipo-app .ipo-service-card:focus-within {box-shadow:var(--ipx26-shadow-hover)!important}
.ipo-app .ipo-service-photo {z-index:2}

/* Four step workflow | responsive content-driven cards, not rigid labels */
.ipo-app .ipo-process {
  height:auto!important;
  min-height:0!important;
  margin-top:10px!important;
  padding-top:19px;
  padding-bottom:30px;
  border:1px solid rgba(9,136,95,.12);
  border-radius:28px;
  box-shadow:0 16px 42px rgba(12,89,77,.065),inset 0 1px 0 rgba(255,255,255,.8);
}
.ipo-app .ipo-process-heading {min-height:67px}
.ipo-app .ipo-section-title {color:#112b43;letter-spacing:-.9px}
.ipo-app .ipo-process-subtitle {color:#41607a}
.ipo-app .ipo-process-steps {
  height:auto;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:14px;
  margin-top:15px!important;
}
.ipo-app .ipo-step {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  min-height:151px;
  height:auto!important;
  margin-top:12px!important;
  padding:57px 13px 18px!important;
  border:1px solid rgba(34,122,98,.15);
  border-radius:20px;
  background:linear-gradient(152deg,rgba(255,255,255,.99),rgba(248,255,252,.94));
  box-shadow:0 13px 29px rgba(15,95,71,.085),inset 0 1px 0 #fff;
}
.ipo-app .ipo-step::after {top:8px;right:-15px;color:#049963;font-size:16px}
.ipo-app .ipo-step-title {
  position:relative;
  top:auto!important;left:auto!important;
  width:100%;max-width:100%;
  margin:0!important;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
  font-size:13px;
  font-weight:800;
  line-height:1.27;
}
.ipo-app .ipo-step-desc {
  position:relative;
  top:auto!important;left:auto!important;
  width:100%;max-width:100%;
  margin:7px 0 0!important;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
  font-size:10.4px;
  line-height:1.45;
}
.ipo-app .ipo-step-icon {
  position:absolute!important;
  top:-22px;left:calc(50% - 25px);
  border-radius:17px;
  background:linear-gradient(145deg,#fff,#eef7fa);
  border:1px solid rgba(32,113,111,.12);
  box-shadow:0 10px 24px rgba(15,77,92,.09);
}
.ipo-app .ipo-step-icon::before {border-radius:20px}
.ipo-app .ipo-step-number {
  width:32px;height:32px;
  top:-12px;left:15px;
  background:linear-gradient(145deg,#08b875,#008853);
  box-shadow:0 8px 20px rgba(0,138,88,.22);
}
.ipo-app .ipo-step:hover {box-shadow:0 25px 45px rgba(17,101,77,.2)!important}

/* Referral | modern editorial panel */
.ipo-app .ipo-referral {
  border-radius:27px;
  border:1px solid rgba(179,134,60,.09);
  box-shadow:0 13px 36px rgba(94,70,39,.065);
}
.ipo-app .ipo-referral-title {letter-spacing:-1px}
.ipo-app .ipo-referral-reward {
  background:linear-gradient(145deg,#ffffff,#fff7e9);
  border:1px solid rgba(185,142,70,.12);
  border-radius:19px;
  box-shadow:0 18px 34px rgba(114,88,50,.14);
}
.ipo-app .ipo-referral-actions .ipo-btn .ipo-button {border-radius:12px}
.ipo-app .ipo-text-link .ipo-button {
  color:#3e5874;
  text-decoration:none!important;
  border-bottom:1px solid rgba(38,90,112,.3);
}
.ipo-app .ipo-text-link .ipo-button:hover {color:#078c5e;border-color:#078c5e}

/* Testimonials | visible depth, calibrated type hierarchy */
.ipo-app .ipo-testimonials {
  height:auto!important;
  min-height:176px;
  padding-top:20px;
  padding-bottom:17px;
  gap:13px;
}
.ipo-app .ipo-testimonials-title {color:#122c45}
.ipo-app .ipo-review-list {gap:11px}
.ipo-app .ipo-review-card {
  min-height:151px;
  height:auto;
  border:1px solid rgba(33,95,109,.12);
  border-radius:18px;
  padding:13px 14px 55px;
  background:linear-gradient(155deg,#fff,#fafdff);
  box-shadow:var(--ipx26-shadow);
}
.ipo-app .ipo-review-quote {font-size:10.1px;line-height:1.4;color:#435971}
.ipo-app .ipo-review-person {bottom:13px;left:14px}
.ipo-app .ipo-review-avatar {
  width:35px;height:35px;
  border:2px solid #fff;
  box-shadow:0 5px 10px rgba(24,84,105,.13);
}
.ipo-app .ipo-review-name {color:#172e46}
.ipo-app .ipo-review-arrow {
  background:linear-gradient(150deg,#fff,#f4f9fa);
  border:1px solid rgba(32,86,101,.18);
  box-shadow:0 8px 16px rgba(18,69,88,.09);
}

/* FAQ | spacious accordion, full answer visibility, modern help card */
.ipo-app .ipo-faq {
  height:auto!important;
  min-height:163px;
  align-items:start;
  padding-top:20px;
  padding-bottom:23px;
  gap:17px;
}
.ipo-app .ipo-faq-col {gap:8px}
.ipo-app .ipo-faq-columns {gap:12px}
.ipo-app .ipo-faq-item {
  border-radius:14px;
  border:1px solid rgba(37,93,105,.13);
  background:linear-gradient(155deg,#fff,#fafdff);
  box-shadow:0 6px 18px rgba(24,70,93,.04);
  overflow:hidden;
}
.ipo-app .ipo-faq-item .ipo-tab-title {
  min-height:33px;
  display:flex!important;
  align-items:center;
  padding:10px 31px 10px 13px!important;
  font-size:9.5px;
  font-weight:600;
  line-height:1.4;
  color:#203a54;
}
.ipo-app .ipo-faq-item .ipo-tab-content {
  font-size:10.4px;
  padding:11px 13px 13px!important;
  line-height:1.55;
  color:#4b647b;
  background:linear-gradient(150deg,#fff,#f4fcf8);
}
.ipo-app .ipo-faq-item .ipo-toggle-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  right:7px;
  width:21px;height:21px;
  font-size:16px;
  border-radius:7px;
  color:#008b57;
  background:rgba(0,151,92,.08);
  transition:background .25s ease,color .25s ease;
}
.ipo-app .ipo-faq-item:has(.ipo-tab-title[aria-expanded="true"]) .ipo-toggle-icon {background:#009f61;color:#fff!important}
.ipo-app .ipo-faq-contact {
  border:1px solid rgba(3,154,94,.12);
  border-radius:20px;
  padding:17px 13px;
  min-height:117px;
  box-shadow:0 12px 30px rgba(13,135,88,.1);
}
.ipo-app .ipo-faq-contact-button .ipo-button {
  min-height:31px;
  border-radius:10px;
}

/* Footer | clearer groups, tactile social buttons, clean creator credit */
.ipo-app .ipo-footer {
  height:auto!important;
  min-height:154px;
  background:linear-gradient(135deg,#e9f5f3 0%,#f4fbff 53%,#ebf9f1 100%);
  border-top:1px solid rgba(30,119,94,.12);
  box-shadow:inset 0 10px 29px rgba(31,104,106,.035);
}
.ipo-app .ipo-footer-inner {padding-top:24px;padding-bottom:24px;gap:13px}
.ipo-app .ipo-footer-title {font-size:10px;color:#173a50;letter-spacing:.1px}
.ipo-app .ipo-footer-description {font-size:10.7px;color:#4e6779;line-height:1.5}
.ipo-app .ipo-footer-links {font-size:9.25px;line-height:1.65;color:#496477}
.ipo-app .ipo-footer-links a:hover {color:#008c58}
.ipo-app .ipo-footer-social .ipo-social-row {gap:7px}
.ipo-app .ipo-social-icon {width:31px;height:31px;flex:0 0 31px}
.ipo-app .ipo-social-icon .ipo-icon-wrapper {
  width:31px;height:31px;
  border-radius:10px;
  border:1px solid rgba(34,89,111,.12);
  background:linear-gradient(160deg,#fff,#eef9f6);
  box-shadow:0 9px 17px rgba(29,93,104,.085);
}
.ipo-app .ipo-social-icon .ipo-icon svg {width:16px!important;height:16px!important}
.ipo-app .ipo-copyright {margin-top:10px!important;font-size:8.3px;white-space:normal;color:#607589}
.ipo-app .ipo-made-by {
  margin-top:7px!important;
  padding:7px 10px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(33,109,98,.09);
  box-shadow:0 7px 17px rgba(30,82,104,.065);
}

/* Search, blog, posts and forms in regular WordPress templates */
.ipo-default-header {
  min-height:78px;
  background:linear-gradient(145deg,#fff,#f5fbfa)!important;
  border-bottom:1px solid rgba(32,104,105,.11);
  box-shadow:0 8px 27px rgba(20,73,86,.075);
}
.ipo-default-footer {background:linear-gradient(130deg,#eef8f7,#f5fbff)!important;border-top:1px solid rgba(27,113,100,.11)}
.ipo-standard-content {color:#1b354c}
.ipo-standard-content h1,.ipo-standard-content h2,.ipo-standard-content h3 {letter-spacing:-.03em;color:#142d45}
.ipo-standard-content :is(input:not([type="hidden"]),select,textarea),
.ipo-app :is(input:not([type="hidden"]),select,textarea) {
  border-radius:12px;
  border:1px solid rgba(41,98,107,.23);
  background:#fbfffd;
  color:#1a3a52;
  box-shadow:inset 0 1px 2px rgba(15,61,84,.025);
  transition:border-color .24s ease,box-shadow .24s ease,background-color .24s ease;
}
.ipo-standard-content :is(input:not([type="hidden"]),select,textarea):focus,
.ipo-app :is(input:not([type="hidden"]),select,textarea):focus {
  border-color:#009c61!important;
  box-shadow:0 0 0 4px rgba(0,155,96,.12)!important;
  background:#fff;
  outline:none;
}
.ipo-standard-content :is(button,input[type="submit"],.button),
.ipo-search-results .ipo-search-read-more {
  border-radius:12px;
  transition:transform .25s ease,box-shadow .25s ease;
}
.ipo-standard-content :is(button,input[type="submit"],.button):hover {transform:translateY(-2px)}
.ipo-search-result {
  border-radius:20px;
  background:linear-gradient(155deg,#fff,#f9fefd);
  box-shadow:var(--ipx26-shadow);
  border-color:rgba(22,108,89,.13);
}
.ipo-search-result:hover {box-shadow:var(--ipx26-shadow-hover)}

/* Adapt layout rather than rely on clipped fixed heights at small widths */
@media(max-width:1030px) {
  .ipo-app .ipo-service-card {min-height:247px}
  .ipo-app .ipo-faq {gap:12px}
}
@media(max-width:850px) {
  .ipo-app .ipo-nav {
    background:rgba(255,255,255,.98);
    border:1px solid rgba(30,117,97,.12);
    box-shadow:0 22px 44px rgba(22,76,89,.17);
    backdrop-filter:blur(18px);
    border-radius:18px;
  }
  .ipo-app .ipo-nav-link .ipo-button {border-radius:10px}
  .ipo-app .ipo-process-steps {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 13px}
  .ipo-app .ipo-step {min-height:146px}
  .ipo-app .ipo-faq {padding-top:19px;padding-bottom:22px}
  .ipo-app .ipo-faq-item .ipo-tab-title {font-size:11.4px;min-height:41px}
  .ipo-app .ipo-social-icon {width:42px;height:42px;flex:0 0 42px}
  .ipo-app .ipo-social-icon .ipo-icon-wrapper {width:42px;height:42px;border-radius:13px}
  .ipo-app .ipo-social-icon .ipo-icon svg {width:20px!important;height:20px!important}
}
@media(max-width:620px) {
  .ipo-app .ipo-hero {height:765px;min-height:765px}
  .ipo-app .ipo-hero-card {border-radius:20px}
  .ipo-app .ipo-benefits {gap:9px 6px;bottom:15px}
  .ipo-app .ipo-benefit {padding:5px 3px;gap:5px;background:rgba(255,255,255,.67)}
  .ipo-app .ipo-services {gap:14px;padding-top:15px;padding-bottom:15px}
  .ipo-app .ipo-service-card {min-height:249px;padding:21px 17px 17px}
  .ipo-app .ipo-service-title,.ipo-app .ipo-service-desc {margin-left:65px!important;width:calc(100% - 65px);max-width:calc(100% - 65px)}
  .ipo-app .ipo-service-icon {left:15px;top:17px}
  .ipo-app .ipo-process {margin:10px 12px 0!important;padding-top:18px;padding-bottom:25px}
  .ipo-app .ipo-process-steps {grid-template-columns:1fr;gap:22px}
  .ipo-app .ipo-step {min-height:144px}
  .ipo-app .ipo-step-title {font-size:14px}
  .ipo-app .ipo-step-desc {font-size:11px}
  .ipo-app .ipo-referral {border-radius:23px}
  .ipo-app .ipo-testimonials {min-height:0;gap:15px}
  .ipo-app .ipo-review-card {min-height:146px}
  .ipo-app .ipo-review-quote {font-size:11.5px}
  .ipo-app .ipo-faq {gap:18px;padding-top:22px;padding-bottom:25px}
  .ipo-app .ipo-faq-item .ipo-tab-title {font-size:11.5px}
  .ipo-app .ipo-faq-item .ipo-tab-content {font-size:11.5px}
  .ipo-app .ipo-footer-inner {gap:20px;padding-top:26px;padding-bottom:26px}
  .ipo-app .ipo-footer-title {font-size:12px}
  .ipo-app .ipo-footer-links {font-size:11px}
  .ipo-app .ipo-copyright {font-size:10px}
}
@media(max-width:370px) {
  .ipo-app .ipo-benefit {padding:3px 1px}
  .ipo-app .ipo-service-card {min-height:259px}
  .ipo-app .ipo-header-actions {gap:4px}
  .ipo-app .ipo-faq-item .ipo-tab-title {font-size:11px}
}
@media (prefers-reduced-motion:reduce) {
  .ipo-app *, .ipo-app *::before,.ipo-app *::after,
  .ipo-default-header,.ipo-default-footer,.ipo-standard-content * {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  .ipo-app .ipo-step:hover,.ipo-app .ipo-service-card:hover,.ipo-app .ipo-review-card:hover,
  .ipo-app .ipo-btn .ipo-button:hover,.ipo-app .ipo-hero-card:hover {
    transform:none!important;translate:none!important;scale:none!important;
  }
}
.elementor-editor-active .ipo-app .ipo-service-card:hover,
.elementor-editor-active .ipo-app .ipo-step:hover,
.elementor-editor-active .ipo-app .ipo-btn .ipo-button:hover {
  transform:none!important;translate:none!important;
}


/* Source: ipoteco-icons-v371.css (unchanged CSS; original order preserved) */
/* IpoTeco iconography 3.7.1 | true filled duotone SVG, no external fonts. */
.ipo-app .ipo-icon svg.ipx-icon-v371,
.ipo-app .ipo-button-icon svg.ipx-icon-v371,
.ipo-default-header svg.ipx-icon-v371,
.ipo-header-tools svg.ipx-icon-v371 {
  display:block!important;width:100%;height:100%;
  fill:none!important;stroke:none!important;
  shape-rendering:geometricPrecision;
  filter:drop-shadow(0 1px 1px rgba(16,56,91,.05));
  transition:filter .28s ease, transform .28s ease;
}
/* Child fill/stroke attributes are intentionally preserved to render the
   new duotone artwork; root CSS does not flatten them into outline icons. */
.ipo-app .ipo-icon svg.ipx-icon-v371:hover,
.ipo-header-tool-button:hover svg.ipx-icon-v371 {filter:drop-shadow(0 4px 5px rgba(3,145,94,.18));transform:scale(1.045);}
/* More spacious icon tiles without changing their dimensions or the responsive grids. */
.ipo-app .ipo-service-icon,
.ipo-app .ipo-step-icon,
.ipo-app .ipo-social-icon .ipo-icon-wrapper {
  border-radius:18px;
  box-shadow:0 12px 28px rgba(13,60,81,.09),inset 0 1px 0 rgba(255,255,255,.84);
}
.ipo-app .ipo-card-referrals .ipo-service-icon {background:linear-gradient(140deg,#eaf0ff,#d6e5ff)!important}
.ipo-app .ipo-card-resources .ipo-service-icon {background:linear-gradient(140deg,#fff7e8,#ffe9b9)!important}
.ipo-app .ipo-benefit-icon svg.ipx-icon-v371 {filter:drop-shadow(0 2px 3px rgba(0,124,82,.13));}
.ipo-app .ipo-check svg.ipx-icon-v371 {filter:drop-shadow(0 1px 2px rgba(0,124,82,.15));}
.ipo-app .ipo-service-icon:hover svg.ipx-icon-v371,
.ipo-app .ipo-step:hover .ipo-step-icon svg.ipx-icon-v371 {transform:scale(1.09) rotate(-3deg)}
.ipo-app .ipo-social-icon svg.ipx-icon-v371{filter:none}
.ipo-app .ipo-button-icon svg.ipx-icon-v371 {width:17px!important;height:17px!important;filter:none;}
.ipo-app .ipo-hero-secondary .ipo-button-icon svg.ipx-icon-v371 {width:19px!important;height:19px!important;}
.ipo-app .ipo-social-icon .ipo-icon svg.ipx-icon-v371{width:22px!important;height:22px!important;}
.ipo-header-tools .ipo-header-tool-icon svg.ipx-icon-v371 {width:23px!important;height:23px!important;}
.ipo-app .ipo-header-tool-button,
.ipo-default-header .ipo-header-tool-button {border-radius:14px!important;}
/* Native WP brand uses the unchanged IpoTeco house from Elementor header. */
.ipo-default-logo-mark{display:inline-flex;width:26px;height:26px;color:#008f59;vertical-align:middle;align-items:center;justify-content:center}
.ipo-default-logo-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
/* CSS-drawn modern +/- replaces typography glyph on every FAQ accordion. */
.ipo-app .ipo-toggle-icon{position:relative;display:inline-flex!important;flex:0 0 24px!important;width:24px!important;height:24px!important;align-items:center;justify-content:center;border-radius:9px;background:#e6f6ee!important;color:transparent!important;font-size:0!important;transform:none!important;transition:background .25s ease, box-shadow .25s ease!important;}
.ipo-app .ipo-toggle-icon::before,.ipo-app .ipo-toggle-icon::after{content:"";position:absolute;left:7px;right:7px;top:11px;height:2px;background:#009763;border-radius:4px;transition:transform .24s ease!important;}
.ipo-app .ipo-toggle-icon::after{transform:rotate(90deg);}
.ipo-app .ipo-tab-title[aria-expanded="true"] .ipo-toggle-icon{transform:none!important;background:#d3f5e2!important;box-shadow:0 0 0 3px rgba(0,151,99,.08)}
.ipo-app .ipo-tab-title[aria-expanded="true"] .ipo-toggle-icon::after{transform:rotate(0deg)}
/* Real SVG-like chevron replaces old text-arrow between the four steps. */
.ipo-app .ipo-step:not(:last-child)::after{content:""!important;width:9px;height:9px;border:solid #009f68;border-width:2.5px 2.5px 0 0;border-radius:1px;transform:rotate(45deg);top:12px;right:-12px;}
@media(max-width:850px){.ipo-app .ipo-step:not(:last-child)::after{display:none!important}}
@media(prefers-reduced-motion:reduce){.ipo-app svg.ipx-icon-v371,.ipo-header-tools svg.ipx-icon-v371,.ipo-app .ipo-toggle-icon{transition:none!important}}

/* Fully readable, larger glyphs inside the established 2026 tiles. */
.ipo-app .ipo-service-icon{padding:9px!important}
.ipo-app .ipo-step-icon{padding:8px!important}
.ipo-app .ipo-social-icon .ipo-icon-wrapper{background:linear-gradient(145deg,#fff,#f5fafc)}
/* Rating symbols use real local SVG stars; not font-glyph stars from older themes. */
.ipo-app .ipo-stars .ipo-heading-title:has(.ipo-stars-v371){display:inline-flex;align-items:center;line-height:1}
.ipo-app .ipo-stars-v371{display:inline-flex;align-items:center;gap:3px;color:#E8A22D}
.ipo-app .ipo-stars-v371 svg{display:block;width:13px;height:13px;filter:drop-shadow(0 1px 1px rgba(164,94,0,.14))}


/* Source: ipoteco-performance-v372.css (unchanged CSS; original order preserved) */
/* IpoTeco 3.7.2 - scroll performance + FAQ controls
 * Keep static premium gradients and interaction effects, but avoid permanent
 * painting of full-width backgrounds, animated shadows, and large photos.
 * No content, data, or Elementor widget migration is required.
 */

/* Background-position animations and box-shadow pulses repaint repeatedly on
 * many elements at once. A static finish + hover response is less costly. */
.ipo-app .ipo-hero,
.ipo-app .ipo-hero-photo img,
.ipo-app .ipo-hero-card,
.ipo-app .ipo-hero-handnote,
.ipo-app .ipo-header,
.ipo-app .ipo-process,
.ipo-app .ipo-process-handnote,
.ipo-app .ipo-step-number,
.ipo-app .ipo-referral,
.ipo-app .ipo-referral-photo img,
.ipo-app .ipo-referral-handnote,
.ipo-app .ipo-referral-reward,
.ipo-app .ipo-reward-icon,
.ipo-app .ipo-stars,
.ipo-app .ipo-testimonials,
.ipo-app .ipo-faq,
.ipo-app .ipo-faq-contact,
.ipo-app .ipo-faq-contact-icon,
.ipo-app .ipo-footer,
.ipo-app .ipo-btn-primary .ipo-button,
.ipo-default-header,
.ipo-default-footer,
.ipo-app .ipo-services::before,
.ipo-app .ipo-service-icon::after,
.ipo-app .ipo-process::before,
.ipo-app .ipo-referral::before,
.ipo-app .ipo-testimonials::before,
.ipo-app .ipo-faq::before,
.ipo-app .ipo-step-icon::before,
.ipo-app .ipo-step::after {
  animation:none!important;
}

/* Avoid full-card backdrop blur on moving surfaces. Retain the original
 * gradient overlays and border treatments for the same overall look. */
.ipo-app .ipo-service-card::before,
.ipo-app .ipo-made-by {backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.ipo-app .ipo-process::before {filter:none!important;}

/* One-time, short, composited entrance. No permanent looping animation. */
@keyframes ipxPerfReveal {
  from {opacity:0;translate:0 9px;}
  to {opacity:1;translate:0 0;}
}
.ipo-app .ipx-in-view {
  animation:ipxPerfReveal .34s cubic-bezier(.2,.7,.28,1) both!important;
  animation-delay:var(--ipx-reveal-delay,0ms)!important;
}
.ipo-app .ipo-faq-item .ipo-tab-title[aria-expanded="true"] + .ipo-tab-content {
  animation:none!important;
}

/* FAQ: same position whether the question fits on one or multiple lines.
 * Explicitly override the old icons-v371 transform:none which placed badges
 * too low, starting at 50% instead of centring around 50%. */
.ipo-app .ipo-faq-item .ipo-tab-title {
  position:relative;
  padding-right:44px!important;
}
.ipo-app .ipo-faq-item .ipo-tab-title > .ipo-toggle-icon {
  position:absolute!important;
  inset:auto 11px auto auto!important;
  top:50%!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  flex:0 0 20px!important;
  border-radius:7px!important;
  transform:translateY(-50%)!important;
  translate:none!important;
  scale:1!important;
  line-height:0!important;
  font-size:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#e7f5ed!important;
}
.ipo-app .ipo-faq-item .ipo-tab-title > .ipo-toggle-icon::before,
.ipo-app .ipo-faq-item .ipo-tab-title > .ipo-toggle-icon::after {
  content:"";
  position:absolute;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:9px!important;
  height:1.75px!important;
  background:#008f58!important;
  border-radius:3px!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center!important;
}
.ipo-app .ipo-faq-item .ipo-tab-title > .ipo-toggle-icon::after {
  transform:translate(-50%,-50%) rotate(90deg)!important;
}
.ipo-app .ipo-faq-item .ipo-tab-title[aria-expanded="true"] > .ipo-toggle-icon {
  background:#d6f3e2!important;
  transform:translateY(-50%)!important;
}
.ipo-app .ipo-faq-item .ipo-tab-title[aria-expanded="true"] > .ipo-toggle-icon::after {
  transform:translate(-50%,-50%) rotate(0deg)!important;
}

@media (max-width:620px) {
  .ipo-app .ipx-in-view {animation-duration:.22s!important;}
  .ipo-app .ipo-faq-item .ipo-tab-title > .ipo-toggle-icon {
    right:9px!important;
    width:19px!important;height:19px!important;min-width:19px!important;flex-basis:19px!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .ipo-app .ipx-in-view {animation:none!important;}
  .ipo-app .ipo-faq-item .ipo-toggle-icon,
  .ipo-app .ipo-faq-item .ipo-toggle-icon::before,
  .ipo-app .ipo-faq-item .ipo-toggle-icon::after {transition:none!important;}
}
.elementor-editor-active .ipo-app .ipx-in-view {animation:none!important;}


/* Source: ipoteco-mortgage-v376.css (unchanged CSS; original order preserved) */
/* Ipoteco 3.7.6 — Credit Ipotecar. Scoped exclusively to the new Elementor page.
   Artboard 1122 px (reference screenshot). The homepage styles are unchanged. */
body .elementor .ipx-mortgage-page.e-con,
body .elementor .ipx-mortgage-page.e-con>.e-con-inner{
  --display:flex!important;--flex-direction:column!important;--gap:0!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:0!important;width:100%!important;max-width:none!important;min-width:0!important;
  padding:0!important;margin:0!important;overflow:visible!important;
}
body .elementor .ipx-mortgage-page>[class*="elementor-widget-ipx_"],
body .elementor .ipx-mortgage-page>.e-con-inner>[class*="elementor-widget-ipx_"]{
  --container-widget-width:100%!important;--container-widget-flex-grow:0!important;
  align-self:stretch!important;flex:0 0 auto!important;display:block;
  width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;
}
body .elementor .ipx-mortgage-page [class*="elementor-widget-ipx_mortgage"]>.elementor-widget-container{
  width:100%!important;margin:0!important;padding:0!important;
}
/* The previous theme's persistent global Lora rule remains intact everywhere else.
   An ID scoped override permits the reference's modern sans-serif typography here. */
html body :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm,
html body :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm *:not(svg):not(svg *),
html body :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm input::placeholder{
  font-family:"Lora",Georgia,serif!important;
}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm,
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm *{box-sizing:border-box}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm{position:relative;width:100%;max-width:none;min-width:0;overflow:hidden;color:#0b1c39;background:white;line-height:1.32;text-align:left}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm :is(h1,h2,h3,p){padding:0;margin:0;color:inherit;line-height:inherit}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm a{text-decoration:none!important;color:inherit}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm a:focus-visible,:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm button:focus-visible,:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm input:focus-visible,:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm select:focus-visible,:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm summary:focus-visible{outline:2px solid #078e51;outline-offset:2px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm :is(img,svg){display:block}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm svg{flex:none;width:100%;height:100%;max-height:100%}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-badge{display:inline-flex;align-items:center;gap:9px;min-height:19px;padding:4px 13px 4px 10px;border-radius:30px;background:#eaf8f1;color:#087e4a;font-size:8.1px;font-weight:750;letter-spacing:.48px;white-space:nowrap;line-height:1}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-badge b{width:5px;height:5px;border-radius:50%;background:#0d9e62;flex:none}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-button{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:0 22px;border-radius:7px;font-size:10.3px;font-weight:700;white-space:nowrap;box-shadow:0 3px 8px #073c4c12;transition:background .2s ease,transform .2s ease}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-button:hover{transform:translateY(-1px)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-button-primary{background:linear-gradient(105deg,#008b55,#007f4f 65%,#00875a);color:#fff!important;border:1px solid #087b50}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-button-primary:hover{background:#08784d}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-button-white{background:#ffffffea;border:1px solid #dfe6ec;color:#132f54;box-shadow:0 4px 12px #1e40541c}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-arrow{font-size:19px;font-weight:400;line-height:0}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-headset{width:22px;height:21px;color:#0d8c61}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-headset svg{width:100%;height:100%;}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-small-info{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:16px;height:16px;color:#667fa2}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-small-info svg{stroke:#6880a4}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-circle-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:46px;height:46px;border-radius:18px;border:1px solid #e9eff0;background:linear-gradient(145deg,#f6fffb,#fff);box-shadow:0 6px 17px #07372f08;padding:11px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-circle-icon svg{width:100%;height:100%}

/* 01. Full-width hero with independently editable building photograph and calculator. */
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero{height:352px;min-height:352px;background:linear-gradient(90deg,#f5faf9 0%,#fff 37%,#f6fbfa 80%,#eaf5f5 100%)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-photo{position:absolute;right:0;top:0;width:825px;height:352px;object-fit:cover;object-position:right center;filter:saturate(.99)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,#f9fcfc 0%,#fffffff5 25%,#ffffffc7 38%,#ffffff12 51%,transparent 74%),linear-gradient(0deg,#ffffff10 0%,transparent 33%)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-leaves{position:absolute;left:0;bottom:-4px;height:265px;width:90px;object-fit:cover;z-index:2;opacity:.85;pointer-events:none}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-copy{position:absolute;z-index:3;left:92px;top:27px;width:392px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero h1{font-size:45px;font-weight:830;letter-spacing:-2.35px;line-height:1.01;color:#0a1d3d;margin:11px 0 10px;white-space:nowrap}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-head-regular{font-weight:440;letter-spacing:-2.55px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero h1 em{font-style:normal;color:#008654;font-weight:800}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-lead{width:363px;max-width:100%;font-size:14px;line-height:1.34;color:#506389;font-weight:430;letter-spacing:-.15px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-actions{display:flex;align-items:center;gap:10px;margin-top:19px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-actions .ipm-button-primary{min-width:188px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-actions .ipm-button-white{min-width:178px;padding:0 17px;font-size:10px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-micro-benefits{display:flex;gap:17px;align-items:center;margin-top:14px;white-space:nowrap;color:#56678b}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-micro-benefits>span{display:flex;align-items:center;gap:6px;font-size:9.5px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-micro-benefits i{width:16px;height:16px;display:inline-flex;align-items:center;color:#00945d}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-micro-benefits i svg{stroke:#008f53;stroke-width:1.9}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calculator{position:absolute;z-index:5;top:14px;right:168px;width:270px;height:319px;background:#fffffffa;border:1px solid #ecf1f2;border-radius:13px;padding:15px 16px 12px;box-shadow:0 16px 32px #153d4026;}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-head h2{font-size:17px;font-weight:820;line-height:1.12;letter-spacing:-.55px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-head p{color:#7e8caa;font-size:10px;margin-top:5px;white-space:nowrap}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-fields{display:grid;grid-template-columns:1.12fr .88fr;gap:9px 12px;margin-top:12px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-fields label{display:flex;flex-direction:column;gap:4px;font-weight:650;font-size:9px;color:#596a90;min-width:0}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-input{width:100%;display:flex;align-items:center;height:27px;min-width:0;background:#fff;border:1px solid #e1e9ee;border-radius:5px;box-shadow:0 2px 5px #35516809;overflow:hidden}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-input input{width:100%;min-width:0;flex:1;border:0!important;outline:0;padding:0 7px;font-size:11.5px!important;font-weight:600;color:#17365a;background:transparent;height:100%;box-shadow:none!important;line-height:1}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-input i{font-size:9px;color:#7182a6;font-weight:450;font-style:normal;margin-right:8px;flex:none}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-fields label small{min-height:9px;font-size:8px;line-height:1.1;color:#8795af;font-weight:450;margin-top:0}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-term select{appearance:auto;width:100%;border:0;background:#fff;color:#183459;height:100%;font-size:11.3px;padding:0 6px;cursor:pointer;box-shadow:none}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-results{display:flex;justify-content:space-between;gap:7px;align-items:center;background:#f4faf8;border-radius:6px;min-height:61px;margin-top:9px;padding:9px 8px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-results>div:first-child{min-width:130px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-results strong{display:block;font-size:10px;font-weight:750;letter-spacing:-.2px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-big-rate{margin-top:4px;white-space:nowrap;font-size:23.8px;line-height:1;color:#008d59;font-weight:820;letter-spacing:-.75px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-big-rate small{font-size:17px;letter-spacing:-.65px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-result-meta{flex:1;min-width:0}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-green-pill{display:block;width:max-content;white-space:nowrap;border-radius:14px;background:#e0f8e9;padding:4px 7px;color:#0b9363;font-size:7px;line-height:1;font-weight:550}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-result-meta p{color:#7282a2;font-size:7.5px;line-height:1.22;margin-top:6px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-submit{display:flex!important;margin-top:8px;width:100%;height:33px;min-height:33px;border-radius:6px;font-size:9.8px;padding:0 12px;gap:8px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-submit span{font-size:17px;font-weight:400}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-disclaimer{display:flex;gap:7px;align-items:flex-start;padding-top:8px;color:#7b8eac;font-size:7.3px;line-height:1.3}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-disclaimer .ipm-small-info{width:15px;height:15px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-handwritten{position:absolute;z-index:4;right:32px;bottom:21px;transform:rotate(-7deg);color:#fff;font:italic 14px/1.06 cursive;text-align:center;text-shadow:0 1px 5px #1e352f;font-weight:500}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-handwritten .ipm-swish{position:absolute;left:-24px;top:15px;font-size:40px;color:#fff;transform:rotate(-25deg);font-weight:400}

/* 02. Four horizontally divided trust markers */
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefits{min-height:74px;height:74px;background:#fff;border-bottom:1px solid #eff2f5}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefits-inner{height:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:1010px;margin:auto;align-items:center}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefit-item{display:flex;align-items:center;gap:10px;min-width:0;padding:0 15px 0 12px;height:45px;border-right:1px solid #edf1f3}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefit-item:last-child{border-right:0}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefit-item .ipm-circle-icon{width:46px;height:46px;border-radius:50%;padding:11px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefit-item h3{font-size:9.4px;line-height:1.25;font-weight:780;letter-spacing:-.3px;color:#172a4b}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefit-item p{color:#8390a9;font-size:9.5px;line-height:1.31;margin-top:4px;font-weight:430}

/* 03. Four numbered steps */
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process{height:197px;padding:14px 43px 0;background:linear-gradient(180deg,#f8fbfc,#fff 83%)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process h2{font-size:24px;line-height:1.1;font-weight:830;letter-spacing:-1.0px;margin:7px 0 3px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-section-subtitle{font-size:12.3px;color:#62718f;line-height:1.3}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process-handwritten{position:absolute;top:36px;right:44px;color:#078e57;font:italic 15px/1.05 cursive;transform:rotate(-8deg)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process-handwritten:before{content:"⤴";position:absolute;left:-36px;top:13px;font-size:34px;transform:rotate(22deg)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:7px 0 0 23px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process-steps:before{content:"";position:absolute;top:25px;left:90px;right:185px;height:1px;background:repeating-linear-gradient(90deg,#d7e4ec 0px,#d7e4ec 4px,transparent 4px,transparent 8px)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step{position:relative;z-index:1;min-width:0}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step-icons{display:flex;align-items:center;gap:15px;height:44px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step-num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#dff6e9;color:#005f38;font-weight:750;font-size:15px;flex:none}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step .ipm-circle-icon{width:45px;height:45px;border-radius:50%;padding:11px;background:#fff}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step-details{padding-left:47px;margin-top:5px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step h3{font-size:11.2px;font-weight:770;line-height:1.2;letter-spacing:-.24px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step p{font-size:10.5px;color:#7d8ba7;line-height:1.28;max-width:168px;margin-top:4px}

/* 04. Transparency photo + three cards */
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency{height:164px;background:linear-gradient(100deg,#f6faf9 14%,#fff 48%,#f8fbfc 100%)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-photo{position:absolute;top:0;left:0;width:232px;height:164px;object-fit:cover;object-position:10% center;mask-image:linear-gradient(90deg,#000 0%,#000 78%,transparent 100%)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-intro{position:absolute;top:16px;left:235px;width:278px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-intro h2{margin:8px 0 5px;font-size:22px;line-height:1.02;letter-spacing:-.9px;font-weight:840}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-intro p{color:#8591a9;font-size:10.8px;line-height:1.33}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-cards{position:absolute;top:16px;left:531px;right:27px;bottom:9px;display:grid;grid-template-columns:1fr 1.1fr 1.25fr;gap:11px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparent-card{min-width:0;min-height:0;background:#ffffffea;border:1px solid #edf0f3;border-radius:9px;padding:11px 15px 8px;box-shadow:0 11px 20px #234b3b07}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparent-card .ipm-circle-icon{width:43px;height:43px;border-radius:18px;padding:10px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparent-card h3{font-size:11px;line-height:1.2;margin-top:9px;font-weight:790;letter-spacing:-.25px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparent-card p{color:#7d8ca8;font-size:10.1px;line-height:1.27;margin-top:5px}

/* 05. Banks + disclaimers */
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers{height:188px;background:linear-gradient(105deg,#fff,#fbfdfd 66%,#f8fbfd);border-bottom:1px solid #f0f3f4}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-intro{position:absolute;left:43px;top:9px;width:284px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-intro h2{margin:8px 0 5px;font-size:20.8px;line-height:1.1;white-space:nowrap;letter-spacing:-.85px;font-weight:830}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-intro>p{color:#8190aa;font-size:10.7px;line-height:1.38}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-right{position:absolute;left:342px;right:39px;top:15px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-all{position:absolute;right:0;top:-10px;color:#008650!important;font-size:8.5px;font-weight:800}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-all span{margin-left:5px;font-size:15px;font-weight:400;vertical-align:-1px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-card{position:relative;height:141px;padding:10px 11px 10px 15px;border:1px solid #e8eef2;border-radius:9px;box-shadow:0 8px 17px #15294608;background:#fff;min-width:0}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-card-head{display:flex;align-items:flex-start;justify-content:space-between;height:28px;gap:2px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-logo{width:79px;max-width:65%;height:23px;object-fit:contain;object-position:left top}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-visual{font-size:6.8px;line-height:1.2;color:#8da1b4;background:#f1f6f9;padding:4px 5px;border-radius:9px;white-space:nowrap}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-numbers{display:grid;grid-template-columns:1fr 1fr;gap:4px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-numbers>span{min-width:0;color:#7c8ca8;white-space:nowrap;font-size:7.1px;line-height:1.15}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-numbers>span strong{display:block;margin-top:4px;color:#132a4a;font-size:11.4px;font-weight:850;white-space:nowrap;letter-spacing:-.3px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-numbers>span strong small{font-size:7.2px;font-weight:650}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-numbers>span strong.ipm-bank-month{color:#008954;font-size:11.5px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-points{display:flex;flex-direction:column;gap:2px;margin-top:7px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-points>div{display:flex;align-items:center;gap:4px;color:#8a98b0;white-space:nowrap;font-size:8.1px;line-height:1.1}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-points svg{width:13px;height:13px;stroke:#0e955d;background:#edf8f3;border-radius:50%;padding:1.5px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-more{position:absolute;left:11px;right:11px;bottom:8px;z-index:2}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-more summary{display:flex;justify-content:center;align-items:center;gap:7px;list-style:none;border:1px solid #e6eaee;border-radius:5px;min-height:23px;font-size:8.2px;font-weight:750;color:#203957;cursor:pointer;background:#fff}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-more summary::-webkit-details-marker{display:none}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-more summary span{font-size:13px;font-weight:400}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-more[open]{bottom:8px;background:#fff;border:1px solid #dde9e3;border-radius:7px;box-shadow:0 14px 24px #05294321;padding:6px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-more>p{padding:8px 4px 3px;font-size:8.1px;line-height:1.4;color:#5b6b80}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-note{position:absolute;left:67px;right:44px;bottom:8px;display:flex;align-items:flex-start;gap:7px;color:#95a1b9;font-size:8.2px;line-height:1.2}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-note .ipm-small-info{width:15px;height:15px;margin-top:-2px}

/* 06. Documents */
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents{height:97px;background:#fff}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents-intro{position:absolute;top:1px;left:43px;width:352px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents-intro h2{font-size:18.8px;font-weight:825;letter-spacing:-.78px;line-height:1.1;margin:6px 0 5px;white-space:nowrap}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents-intro p{font-size:10.4px;line-height:1.34;color:#8190aa}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-document-grid{position:absolute;top:0;right:40px;left:407px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;height:86px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-document-card{min-width:0;padding:10px 11px 8px;border:1px solid #edf1f3;border-radius:8px;box-shadow:0 5px 14px #14354b09;background:#fff}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-document-card .ipm-circle-icon{width:32px;height:32px;border-radius:13px;padding:7px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-document-card p{font-size:9px;line-height:1.2;color:#63738f;margin-top:10px}

/* 07. Accordion/FAQ */
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq{height:113px;background:#fff}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-intro{position:absolute;left:43px;top:1px;width:344px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-intro h2{font-size:18.8px;letter-spacing:-.75px;line-height:1.14;margin:6px 0 5px;font-weight:850;white-space:nowrap}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-intro p{font-size:10.7px;color:#8794ad;line-height:1.29;max-width:330px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-intro>a{display:inline-flex;align-items:center;gap:8px;margin-top:7px;font-size:9.2px;font-weight:800;color:#008955!important}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-intro>a span{font-size:15px;font-weight:450}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-list{position:absolute;top:0;left:412px;right:40px;display:flex;flex-direction:column}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-item{margin:0;min-height:21px;border:1px solid #e8edf1;box-shadow:0 1px 4px #041f3906;border-radius:5px;background:#fff;position:relative;z-index:1}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-item+ .ipm-faq-item{margin-top:-1px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-item summary{padding:4px 13px 4px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:8.8px;line-height:1.25;color:#2b405f;font-weight:530;min-height:21px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-item summary::-webkit-details-marker{display:none}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-item summary span{font-size:14px;line-height:1;color:#446188}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-item[open]{z-index:3;box-shadow:0 12px 24px #0b354d1c}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-item[open] summary span{transform:rotate(45deg)}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-answer{font-size:9px;line-height:1.45;color:#6c7e99;padding:0 16px 10px}

/* 08. Bottom green CTA */
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta{height:63px;background:linear-gradient(115deg,#e7f7ef,#f7fcfa 55%,#eaf8f1);border-radius:0 0 0 0}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-leaves{position:absolute;left:0;top:-91px;width:85px;height:153px;object-fit:cover;opacity:.82}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-copy{position:absolute;left:100px;top:15px;width:417px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-copy h2{font-size:13.6px;font-weight:810;letter-spacing:-.37px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-copy p{font-size:9.4px;color:#8190aa;margin-top:4px;white-space:nowrap}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-actions{position:absolute;z-index:2;left:536px;top:15px;display:flex;gap:9px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-actions .ipm-button{height:34px;min-height:34px;padding:0 16px;font-size:9.1px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-actions .ipm-button-primary{min-width:145px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-actions .ipm-button-white{min-width:146px;padding:0 12px}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-house{position:absolute;right:0;top:0;width:276px;height:63px;object-fit:cover;object-position:center;border-radius:35px 0 0 0;opacity:.93;mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000)}

/* Elementor editing: dynamic text can grow without blocking content controls. */
.elementor-editor-active :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-card:hover{box-shadow:0 8px 17px #15294608}
@media(min-width:1122px){
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm{width:1122px;max-width:1122px;margin:0 auto;}
}
@media(min-width:851px) and (max-width:1121px){
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-photo{width:61%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-copy{left:7.8%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calculator{right:12%;}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-handwritten{display:none}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefits-inner{max-width:98%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-intro{left:21%;width:27%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-cards{left:47%;right:1%;gap:6px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-intro{left:3%;width:26%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-right{left:29.5%;right:1%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-note{left:4%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents-intro,:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-intro{left:3%;width:33%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-document-grid,:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-list{left:37%;right:2%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-copy{left:7%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-actions{left:48%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-house{opacity:.45}
}
@media(min-width:621px) and (max-width:850px){
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero{height:405px;min-height:405px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-photo{height:405px;width:65%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-copy{left:26px;top:27px;width:360px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero h1{font-size:38px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-lead{font-size:12px;max-width:310px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-actions{flex-wrap:wrap;max-width:300px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-micro-benefits{gap:8px;flex-wrap:wrap;max-width:340px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calculator{right:16px;top:33px;transform:scale(.88);transform-origin:right top}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-handwritten{display:none}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefits{height:auto;min-height:135px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefits-inner{grid-template-columns:repeat(2,1fr);gap:12px;padding:10px 25px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process{height:auto;min-height:300px;padding:22px 24px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process-handwritten{display:none}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process-steps{grid-template-columns:repeat(2,1fr);row-gap:22px;margin:23px 0 0}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process-steps:before{display:none}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency{height:auto;min-height:350px;padding:22px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-photo{width:29%;height:160px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-intro{position:relative;left:30%;width:67%;top:auto;min-height:160px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-cards{position:relative;left:auto;right:auto;top:auto;bottom:auto;display:grid;grid-template-columns:repeat(3,1fr);margin-top:15px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparent-card{min-height:142px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers{height:auto;padding:22px 24px 34px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-intro{position:relative;left:auto;top:auto;width:100%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-right{position:relative;left:auto;right:auto;top:auto;margin-top:26px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-all{top:-20px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-note{position:relative;left:auto;right:auto;bottom:auto;margin-top:20px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents,:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq{height:auto;padding:20px 24px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents-intro,:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-intro{position:relative;left:auto;top:auto;width:100%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-document-grid{position:relative;left:auto;right:auto;top:auto;margin-top:15px;height:auto;grid-template-columns:repeat(5,1fr)}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-list{position:relative;left:auto;right:auto;top:auto;margin-top:14px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta{height:auto;min-height:104px;padding:15px 24px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-copy{position:relative;left:auto;top:auto;max-width:400px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-actions{position:relative;left:auto;top:auto;margin-top:10px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-house{width:30%;height:100%;opacity:.5}
}
@media(max-width:620px){
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm{height:auto;min-height:0}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-badge{font-size:9px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero{min-height:750px;padding-bottom:26px;background:#fbfdfb}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-photo{position:absolute;top:0;right:0;width:100%;height:306px;object-position:right top;opacity:.32}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero:before{background:linear-gradient(90deg,#f9fdfae3,#fffffff0 70%),linear-gradient(0deg,#fff 45%,transparent 80%)}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-leaves{left:-16px;top:95px;height:245px;width:82px;opacity:.4}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-copy{position:relative;left:auto;top:auto;width:auto;margin:0 20px;padding-top:24px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero h1{font-size:clamp(29px,8.2vw,42px);white-space:normal;letter-spacing:-1.6px;max-width:100%;margin:12px 0}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-head-regular{letter-spacing:-1.8px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-lead{width:auto;max-width:420px;font-size:12.6px;line-height:1.42}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-actions{flex-wrap:wrap;gap:9px;margin-top:20px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-actions .ipm-button{min-width:0;min-height:41px;flex:1;font-size:10px;padding:0 10px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-micro-benefits{display:grid;grid-template-columns:1fr 1fr;gap:9px 6px;margin-top:18px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calculator{position:relative;top:auto;right:auto;width:auto;max-width:380px;height:auto;min-height:319px;margin:25px 16px 0;padding:17px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-head h2{font-size:19px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-fields label{font-size:10px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-input{height:35px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-results{min-height:70px;margin-top:13px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-calc-submit{min-height:38px;margin-top:12px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-handwritten{display:none}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefits{height:auto;padding:20px 17px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefits-inner{grid-template-columns:1fr;gap:14px;max-width:460px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefit-item{height:auto;min-height:52px;padding:0;border:0}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefit-item h3{font-size:12.1px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-benefit-item p{font-size:10.5px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process{padding:24px 19px 26px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process h2{font-size:25px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-section-subtitle{font-size:11.5px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process-handwritten{display:none}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process-steps{grid-template-columns:1fr;row-gap:18px;margin:22px 0 0}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-process-steps:before{display:none}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step-icons{height:43px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step-details{margin-top:7px;padding-left:50px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step h3{font-size:13px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-step p{font-size:11px;max-width:320px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency{padding:0 17px 22px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-photo{position:relative;left:-17px;width:calc(100% + 34px);height:155px;mask-image:linear-gradient(0deg,transparent 0%,#000 27%);object-position:center}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-intro{position:relative;left:auto;top:auto;width:100%;margin:-10px 0 20px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-intro h2{font-size:23px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-intro p{font-size:11px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparency-cards{position:relative;left:auto;right:auto;top:auto;bottom:auto;grid-template-columns:1fr;display:grid;gap:10px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparent-card{padding:13px;min-height:120px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparent-card h3{font-size:12px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-transparent-card p{font-size:11px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers{padding:23px 17px 20px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-intro{position:relative;left:auto;top:auto;width:auto}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-intro h2{font-size:22px;white-space:normal}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-intro>p{font-size:11px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-right{position:relative;left:auto;right:auto;top:auto;margin-top:30px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-all{top:-24px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-card{height:160px;padding:10px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-card-head{height:34px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-numbers{grid-template-columns:1fr;gap:2px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-numbers>span strong{margin-top:1px;font-size:11px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-points{margin-top:6px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-points>div{font-size:7.7px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-more{bottom:7px;left:8px;right:8px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-offers-note{position:relative;left:auto;right:auto;bottom:auto;margin-top:17px;font-size:9px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents{padding:24px 17px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents-intro{position:relative;top:auto;left:auto;width:auto}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents-intro h2{font-size:21px;white-space:normal}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-documents-intro p{font-size:11px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-document-grid{position:relative;top:auto;left:auto;right:auto;margin-top:17px;height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-document-card{min-height:96px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-document-card p{font-size:10px;margin-top:9px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq{padding:20px 17px 27px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-intro{position:relative;top:auto;left:auto;width:auto}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-intro h2{font-size:21px;white-space:normal}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-intro p{font-size:11px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-list{position:relative;top:auto;left:auto;right:auto;margin-top:16px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-item summary{min-height:37px;font-size:10px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-faq-answer{font-size:10px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta{padding:24px 17px 30px;min-height:151px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-leaves{left:-15px;opacity:.35}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-copy{position:relative;top:auto;left:auto;width:auto;max-width:95%;z-index:1}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-copy h2{font-size:18px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-copy p{white-space:normal;font-size:11px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-actions{position:relative;top:auto;left:auto;flex-wrap:wrap;z-index:2;margin-top:18px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-house{width:59%;height:100%;opacity:.25}
}
@media(max-width:350px){
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero{min-height:810px}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-actions{flex-direction:column}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-actions .ipm-button{width:100%}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-grid{grid-template-columns:1fr}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-bank-card{height:148px}
}
@media(prefers-reduced-motion:reduce){:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-button{transition:none!important}}

/* v3.7.5 safety: the native HTML inputs must always sit above the photo. */
.ipx-mortgage-root .ipm-hero-photo { pointer-events:none; max-width:none; }
.ipx-mortgage-root .ipm-hero-copy, .ipx-mortgage-root .ipm-calculator { isolation:isolate; }
.ipx-mortgage-root .ipm-hero-copy { z-index:3; }
.ipx-mortgage-root .ipm-calculator { z-index:5; }

/* v3.7.6: the home photo is a standalone image; the calculator remains HTML. */
.ipx-mortgage-root .ipm-hero-photo,
#ipx-mortgage-page .ipm-hero-photo { pointer-events:none; }
/* Extra guard against cached HTML that still points to the v3.7.3 screenshot. */
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero:has(>.ipm-hero-photo[src*="mortgage-hero-v373"]),
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero:has(>.ipm-hero-photo[src*="3(3).png"]){
  background-image:url('../images/mortgage-hero-v376.webp');
  background-position:right center;
  background-size:auto 100%;
  background-repeat:no-repeat;
}
:is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-hero-photo:is([src*="mortgage-hero-v373"],[src*="3(3).png"]){opacity:0!important;}

/* The last banner must show the COMPLETE house photograph, not a cropped
   piece of the old screenshot. 'contain' prevents clipping on every width. */
@media (min-width:1122px){
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta{height:94px;min-height:94px;}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-copy{top:27px;}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-actions{top:28px;}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-house{
    right:14px;top:5px;width:248px;height:84px;
    object-fit:contain;object-position:center;opacity:1;
    border-radius:14px;mask-image:none;background:#e7f5ed;
  }
}
@media(min-width:851px) and (max-width:1121px){
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta{height:106px;min-height:106px;}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-copy{top:18px;}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-actions{top:19px;}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-house{
    right:12px;top:44px;width:185px;height:59px;
    object-fit:contain;object-position:center;opacity:1;
    mask-image:none;border-radius:11px;background:#e7f5ed;
  }
}
@media(min-width:621px) and (max-width:850px){
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta{height:auto;min-height:104px;}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-house{
    position:relative;left:auto;right:auto;top:auto;
    display:block;width:80%;max-width:370px;height:auto;aspect-ratio:1870 / 775;
    margin:12px 0 0 auto;object-fit:contain;opacity:1;
    mask-image:none;border-radius:12px;background:#e7f5ed;
  }
}
@media(max-width:620px){
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta{height:auto;min-height:0;padding-bottom:20px;}
  :is(#ipx-mortgage-page,.ipx-mortgage-root) .ipm-cta-house{
    position:relative;left:auto;right:auto;top:auto;
    display:block;width:100%;max-width:360px;height:auto;aspect-ratio:1870 / 775;
    margin:18px auto 0;object-fit:contain;object-position:center;opacity:1;
    mask-image:none;border-radius:12px;background:#e7f5ed;
  }
}


/* Source: ipoteco-mortgage-v377.css (unchanged CSS; original order preserved) */
/* IpoTeco v3.7.7 | distinctive 2026 SVGs, accessible FAQs and purposeful motion.
   Layout-only change: FAQ expands in document flow, never overlaps next banner.
   Scope excludes the homepage; Elementor content and media are untouched. */

/* 01 — FIX: calculator focus used to show two green crescents because the
   global theme applied an oversized shadow to a rounded input, clipped by its
   narrower parent. Preserve a subtle single keyboard indication on the box. */
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-input {
  border-radius:7px!important; transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-input:focus-within {
  border-color:#9ccfba!important; background:#fff!important;
  box-shadow:0 0 0 2px rgba(0,142,86,.075)!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-input input,
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-input input:focus,
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-input input:focus-visible {
  outline:0!important;outline-offset:0!important;border:0!important;
  box-shadow:none!important;border-radius:0!important;background:transparent!important;
  appearance:none;-webkit-appearance:none;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-term select:focus,
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-term select:focus-visible {
  outline:0!important;box-shadow:none!important;border:0!important;
  background:#fff!important;
}
body .ipo-app.ipx-mortgage-root .ipm-calculator {
  transition:box-shadow .38s cubic-bezier(.2,.78,.18,1),border-color .38s ease,translate .38s ease;
  border-color:#e5eee9;
}
@media(hover:hover) and (pointer:fine){
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-calculator:hover{
    box-shadow:0 20px 44px rgba(9,71,62,.21),0 0 0 1px rgba(21,162,108,.12);
    border-color:#cde9dc;
    translate:0 -2px;
  }
}

/* 02 — FIX: native <details> need their own height; in v3.7.6 a hard-coded
   113px FAQ clipped answers and made following CTA float over the questions. */
body .ipo-app.ipx-mortgage-root .ipm.ipm-faq {
  display:grid!important;grid-template-columns:minmax(0,325px) minmax(0,1fr)!important;
  align-items:start!important;column-gap:38px!important;
  height:auto!important;min-height:237px!important;
  padding:17px 43px 26px!important;overflow:visible!important;
  background:linear-gradient(138deg,#fff 0%,#fff 58%,#f9fdfb 100%);
  border-top:1px solid #f0f5f2;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro {
  position:relative!important;inset:auto!important;
  width:auto!important;max-width:100%!important;margin:0!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro h2 {
  font-size:20.5px!important;line-height:1.15!important;letter-spacing:-.8px;
  white-space:normal!important;margin:9px 0 9px!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro p {
  font-size:11.3px!important;line-height:1.48!important;max-width:300px!important;
  color:#687c96!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro>a {
  margin-top:14px!important;font-size:10.4px!important;color:#007d50!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-list {
  position:relative!important;inset:auto!important;
  width:100%!important;min-width:0!important;
  display:flex!important;flex-direction:column!important;gap:7px!important;
  margin:0!important;overflow:visible!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item {
  position:relative!important;z-index:1!important;
  display:block!important;height:auto!important;max-height:none!important;
  min-height:0!important;margin:0!important;
  border:1px solid #e4eceb!important;border-radius:10px!important;
  background:linear-gradient(135deg,#fff,#fcfefd)!important;
  box-shadow:0 2px 7px rgba(16,64,69,.035)!important;
  overflow:hidden!important;
  transition:border-color .24s ease,background-color .24s ease,box-shadow .3s ease;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary {
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;min-height:34px!important;
  font-size:10.7px!important;font-weight:690!important;line-height:1.37!important;
  color:#203959!important;letter-spacing:-.08px;
  padding:7px 11px 7px 14px!important;
  list-style:none!important;cursor:pointer;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary::-webkit-details-marker {display:none}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary::marker {content:""}
/* 2026 vector-inspired +/- control; no font glyph or rotated X overlays. */
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary span {
  position:relative!important;flex:0 0 23px!important;
  display:grid!important;place-items:center!important;
  width:23px!important;height:23px!important;
  color:transparent!important;font-size:0!important;line-height:0!important;
  background:#eaf8f1;border:1px solid #d6efe2;border-radius:8px;
  transform:none!important;transition:background .25s ease,transform .25s ease;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary span::before,
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary span::after {
  content:"";position:absolute;left:6px;top:10px;width:9px;height:1.7px;
  background:#048956;border-radius:2px;
  transition:transform .23s ease;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary span::after {transform:rotate(90deg)}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item[open] {
  z-index:2!important;border-color:#b6e5d0!important;
  background:#fff!important;
  box-shadow:0 9px 24px rgba(5,103,77,.09)!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item[open] summary {color:#006d47!important;}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item[open] summary span {background:#d8f5e5;}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item[open] summary span::after {transform:rotate(0)}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item .ipm-faq-answer {
  position:static!important;display:block;
  max-width:100%;font-size:10.5px!important;line-height:1.52!important;
  color:#5b718b!important;padding:0 16px 13px!important;
  white-space:normal!important;overflow-wrap:anywhere;
}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item:not([open]) .ipm-faq-answer {display:none!important;}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item[open] .ipm-faq-answer {
  animation:ipm377AnswerIn .24s ease-out both;
}
@keyframes ipm377AnswerIn{from{opacity:.65;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary:focus-visible {
  outline:2px solid #68ba95!important;outline-offset:-3px!important;border-radius:8px;
}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item:not([open]):hover {
  border-color:#c1e4d2!important;box-shadow:0 5px 17px rgba(18,95,79,.065)!important;
}

/* 03 — The refreshed house, agreement, shield, people and document pictograms
   are actual SVG paths in the Elementor defaults, not uneditable screenshots. */
body .ipo-app.ipx-mortgage-root .ipm svg.ipm-icon-v377 {
  display:block;width:100%;height:100%;overflow:visible;
  shape-rendering:geometricPrecision;flex-shrink:0;
  transition:transform .32s cubic-bezier(.2,.75,.2,1),filter .32s ease;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-circle-icon {
  background:linear-gradient(145deg,#ffffff,#eafbf2 96%)!important;
  border:1px solid #dcefe6;
  box-shadow:0 6px 14px rgba(11,85,66,.06),inset 0 1px 0 rgba(255,255,255,.94);
  transition:transform .36s cubic-bezier(.18,.8,.22,1),box-shadow .36s ease,border-color .36s ease;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-icon-arrow-v377 {
  width:15px!important;height:15px!important;stroke-width:2.1;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-arrow {
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-action-arrow {display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;}
body .ipo-app.ipx-mortgage-root .ipm .ipm-small-info svg.ipm-icon-v377 {width:16px!important;height:16px!important;}
body .ipo-app.ipx-mortgage-root .ipm .ipm-bank-points svg.ipm-icon-v377 {stroke:none;background:transparent;padding:0;width:13px;height:13px;}

/* 04 — Premium microinteractions: hover glows, luminous borders, arrow motion.
   All are interaction-triggered, composited, and safe for touch devices. */
body .ipo-app.ipx-mortgage-root .ipm .ipm-button {
  position:relative;isolation:isolate;overflow:hidden;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,
    border-color .3s ease,background-position .34s ease!important;
  will-change:auto;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button-primary {
  background:linear-gradient(108deg,#007d51,#08ad72 53%,#007c54)!important;
  background-size:160% 100%!important;
  border-color:#008351!important;
  box-shadow:0 7px 20px rgba(3,133,84,.22),inset 0 1px 0 #ffffff45!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button-white {
  border-color:#d8e6e6!important;
  background:linear-gradient(135deg,#fff,#f5fdf9)!important;
  box-shadow:0 6px 16px rgba(16,64,69,.09),inset 0 1px 0 #fff!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button::before {
  content:"";position:absolute;z-index:-1;left:-75%;top:-75%;width:55%;height:250%;
  pointer-events:none;transform:rotate(23deg) translateX(-130%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button-white::before {
  background:linear-gradient(90deg,transparent,rgba(50,177,133,.11),transparent);
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button svg.ipm-icon-arrow-v377 {transition:transform .25s ease;}
@media(hover:hover) and (pointer:fine){
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button:hover {
    transform:translateY(-3px) scale(1.012)!important;
  }
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button-primary:hover{
    background-position:100% 50%!important;
    box-shadow:0 14px 27px rgba(3,127,87,.28),inset 0 1px 0 #ffffff50!important;
  }
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button-white:hover {
    border-color:#a6d6c3!important;box-shadow:0 13px 24px rgba(10,108,79,.13)!important;
  }
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button:hover::before{transform:rotate(23deg) translateX(550%);}
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button:hover svg.ipm-icon-arrow-v377{transform:translateX(3px);}
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button:active{transform:translateY(0) scale(.985)!important;}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button:focus-visible{
  outline:2px solid #34a27d!important;outline-offset:3px!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-bank-card,
body .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card,
body .ipo-app.ipx-mortgage-root .ipm .ipm-document-card {
  position:relative;isolation:isolate;
  transition:transform .35s cubic-bezier(.2,.75,.22,1),border-color .35s ease,box-shadow .35s ease!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-bank-card::before,
body .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card::before,
body .ipo-app.ipx-mortgage-root .ipm .ipm-document-card::before {
  content:"";position:absolute;inset:0;border-radius:inherit;
  pointer-events:none;opacity:0;z-index:-1;
  background:radial-gradient(170px circle at var(--ipm-pointer-x,50%) var(--ipm-pointer-y,10%),rgba(39,193,133,.09),transparent 75%);
  transition:opacity .3s ease;
}
@media(hover:hover) and (pointer:fine){
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-bank-card:hover,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card:hover,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-document-card:hover {
    transform:translateY(-5px);border-color:#b5e5d1!important;
    box-shadow:0 15px 32px rgba(10,93,72,.13)!important;z-index:3;
  }
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-bank-card:hover::before,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card:hover::before,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-document-card:hover::before{opacity:1}
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-benefit-item:hover .ipm-circle-icon,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-step:hover .ipm-circle-icon,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-document-card:hover .ipm-circle-icon,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card:hover .ipm-circle-icon {
    transform:translateY(-3px) rotate(-3deg);border-color:#a8dcca;
    box-shadow:0 10px 18px rgba(10,127,84,.14),inset 0 1px 0 #fff;
  }
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-benefit-item:hover svg.ipm-icon-v377,
  body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-step:hover svg.ipm-icon-v377{transform:scale(1.09);}
}
/* Smooth, short entrances with no permanent moving background or loops. */
@keyframes ipm377Reveal{from{opacity:.55;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-v377-seen {
  animation:ipm377Reveal .48s cubic-bezier(.19,.75,.25,1) both;
  animation-delay:var(--ipm-entrance-delay,0ms);
}
/* Header keeps the exact Elementor widget/content; only active state moves. */
body .ipo-app .ipo-nav .ipo-nav-link.ipx-v377-current .ipo-button {
  color:#007e50!important;font-weight:760!important;
  background:linear-gradient(145deg,#e9f8f1,#f2fbf7)!important;
  border-radius:12px!important;
}
body .ipo-app .ipo-nav .ipo-nav-link.ipx-v377-current .ipo-button::after {
  content:"";position:absolute;left:27%;right:27%;bottom:2px;
  height:2px;background:#009960;border-radius:2px;transform:scaleX(1);
}

/* Responsive layout: the questions stack and ALWAYS push CTA below them. */
@media(max-width:850px){
  body .ipo-app.ipx-mortgage-root .ipm.ipm-faq {
    display:block!important;min-height:0!important;
    padding:24px 23px 30px!important;
  }
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-list{margin-top:19px!important;}
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro h2{font-size:22px!important;}
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro p{font-size:11.5px!important;}
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary{
    min-height:41px!important;font-size:11.1px!important;padding:9px 12px 9px 14px!important;
  }
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-answer{font-size:11px!important;}
}
@media(max-width:620px){
  body .ipo-app.ipx-mortgage-root .ipm.ipm-faq {padding:23px 17px 28px!important;}
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-intro h2{font-size:22px!important;}
  body .ipo-app.ipx-mortgage-root .ipm-faq .ipm-faq-item summary{font-size:11.5px!important;}
  body .ipo-app.ipx-mortgage-root .ipm .ipm-button::before{display:none;}
}
@media(prefers-reduced-motion:reduce){
  body .ipo-app.ipx-mortgage-root .ipm .ipm-v377-seen,
  body .ipo-app.ipx-mortgage-root .ipm .ipm-faq-item[open] .ipm-faq-answer{animation:none!important;}
  body .ipo-app.ipx-mortgage-root .ipm :is(.ipm-button,.ipm-bank-card,.ipm-transparent-card,.ipm-document-card,.ipm-circle-icon,.ipm-icon-v377,.ipm-calculator),
  body .ipo-app.ipx-mortgage-root .ipm .ipm-faq-item{transition:none!important;}
}

/* Historical bottom leaf asset was a screenshot crop containing the printed
   words "Vezi toate" in its upper half. Display only its botanical bottom area
   until an independent clean leaf illustration is provided in Elementor. */
body .ipo-app.ipx-mortgage-root .ipm-cta .ipm-cta-leaves {
  top:8px!important;left:0!important;width:95px!important;height:54px!important;
  object-fit:cover!important;object-position:center bottom!important;
  opacity:.58!important;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 60%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 60%,transparent 100%);
}


/* Source: ipoteco-mortgage-v378.css (unchanged CSS; original order preserved) */
/* IpoTeco v3.7.8 | Filled 2026 vector design, reliable active menu, cinematic-but-light interaction.
   App structure, text, photos, URLs and editable controls are unchanged. */

/* CURRENT PAGE: applied to the shared Elementor header, never inferred from hover.
   Clears stale styling left by older generated Elementor/CSS caches. */
body .ipo-app .ipo-header .ipo-nav .ipo-nav-link:not(.ipx-v378-current) > .ipo-widget-container .ipo-button {
  color:#243853!important;font-weight:550!important;
  background:transparent!important;box-shadow:none!important;
}
body .ipo-app .ipo-header .ipo-nav .ipo-nav-link:not(.ipx-v378-current) .ipo-button::after {
  transform:scaleX(0)!important;opacity:0!important;
}
body .ipo-app .ipo-header .ipo-nav .ipo-nav-link.ipx-v378-current .ipo-button {
  position:relative;color:#007d54!important;font-weight:800!important;
  background:linear-gradient(135deg,#e5f7ee,#f2fcf8)!important;
  border:1px solid #d5f0e2!important;border-radius:13px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.95),0 4px 12px rgba(4,129,85,.06)!important;
}
body .ipo-app .ipo-header .ipo-nav .ipo-nav-link.ipx-v378-current .ipo-button::after {
  content:""!important;position:absolute!important;bottom:4px!important;
  left:25%!important;right:25%!important;height:2px!important;border-radius:2px;
  opacity:1!important;background:#00a26d!important;transform:scaleX(1)!important;
}
body .ipo-app .ipo-header .ipo-nav .ipo-nav-link .ipo-button {
  font-family:"Lora",Georgia,serif!important;
  letter-spacing:-.17px;transition:color .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease;
}
@media(hover:hover) and (pointer:fine){
 body .ipo-app .ipo-header .ipo-nav .ipo-nav-link:not(.ipx-v378-current) .ipo-button:hover {
   color:#008657!important;background:#effaf4!important;
   border-radius:12px!important;transform:translateY(-1px);
 }
}
body .ipo-app .ipo-header .ipo-nav .ipo-nav-link .ipo-button:focus-visible {
 outline:2px solid #14b782!important;outline-offset:3px!important;
}

/* Completely new 64x64 filled duotone vectors: not the previous fine outline set. */
body .ipo-app.ipx-mortgage-root .ipm svg.ipm-icon-v378 {
  width:100%!important;height:100%!important;display:block!important;
  stroke:none;fill:none;overflow:visible!important;
  filter:drop-shadow(0 2px 1px rgba(1,45,53,.09));
  transform-origin:50% 55%;
  transition:transform .46s cubic-bezier(.18,.82,.25,1),filter .46s ease;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-circle-icon {
  position:relative;isolation:isolate;border-radius:18px!important;
  background:linear-gradient(150deg,#ffffff 5%,#e5f4ff 42%,#d9f9e9 100%)!important;
  border:1px solid #cfece9!important;
  box-shadow:0 8px 18px rgba(16,79,107,.11),inset 0 1px 0 #fff,inset 0 -3px 8px #c5ede63b!important;
  padding:8px!important;overflow:visible;
  transition:transform .4s cubic-bezier(.17,.8,.2,1),box-shadow .4s ease,background .4s ease!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-benefit-item .ipm-circle-icon,
body .ipo-app.ipx-mortgage-root .ipm .ipm-step .ipm-circle-icon {
  border-radius:18px!important;width:47px!important;height:47px!important;
  padding:8px!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-transparent-card .ipm-circle-icon {
  border-radius:16px!important;width:45px!important;height:45px!important;padding:8px!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-document-card .ipm-circle-icon {
  border-radius:12px!important;padding:5px!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-micro-benefits i svg.ipm-icon-v378 {
  filter:none;stroke:none!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-headset svg.ipm-icon-v378 {
  filter:drop-shadow(0 2px 2px rgba(0,124,101,.14));
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-bank-points svg.ipm-icon-v378,
body .ipo-app.ipx-mortgage-root .ipm .ipm-small-info svg.ipm-icon-v378 {
  width:15px!important;height:15px!important;filter:none;background:transparent!important;padding:0!important;
}
@media(hover:hover) and (pointer:fine){
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm :is(.ipm-benefit-item,.ipm-step,.ipm-transparent-card,.ipm-document-card):hover .ipm-circle-icon {
  transform:translateY(-5px) rotate(-7deg) scale(1.075)!important;
  background:linear-gradient(130deg,#fcfeff,#cdeef6,#c7f5de)!important;
  box-shadow:0 12px 24px #05795534,inset 0 1px 0 #fff!important;
 }
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm :is(.ipm-benefit-item,.ipm-step,.ipm-transparent-card,.ipm-document-card):hover svg.ipm-icon-v378 {
  transform:rotate(7deg) scale(1.09)!important;filter:drop-shadow(0 4px 3px #004c4033);
 }
}

/* HERO: editorial entrance, rich glass calculator, depth without moving photos perpetually. */
body .ipo-app.ipx-mortgage-root .ipm.ipm-hero {
  background:linear-gradient(115deg,#f5fbf9,#fff 46%,#e9f7f3)!important;
}
body .ipo-app.ipx-mortgage-root .ipm-hero::after {
  content:"";position:absolute;z-index:1;right:0;top:0;width:66%;height:100%;
  pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(157,237,211,.075) 58%,transparent 78%);
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-badge {
  box-shadow:0 4px 12px rgba(0,141,96,.09),inset 0 1px rgba(255,255,255,.9)!important;
  border:1px solid #dbf3e6;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-badge b {
  box-shadow:0 0 0 3px rgba(0,168,109,.1);
}
body .ipo-app.ipx-mortgage-root .ipm-calculator {
  backdrop-filter:blur(12px) saturate(1.14);-webkit-backdrop-filter:blur(12px) saturate(1.14);
  background:rgba(255,255,255,.975)!important;border:1px solid rgba(218,241,233,.96)!important;
  box-shadow:0 17px 44px rgba(8,61,69,.22),0 0 0 1px rgba(255,255,255,.5) inset!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-calc-results {
  background:linear-gradient(116deg,#eafbf4,#f7fefb 65%,#e4f9ef)!important;
  border:1px solid #e0f2e7;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-big-rate {
  text-shadow:0 2px 10px rgba(0,170,106,.08);
}

/* Buttons: magnetic position, bright edge and glint. Motion runs only on interaction. */
body .ipo-app.ipx-mortgage-root .ipm .ipm-button {
  position:relative;isolation:isolate;transform:translate3d(0,0,0);
  transition:transform .32s cubic-bezier(.2,.75,.2,1),box-shadow .32s ease,background-position .42s ease!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button-primary {
  background:linear-gradient(115deg,#006f56 0%,#00ae76 43%,#00c891 59%,#007f5b 100%)!important;
  background-size:225% 100%!important;background-position:0% 50%!important;
  border:1px solid #008f61!important;
  box-shadow:0 8px 18px #009b7350,0 1px 0 #ffffff69 inset!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button-white {
  background:linear-gradient(145deg,#fff,#f0fcf9)!important;
  border:1px solid #d4eae2!important;
}
body .ipo-app.ipx-mortgage-root .ipm .ipm-button svg.ipm-icon-arrow-v377 {
  transition:transform .35s cubic-bezier(.2,.8,.2,1)!important;
}
@media(hover:hover) and (pointer:fine){
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button:hover {
  transform:translate3d(var(--ipm-button-shift-x,0px),calc(-4px + var(--ipm-button-shift-y,0px)),0) scale(1.025)!important;
 }
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button-primary:hover {
  background-position:100% 50%!important;
  box-shadow:0 15px 30px rgba(0,128,88,.36),0 1px 0 #ffffffaa inset!important;
 }
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button:hover svg.ipm-icon-arrow-v377 {
  transform:translateX(5px) scale(1.13)!important;
 }
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm .ipm-button-white:hover {
  box-shadow:0 15px 26px rgba(9,104,81,.17),0 1px #fff inset!important;
 }
}

/* Process: progress line fills just once as steps reach the viewport. */
body .ipo-app.ipx-mortgage-root .ipm.ipm-process {
  background:radial-gradient(ellipse at 81% 10%,rgba(142,236,203,.15),transparent 42%),linear-gradient(180deg,#f5fbfa,#fff 88%)!important;
}
body .ipo-app.ipx-mortgage-root .ipm-process-steps::after {
  content:"";position:absolute;z-index:0;top:25px;left:90px;right:185px;height:2px;
  transform:scaleX(0);transform-origin:left center;
  background:linear-gradient(90deg,#1bcf9b,#89e0f0 45%,#16b77d);
  border-radius:3px;pointer-events:none;opacity:.85;
}
body .ipo-app.ipx-mortgage-root .ipm-process-steps .ipm-step-num {
  background:linear-gradient(140deg,#c9f9df,#d9f0ff)!important;
  border:1px solid #c7e9dc;box-shadow:0 4px 12px rgba(0,126,90,.07);
}
body .ipo-app.ipx-mortgage-root .ipm-process .ipm-step {transition:transform .34s cubic-bezier(.2,.8,.2,1);}
@media(hover:hover) and (pointer:fine){
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-process .ipm-step:hover {
  transform:translateY(-5px);
 }
}

/* Cards: true 3D tilt toward the pointer and mint spotlight. */
body .ipo-app.ipx-mortgage-root .ipm :is(.ipm-bank-card,.ipm-transparent-card,.ipm-document-card) {
  position:relative;isolation:isolate;
  border-color:#deeee9!important;
  box-shadow:0 8px 21px rgba(9,58,78,.075)!important;
  transform-style:preserve-3d;backface-visibility:hidden;
  transition:transform .38s cubic-bezier(.16,.78,.24,1),box-shadow .4s ease,border-color .28s ease!important;
}
body .ipo-app.ipx-mortgage-root .ipm :is(.ipm-bank-card,.ipm-transparent-card,.ipm-document-card)::before {
  content:"";position:absolute;inset:0;z-index:-1;opacity:0;pointer-events:none;
  border-radius:inherit;
  background:radial-gradient(240px circle at var(--ipm-v378-shine-x,50%) var(--ipm-v378-shine-y,10%),rgba(44,210,155,.21),transparent 76%);
  transition:opacity .3s ease;
}
body .ipo-app.ipx-mortgage-root .ipm :is(.ipm-bank-card,.ipm-transparent-card,.ipm-document-card)::after {
  content:"";position:absolute;z-index:2;left:13px;right:13px;top:0;height:3px;
  pointer-events:none;border-radius:0 0 8px 8px;opacity:0;
  background:linear-gradient(90deg,transparent,#00b883,#8adee6,transparent);
  transition:opacity .3s ease;
}
@media(hover:hover) and (pointer:fine){
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm :is(.ipm-bank-card,.ipm-transparent-card,.ipm-document-card):hover {
  z-index:3;transform:perspective(800px) rotateX(var(--ipm-tilt-x,0deg)) rotateY(var(--ipm-tilt-y,0deg)) translateY(-8px) scale(1.025)!important;
  box-shadow:0 23px 42px rgba(6,98,80,.2),0 0 0 1px #c1efe2!important;
  border-color:#a2decd!important;
 }
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm :is(.ipm-bank-card,.ipm-transparent-card,.ipm-document-card):hover::before,
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm :is(.ipm-bank-card,.ipm-transparent-card,.ipm-document-card):hover::after,
 body .ipo-app.ipx-mortgage-root .ipm :is(.ipm-bank-card,.ipm-transparent-card,.ipm-document-card):focus-within::after {opacity:1;}
}
body .ipo-app.ipx-mortgage-root .ipm.ipm-transparency {
  background:linear-gradient(112deg,#f5fbf8,#fff 43%,#f6fcff)!important;
}
body .ipo-app.ipx-mortgage-root .ipm.ipm-offers {
  background:radial-gradient(ellipse at 70% 10%,rgba(176,245,224,.17),transparent 48%),linear-gradient(110deg,#fff,#f9fdfd)!important;
}
body .ipo-app.ipx-mortgage-root .ipm-bank-month {
  text-shadow:0 2px 8px rgba(0,158,93,.09);
}

/* FAQ: selected rows feel alive; answers expand in normal document flow. */
body .ipo-app.ipx-mortgage-root .ipm-faq-item[open] {
  border-color:#96dec0!important;
  box-shadow:0 12px 30px rgba(5,116,91,.12)!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq-item[open] summary span {
  transform:rotate(180deg)!important;
}
body .ipo-app.ipx-mortgage-root .ipm-faq-item summary {
  transition:padding-left .23s ease,color .23s ease!important;
}
@media(hover:hover) and (pointer:fine){
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-faq-item summary:hover {
  padding-left:19px!important;color:#007c55!important;
 }
}
/* Last CTA: soft iridescent surface, keep the complete house photograph visible. */
body .ipo-app.ipx-mortgage-root .ipm.ipm-cta {
  background:linear-gradient(112deg,#e2faee 0%,#f6fcf9 42%,#e5f9f3 100%)!important;
  border-top:1px solid #dbefe6;
}
body .ipo-app.ipx-mortgage-root .ipm-cta-house {
  transition:filter .4s ease,opacity .4s ease!important;
}
@media(hover:hover) and (pointer:fine){
 body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-cta:hover .ipm-cta-house {
  filter:saturate(1.09) contrast(1.04);
 }
}

/* On-scroll reveals: progressive disclosure without hiding content before JS runs. */
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm.ipm-v378-pending {
  opacity:.93;transform:translateY(8px);
}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm.ipm-v378-visible {
  animation:ipm378SectionUp .65s cubic-bezier(.18,.85,.2,1) both;
}
@keyframes ipm378SectionUp {
  from{opacity:.91;transform:translate3d(0,11px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-hero.ipm-v378-hero-enter :is(.ipm-hero-copy .ipm-badge,.ipm-hero-copy h1,.ipm-hero-lead,.ipm-hero-actions,.ipm-micro-benefits) {
  animation:ipm378HeroLift .78s cubic-bezier(.2,.85,.18,1) both;
}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-hero.ipm-v378-hero-enter .ipm-hero-copy h1 {animation-delay:.09s;}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-hero.ipm-v378-hero-enter .ipm-hero-lead {animation-delay:.18s;}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-hero.ipm-v378-hero-enter .ipm-hero-actions {animation-delay:.25s;}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-hero.ipm-v378-hero-enter .ipm-micro-benefits {animation-delay:.34s;}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-hero.ipm-v378-hero-enter .ipm-calculator {
  animation:ipm378CalcIn .85s cubic-bezier(.15,.84,.2,1) .16s both;
}
@keyframes ipm378HeroLift {
 from{opacity:.2;transform:translate3d(0,18px,0);filter:blur(3px)}
 to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes ipm378CalcIn {
 from{opacity:.45;translate:0 21px;filter:blur(4px)}
 to{opacity:1;translate:0 0;filter:blur(0)}
}
body:not(.elementor-editor-active) .ipo-app.ipx-mortgage-root .ipm-process.ipm-v378-visible .ipm-process-steps::after {
  animation:ipm378Progress 1.25s cubic-bezier(.19,.77,.19,1) .19s both;
}
@keyframes ipm378Progress {from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Small screens: no overlap, no parallax, same responsive layout. */
@media(max-width:850px){
 body .ipo-app.ipx-mortgage-root .ipm-process-steps::after{display:none!important;}
 body .ipo-app.ipx-mortgage-root .ipm .ipm-benefit-item .ipm-circle-icon,
 body .ipo-app.ipx-mortgage-root .ipm .ipm-step .ipm-circle-icon {width:43px!important;height:43px!important;padding:7px!important;}
}
@media(max-width:620px){
 body .ipo-app.ipx-mortgage-root .ipm .ipm-button-primary{box-shadow:0 5px 17px #00885a30!important;}
 body .ipo-app.ipx-mortgage-root .ipm .ipm-circle-icon{padding:6px!important;}
}
/* Accessibility: user-controlled reduced motion overrides all cinematic effects. */
@media(prefers-reduced-motion:reduce){
 body .ipo-app.ipx-mortgage-root .ipm.ipm-v378-pending,
 body .ipo-app.ipx-mortgage-root .ipm.ipm-v378-visible,
 body .ipo-app.ipx-mortgage-root .ipm-hero.ipm-v378-hero-enter *,
 body .ipo-app.ipx-mortgage-root .ipm-process-steps::after {
  animation:none!important;transform:none!important;translate:none!important;filter:none!important;opacity:1!important;
 }
 body .ipo-app.ipx-mortgage-root .ipm :is(.ipm-button,.ipm-circle-icon,.ipm-bank-card,.ipm-transparent-card,.ipm-document-card,svg.ipm-icon-v378),
 body .ipo-app .ipo-header .ipo-nav .ipo-nav-link .ipo-button {
  transition:none!important;
 }
}


/* Source: ipoteco-referral-v379.css (unchanged CSS; original order preserved) */
/* IpoTeco v3.7.9 — Recomandă și câștigă. Scoped, reusable Elementor widgets.
   1122px reference artboard. Header/footer remain those of the homepage. */
:root{--ipr-green:#007d4d;--ipr-dark:#09172e;--ipr-ink:#132444;--ipr-quiet:#5c6d91;--ipr-mint:#eaf8f0}
body .elementor .ipx-referral-page.e-con,body .elementor .ipx-referral-page.e-con>.e-con-inner{--content-width:100%!important;--width:100%!important;max-width:100%!important;width:100%!important;gap:0!important;--flex-direction:column!important;padding:0!important;margin:0!important}
body .elementor .ipx-referral-page>[class*="elementor-widget-ipx_"],body .elementor .ipx-referral-page>.e-con-inner>[class*="elementor-widget-ipx_"]{width:100%!important;max-width:none!important;margin:0!important;--container-widget-width:100%!important;flex-shrink:0!important}
body .elementor .ipx-referral-page [class*="elementor-widget-ipx_referral"]>.elementor-widget-container{padding:0!important;margin:0!important;width:100%!important}
.ipo-app.ipo-con.ipx-referral-root{display:block!important;max-width:none!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:transparent!important}
.ipo-app.ipx-referral-root .ipr,.ipo-app.ipx-referral-root .ipr *{box-sizing:border-box}
.ipo-app.ipx-referral-root .ipr{position:relative;width:100%;max-width:none;color:var(--ipr-ink);font-family:"Lora",Georgia,serif;font-size:14px;line-height:1.45}
.ipo-app.ipx-referral-root .ipr p,.ipo-app.ipx-referral-root .ipr h1,.ipo-app.ipx-referral-root .ipr h2,.ipo-app.ipx-referral-root .ipr h3{margin:0;padding:0;font-family:inherit;color:inherit}
.ipo-app.ipx-referral-root .ipr img{max-width:100%;display:block}
.ipo-app.ipx-referral-root .ipr a{color:inherit;text-decoration:none}
.ipo-app.ipx-referral-root .ipr a:focus-visible,.ipo-app.ipx-referral-root .ipr button:focus-visible,.ipo-app.ipx-referral-root .ipr summary:focus-visible{outline:2px solid #087a53;outline-offset:3px;border-radius:9px}
.ipo-app.ipx-referral-root .ipr svg{display:block;width:100%;height:100%;flex:none}
.ipo-app.ipx-referral-root .ipr-shell{position:relative;max-width:1040px;width:calc(100% - 74px);margin-left:auto;margin-right:auto}
.ipo-app.ipx-referral-root .ipr-kicker{display:inline-flex;align-items:center;gap:11px;font-size:10.5px;font-weight:700;letter-spacing:1.55px;color:#536482;line-height:1.3;white-space:nowrap}
.ipo-app.ipx-referral-root .ipr-kicker-dash:before{content:"";display:block;width:23px;height:4px;border-radius:5px;background:#00895b;box-shadow:0 1px 2px #0736}
/* HERO */
.ipo-app.ipx-referral-root .ipr-hero{height:477px;min-height:477px;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#fff 3%,#fffdf9 41%,#eaf5ef 73%,#f8fcf8 100%)}
.ipo-app.ipx-referral-root .ipr-hero-photo{position:absolute;z-index:0;inset:0 0 0 auto;width:59.4%;height:100%;overflow:hidden;background:#e7f4e9;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 100%)}
.ipo-app.ipx-referral-root .ipr-hero-house{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;filter:saturate(1.05) brightness(1.035)}
.ipo-app.ipx-referral-root .ipr-hero-couple{position:absolute;z-index:1;bottom:-52px;right:-1%;width:79%;height:104%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 26px #182d2b33)}
.ipo-app.ipx-referral-root .ipr-hero:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff 0%,#fffffff5 30%,#ffffffcf 39%,#ffffff30 54%,transparent 73%)}
.ipo-app.ipx-referral-root .ipr-hero-leaves{position:absolute;z-index:2;left:-70px;top:122px;width:215px;height:365px;object-fit:contain;opacity:.63;pointer-events:none;transform:rotate(-4deg)}
.ipo-app.ipx-referral-root .ipr-hero-layout{height:100%;z-index:3}
.ipo-app.ipx-referral-root .ipr-hero-content{padding-top:49px;width:475px;max-width:52%;position:relative;z-index:3}
.ipo-app.ipx-referral-root .ipr-hero-title{font-size:75px!important;font-weight:700;line-height:1.01;letter-spacing:-3.2px;white-space:nowrap;margin-top:15px!important;color:#06142e!important}
.ipo-app.ipx-referral-root .ipr-hero-title em{font-style:normal;color:#006743;font-weight:700;letter-spacing:-1.5px}
.ipo-app.ipx-referral-root .ipr-hero-intro{font-size:15.2px;line-height:1.47;color:#2b3a58!important;max-width:413px;margin-top:23px!important}
.ipo-app.ipx-referral-root .ipr-actions{display:flex;gap:13px;align-items:center;margin-top:23px}
.ipo-app.ipx-referral-root .ipr-btn{display:inline-flex;gap:13px;align-items:center;justify-content:center;border-radius:11px;padding:0 19px;height:49px;white-space:nowrap;font-size:12.2px;font-weight:700;letter-spacing:-.05px;border:1px solid transparent;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;position:relative;overflow:hidden}
.ipo-app.ipx-referral-root .ipr-btn-primary{background:linear-gradient(110deg,#006b43,#00a366);color:white!important;box-shadow:0 8px 20px #0b815d2b;min-width:240px}
.ipo-app.ipx-referral-root .ipr-btn-primary:before{content:"";pointer-events:none;position:absolute;width:90px;height:150%;background:linear-gradient(90deg,transparent,#ffffff35,transparent);transform:skew(-20deg);left:-120px;top:-20%;transition:left .8s ease}
.ipo-app.ipx-referral-root .ipr-btn-primary:hover:before{left:120%}
.ipo-app.ipx-referral-root .ipr-btn:hover{transform:translateY(-3px);box-shadow:0 14px 27px #0a644123}
.ipo-app.ipx-referral-root .ipr-btn-outline{background:#ffffffef;border:1px solid #c9d5d9;color:#12253d!important;min-width:187px;box-shadow:0 5px 15px #162e3a12}
.ipo-app.ipx-referral-root .ipr-btn-arrow,.ipo-app.ipx-referral-root .ipr-btn-inline-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}
.ipo-app.ipx-referral-root .ipr-btn-arrow{width:18px;height:18px}
.ipo-app.ipx-referral-root .ipr-hero-benefits{display:flex;align-items:center;gap:0;margin-top:25px;max-width:510px}
.ipo-app.ipx-referral-root .ipr-hero-benefit{display:flex;gap:9px;align-items:center;font-size:11px;color:#293b58;line-height:1.35;min-height:41px;padding:0 11px;border-right:1px solid #dfe7e3}
.ipo-app.ipx-referral-root .ipr-hero-benefit:first-child{padding-left:0}
.ipo-app.ipx-referral-root .ipr-hero-benefit:last-child{border-right:none}
.ipo-app.ipx-referral-root .ipr-picto-sm{display:flex;align-items:center;justify-content:center;background:#e4f6eb;color:#006f49;border-radius:50%;width:41px;height:41px;flex:0 0 41px;padding:8px}
.ipo-app.ipx-referral-root .ipr-hero-floats{position:absolute;z-index:4;inset:0 0 0 45%;pointer-events:none}
.ipo-app.ipx-referral-root .ipr-floating-card{position:absolute;display:flex;align-items:center;gap:9px;border:1px solid #ffffffd9;border-radius:17px;background:#fffffff0;box-shadow:0 16px 31px #12372520;backdrop-filter:blur(11px);color:#091831;line-height:1.28;transition:transform .35s ease,box-shadow .35s ease;pointer-events:auto}
.ipo-app.ipx-referral-root .ipr-floating-card:hover{box-shadow:0 25px 44px #12372532;transform:translateY(-6px) rotate(0deg)}
.ipo-app.ipx-referral-root .ipr-floating-sent{top:67px;left:38px;transform:rotate(-8deg);padding:13px 15px;width:214px;min-height:77px}
.ipo-app.ipx-referral-root .ipr-floating-sent img{width:43px;height:43px;border-radius:50%;object-fit:cover;border:2px solid white}
.ipo-app.ipx-referral-root .ipr-floating-sent strong{display:block;font-size:11px;white-space:nowrap}
.ipo-app.ipx-referral-root .ipr-floating-send{display:block;color:#078756;width:26px;height:26px;margin:2px 0 0 5px}
.ipo-app.ipx-referral-root .ipr-flight{position:absolute;top:84px;left:38px;width:340px;height:275px;z-index:-1;overflow:visible}
.ipo-app.ipx-referral-root .ipr-flight path{fill:none;stroke:#0c9568;stroke-width:1.8;stroke-dasharray:5 5}
.ipo-app.ipx-referral-root .ipr-floating-home{left:148px;bottom:28px;width:209px;min-height:165px;display:block;overflow:visible;padding:7px 7px 12px;transform:rotate(-6deg)}
.ipo-app.ipx-referral-root .ipr-floating-home img{height:83px;width:100%;border-radius:12px;object-fit:cover;object-position:center 42%}
.ipo-app.ipx-referral-root .ipr-floating-home>div{position:relative;min-height:46px;padding-left:38px;display:flex;align-items:center;justify-content:center}
.ipo-app.ipx-referral-root .ipr-floating-home strong{font-size:12.6px;line-height:1.21}
.ipo-app.ipx-referral-root .ipr-floating-home-icon{position:absolute;left:-18px;top:-14px;width:56px;height:56px;padding:14px;color:#006743;border-radius:17px;background:#e5f7ed;box-shadow:0 5px 12px #163a2a13}
.ipo-app.ipx-referral-root .ipr-floating-reward{right:-17px;bottom:34px;transform:rotate(5deg);width:185px;min-height:163px;padding:20px 15px 12px;display:flex;flex-direction:column;align-items:flex-start}
.ipo-app.ipx-referral-root .ipr-reward-emblem{display:flex;padding:10px;background:#e5f8ed;color:#00784b;width:50px;height:50px;border-radius:15px}
.ipo-app.ipx-referral-root .ipr-reward-check{position:absolute;top:12px;right:12px;width:28px;height:28px;background:#008d61;border-radius:50%;padding:6px;color:white}
.ipo-app.ipx-referral-root .ipr-floating-reward p{font-size:12px;line-height:1.24;display:flex;flex-direction:column}
.ipo-app.ipx-referral-root .ipr-floating-reward p strong{font-size:13px}
.ipo-app.ipx-referral-root .ipr-hero-wave{position:absolute;z-index:5;bottom:-29px;left:-3%;width:106%;height:53px;background:white;border-radius:50% 50% 0 0 / 85% 85% 0 0;pointer-events:none}
/* THREE STEPS */
.ipo-app.ipx-referral-root .ipr-steps{padding:14px 0 12px;min-height:252px;background:linear-gradient(140deg,#fff 0%,#fbfefc 100%);overflow:hidden}
.ipo-app.ipx-referral-root .ipr-steps:before{content:"";position:absolute;top:20px;left:-140px;width:325px;height:310px;border-radius:50%;background:radial-gradient(circle,#e5f6ec99 0%,#e5f6ec55 47%,transparent 72%);pointer-events:none}
.ipo-app.ipx-referral-root .ipr-section-head{text-align:center}
.ipo-app.ipx-referral-root .ipr-section-head .ipr-kicker{justify-content:center}
.ipo-app.ipx-referral-root .ipr-section-head h2{font-size:38px;font-weight:700;letter-spacing:-1.5px;line-height:1.08;margin-top:7px!important;color:#0b142b!important}
.ipo-app.ipx-referral-root .ipr-section-head h2 em{font-style:normal;color:#007644}
.ipo-app.ipx-referral-root .ipr-section-head p{font-size:12px;color:#384d69;margin-top:5px!important}
.ipo-app.ipx-referral-root .ipr-steps-list{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);gap:11px;align-items:center;margin-top:18px}
.ipo-app.ipx-referral-root .ipr-step-card{position:relative;min-height:134px;border-radius:14px;padding:23px 17px 17px 127px;background:#fff;border:1px solid #edf1f0;box-shadow:0 10px 25px #1931260c;display:flex;align-items:center;transition:transform .24s ease,box-shadow .24s ease}
.ipo-app.ipx-referral-root .ipr-step-card:hover{transform:translateY(-6px);box-shadow:0 17px 38px #0b5a3930}
.ipo-app.ipx-referral-root .ipr-step-num{position:absolute;top:10px;left:15px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#dff5e8;color:#006a42;font-size:13px;font-weight:700}
.ipo-app.ipx-referral-root .ipr-step-icon{position:absolute;top:29px;left:32px;width:77px;height:77px;border-radius:50%;background:linear-gradient(135deg,#edfaf3,#cef0dd);color:#007245;display:grid;place-items:center;padding:18px}
.ipo-app.ipx-referral-root .ipr-step-card h3{font-size:12.6px;font-weight:700;line-height:1.15;letter-spacing:-.1px}
.ipo-app.ipx-referral-root .ipr-step-card p{color:#60718d;font-size:10.7px;line-height:1.43;margin-top:8px!important}
.ipo-app.ipx-referral-root .ipr-step-arrow{width:24px;height:24px;color:#006c43}
/* TRANSPARENCY */
.ipo-app.ipx-referral-root .ipr-transparency{padding:5px 0 8px;background:#fff}
.ipo-app.ipx-referral-root .ipr-trust-banner{min-height:84px;padding:10px 18px 10px 104px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:13px;position:relative;overflow:hidden;border:1px solid #dcf0e3;background:linear-gradient(105deg,#f3faf5,#eaf7ee 75%,#f5fcf7)}
.ipo-app.ipx-referral-root .ipr-trust-banner:before{content:"";position:absolute;width:200px;height:200px;border-radius:48px;background:#d4f0df80;right:-95px;bottom:-155px;transform:rotate(37deg)}
.ipo-app.ipx-referral-root .ipr-trust-icon{position:absolute;left:18px;top:9px;width:69px;height:67px;padding:12px;border-radius:24px;background:#e0f5e9;color:#056c48}
.ipo-app.ipx-referral-root .ipr-trust-banner h2{font-size:17px;font-weight:700;color:#12203e!important;line-height:1.2}
.ipo-app.ipx-referral-root .ipr-trust-banner p{font-size:11.6px;color:#485c75;margin-top:4px!important}
.ipo-app.ipx-referral-root .ipr-trust-link{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:11px;font-weight:700;position:relative;z-index:1;color:#045e46!important}
.ipo-app.ipx-referral-root .ipr-trust-link span{width:18px;height:18px}
/* DASHBOARD */
.ipo-app.ipx-referral-root .ipr-dashboard{padding:4px 0 12px;background:linear-gradient(#fff,#fbfefa)}
.ipo-app.ipx-referral-root .ipr-dashboard-box{background:#fff;border:1px solid #eff2f2;box-shadow:0 16px 32px #142e3a0b;border-radius:17px;padding:15px 12px 15px 20px;display:grid;grid-template-columns:32.8% 1fr;gap:14px;min-height:193px}
.ipo-app.ipx-referral-root .ipr-dashboard-intro{padding:6px 4px 3px 0}
.ipo-app.ipx-referral-root .ipr-dashboard-intro h2{font-size:37px;line-height:1.07;letter-spacing:-1.35px;font-weight:700;color:#0c1430!important;margin-top:12px!important}
.ipo-app.ipx-referral-root .ipr-dashboard-intro p{font-size:12px;color:#495e7b;line-height:1.38;max-width:315px;margin-top:10px!important}
.ipo-app.ipx-referral-root .ipr-dashboard-metrics{display:grid;grid-template-columns:1.13fr 1fr 1fr;gap:9px}
.ipo-app.ipx-referral-root .ipr-metric-card{border:1px solid #e5eaec;border-radius:11px;background:#fff;padding:11px 10px 9px;display:flex;flex-direction:column;min-width:0;transition:transform .23s,box-shadow .23s}
.ipo-app.ipx-referral-root .ipr-metric-card:hover{transform:translateY(-4px);box-shadow:0 14px 27px #102e2920}
.ipo-app.ipx-referral-root .ipr-metric-head{display:flex;align-items:center;gap:8px}
.ipo-app.ipx-referral-root .ipr-metric-icon{width:45px;height:45px;border-radius:50%;padding:11px;display:grid;place-items:center;background:#e8f6ed;color:#00774b;flex:0 0 45px}
.ipo-app.ipx-referral-root .ipr-metric-head strong{font-size:10.6px;font-weight:700;white-space:nowrap;letter-spacing:-.1px}
.ipo-app.ipx-referral-root .ipr-metric-number{font-size:43px;letter-spacing:-1px;line-height:1;font-weight:700;text-align:center;color:#081632;padding:10px 0 0}
.ipo-app.ipx-referral-root .ipr-metric-card>p{font-size:10.5px;color:#526581;text-align:center;margin-top:auto!important;padding-bottom:4px}
.ipo-app.ipx-referral-root .ipr-copy-line{display:flex;align-items:center;justify-content:space-between;gap:4px;border-radius:9px;background:#f1f3f7;border:1px solid #e5e9ee;height:37px;margin:10px 0 7px;padding:0 7px 0 9px;min-width:0}
.ipo-app.ipx-referral-root .ipr-copy-value{font-size:9.8px;color:#34476d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ipo-app.ipx-referral-root .ipr-copy-button{appearance:none;cursor:pointer;border:0;background:transparent;color:#1b345b;width:27px;height:27px;padding:5px;flex:0 0 27px}
.ipo-app.ipx-referral-root .ipr-copy-button:hover{color:#008c56;background:#d8eee2;border-radius:7px}
.ipo-app.ipx-referral-root .ipr-copy-message{font-size:10px;color:#007245;min-height:0}
/* FAQ */
.ipo-app.ipx-referral-root .ipr-faq{min-height:313px;background:linear-gradient(90deg,#fff7ee 0%,#fffdf9 23%,#f8f2e7 54%,#f7faf6 100%);overflow:hidden;padding:25px 0 25px}
.ipo-app.ipx-referral-root .ipr-faq-photo{position:absolute;z-index:0;inset:0 auto 0 28%;width:43%;height:100%;object-fit:cover;object-position:52% center;mask-image:linear-gradient(90deg,transparent,#000 23%,#000 70%,transparent)}
.ipo-app.ipx-referral-root .ipr-faq-leaves{position:absolute;left:-60px;bottom:-65px;width:187px;height:285px;object-fit:contain;opacity:.62;pointer-events:none}
.ipo-app.ipx-referral-root .ipr-faq-grid{z-index:1;display:grid;grid-template-columns:36% 1fr;gap:15%;align-items:start}
.ipo-app.ipx-referral-root .ipr-faq-intro{padding-left:7px}
.ipo-app.ipx-referral-root .ipr-faq-intro h2{font-size:39px;line-height:1.04;letter-spacing:-1.3px;font-weight:700;color:#09162e!important;margin-top:15px!important}
.ipo-app.ipx-referral-root .ipr-faq-intro>p{max-width:268px;color:#314360;font-size:11.4px;margin-top:10px!important;line-height:1.46}
.ipo-app.ipx-referral-root .ipr-faq-help{display:flex;align-items:center;gap:10px;padding:11px 11px;background:linear-gradient(110deg,#edf7f0,#e0f0e6);border:1px solid #e0f0e6;border-radius:13px;width:270px;max-width:100%;margin-top:14px;transition:transform .25s,box-shadow .25s}
.ipo-app.ipx-referral-root .ipr-faq-help:hover{transform:translateX(4px);box-shadow:0 7px 19px #217c4630}
.ipo-app.ipx-referral-root .ipr-help-icon{width:39px;height:39px;color:#007e50;flex:0 0 39px;padding:4px}
.ipo-app.ipx-referral-root .ipr-faq-help strong,.ipo-app.ipx-referral-root .ipr-faq-help small{display:block;font-size:10px;line-height:1.33;font-weight:600}
.ipo-app.ipx-referral-root .ipr-faq-help small{font-weight:500}
.ipo-app.ipx-referral-root .ipr-help-arrow{width:16px;height:16px;margin-left:auto}
.ipo-app.ipx-referral-root .ipr-faq-list{display:flex;flex-direction:column;gap:6px;min-width:0}
.ipo-app.ipx-referral-root .ipr-faq-item{display:block;min-width:0;border:1px solid #e8e9e9;border-radius:11px;background:#fffffff5;box-shadow:0 5px 17px #1b304214;transition:background .2s,box-shadow .2s}
.ipo-app.ipx-referral-root .ipr-faq-item:hover{box-shadow:0 8px 20px #1b304229}
.ipo-app.ipx-referral-root .ipr-faq-item summary{display:flex;align-items:center;gap:13px;min-height:39px;padding:4px 13px;color:#1a2d4a;font-size:10.6px;font-weight:600;cursor:pointer;list-style:none}
.ipo-app.ipx-referral-root .ipr-faq-item summary::-webkit-details-marker{display:none}
.ipo-app.ipx-referral-root .ipr-faq-item-icon{width:21px;height:21px;color:#008350;flex:0 0 21px}
.ipo-app.ipx-referral-root .ipr-chevron{margin-left:auto;width:13px;height:13px;color:#233a59;transition:transform .2s ease}
.ipo-app.ipx-referral-root .ipr-faq-item[open] .ipr-chevron{transform:rotate(180deg)}
.ipo-app.ipx-referral-root .ipr-faq-answer{border-top:1px solid #edf3f1;color:#4a5971;font-size:11px;line-height:1.6;padding:10px 14px 15px 47px}
.ipo-app.ipx-referral-root .ipr-faq-answer p{margin:0!important;color:inherit!important}
/* Motion: tasteful, without hiding content when observers fail. */
@media (hover:hover) and (pointer:fine){.ipo-app.ipx-referral-root .ipr-step-card,.ipo-app.ipx-referral-root .ipr-metric-card{will-change:transform}}
@media (prefers-reduced-motion:no-preference){.ipo-app.ipx-referral-root .ipr-reveal.ipr-enter{animation:ipr-reveal .65s both cubic-bezier(.18,.7,.15,1)}.ipo-app.ipx-referral-root .ipr-floating-sent{animation:ipr-float-one 6s ease-in-out infinite}.ipo-app.ipx-referral-root .ipr-floating-reward{animation:ipr-float-two 7s ease-in-out infinite}}
@keyframes ipr-reveal{from{opacity:.6;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes ipr-float-one{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-7deg) translateY(-7px)}}
@keyframes ipr-float-two{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(4deg) translateY(-7px)}}
/* v5.0.4: removed 1450px widescreen inflation; shared 1122px artboard scales consistently. */
@media (max-width:990px){.ipo-app.ipx-referral-root .ipr-shell{width:calc(100% - 50px)}.ipo-app.ipx-referral-root .ipr-hero{height:500px}.ipo-app.ipx-referral-root .ipr-hero-content{max-width:60%;width:440px}.ipo-app.ipx-referral-root .ipr-hero-title{font-size:55px!important}.ipo-app.ipx-referral-root .ipr-hero-intro{font-size:13px}.ipo-app.ipx-referral-root .ipr-hero-photo{width:60%}.ipo-app.ipx-referral-root .ipr-hero-benefits{flex-wrap:wrap}.ipo-app.ipx-referral-root .ipr-hero-benefit{padding:0 7px}.ipo-app.ipx-referral-root .ipr-floating-sent{left:14px;width:190px}.ipo-app.ipx-referral-root .ipr-floating-home{left:70px;bottom:29px}.ipo-app.ipx-referral-root .ipr-floating-reward{right:-22px;bottom:19px;width:151px;padding:13px}.ipo-app.ipx-referral-root .ipr-steps-list{gap:6px;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr)}.ipo-app.ipx-referral-root .ipr-step-card{padding:100px 12px 13px;min-height:205px;text-align:center}.ipo-app.ipx-referral-root .ipr-step-icon{left:calc(50% - 38px);top:23px}.ipo-app.ipx-referral-root .ipr-dashboard-box{grid-template-columns:1fr}.ipo-app.ipx-referral-root .ipo-app.ipx-referral-root .ipr-dashboard-intro h2{font-size:30px}.ipo-app.ipx-referral-root .ipr-metric-card{min-height:150px}.ipo-app.ipx-referral-root .ipr-dashboard{padding-bottom:15px}.ipo-app.ipx-referral-root .ipr-faq-grid{grid-template-columns:34% 1fr;gap:8%}}
@media (max-width:620px){.ipo-app.ipx-referral-root .ipr-shell{width:calc(100% - 32px)}.ipo-app.ipx-referral-root .ipr-hero{height:860px;min-height:860px}.ipo-app.ipx-referral-root .ipr-hero-photo{top:400px;right:0;width:100%;height:450px;mask-image:linear-gradient(180deg,transparent 0,#000 15%,#000 100%)}.ipo-app.ipx-referral-root .ipr-hero-house{object-position:55% 50%}.ipo-app.ipx-referral-root .ipr-hero-couple{bottom:-10px;right:0;width:83%;height:93%}.ipo-app.ipx-referral-root .ipr-hero:after{background:linear-gradient(180deg,#fff 0%,#fff 42%,#ffffffe0 51%,transparent 71%)}.ipo-app.ipx-referral-root .ipr-hero-leaves{top:210px;left:-98px;width:182px;height:286px}.ipo-app.ipx-referral-root .ipr-hero-content{width:100%;max-width:none;padding-top:34px}.ipo-app.ipx-referral-root .ipr-hero-title{font-size:50px!important;letter-spacing:-2.7px;white-space:normal;margin-top:13px!important}.ipo-app.ipx-referral-root .ipr-hero-intro{font-size:13px;max-width:370px;margin-top:13px!important}.ipo-app.ipx-referral-root .ipr-actions{gap:8px;flex-wrap:wrap;margin-top:15px}.ipo-app.ipx-referral-root .ipr-btn{height:45px;font-size:11.4px}.ipo-app.ipx-referral-root .ipr-btn-primary{min-width:200px}.ipo-app.ipx-referral-root .ipr-btn-outline{min-width:140px}.ipo-app.ipx-referral-root .ipr-hero-benefits{margin-top:18px;gap:6px 0}.ipo-app.ipx-referral-root .ipr-hero-benefit{min-height:34px;font-size:9.4px;gap:4px;padding:0 6px}.ipo-app.ipx-referral-root .ipr-hero-benefit .ipr-picto-sm{height:31px;width:31px;flex-basis:31px;padding:7px}.ipo-app.ipx-referral-root .ipr-hero-floats{inset:400px 0 0 0}.ipo-app.ipx-referral-root .ipr-floating-sent{top:20px;left:6px;width:176px;min-height:62px;padding:7px 10px}.ipo-app.ipx-referral-root .ipr-floating-sent img{width:34px;height:34px}.ipo-app.ipx-referral-root .ipr-floating-sent strong{font-size:9.5px}.ipo-app.ipx-referral-root .ipr-floating-home{bottom:25px;left:12px;width:180px;min-height:133px}.ipo-app.ipx-referral-root .ipr-floating-home img{height:70px}.ipo-app.ipx-referral-root .ipr-floating-home strong{font-size:11px}.ipo-app.ipx-referral-root .ipr-floating-reward{bottom:19px;right:2px;width:135px;min-height:136px}.ipo-app.ipx-referral-root .ipr-floating-reward p,.ipo-app.ipx-referral-root .ipr-floating-reward p strong{font-size:10px}.ipo-app.ipx-referral-root .ipr-reward-emblem{width:38px;height:38px;padding:8px}.ipo-app.ipx-referral-root .ipr-flight{left:10px;top:60px;width:240px;height:240px}.ipo-app.ipx-referral-root .ipr-steps{padding:26px 0 18px}.ipo-app.ipx-referral-root .ipr-section-head h2{font-size:29px}.ipo-app.ipx-referral-root .ipr-section-head p{font-size:11.5px}.ipo-app.ipx-referral-root .ipr-steps-list{display:flex;flex-direction:column;gap:10px;margin-top:22px}.ipo-app.ipx-referral-root .ipr-step-card{width:100%;min-height:117px;text-align:left;padding:20px 15px 19px 119px}.ipo-app.ipx-referral-root .ipr-step-icon{width:70px;height:70px;top:25px;left:30px}.ipo-app.ipx-referral-root .ipr-step-arrow{transform:rotate(90deg);margin:0 auto}.ipo-app.ipx-referral-root .ipr-trust-banner{padding:81px 15px 17px;display:block;text-align:center}.ipo-app.ipx-referral-root .ipr-trust-icon{left:calc(50% - 35px);top:10px}.ipo-app.ipx-referral-root .ipr-trust-link{justify-content:center;margin-top:12px}.ipo-app.ipx-referral-root .ipr-dashboard-box{padding:15px;gap:10px}.ipo-app.ipx-referral-root .ipr-dashboard-intro h2{font-size:32px}.ipo-app.ipx-referral-root .ipr-dashboard-metrics{display:grid;grid-template-columns:1fr;gap:9px}.ipo-app.ipx-referral-root .ipr-metric-card{min-height:135px}.ipo-app.ipx-referral-root .ipr-metric-head strong{font-size:12px}.ipo-app.ipx-referral-root .ipr-faq{padding:26px 0 30px}.ipo-app.ipx-referral-root .ipr-faq-photo{top:60px;left:24%;width:100%;height:305px;opacity:.6;mask-image:linear-gradient(90deg,transparent,#000 40%,transparent)}.ipo-app.ipx-referral-root .ipr-faq-grid{display:flex;flex-direction:column;gap:23px}.ipo-app.ipx-referral-root .ipr-faq-intro{min-height:250px}.ipo-app.ipx-referral-root .ipr-faq-intro h2{font-size:39px}.ipo-app.ipx-referral-root .ipr-faq-list{width:100%}.ipo-app.ipx-referral-root .ipr-faq-item summary{font-size:11px;min-height:48px;padding:8px 12px}}
@media (max-width:400px){.ipo-app.ipx-referral-root .ipr-hero{height:905px;min-height:905px}.ipo-app.ipx-referral-root .ipr-btn-primary{min-width:100%;width:100%}.ipo-app.ipx-referral-root .ipr-btn-outline{min-width:100%;width:100%}.ipo-app.ipx-referral-root .ipr-hero-photo{top:475px;height:430px}.ipo-app.ipx-referral-root .ipr-hero-floats{top:475px}.ipo-app.ipx-referral-root .ipr-hero-benefits{gap:2px}.ipo-app.ipx-referral-root .ipr-hero-benefit{width:33.333%;font-size:9px;line-height:1.3;align-items:flex-start}.ipo-app.ipx-referral-root .ipr-hero-benefit .ipr-picto-sm{margin-top:2px;width:26px;height:26px;flex-basis:26px;padding:6px}}
@media (prefers-reduced-motion:reduce){.ipo-app.ipx-referral-root .ipr *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Mobile readability, without affecting the shared homepage header/footer. */
@media(max-width:620px){.ipo-app.ipx-referral-root .ipr-step-card h3{font-size:15px}.ipo-app.ipx-referral-root .ipr-step-card p{font-size:12.7px}.ipo-app.ipx-referral-root .ipr-faq-item summary{font-size:12.5px}.ipo-app.ipx-referral-root .ipr-faq-intro>p,.ipo-app.ipx-referral-root .ipr-metric-card>p{font-size:12.4px}.ipo-app.ipx-referral-root .ipr-dashboard-intro p,.ipo-app.ipx-referral-root .ipr-hero-intro{font-size:13.7px}.ipo-app.ipx-referral-root .ipr-copy-value{font-size:11.3px}}


/* Source: ipoteco-resources-v3710.css (unchanged CSS; original order preserved) */
/* IpoTeco v3.7.10 — Resurse. Strictly scoped to the seven Elementor widgets.
   Canvas layout intentionally inherits the LIVE homepage's header/footer. */
:root{--iprs-navy:#101d35;--iprs-green:#007c4c;--iprs-mint:#e8f5ee;--iprs-slate:#65718a}
body .elementor .ipx-resources-page.e-con,body .elementor .ipx-resources-page.e-con>.e-con-inner{--content-width:100%!important;max-width:100%!important;width:100%!important;--width:100%!important;padding:0!important;gap:0!important;--flex-direction:column!important;min-width:0!important}
body .elementor .ipx-resources-page>[class*="elementor-widget-ipx_"],body .elementor .ipx-resources-page>.e-con-inner>[class*="elementor-widget-ipx_"]{width:100%!important;max-width:none!important;margin:0!important;--container-widget-width:100%!important;flex-shrink:0!important}
body .elementor .ipx-resources-page [class*="elementor-widget-ipx_resources"]>.elementor-widget-container{padding:0!important;margin:0!important;width:100%!important}
.ipo-app.ipo-con.ipx-resources-root{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-width:0!important;overflow:visible!important;background:transparent!important}
.ipo-app.ipx-resources-root .iprs,.ipo-app.ipx-resources-root .iprs *{box-sizing:border-box}
.ipo-app.ipx-resources-root .iprs{--r-dark:#101a33;--r-green:#007d51;--r-muted:#65718c;position:relative;isolation:isolate;width:100%;color:var(--r-dark);font-family:"Lora",Georgia,serif;font-size:13px;line-height:1.45;background:transparent}
.ipo-app.ipx-resources-root .iprs h1,.ipo-app.ipx-resources-root .iprs h2,.ipo-app.ipx-resources-root .iprs h3,.ipo-app.ipx-resources-root .iprs p{padding:0;margin:0;letter-spacing:normal}
.ipo-app.ipx-resources-root .iprs h1,.ipo-app.ipx-resources-root .iprs h2,.ipo-app.ipx-resources-root .iprs h3{font-family:"Lora",Georgia,"Times New Roman",serif;color:#0e1932}
.ipo-app.ipx-resources-root .iprs h2{font-size:22px;line-height:1.08;font-weight:750;letter-spacing:-.62px}
.ipo-app.ipx-resources-root .iprs h3{font-size:15px;line-height:1.12;font-weight:750}
.ipo-app.ipx-resources-root .iprs a{color:inherit;text-decoration:none}
.ipo-app.ipx-resources-root .iprs a:focus-visible,.ipo-app.ipx-resources-root .iprs button:focus-visible,.ipo-app.ipx-resources-root .iprs input:focus-visible,.ipo-app.ipx-resources-root .iprs summary:focus-visible{outline:2px solid var(--r-green);outline-offset:3px}
.ipo-app.ipx-resources-root .iprs svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%}
.ipo-app.ipx-resources-root .iprs svg path,.ipo-app.ipx-resources-root .iprs svg circle,.ipo-app.ipx-resources-root .iprs svg rect,.ipo-app.ipx-resources-root .iprs svg ellipse{vector-effect:non-scaling-stroke}
.ipo-app.ipx-resources-root .iprs button,.ipo-app.ipx-resources-root .iprs input{font:inherit}
.ipo-app.ipx-resources-root .iprs-wrap{position:relative;width:min(958px,calc(100% - 66px));margin-inline:auto;z-index:1}
.ipo-app.ipx-resources-root .iprs-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ipo-app.ipx-resources-root .iprs-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px}
.ipo-app.ipx-resources-root .iprs-section-heading p{color:#6f7d96;font-size:11px;margin-top:2px;line-height:1.24}
.ipo-app.ipx-resources-root .iprs-text-link{display:inline-flex;align-items:center;gap:10px;color:#00784d!important;font-size:11px;font-weight:650;white-space:nowrap;margin-bottom:2px;transition:gap .22s ease}
.ipo-app.ipx-resources-root .iprs-text-link svg{width:16px;height:16px;flex:none}
.ipo-app.ipx-resources-root .iprs-text-link:hover{gap:15px}

/* hero */
.ipo-app.ipx-resources-root .iprs-hero{height:312px;min-height:312px;overflow:hidden;background:linear-gradient(125deg,#fff 18%,#f8fcfb 40%,#eaf5f5 86%)}
.ipo-app.ipx-resources-root .iprs-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 77% 8%,#cde2e0a8 0,transparent 31%),radial-gradient(ellipse at 100% 82%,#d5e8e9 0,transparent 36%),linear-gradient(96deg,#fff 12%,#fcfefe 41%,#e8f2f3 100%);z-index:-3}
.ipo-app.ipx-resources-root .iprs-orbit{position:absolute;pointer-events:none;border-radius:50%;z-index:-2;transform:rotate(-16deg)}
.ipo-app.ipx-resources-root .iprs-orbit-outer{width:540px;height:420px;top:-120px;right:72px;border:50px solid #ffffff7d;box-shadow:inset 0 0 24px #a5b5b327,0 0 19px #a0b1b414;background:linear-gradient(145deg,#c3d9d155,#ffffff11)}
.ipo-app.ipx-resources-root .iprs-orbit-inner{width:350px;height:315px;top:8px;right:140px;border:24px solid #ffffffa9;box-shadow:0 0 0 2px #d1d8d9b7,inset 0 0 0 2px #ffffff}
.ipo-app.ipx-resources-root .iprs-hero-villa{position:absolute;width:56%;max-width:705px;min-width:490px;right:-18px;bottom:-7px;height:290px;z-index:-1;mask-image:linear-gradient(90deg,transparent 0,#000 17%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 17%,#000 100%)}
.ipo-app.ipx-resources-root .iprs-hero-villa img{width:100%;height:100%;object-fit:cover;object-position:54% 53%;filter:saturate(.90) brightness(1.06)}
.ipo-app.ipx-resources-root .iprs-hero-villa:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fafffc6f 0,transparent 33%),linear-gradient(0deg,#eff8f493,transparent 28%)}
.ipo-app.ipx-resources-root .iprs-hero-plants{position:absolute;left:-63px;bottom:3px;width:160px;height:240px;z-index:0;opacity:.77;pointer-events:none;mask-image:linear-gradient(90deg,#000 45%,transparent 100%)}
.ipo-app.ipx-resources-root .iprs-hero-plants img{height:100%;width:100%;object-fit:cover;object-position:left center}
.ipo-app.ipx-resources-root .iprs-hero-content{width:min(866px,calc(100% - 90px));padding:14px 0 0;z-index:2}
.ipo-app.ipx-resources-root .iprs-hero-main{width:444px;max-width:49%}
.ipo-app.ipx-resources-root .iprs-eyebrow{font-size:9px;letter-spacing:3px;color:#008650;font-weight:800;margin-bottom:7px}
.ipo-app.ipx-resources-root .iprs-hero h1{font-size:47px;line-height:.94;letter-spacing:-2.15px;font-weight:800;margin:0 0 9px!important;max-width:480px}
.ipo-app.ipx-resources-root .iprs-hero .iprs-lead{font-size:12px;line-height:1.36;color:#6b7991;max-width:400px;margin-bottom:12px}
.ipo-app.ipx-resources-root .iprs-search{display:flex;align-items:center;width:428px;max-width:100%;height:42px;border:1px solid #dce4e7;border-radius:14px;box-shadow:0 6px 20px #183b3b17;background:#ffffffeb;padding:4px 5px 4px 16px;transition:box-shadow .2s,border-color .2s}
.ipo-app.ipx-resources-root .iprs-search:focus-within{border-color:#78bda1;box-shadow:0 8px 27px #138c6d22}
.ipo-app.ipx-resources-root .iprs-search-icon{width:19px;height:19px;color:#10243c;flex:0 0 19px}
.ipo-app.ipx-resources-root .iprs-search input{outline:none!important;border:0!important;box-shadow:none!important;min-width:0;flex:1;background:transparent!important;padding:0 13px!important;margin:0!important;height:100%;font-size:11.6px;color:var(--r-dark)}
.ipo-app.ipx-resources-root .iprs-search input::placeholder{color:#8493ab;opacity:1}
.ipo-app.ipx-resources-root .iprs-search button{cursor:pointer;display:grid;place-items:center;border:0;border-radius:999px;height:34px;width:47px;flex:0 0 47px;background:linear-gradient(132deg,#008651,#006941);color:#fff;box-shadow:0 4px 11px #007c4b43;transition:transform .2s,box-shadow .2s}
.ipo-app.ipx-resources-root .iprs-search button svg{width:17px;height:17px}
.ipo-app.ipx-resources-root .iprs-search button:hover{transform:translateX(1px) scale(1.04);box-shadow:0 6px 15px #007c4b59}
.ipo-app.ipx-resources-root .iprs-topics{display:flex;align-items:center;gap:8px;margin-top:11px;width:520px;max-width:110%;font-size:9.2px;color:#566b85}
.ipo-app.ipx-resources-root .iprs-pills{display:flex;flex-wrap:wrap;gap:5px}
.ipo-app.ipx-resources-root .iprs-pills a{color:#74839c!important;background:#ffffffdb;border:1px solid #edf0f3;border-radius:22px;padding:5px 9px;font-size:9px;line-height:1;box-shadow:0 1px 5px #28413d0d;transition:background .22s,color .22s,transform .22s}
.ipo-app.ipx-resources-root .iprs-pills a:hover{background:#e6f4ec;color:#00794c!important;transform:translateY(-2px)}
.ipo-app.ipx-resources-root .iprs-villa-note{position:absolute;right:-52px;top:2px;font-family:"Brush Script MT","Segoe Script",cursive;color:#243b4f;font-style:italic;font-size:15px;transform:rotate(-6deg);line-height:1.25;text-align:center;text-shadow:0 2px 10px white}
.ipo-app.ipx-resources-root .iprs-note-stroke{display:block;width:38px;border-bottom:2px solid #00824d;transform:rotate(-14deg);margin:4px auto 0}
.ipo-app.ipx-resources-root .iprs-glass{position:absolute;right:3px;top:83px;width:99px;height:141px;border:1px solid #ffffffdd;border-radius:9px;background:linear-gradient(135deg,#ffffffd4,#d8efe9a1);box-shadow:0 8px 29px #223b4733,inset 0 1px 2px #fff;font-family:Georgia,serif;font-size:11px;line-height:1.23;color:#182b32;padding:33px 12px 10px;transform:rotate(2deg);backdrop-filter:blur(7px)}
.ipo-app.ipx-resources-root .iprs-glass span{display:block;width:32px;border-bottom:2px solid #00794d;margin-top:12px}
.ipo-app.ipx-resources-root .iprs-hero-wave{position:absolute;left:-6%;bottom:-26px;width:112%;height:48px;border-radius:48% 56% 0 0;background:white;transform:rotate(1deg)}
/* categories */
.ipo-app.ipx-resources-root .iprs-categories{padding:13px 0 10px;background:linear-gradient(161deg,#ffffff,#fbfdfc)}
.ipo-app.ipx-resources-root .iprs-category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ipo-app.ipx-resources-root .iprs-category-card{position:relative;overflow:hidden;display:flex;align-items:flex-start;flex-direction:column;height:166px;min-width:0;border:1px solid #edf0ef;border-radius:12px;background:linear-gradient(140deg,#fff 0,#fff 68%,#f8fbf9 100%);box-shadow:0 8px 18px #152c3410;padding:12px 12px 10px;transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s,border-color .24s}
.ipo-app.ipx-resources-root .iprs-category-card:before{content:"";position:absolute;right:-30px;top:-44px;width:110px;height:93px;border-radius:50%;background:linear-gradient(125deg,#ecf6f182,#ffffff);transform:rotate(-29deg)}
.ipo-app.ipx-resources-root .iprs-category-card:hover{transform:translateY(-5px);border-color:#b4dcc9;box-shadow:0 15px 32px #004c3323}
.ipo-app.ipx-resources-root .iprs-icon-disc{position:relative;display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:radial-gradient(circle at 60% 20%,#fff,#e6f4ec);color:#07684a;margin-bottom:8px}
.ipo-app.ipx-resources-root .iprs-icon-disc svg{width:29px;height:29px}
.ipo-app.ipx-resources-root .iprs-category-card h3{position:relative;font-size:13.1px!important;line-height:1.19!important;letter-spacing:-.25px}
.ipo-app.ipx-resources-root .iprs-category-card p{position:relative;font-size:10.4px;color:#77839b;line-height:1.33;margin-top:6px;padding-bottom:18px}
.ipo-app.ipx-resources-root .iprs-mini-arrow{position:absolute;right:9px;bottom:8px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#e8f5ec;color:#006d46;transition:background .24s,color .24s,transform .24s}
.ipo-app.ipx-resources-root .iprs-mini-arrow svg{width:17px;height:17px}
.ipo-app.ipx-resources-root a:hover>.iprs-mini-arrow,.ipo-app.ipx-resources-root .iprs-article-card:hover .iprs-mini-arrow{background:#007e4f;color:#fff;transform:translateX(2px)}
/* articles */
.ipo-app.ipx-resources-root .iprs-articles{padding:9px 0 10px;background:#fbfcfb}
.ipo-app.ipx-resources-root .iprs-articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ipo-app.ipx-resources-root .iprs-article-card{position:relative;overflow:hidden;min-width:0;min-height:223px;border:1px solid #edf0ee;border-radius:10px;background:#fff;box-shadow:0 7px 16px #142a3610;transition:transform .22s ease,box-shadow .22s ease}
.ipo-app.ipx-resources-root .iprs-article-card:hover{transform:translateY(-4px);box-shadow:0 13px 26px #13432d1d}
.ipo-app.ipx-resources-root .iprs-article-visual{display:block;width:100%;height:104px;overflow:hidden}
.ipo-app.ipx-resources-root .iprs-article-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.93);transition:transform .4s ease}
.ipo-app.ipx-resources-root .iprs-article-card:hover .iprs-article-visual img{transform:scale(1.045)}
.ipo-app.ipx-resources-root .iprs-article-tag{position:absolute;top:90px;left:14px;border-radius:15px;padding:4px 12px;color:#00744c;background:#eaf7ef;box-shadow:0 2px 6px #093c341c;font-weight:700;font-size:9px;line-height:1;z-index:1}
.ipo-app.ipx-resources-root .iprs-article-body{padding:13px 14px 10px;display:flex;flex-direction:column;min-height:119px}
.ipo-app.ipx-resources-root .iprs-article-body h3{font-size:16px!important;line-height:1.08!important;letter-spacing:-.46px;min-height:34px}
.ipo-app.ipx-resources-root .iprs-article-body h3 a:hover{color:#00744d}
.ipo-app.ipx-resources-root .iprs-article-body>p{font-size:10.3px;line-height:1.27;color:#75839b;margin-top:5px;min-height:27px}
.ipo-app.ipx-resources-root .iprs-article-meta{display:flex;align-items:center;gap:14px;position:relative;font-size:10px;color:#8090a9;margin-top:auto;min-height:27px;padding-top:7px;padding-right:29px}
.ipo-app.ipx-resources-root .iprs-article-meta>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.ipo-app.ipx-resources-root .iprs-article-meta>span svg{width:14px;height:14px;color:#788ba7}
.ipo-app.ipx-resources-root .iprs-article-meta .iprs-mini-arrow{right:-2px;bottom:-2px}
/* tools */
.ipo-app.ipx-resources-root .iprs-tools{padding:9px 0 10px;background:#fff}
.ipo-app.ipx-resources-root .iprs-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ipo-app.ipx-resources-root .iprs-tool-card{position:relative;display:flex;min-width:0;align-items:center;height:71px;overflow:hidden;border:1px solid #e8eae8;border-radius:12px;background:linear-gradient(105deg,#fff,#f9fcf9);box-shadow:0 7px 16px #152d3012;transition:transform .2s,box-shadow .2s}
.ipo-app.ipx-resources-root .iprs-tool-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #143c3124}
.ipo-app.ipx-resources-root .iprs-tool-visual{height:100%;width:78px;flex:0 0 78px;display:grid;place-items:center;color:#006d47;background:linear-gradient(130deg,#dae9de,#fbfbf7 74%);border-right:1px solid #e9f1eb}
.ipo-app.ipx-resources-root .iprs-tool-visual-2{background:linear-gradient(132deg,#eee5d7,#fbfbf7 80%)}
.ipo-app.ipx-resources-root .iprs-tool-visual-3{background:linear-gradient(132deg,#d6e9db,#fff 80%)}
.ipo-app.ipx-resources-root .iprs-tool-visual svg{width:37px;height:37px;filter:drop-shadow(0 2px 5px #0075431c)}
.ipo-app.ipx-resources-root .iprs-tool-copy{display:flex;flex-direction:column;padding:0 27px 0 12px;min-width:0;gap:2px}
.ipo-app.ipx-resources-root .iprs-tool-copy strong{font-size:12px;color:#142039;line-height:1.08}
.ipo-app.ipx-resources-root .iprs-tool-copy small{font-size:9.4px;color:#74829a;line-height:1.21}
.ipo-app.ipx-resources-root .iprs-tool-card .iprs-mini-arrow{width:28px;height:28px;right:5px;bottom:5px;background:#e2f3e9}
/* disclaimer */
.ipo-app.ipx-resources-root .iprs-disclaimer{padding:0 0 10px;background:#fff}
.ipo-app.ipx-resources-root .iprs-notice{display:flex;align-items:center;min-height:48px;gap:16px;padding:8px 17px;border-radius:12px;background:linear-gradient(108deg,#e4f4e9,#eef8f2);color:#213344}
.ipo-app.ipx-resources-root .iprs-notice-icon{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;color:#fff;background:#008651}
.ipo-app.ipx-resources-root .iprs-notice-icon svg{width:20px;height:20px}
.ipo-app.ipx-resources-root .iprs-notice p{font-size:10.1px;line-height:1.22;color:#293f4c}
.ipo-app.ipx-resources-root .iprs-notice small{font-size:9.7px;color:#718995;line-height:1.2;display:block;margin-top:1px}
/* FAQ */
.ipo-app.ipx-resources-root .iprs-faq{padding:1px 0 10px;background:#fff}
.ipo-app.ipx-resources-root .iprs-faq .iprs-section-heading{margin-bottom:8px}
.ipo-app.ipx-resources-root .iprs-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;align-items:start}
.ipo-app.ipx-resources-root .iprs-question{display:block;min-width:0;border-radius:9px;border:1px solid #edf0f1;background:#fff;box-shadow:0 5px 13px #122d2e11;transition:box-shadow .2s,border-color .2s}
.ipo-app.ipx-resources-root .iprs-question:hover{border-color:#d3e6da;box-shadow:0 7px 16px #143b2e17}
.ipo-app.ipx-resources-root .iprs-question>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:10px;list-style:none;padding:7px 9px 7px 16px;min-height:31px;color:#273c57;font-size:11px;line-height:1.25;font-weight:500}
.ipo-app.ipx-resources-root .iprs-question>summary::-webkit-details-marker{display:none}
.ipo-app.ipx-resources-root .iprs-question-icon{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#f1f5f7;color:#203753;transition:transform .2s}
.ipo-app.ipx-resources-root .iprs-question-icon svg{width:12px;height:12px}
.ipo-app.ipx-resources-root .iprs-question[open] .iprs-question-icon{transform:rotate(45deg);background:#e8f5ed;color:#007447}
.ipo-app.ipx-resources-root .iprs-answer{font-size:11px;color:#66768d;line-height:1.5;border-top:1px solid #edf2ef;padding:9px 15px 12px}
.ipo-app.ipx-resources-root .iprs-answer p{color:inherit;font-size:inherit;line-height:inherit}
/* contact */
.ipo-app.ipx-resources-root .iprs-contact{width:min(1058px,calc(100% - 62px));margin:0 auto 0;min-height:120px;overflow:hidden;border-radius:14px;background:linear-gradient(100deg,#f7faf8,#ffffff 53%,#e7f3ee);box-shadow:0 7px 25px #152c2c10}
.ipo-app.ipx-resources-root .iprs-contact-photo{position:absolute;inset:0 0 0 39%;z-index:-2}
.ipo-app.ipx-resources-root .iprs-contact-photo img{width:100%;height:100%;object-fit:cover;object-position:49% 60%;filter:brightness(1.1) saturate(.78)}
.ipo-app.ipx-resources-root .iprs-contact:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fcfefb 0,#fcfefb 34%,#fffefaeb 47%,transparent 68%,#ffffff3c)}
.ipo-app.ipx-resources-root .iprs-contact-inner{display:flex;align-items:flex-start;min-height:120px;padding:15px 50px;position:relative;gap:25px}
.ipo-app.ipx-resources-root .iprs-contact-copy{width:310px;flex:0 0 310px}
.ipo-app.ipx-resources-root .iprs-contact h2{font-size:22px;line-height:1.1;letter-spacing:-.75px}
.ipo-app.ipx-resources-root .iprs-contact p{font-size:10.8px;color:#6d7c93;line-height:1.3;margin-top:4px}
.ipo-app.ipx-resources-root .iprs-contact-benefits{position:absolute;left:49px;bottom:12px;display:flex;gap:22px;align-items:center;white-space:nowrap}
.ipo-app.ipx-resources-root .iprs-contact-benefits span{display:inline-flex;align-items:center;gap:6px;font-size:9.1px;color:#72819b}
.ipo-app.ipx-resources-root .iprs-contact-benefits svg{width:18px;height:18px;color:#087e53}
.ipo-app.ipx-resources-root .iprs-contact-button{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:0 17px;margin-top:13px;border-radius:22px;background:linear-gradient(120deg,#00925b,#007144);color:#fff!important;min-width:143px;min-height:31px;font-size:10px;font-weight:650;box-shadow:0 5px 12px #006f4340;white-space:nowrap;transition:transform .22s,box-shadow .22s}
.ipo-app.ipx-resources-root .iprs-contact-button svg{width:16px;height:16px}
.ipo-app.ipx-resources-root .iprs-contact-button:hover{transform:translateY(-2px);box-shadow:0 8px 17px #006e4647}
.ipo-app.ipx-resources-root .iprs-contact-note{position:absolute;right:14px;bottom:9px;border-radius:50%;width:116px;height:64px;display:grid;align-content:center;justify-content:center;transform:rotate(-9deg);background:#fffffff1;box-shadow:0 4px 15px #1e3f431f;font-family:"Brush Script MT","Segoe Script",cursive;font-style:italic;font-size:12px;line-height:1.05;color:#263f57;text-align:center}
.ipo-app.ipx-resources-root .iprs-contact-note:after{content:"";position:absolute;right:12px;bottom:10px;width:29px;border-top:2px solid #00834e;transform:rotate(-15deg)}
/* interaction; hidden matches excluded from grids without blank spaces */
.ipo-app.ipx-resources-root .iprs [hidden]{display:none!important}
.ipo-app.ipx-resources-root .iprs-category-card.iprs-search-dim{opacity:.23;filter:grayscale(.5);transform:none}
.ipo-app.ipx-resources-root .iprs-article-card.iprs-search-dim{opacity:.27;filter:grayscale(.4)}
/* v5.0.4: removed 1450px widescreen inflation; shared 1122px artboard scales consistently. */
@media (max-width:990px){.ipo-app.ipx-resources-root .iprs-wrap{width:calc(100% - 54px)}.ipo-app.ipx-resources-root .iprs-hero-content{width:calc(100% - 90px)}.ipo-app.ipx-resources-root .iprs-hero-main{max-width:54%;width:430px}.ipo-app.ipx-resources-root .iprs-hero h1{font-size:40px}.ipo-app.ipx-resources-root .iprs-hero-villa{width:57%;min-width:440px;right:-60px}.ipo-app.ipx-resources-root .iprs-glass{right:-26px}.ipo-app.ipx-resources-root .iprs-villa-note{display:none}.ipo-app.ipx-resources-root .iprs-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ipo-app.ipx-resources-root .iprs-category-card{height:154px}.ipo-app.ipx-resources-root .iprs-articles-grid{gap:9px}.ipo-app.ipx-resources-root .iprs-article-body h3{font-size:14px!important}.ipo-app.ipx-resources-root .iprs-article-meta{gap:6px}.ipo-app.ipx-resources-root .iprs-tool-visual{width:53px;flex-basis:53px}.ipo-app.ipx-resources-root .iprs-tool-copy{padding-left:7px}.ipo-app.ipx-resources-root .iprs-tool-copy strong{font-size:11px}.ipo-app.ipx-resources-root .iprs-tool-copy small{font-size:9px}.ipo-app.ipx-resources-root .iprs-contact-inner{padding:13px 23px}.ipo-app.ipx-resources-root .iprs-contact-copy{width:280px;flex-basis:280px}.ipo-app.ipx-resources-root .iprs-contact-benefits{left:23px;gap:10px}}
@media (max-width:650px){.ipo-app.ipx-resources-root .iprs-wrap{width:calc(100% - 30px)}.ipo-app.ipx-resources-root .iprs-section-heading{align-items:flex-start}.ipo-app.ipx-resources-root .iprs-section-heading h2{font-size:21px}.ipo-app.ipx-resources-root .iprs-section-heading p{font-size:11px}.ipo-app.ipx-resources-root .iprs-text-link{font-size:10px;white-space:normal;text-align:right;max-width:133px}.ipo-app.ipx-resources-root .iprs-hero{height:580px;min-height:580px}.ipo-app.ipx-resources-root .iprs-hero-content{width:calc(100% - 34px);padding-top:22px}.ipo-app.ipx-resources-root .iprs-hero-main{max-width:none;width:min(100%,470px)}.ipo-app.ipx-resources-root .iprs-hero h1{font-size:clamp(34px,9.6vw,48px);line-height:.98;letter-spacing:-1.65px}.ipo-app.ipx-resources-root .iprs-hero .iprs-lead{font-size:12.5px;max-width:450px}.ipo-app.ipx-resources-root .iprs-hero-villa{top:300px;height:290px;width:100%;max-width:initial;min-width:0;right:-30px;mask-image:linear-gradient(180deg,transparent 0,#000 24%,#000 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 24%,#000 100%)}.ipo-app.ipx-resources-root .iprs-orbit-outer{width:390px;height:300px;right:-80px;top:296px;border-width:30px}.ipo-app.ipx-resources-root .iprs-orbit-inner{right:1px;top:320px;width:250px;height:242px;border-width:18px}.ipo-app.ipx-resources-root .iprs-glass{right:1px;top:410px;width:83px;height:116px;font-size:9.5px;padding:22px 8px}.ipo-app.ipx-resources-root .iprs-hero-plants{bottom:0;width:103px;height:174px}.ipo-app.ipx-resources-root .iprs-topics{flex-wrap:wrap;width:100%;max-width:100%;gap:5px}.ipo-app.ipx-resources-root .iprs-search{width:100%}.ipo-app.ipx-resources-root .iprs-categories{padding-top:22px}.ipo-app.ipx-resources-root .iprs-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ipo-app.ipx-resources-root .iprs-category-card{height:166px}.ipo-app.ipx-resources-root .iprs-category-card h3{font-size:13px!important}.ipo-app.ipx-resources-root .iprs-category-card p{font-size:11px}.ipo-app.ipx-resources-root .iprs-articles{padding-top:20px}.ipo-app.ipx-resources-root .iprs-articles-grid{grid-template-columns:1fr;gap:12px}.ipo-app.ipx-resources-root .iprs-article-card{min-height:auto}.ipo-app.ipx-resources-root .iprs-article-visual{height:170px}.ipo-app.ipx-resources-root .iprs-article-tag{top:156px}.ipo-app.ipx-resources-root .iprs-article-body{min-height:126px}.ipo-app.ipx-resources-root .iprs-article-body h3{font-size:17px!important;min-height:0}.ipo-app.ipx-resources-root .iprs-article-body>p{font-size:12px;min-height:0}.ipo-app.ipx-resources-root .iprs-tools{padding-top:22px}.ipo-app.ipx-resources-root .iprs-tools-grid{grid-template-columns:1fr;gap:9px}.ipo-app.ipx-resources-root .iprs-tool-visual{width:84px;flex-basis:84px}.ipo-app.ipx-resources-root .iprs-tool-copy strong{font-size:13px}.ipo-app.ipx-resources-root .iprs-tool-copy small{font-size:11px}.ipo-app.ipx-resources-root .iprs-disclaimer{padding-top:10px}.ipo-app.ipx-resources-root .iprs-notice{gap:10px;padding:10px 12px}.ipo-app.ipx-resources-root .iprs-notice p{font-size:10.6px}.ipo-app.ipx-resources-root .iprs-faq{padding-top:15px;padding-bottom:19px}.ipo-app.ipx-resources-root .iprs-faq-grid{grid-template-columns:1fr;gap:8px}.ipo-app.ipx-resources-root .iprs-question>summary{min-height:43px;font-size:12px}.ipo-app.ipx-resources-root .iprs-contact{width:calc(100% - 28px);min-height:295px}.ipo-app.ipx-resources-root .iprs-contact-photo{inset:113px 0 0 0}.ipo-app.ipx-resources-root .iprs-contact-photo img{object-position:50% 58%}.ipo-app.ipx-resources-root .iprs-contact:before{background:linear-gradient(180deg,#fff 0,#fffc 34%,transparent 60%,#fafffb19)}.ipo-app.ipx-resources-root .iprs-contact-inner{display:block;min-height:295px;padding:15px}.ipo-app.ipx-resources-root .iprs-contact-copy{width:auto}.ipo-app.ipx-resources-root .iprs-contact h2{font-size:22px}.ipo-app.ipx-resources-root .iprs-contact p{font-size:11px;max-width:270px}.ipo-app.ipx-resources-root .iprs-contact-button{position:absolute;right:13px;top:46px;margin:0;min-width:125px;font-size:10px}.ipo-app.ipx-resources-root .iprs-contact-benefits{left:14px;bottom:13px;gap:8px;background:#ffffffc4;border-radius:6px;padding:3px;white-space:normal;flex-wrap:wrap}.ipo-app.ipx-resources-root .iprs-contact-benefits span{font-size:8.9px}.ipo-app.ipx-resources-root .iprs-contact-note{right:10px;bottom:45px}}
@media (max-width:400px){.ipo-app.ipx-resources-root .iprs-hero{height:615px;min-height:615px}.ipo-app.ipx-resources-root .iprs-hero-villa{top:320px}.ipo-app.ipx-resources-root .iprs-glass{top:428px}.ipo-app.ipx-resources-root .iprs-contact{min-height:315px}.ipo-app.ipx-resources-root .iprs-contact-inner{min-height:315px}.ipo-app.ipx-resources-root .iprs-contact-button{top:87px;left:14px;right:auto}}
@media (prefers-reduced-motion:reduce){.ipo-app.ipx-resources-root .iprs *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Photo remains in front of the section background, behind readable CTA content. */
.ipo-app.ipx-resources-root .iprs-contact-photo{z-index:0!important}
.ipo-app.ipx-resources-root .iprs-contact:before{z-index:1!important}
.ipo-app.ipx-resources-root .iprs-contact-inner{z-index:2!important}


/* Source: ipoteco-about-v3711.css (unchanged CSS; original order preserved) */
/* IpoTeco v3.7.11 — Despre noi. Fully scoped, matching shared Elementor chrome. */
body .elementor .ipx-about-page.e-con,body .elementor .ipx-about-page.e-con>.e-con-inner{--content-width:100%!important;max-width:100%!important;width:100%!important;--width:100%!important;padding:0!important;gap:0!important;--flex-direction:column!important;min-width:0!important}
body .elementor .ipx-about-page>[class*="elementor-widget-ipx_"],body .elementor .ipx-about-page>.e-con-inner>[class*="elementor-widget-ipx_"]{width:100%!important;max-width:100%!important;margin:0!important;flex-shrink:0!important;--container-widget-width:100%!important}
body .elementor .ipx-about-page [class*="elementor-widget-ipx_about"]>.elementor-widget-container{padding:0!important;margin:0!important;width:100%!important}
.ipo-app.ipo-con.ipx-about-root{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important;background:transparent!important;min-width:0!important}
.ipo-app.ipx-about-root .ia-section,.ipo-app.ipx-about-root .ia-hero{--ia-navy:#0b1c39;--ia-green:#007e52;--ia-green2:#00a16e;--ia-slate:#61718b;position:relative;isolation:isolate;width:100%;font-family:"Lora",Georgia,serif;font-size:12px;color:var(--ia-navy);line-height:1.46;background:#fff;overflow:hidden}
.ipo-app.ipx-about-root .ia-section *,.ipo-app.ipx-about-root .ia-hero *{box-sizing:border-box}
.ipo-app.ipx-about-root :is(h1,h2,h3,p){margin:0!important;padding:0!important}
.ipo-app.ipx-about-root :is(h1,h2,h3){font-family:"Lora",Georgia,serif!important;font-weight:760!important;line-height:1.055!important;color:#0b1c39!important;letter-spacing:-.75px!important}
.ipo-app.ipx-about-root h2{font-size:29px!important}.ipo-app.ipx-about-root h3{font-size:19px!important}
.ipo-app.ipx-about-root p{color:#65738c;line-height:1.49}
.ipo-app.ipx-about-root a{text-decoration:none!important;color:inherit}
.ipo-app.ipx-about-root a:focus-visible{outline:2px solid #009a5e!important;outline-offset:4px!important}
.ipo-app.ipx-about-root .ia-shell{position:relative;z-index:1;width:min(84%,1360px);margin-inline:auto}
.ipo-app.ipx-about-root .ia-eyebrow{display:block;font-size:9px;letter-spacing:2.7px;color:#008451;font-weight:800;margin-bottom:6px;text-transform:uppercase}
.ipo-app.ipx-about-root .ia-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px}
.ipo-app.ipx-about-root .ia-icon svg,.ipo-app.ipx-about-root .ia-circle-icon svg,.ipo-app.ipx-about-root .ia-benefit-icon svg,.ipo-app.ipx-about-root .ia-quote-mark svg{width:100%;height:100%;display:block;max-height:100%;max-width:100%}
.ipo-app.ipx-about-root .ia-circle-icon{width:43px;height:43px;min-width:43px;border-radius:50%;background:linear-gradient(145deg,#e9f8ee,#d5f1e3);display:grid;place-items:center;color:#007d50;box-shadow:0 4px 10px #0a6f4720,inset 0 1px 1px #fff;padding:11px}
.ipo-app.ipx-about-root .ia-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:42px;padding:0 20px;border:1px solid #dfebe9;border-radius:10px;white-space:nowrap;font-size:11px;font-weight:720;letter-spacing:-.1px;line-height:1;box-shadow:0 6px 13px #063b3620;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.ipo-app.ipx-about-root .ia-btn-primary{color:#fff!important;border-color:#00955f;background:linear-gradient(115deg,#008654,#00a16e 53%,#007749);box-shadow:0 8px 17px #00845030}
.ipo-app.ipx-about-root .ia-btn-light{color:#173355!important;background:linear-gradient(140deg,#fff,#f7fcfa);border-color:#d6e2e9}
.ipo-app.ipx-about-root .ia-btn:before{content:"";position:absolute;top:-100%;left:-40%;width:42%;height:320%;background:linear-gradient(90deg,transparent,#ffffff4d,transparent);transform:rotate(24deg);transition:left .65s cubic-bezier(.2,.7,.2,1)}
.ipo-app.ipx-about-root .ia-btn:hover{transform:translateY(-3px);box-shadow:0 14px 27px #035d4433}.ipo-app.ipx-about-root .ia-btn:hover:before{left:120%}
.ipo-app.ipx-about-root .ia-btn .ia-icon{z-index:1}
.ipo-app.ipx-about-root .ia-text-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#00814f!important;font-weight:750;transition:gap .2s}
.ipo-app.ipx-about-root .ia-text-link:hover{gap:14px}
.ipo-app.ipx-about-root .ia-handwriting{font-family:"Segoe Print","Bradley Hand","Brush Script MT",cursive;color:#123050;font-style:italic;line-height:1.22;text-align:center;transform:rotate(-6deg)}
.ipo-app.ipx-about-root .ia-handwriting i,.ipo-app.ipx-about-root .ia-quote-glass i,.ipo-app.ipx-about-root .ia-team-quote i{display:block;width:58px;margin:7px auto 0;border-bottom:3px solid #009756;border-radius:50%;transform:rotate(-12deg)}

/* 1. The reference hero: clean villa + separately editable couple and floating copy. */
.ipo-app.ipx-about-root .ia-hero{height:318px;min-height:318px;background:linear-gradient(102deg,#fff 8%,#f5fcf9 58%,#e9f4f1 100%)}
.ipo-app.ipx-about-root .ia-hero:after{content:"";position:absolute;left:-7%;bottom:-42px;width:115%;height:60px;border-radius:50% 45% 0 0;background:white;z-index:3;pointer-events:none}
.ipo-app.ipx-about-root .ia-hero-photography{position:absolute;inset:0 0 0 41%;overflow:hidden;z-index:-1;mask-image:linear-gradient(90deg,transparent 0,#000 24%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%)}
.ipo-app.ipx-about-root .ia-hero-house{position:absolute;width:100%;height:100%;object-fit:cover;object-position:57% 55%;filter:saturate(.94) brightness(1.025)}
.ipo-app.ipx-about-root .ia-hero-couple{position:absolute;right:2%;bottom:-5%;width:48%;height:89%;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 6px 11px #1d3d4c40)}
.ipo-app.ipx-about-root .ia-hero-orb{pointer-events:none;position:absolute;border-radius:50%;border:35px solid #c8eadd50;z-index:-1}.ipo-app.ipx-about-root .ia-hero-orb-one{width:280px;height:320px;left:-178px;top:80px}.ipo-app.ipx-about-root .ia-hero-orb-two{width:330px;height:320px;right:32%;top:-137px;border-color:#d2eee291}
.ipo-app.ipx-about-root .ia-hero-inner{height:100%;display:flex;align-items:flex-start;padding-top:23px}
.ipo-app.ipx-about-root .ia-hero-copy{max-width:440px;width:54%;position:relative;z-index:2}
.ipo-app.ipx-about-root .ia-hero h1{font-size:43px!important;line-height:1.01!important;letter-spacing:-1.55px!important;margin:0 0 10px!important;color:#0b1830!important}
.ipo-app.ipx-about-root .ia-hero h1 em{font-style:normal;color:#007e51}
.ipo-app.ipx-about-root .ia-hero .ia-lead{max-width:418px;font-size:11.5px;line-height:1.32;color:#334566;margin-bottom:13px!important}
.ipo-app.ipx-about-root .ia-actions{display:flex;align-items:center;gap:12px}
.ipo-app.ipx-about-root .ia-hero .ia-btn{min-width:166px}.ipo-app.ipx-about-root .ia-hero .ia-btn-light{min-width:156px}
.ipo-app.ipx-about-root .ia-hero-benefits{display:flex;gap:16px;position:absolute;bottom:29px;left:0;align-items:center;white-space:nowrap;max-width:100%}
.ipo-app.ipx-about-root .ia-benefit{display:flex;align-items:center;gap:5px;font-size:9px;color:#50637b}
.ipo-app.ipx-about-root .ia-benefit-icon{display:grid;place-items:center;color:#008850;width:19px;height:19px;padding:4px;background:#ddf4e8;border-radius:50%}
.ipo-app.ipx-about-root .ia-float-hero{position:absolute;top:130px;right:26%;z-index:2;width:160px;min-height:88px;display:flex;gap:8px;align-items:center;border-radius:24px;background:linear-gradient(115deg,#fffffff0,#f8fffdc8);border:1px solid #fff;box-shadow:0 8px 21px #344c3d38;backdrop-filter:blur(9px);padding:10px 11px;transform:rotate(-5deg);color:#26354a;font-weight:650;font-size:11px;line-height:1.28}
.ipo-app.ipx-about-root .ia-float-hero .ia-circle-icon{width:44px;height:44px;min-width:44px}
.ipo-app.ipx-about-root .ia-hero-hand{position:absolute;right:-9px;top:22px;z-index:2;font-size:17px}

/* 2. Company story */
.ipo-app.ipx-about-root .ia-story{padding:15px 0 16px;background:linear-gradient(108deg,#fff,#fbfefd)}
.ipo-app.ipx-about-root .ia-story-grid{width:min(97%,1500px);display:grid;grid-template-columns:44% 32% 20%;gap:2%;align-items:center}
.ipo-app.ipx-about-root .ia-story-visual{height:213px;position:relative;overflow:hidden;border-radius:19px;box-shadow:0 9px 25px #1c44261a}
.ipo-app.ipx-about-root .ia-story-visual>img{height:100%;width:100%;object-fit:cover;object-position:58% 53%}
.ipo-app.ipx-about-root .ia-quote-glass{position:absolute;top:40px;left:8%;border-radius:25px;max-width:220px;width:62%;padding:15px 17px;background:linear-gradient(120deg,#ffffffea,#f5fffbcb);border:1px solid #fff;box-shadow:0 9px 20px #07342128;backdrop-filter:blur(5px)}
.ipo-app.ipx-about-root .ia-quote-glass .ia-quote-mark{display:inline-block;width:22px;height:22px;color:#00945d}
.ipo-app.ipx-about-root .ia-quote-glass p{font-family:Georgia,serif;font-size:12px!important;font-style:italic;color:#1e3c51!important}
.ipo-app.ipx-about-root .ia-quote-glass i{margin:4px auto 0;width:53px}
.ipo-app.ipx-about-root .ia-story-body{align-self:start;padding-top:18px}
.ipo-app.ipx-about-root .ia-story-body h2{font-size:25px!important;margin-bottom:13px!important}
.ipo-app.ipx-about-root .ia-story-body p{font-size:10.2px;line-height:1.52;margin-bottom:9px!important}
.ipo-app.ipx-about-root .ia-story-facts{border-left:1px solid #e4ebe9;padding-left:20px;display:flex;flex-direction:column;justify-content:space-evenly;height:192px;gap:5px}
.ipo-app.ipx-about-root .ia-story-fact{display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf1ee;padding:4px 0;color:#586782;font-size:10.2px;line-height:1.25}
.ipo-app.ipx-about-root .ia-story-fact:last-child{border-bottom:0}
.ipo-app.ipx-about-root .ia-story-fact .ia-circle-icon{width:35px;height:35px;min-width:35px;padding:9px}

/* 3. Editorial value cards */
.ipo-app.ipx-about-root .ia-values{padding:12px 0 19px;background:radial-gradient(ellipse at 1% 100%,#d4f1e974 0,transparent 34%),radial-gradient(ellipse at 94% 10%,#e5f7ef 0,transparent 34%),#f8fdfa}
.ipo-app.ipx-about-root .ia-values .ia-shell{width:min(93%,1490px)}
.ipo-app.ipx-about-root .ia-values-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px;padding:0 4%}
.ipo-app.ipx-about-root .ia-values-heading p{width:46%;max-width:390px;font-size:10.6px}
.ipo-app.ipx-about-root .ia-values-heading h2{font-size:24px!important}
.ipo-app.ipx-about-root .ia-values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.ipo-app.ipx-about-root .ia-value-card{position:relative;min-width:0;height:145px;overflow:hidden;border:1px solid #eaf3ef;border-radius:18px;background:linear-gradient(90deg,#fff,#fcfefe);padding:13px 12px 11px 13px;box-shadow:0 7px 18px #1d513b12;transition:transform .3s,box-shadow .3s}
.ipo-app.ipx-about-root .ia-value-photo{position:absolute;inset:0 0 0 auto;width:55%;height:100%;object-fit:cover;object-position:center;opacity:.76;z-index:0;mask-image:linear-gradient(90deg,transparent 0,#000 55%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 55%)}
.ipo-app.ipx-about-root .ia-value-card>*:not(.ia-value-photo){position:relative;z-index:1}
.ipo-app.ipx-about-root .ia-value-icon{width:39px;height:39px;padding:10px;margin-bottom:7px}
.ipo-app.ipx-about-root .ia-value-card h3{font-size:18px!important;margin-bottom:4px!important}
.ipo-app.ipx-about-root .ia-value-card p{max-width:82%;font-size:10px;line-height:1.31;color:#60718a}
.ipo-app.ipx-about-root .ia-value-card:hover{transform:translateY(-5px);box-shadow:0 18px 28px #094d3b25}

/* 4. Three steps with a visible dotted connection. */
.ipo-app.ipx-about-root .ia-process{padding:12px 0 17px;background:linear-gradient(100deg,#fff,#f8fffb)}
.ipo-app.ipx-about-root .ia-process .ia-shell{width:min(91%,1410px)}
.ipo-app.ipx-about-root .ia-process-grid{display:grid;grid-template-columns:25% 1fr;gap:3%;align-items:start}
.ipo-app.ipx-about-root .ia-process-intro h2{font-size:25px!important;margin-bottom:8px!important}
.ipo-app.ipx-about-root .ia-process-intro p{font-size:10.6px;max-width:260px}
.ipo-app.ipx-about-root .ia-process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative}
.ipo-app.ipx-about-root .ia-process-steps:before{content:"";position:absolute;top:29px;left:11%;right:12%;border-top:2px dotted #bcddd4}
.ipo-app.ipx-about-root .ia-step{min-width:0;position:relative;padding:0 5px}
.ipo-app.ipx-about-root .ia-step-top{position:relative;margin-bottom:6px;height:74px;display:flex;align-items:center;justify-content:center}
.ipo-app.ipx-about-root .ia-step-number{position:absolute;left:12%;top:0;z-index:2;display:grid;place-items:center;height:19px;width:19px;border-radius:50%;background:#009457;color:white;font-size:10px;font-weight:800;box-shadow:0 4px 10px #00945a42}
.ipo-app.ipx-about-root .ia-step-glyph{height:62px;width:62px;min-width:62px;padding:19px;border:10px solid white;box-shadow:0 0 0 1px #e7f0ec,0 5px 14px #1a5e4030}
.ipo-app.ipx-about-root .ia-step h3{font-family:"Lora",Georgia,serif!important;font-size:11.5px!important;letter-spacing:-.3px!important;margin-bottom:4px!important}
.ipo-app.ipx-about-root .ia-step p{font-size:10.2px;line-height:1.38}
.ipo-app.ipx-about-root .ia-step:hover .ia-step-glyph{transform:translateY(-3px);box-shadow:0 10px 24px #159c5c38}

/* 5. Who we help */
.ipo-app.ipx-about-root .ia-audiences{padding:17px 0 12px;background:radial-gradient(circle at 1% 105%,#e6f8ed 0,transparent 30%),linear-gradient(130deg,#fff 13%,#f6fffb)}
.ipo-app.ipx-about-root .ia-audiences .ia-shell{width:min(91%,1410px)}
.ipo-app.ipx-about-root .ia-audience-grid{display:grid;grid-template-columns:27% 1fr;gap:3.7%}
.ipo-app.ipx-about-root .ia-audience-intro h2{font-size:24px!important;line-height:1.09!important;margin-bottom:12px!important}
.ipo-app.ipx-about-root .ia-audience-intro p{font-size:10.8px;max-width:280px}
.ipo-app.ipx-about-root .ia-audience-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ipo-app.ipx-about-root .ia-audience-card{min-width:0;position:relative;overflow:hidden;border:1px solid #e7f0ef;border-radius:14px;background:#fff;box-shadow:0 7px 17px #174b3c1b;transition:transform .3s,box-shadow .3s}
.ipo-app.ipx-about-root .ia-audience-photo{height:80px;overflow:hidden}
.ipo-app.ipx-about-root .ia-audience-photo img{height:100%;width:100%;object-fit:cover;object-position:center 30%;transition:transform .5s}
.ipo-app.ipx-about-root .ia-audience-content{position:relative;min-height:107px;margin-top:-17px;background:linear-gradient(160deg,#fffffff7,#fffffff8);border-radius:14px 14px 0 0;padding:20px 11px 11px}
.ipo-app.ipx-about-root .ia-audience-icon{position:absolute;left:12px;top:-23px;width:38px;min-width:38px;height:38px;padding:10px;border:3px solid white}
.ipo-app.ipx-about-root .ia-audience-card h3{font-family:"Lora",Georgia,serif!important;font-size:11px!important;letter-spacing:-.2px!important;margin-bottom:5px!important}
.ipo-app.ipx-about-root .ia-audience-card p{font-size:10px;line-height:1.38;margin-bottom:8px!important}
.ipo-app.ipx-about-root .ia-audience-card .ia-text-link{font-size:10px}
.ipo-app.ipx-about-root .ia-audience-card:hover{transform:translateY(-4px);box-shadow:0 14px 25px #00583d28}
.ipo-app.ipx-about-root .ia-audience-card:hover .ia-audience-photo img{transform:scale(1.05)}

/* 6. Team photo, headline, quote, all distinct editable fields. */
.ipo-app.ipx-about-root .ia-team{padding:5px 0 8px;background:#fff}
.ipo-app.ipx-about-root .ia-team-layout{width:min(97%,1500px);margin-inline:auto;display:grid;grid-template-columns:48% 34% 14%;gap:2%;align-items:center}
.ipo-app.ipx-about-root .ia-team-photo{position:relative;height:150px;border-radius:16px;overflow:hidden;background:#d9e5da}
.ipo-app.ipx-about-root .ia-team-photo img{height:100%;width:100%;object-fit:cover;object-position:60% 43%}
.ipo-app.ipx-about-root .ia-team-photo:after{content:"";position:absolute;inset:0 75% 0 0;background:linear-gradient(90deg,#00241999,transparent);pointer-events:none}
.ipo-app.ipx-about-root .ia-team-hand{position:absolute;z-index:2;left:13px;top:15px;color:#fff;transform:rotate(-8deg);font-size:13px;text-shadow:0 2px 8px #05251d99}
.ipo-app.ipx-about-root .ia-team-hand i{border-color:#5cea9d}
.ipo-app.ipx-about-root .ia-team-copy h2{font-size:24px!important;line-height:1.05!important;margin-bottom:7px!important}
.ipo-app.ipx-about-root .ia-team-copy p{font-size:10.2px;margin-bottom:7px!important}
.ipo-app.ipx-about-root .ia-team-copy .ia-text-link{font-size:10.1px}
.ipo-app.ipx-about-root .ia-team-quote{align-self:center;border-radius:17px;padding:10px 10px;background:linear-gradient(135deg,#f2fcf7,#e9f5f2);box-shadow:0 8px 14px #21594a13;transform:rotate(-4deg);color:#23414e;font:italic 10.5px/1.36 Georgia,serif}
.ipo-app.ipx-about-root .ia-team-quote .ia-quote-mark{width:20px;height:20px;display:block;color:#008755;margin-bottom:4px}
.ipo-app.ipx-about-root .ia-team-quote i{width:40px;margin-top:4px}

/* 7. Clean final architectural CTA */
.ipo-app.ipx-about-root .ia-cta{height:132px;min-height:132px;background:linear-gradient(130deg,#fff,#f8fcf9)}
.ipo-app.ipx-about-root .ia-cta-photo{position:absolute;inset:0 0 0 35%;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%)}
.ipo-app.ipx-about-root .ia-cta-photo img{height:100%;width:100%;object-fit:cover;object-position:57% 55%}
.ipo-app.ipx-about-root .ia-cta-inner{height:100%;display:grid;align-items:center;grid-template-columns:42% 27% 1fr;gap:3%}
.ipo-app.ipx-about-root .ia-cta h2{font-size:23px!important;line-height:1.06!important;margin-bottom:8px!important}
.ipo-app.ipx-about-root .ia-cta-actions{display:flex;gap:8px}.ipo-app.ipx-about-root .ia-cta .ia-btn{height:36px;min-height:36px;font-size:10px;padding:0 12px;gap:6px}
.ipo-app.ipx-about-root .ia-cta-explainer{font-size:9.7px!important;color:#465976!important}
.ipo-app.ipx-about-root .ia-cta-badge{justify-self:end;align-self:end;margin-bottom:24px;max-width:216px;min-height:68px;border-radius:18px;background:#ffffffec;backdrop-filter:blur(7px);box-shadow:0 8px 19px #092e282a;border:1px solid #fff;display:flex;align-items:center;gap:9px;padding:10px;font-size:10px;font-weight:690;color:#173345}
.ipo-app.ipx-about-root .ia-cta-badge .ia-circle-icon{height:45px;width:45px;min-width:45px}

/* Motion is deliberately progressive: no script means nothing is hidden. */
@media (prefers-reduced-motion:no-preference){.ipo-app.ipx-about-root .ia-revealed{animation:ia-fade-up .72s cubic-bezier(.2,.75,.23,1) both}.ipo-app.ipx-about-root .ia-float-hero{animation:ia-hover 6s ease-in-out infinite}.ipo-app.ipx-about-root .ia-hero-hand{animation:ia-hover 8s ease-in-out infinite}}
@keyframes ia-fade-up{from{opacity:.54;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes ia-hover{0%,100%{translate:0 0}50%{translate:0 -6px}}
@media (prefers-reduced-motion:reduce){.ipo-app.ipx-about-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Adaptive layout / keep all content visible at every breakpoint. */
/* v5.0.4: removed 1440px widescreen inflation; shared 1122px artboard scales consistently. */
@media (max-width:900px){.ipo-app.ipx-about-root .ia-shell{width:calc(100% - 50px)}.ipo-app.ipx-about-root .ia-hero-copy{width:56%}.ipo-app.ipx-about-root .ia-hero h1{font-size:36px!important}.ipo-app.ipx-about-root .ia-hero-hand{right:6px;font-size:14px}.ipo-app.ipx-about-root .ia-float-hero{right:23%;top:125px;transform:rotate(-4deg) scale(.9)}.ipo-app.ipx-about-root .ia-hero-benefits{gap:8px}.ipo-app.ipx-about-root .ia-benefit{font-size:8.3px}.ipo-app.ipx-about-root .ia-story-grid{grid-template-columns:42% 34% 20%;gap:2%}.ipo-app.ipx-about-root .ia-story-body h2{font-size:22px!important}.ipo-app.ipx-about-root .ia-story-body p{font-size:9px}.ipo-app.ipx-about-root .ia-story-fact{gap:6px;font-size:9px}.ipo-app.ipx-about-root .ia-story-facts{padding-left:8px}.ipo-app.ipx-about-root .ia-values .ia-shell{width:calc(100% - 45px)}.ipo-app.ipx-about-root .ia-process .ia-shell,.ipo-app.ipx-about-root .ia-audiences .ia-shell{width:calc(100% - 45px)}.ipo-app.ipx-about-root .ia-value-card p{font-size:9.3px}.ipo-app.ipx-about-root .ia-audience-content{padding-left:9px;padding-right:9px}.ipo-app.ipx-about-root .ia-team-layout{width:98%}.ipo-app.ipx-about-root .ia-team-copy h2{font-size:21px!important}}
@media (max-width:650px){.ipo-app.ipx-about-root .ia-shell{width:calc(100% - 32px)}.ipo-app.ipx-about-root .ia-hero{height:auto;min-height:785px}.ipo-app.ipx-about-root .ia-hero-inner{display:block;padding-top:29px}.ipo-app.ipx-about-root .ia-hero-copy{width:100%;max-width:520px}.ipo-app.ipx-about-root .ia-hero h1{font-size:clamp(37px,10.5vw,53px)!important;letter-spacing:-1.7px!important}.ipo-app.ipx-about-root .ia-hero .ia-lead{font-size:13px;line-height:1.48;max-width:450px}.ipo-app.ipx-about-root .ia-actions{gap:7px;flex-wrap:wrap}.ipo-app.ipx-about-root .ia-hero .ia-btn{min-width:0;font-size:10.5px;padding:0 13px;gap:7px;min-height:43px}.ipo-app.ipx-about-root .ia-hero-benefits{position:relative;bottom:auto;margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.ipo-app.ipx-about-root .ia-benefit{font-size:10px}.ipo-app.ipx-about-root .ia-hero-photography{inset:380px 0 0 0;mask-image:linear-gradient(180deg,transparent,#000 21%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 21%)}.ipo-app.ipx-about-root .ia-hero-house{object-position:58% 48%}.ipo-app.ipx-about-root .ia-hero-couple{width:70%;height:84%;right:0}.ipo-app.ipx-about-root .ia-float-hero{top:492px;left:8%;right:auto;width:185px;transform:rotate(-5deg);min-height:79px}.ipo-app.ipx-about-root .ia-hero-hand{top:400px;right:2%;font-size:14px}.ipo-app.ipx-about-root .ia-story{padding:20px 0}.ipo-app.ipx-about-root .ia-story-grid{width:calc(100% - 32px);display:flex;flex-direction:column;gap:18px}.ipo-app.ipx-about-root .ia-story-visual{height:260px;width:100%}.ipo-app.ipx-about-root .ia-story-body{padding:0}.ipo-app.ipx-about-root .ia-story-body h2{font-size:30px!important}.ipo-app.ipx-about-root .ia-story-body p{font-size:13px}.ipo-app.ipx-about-root .ia-story-facts{height:auto;border-left:0;padding-left:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.ipo-app.ipx-about-root .ia-story-fact{font-size:11px;border:1px solid #eaf2ef;border-radius:11px;padding:9px}.ipo-app.ipx-about-root .ia-values{padding:25px 0}.ipo-app.ipx-about-root .ia-values .ia-shell{width:calc(100% - 32px)}.ipo-app.ipx-about-root .ia-values-heading{padding:0;display:block}.ipo-app.ipx-about-root .ia-values-heading h2{font-size:30px!important}.ipo-app.ipx-about-root .ia-values-heading p{width:100%;font-size:12px;margin-top:8px!important}.ipo-app.ipx-about-root .ia-values-grid{grid-template-columns:1fr 1fr;gap:9px}.ipo-app.ipx-about-root .ia-value-card{height:205px}.ipo-app.ipx-about-root .ia-value-card h3{font-size:20px!important}.ipo-app.ipx-about-root .ia-value-card p{font-size:11px}.ipo-app.ipx-about-root .ia-value-photo{width:70%;opacity:.5}.ipo-app.ipx-about-root .ia-process{padding:24px 0}.ipo-app.ipx-about-root .ia-process .ia-shell{width:calc(100% - 32px)}.ipo-app.ipx-about-root .ia-process-grid{display:block}.ipo-app.ipx-about-root .ia-process-intro h2{font-size:30px!important}.ipo-app.ipx-about-root .ia-process-intro p{font-size:12px;max-width:none}.ipo-app.ipx-about-root .ia-process-steps{margin-top:20px;display:flex;flex-direction:column;gap:17px}.ipo-app.ipx-about-root .ia-process-steps:before{left:30px;top:0;bottom:0;height:100%;width:1px;border-top:0;border-left:2px dotted #baded0}.ipo-app.ipx-about-root .ia-step{padding:0 0 0 86px;min-height:83px}.ipo-app.ipx-about-root .ia-step-top{position:absolute;top:0;left:0;width:74px}.ipo-app.ipx-about-root .ia-step h3{font-size:15px!important;padding-top:12px!important}.ipo-app.ipx-about-root .ia-step p{font-size:12px}.ipo-app.ipx-about-root .ia-audiences{padding:24px 0}.ipo-app.ipx-about-root .ia-audiences .ia-shell{width:calc(100% - 32px)}.ipo-app.ipx-about-root .ia-audience-grid{display:block}.ipo-app.ipx-about-root .ia-audience-intro h2{font-size:29px!important}.ipo-app.ipx-about-root .ia-audience-intro p{font-size:12px;max-width:none}.ipo-app.ipx-about-root .ia-audience-cards{grid-template-columns:1fr;margin-top:18px;gap:13px}.ipo-app.ipx-about-root .ia-audience-photo{height:155px}.ipo-app.ipx-about-root .ia-audience-content{min-height:145px;padding:26px 17px 15px}.ipo-app.ipx-about-root .ia-audience-card h3{font-size:17px!important}.ipo-app.ipx-about-root .ia-audience-card p{font-size:12px}.ipo-app.ipx-about-root .ia-audience-card .ia-text-link{font-size:12px}.ipo-app.ipx-about-root .ia-team{padding:18px 0}.ipo-app.ipx-about-root .ia-team-layout{width:calc(100% - 32px);display:flex;flex-direction:column;gap:15px}.ipo-app.ipx-about-root .ia-team-photo{width:100%;height:235px}.ipo-app.ipx-about-root .ia-team-copy h2{font-size:29px!important}.ipo-app.ipx-about-root .ia-team-copy p{font-size:12px}.ipo-app.ipx-about-root .ia-team-quote{align-self:flex-end;max-width:235px;font-size:13px}.ipo-app.ipx-about-root .ia-cta{height:auto;min-height:450px}.ipo-app.ipx-about-root .ia-cta-photo{inset:175px 0 0 0;mask-image:linear-gradient(180deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%)}.ipo-app.ipx-about-root .ia-cta-inner{display:flex;flex-direction:column;align-items:flex-start;padding-top:25px}.ipo-app.ipx-about-root .ia-cta h2{font-size:29px!important}.ipo-app.ipx-about-root .ia-cta-explainer{font-size:11px!important;max-width:330px;margin-top:8px!important}.ipo-app.ipx-about-root .ia-cta .ia-btn{min-height:38px}.ipo-app.ipx-about-root .ia-cta-badge{align-self:flex-end;margin-top:auto;margin-bottom:20px;max-width:210px}}
@media (max-width:365px){.ipo-app.ipx-about-root .ia-hero{min-height:810px}.ipo-app.ipx-about-root .ia-hero .ia-btn{font-size:10px;padding:0 10px}.ipo-app.ipx-about-root .ia-values-grid{grid-template-columns:1fr}.ipo-app.ipx-about-root .ia-value-card{height:175px}.ipo-app.ipx-about-root .ia-hero-hand{font-size:12px}}
/* v3.7.11 final reference-alignment refinements */
.ipo-app.ipx-about-root .ia-hero:after{z-index:0}
.ipo-app.ipx-about-root .ia-step-glyph{height:70px;width:70px;min-width:70px;padding:12px;border-width:8px}
.ipo-app.ipx-about-root .ia-team-photo img{object-position:50% 50%}

.ipo-app.ipx-about-root .ia-hero-benefits{bottom:6px}


/* Source: ipoteco-contact-v3713.css (unchanged CSS; original order preserved) */
/* IpoTeco v3.7.13 — CONTACT is fully authored HTML, not screenshot images. */
body .elementor .ipx-contact-page.e-con,
body .elementor .ipx-contact-page.e-con>.e-con-inner{
  --content-width:100%!important;max-width:100%!important;width:100%!important;
  --width:100%!important;padding:0!important;gap:0!important;
  --flex-direction:column!important;min-width:0!important;
}
body .elementor .ipx-contact-page>[class*="elementor-widget-ipx_"],
body .elementor .ipx-contact-page>.e-con-inner>[class*="elementor-widget-ipx_"]{
  width:100%!important;max-width:100%!important;margin:0!important;
  flex-shrink:0!important;--container-widget-width:100%!important;
}
body .elementor .ipx-contact-page [class*="elementor-widget-ipx_contact"]>.elementor-widget-container{
  width:100%!important;margin:0!important;padding:0!important;
}
.ipo-app.ipo-con.ipx-contact-root{
  display:block!important;position:relative;width:100%!important;max-width:none!important;
  margin:0!important;padding:0!important;overflow:visible!important;
  background:transparent!important;min-width:0!important;
}
.ipo-app.ipx-contact-root {
  --ic-navy:#0c1b3c;--ic-green:#00875b;--ic-sage:#d6f5e6;--ic-slate:#6b7b99;
  font-family:"Lora",Georgia,serif;
  color:var(--ic-navy);font-size:14px;line-height:1.4;
}
.ipo-app.ipx-contact-root *{box-sizing:border-box}
.ipo-app.ipx-contact-root :is(h1,h2,h3,p){margin:0!important;padding:0!important;line-height:inherit}
.ipo-app.ipx-contact-root :is(h1,h2,h3){font-family:"Lora",Georgia,serif!important;color:var(--ic-navy)!important;font-weight:800!important;letter-spacing:-.85px!important}
.ipo-app.ipx-contact-root a{text-decoration:none!important;color:inherit}
.ipo-app.ipx-contact-root :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid #007c57!important;outline-offset:3px!important}
.ipo-app.ipx-contact-root svg{display:block;max-width:100%;max-height:100%}
.ipo-app.ipx-contact-root button,.ipo-app.ipx-contact-root input,.ipo-app.ipx-contact-root select,.ipo-app.ipx-contact-root textarea{font:inherit}
.ipo-app.ipx-contact-root .ic-shell{max-width:1240px;width:calc(100% - 106px);margin-inline:auto;position:relative;z-index:1}
.ipo-app.ipx-contact-root .ic-overline{font-weight:800;letter-spacing:2.2px;font-size:9px;color:#8796b3;display:block;margin-bottom:5px}
.ipo-app.ipx-contact-root .ic-icon-bubble{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#effff8,#bdf3dc);border:1px solid #fff;box-shadow:0 4px 12px #03754d13;color:#007750;padding:12px}
.ipo-app.ipx-contact-root .ic-icon-bubble svg{width:29px;height:29px}
.ipo-app.ipx-contact-root .ic-panel h2,.ipo-app.ipx-contact-root .ic-large-panel h2{font-size:20px!important;line-height:1.19!important;letter-spacing:-.65px!important}
.ipo-app.ipx-contact-root .ic-panel p,.ipo-app.ipx-contact-root .ic-large-panel p{color:#7987a5;font-size:11.8px;line-height:1.39}
.ipo-app.ipx-contact-root .ic-round-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;color:#005846;background:linear-gradient(140deg,#e6fff2,#cbf5e0);padding:10px}
.ipo-app.ipx-contact-root .ic-round-icon svg{width:26px;height:26px}
/* HERO */
.ipo-app.ipx-contact-root .ic-hero{position:relative;height:265px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 101% 0%,#daeee7 0%,transparent 46%),linear-gradient(125deg,#fff 0%,#f7fcfb 44%,#e4f4ef 100%)}
.ipo-app.ipx-contact-root .ic-hero:before{content:"";position:absolute;left:-90px;top:-125px;width:260px;height:370px;border-radius:50%;border:40px solid #d2f6e58c;transform:rotate(24deg);pointer-events:none}
.ipo-app.ipx-contact-root .ic-soft-leaf{position:absolute;pointer-events:none;z-index:0;border-radius:10% 100% 15% 100%;transform:rotate(43deg);background:linear-gradient(135deg,#dbf6e759,#a6e5c74a)}
.ipo-app.ipx-contact-root .ic-leaf-a{width:320px;height:200px;right:-42px;top:-70px}.ipo-app.ipx-contact-root .ic-leaf-b{width:310px;height:180px;left:-165px;bottom:-140px}
.ipo-app.ipx-contact-root .ic-hero-grid{height:100%;display:grid;grid-template-columns:55% 45%;align-items:start}
.ipo-app.ipx-contact-root .ic-hero-copy{padding-top:31px;position:relative;z-index:3}
.ipo-app.ipx-contact-root .ic-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:10px;letter-spacing:3px;color:#7488a7;font-weight:800;margin-bottom:9px}
.ipo-app.ipx-contact-root .ic-eyebrow>i{width:6px;height:6px;background:#00aa6a;border-radius:50%}
.ipo-app.ipx-contact-root .ic-hero h1{font-size:44px!important;max-width:590px!important;line-height:1.02!important;letter-spacing:-2px!important;margin-bottom:12px!important}
.ipo-app.ipx-contact-root .ic-hero h1 em{font-style:normal;color:#007e51;white-space:nowrap;text-decoration:underline;text-decoration-color:#a5dbc5;text-decoration-thickness:4px;text-underline-offset:7px}
.ipo-app.ipx-contact-root .ic-hero-description{font-size:15px!important;line-height:1.28!important;color:#617495;max-width:570px;margin-bottom:17px!important}
.ipo-app.ipx-contact-root .ic-hero-trust{display:flex;gap:17px;flex-wrap:wrap;align-items:center}
.ipo-app.ipx-contact-root .ic-hero-trust>span{display:inline-flex;align-items:center;gap:7px;font-size:10.7px;white-space:nowrap;color:#33486b;font-weight:520}
.ipo-app.ipx-contact-root .ic-hero-trust b{display:grid;place-items:center;background:#008b58;color:white;border-radius:50%;width:20px;height:20px;padding:4px;flex:0 0 20px}
.ipo-app.ipx-contact-root .ic-hero-trust b svg{width:13px;height:13px}
.ipo-app.ipx-contact-root .ic-hero-photo-area{position:relative;height:265px;z-index:1;overflow:visible}
.ipo-app.ipx-contact-root .ic-photo-halo{position:absolute;inset:-40px -125px 0 -70px;overflow:hidden;border-radius:60% 18% 12% 50%;background:radial-gradient(ellipse at 90% 50%,#f4d9bdcc,#e6f8f3e6 62%,transparent 79%)}
.ipo-app.ipx-contact-root .ic-couple-photo{position:absolute;right:-24px;bottom:-45px;height:315px;width:465px;max-width:none;object-fit:cover;object-position:52% 20%;border-radius:48% 43% 0 0;mask-image:linear-gradient(90deg,transparent 0%,black 18%,black 86%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 18%,black 86%,transparent 100%)}
.ipo-app.ipx-contact-root .ic-float-home{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:62px;left:4px;gap:5px;width:93px;height:116px;border-radius:23px;background:#fffffff0;box-shadow:0 9px 28px #0e64542b;border:1px solid white;backdrop-filter:blur(8px)}
.ipo-app.ipx-contact-root .ic-float-home .ic-round-icon{width:36px;height:36px;flex-basis:36px}
.ipo-app.ipx-contact-root .ic-float-home small{font-size:10px;color:#6d83a0;line-height:1.12;text-align:center}
.ipo-app.ipx-contact-root .ic-handwriting{position:absolute;right:-34px;top:28px;font-family:"Segoe Print","Bradley Hand",cursive;font-size:15px;color:#1a3554;font-style:italic;text-align:center;transform:rotate(-7deg);line-height:1.22;white-space:nowrap}
.ipo-app.ipx-contact-root .ic-handwriting>i{display:block;border-bottom:3px solid #00a16e;width:50px;margin:8px auto 0;transform:rotate(-8deg);border-radius:60%}
/* CONTACT FORM + INFO */
.ipo-app.ipx-contact-root .ic-contact-main{background:linear-gradient(100deg,#e8faf5 0%,#f5fcfc 49%,#e5f4f2 100%);padding:7px 0 12px;position:relative}
.ipo-app.ipx-contact-root .ic-dual-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.90fr);gap:14px;align-items:stretch}
.ipo-app.ipx-contact-root .ic-panel,.ipo-app.ipx-contact-root .ic-large-panel{background:linear-gradient(135deg,#ffffffd6,#fbfdfddc);backdrop-filter:blur(10px);border:1px solid #ffffff;box-shadow:0 7px 25px #0a655010;border-radius:19px}
.ipo-app.ipx-contact-root .ic-panel{min-height:461px;padding:14px 20px 17px}
.ipo-app.ipx-contact-root .ic-panel-head{display:flex;align-items:center;gap:13px;min-height:58px;margin-bottom:9px}
.ipo-app.ipx-contact-root .ic-panel-head .ic-icon-bubble{width:58px;height:58px;flex-basis:58px}
.ipo-app.ipx-contact-root .ic-panel-head h2{margin-bottom:2px!important}
.ipo-app.ipx-contact-root .ic-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px}
.ipo-app.ipx-contact-root .ic-field{display:flex;flex-direction:column;min-width:0;background:#ffffffc7;border:1px solid #e6edf0;border-radius:12px;padding:8px 10px 9px;gap:5px;color:var(--ic-navy)}
.ipo-app.ipx-contact-root .ic-field>span:first-child{font-size:12px;font-weight:760;line-height:1.1}
.ipo-app.ipx-contact-root .ic-field i{color:#d8464b;font-style:normal}
.ipo-app.ipx-contact-root .ic-input-wrap{height:40px;display:flex;align-items:center;gap:7px;border-radius:9px;background:#fff;border:1px solid #dce6eb;box-shadow:0 2px 5px #11253e04;min-width:0;overflow:hidden}
.ipo-app.ipx-contact-root .ic-field-prefix{width:33px;flex:0 0 33px;display:grid;place-items:center;color:#8a9bb9;padding-left:9px}
.ipo-app.ipx-contact-root .ic-field-prefix svg{width:19px;height:19px}
.ipo-app.ipx-contact-root .ic-input-wrap :is(input,select,textarea){width:100%;height:100%;min-width:0;background:transparent;border:0!important;border-radius:0;padding:0 11px 0 0;font-size:12px;color:#1b3150;box-shadow:none!important;outline:none!important}
.ipo-app.ipx-contact-root .ic-input-wrap :is(input,select,textarea)::placeholder{color:#a4b2c7;opacity:1}
.ipo-app.ipx-contact-root .ic-input-wrap select{cursor:pointer;appearance:auto;color:#5d6b84}
.ipo-app.ipx-contact-root .ic-field:focus-within{border-color:#b7e7d4;background:#fff;box-shadow:0 0 0 2px #05a66b18}
.ipo-app.ipx-contact-root .ic-field-wide{grid-column:1/-1}
.ipo-app.ipx-contact-root .ic-input-message{height:84px;align-items:stretch}
.ipo-app.ipx-contact-root .ic-input-message textarea{resize:vertical!important;min-height:82px!important;padding:11px!important;line-height:1.3!important}
.ipo-app.ipx-contact-root .ic-submit{display:flex;justify-content:center;align-items:center;gap:14px;width:100%;height:44px;border:0;border-radius:12px;background:linear-gradient(105deg,#007e4f 0%,#00a46b 52%,#00a25e 100%);color:white!important;box-shadow:0 8px 18px #00875627;cursor:pointer;font-weight:800;font-size:13px;transition:transform .25s,box-shadow .25s}
.ipo-app.ipx-contact-root .ic-submit svg{width:21px;height:21px}
.ipo-app.ipx-contact-root .ic-submit:hover{transform:translateY(-2px);box-shadow:0 13px 23px #00875640}
.ipo-app.ipx-contact-root .ic-privacy{font-size:10px!important;color:#8b9ab2!important;display:flex;align-items:center;justify-content:center;gap:7px;padding-top:10px!important}
.ipo-app.ipx-contact-root .ic-privacy svg{width:13px;height:13px}
.ipo-app.ipx-contact-root .ic-honey{position:absolute!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;width:1px;height:1px;overflow:hidden;white-space:nowrap}
.ipo-app.ipx-contact-root .ic-form-status:not([hidden]){display:block;margin:8px 0;padding:10px 12px;font-size:12px;border-radius:9px;background:#e7f8ed;color:#075b3b;font-weight:660}
.ipo-app.ipx-contact-root .ic-form-status.ic-is-error{background:#fff0ed;color:#9f352b}
.ipo-app.ipx-contact-root .ic-contact-cards{display:grid;gap:10px}
.ipo-app.ipx-contact-root .ic-contact-card{display:flex;align-items:center;gap:10px;min-width:0;min-height:79px;background:#ffffffc9;border:1px solid #e5eef0;border-radius:13px;padding:10px 12px;transition:transform .23s,box-shadow .23s,border-color .23s}
.ipo-app.ipx-contact-root .ic-contact-card:hover{transform:translateY(-2px);border-color:#c5e8dc;box-shadow:0 9px 21px #23655218}
.ipo-app.ipx-contact-root .ic-icon-small{width:48px;height:48px;flex:0 0 48px}
.ipo-app.ipx-contact-root .ic-card-text{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:2px;line-height:1.13}
.ipo-app.ipx-contact-root .ic-card-text strong{font-size:12.5px;letter-spacing:-.2px}
.ipo-app.ipx-contact-root .ic-card-text small{font-size:10.5px;color:#8b9bb5;line-height:1.2}
.ipo-app.ipx-contact-root .ic-card-text b{font-size:13.2px;white-space:normal;overflow-wrap:anywhere}
.ipo-app.ipx-contact-root .ic-card-text .ic-address{font-size:11.3px;color:#647a9b}
.ipo-app.ipx-contact-root .ic-pill{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:9px;background:linear-gradient(95deg,#e4fbef,#d7f6e6);border-radius:30px;padding:11px 12px;min-width:105px;color:#006d48!important;font-size:11px;font-weight:800;transition:background .23s,transform .23s}
.ipo-app.ipx-contact-root .ic-pill:hover{transform:translateX(3px);background:#bff0d7}
.ipo-app.ipx-contact-root .ic-pill svg{width:18px;height:18px}
/* QUICK CONTACT */
.ipo-app.ipx-contact-root .ic-section-wrap{position:relative;background:linear-gradient(115deg,#e6f7f1,#f3fbfb 57%,#e4f5ee)}
.ipo-app.ipx-contact-root .ic-contact-quick{padding:0 0 13px}
.ipo-app.ipx-contact-root .ic-large-panel{padding:15px 15px 12px}
.ipo-app.ipx-contact-root .ic-subheading{display:flex;align-items:center;gap:11px;margin-bottom:8px}
.ipo-app.ipx-contact-root .ic-subheading .ic-icon-bubble{width:46px;height:46px;flex-basis:46px}
.ipo-app.ipx-contact-root .ic-subheading h2{font-size:17px!important}
.ipo-app.ipx-contact-root .ic-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ipo-app.ipx-contact-root .ic-quick-card{display:flex;align-items:center;gap:9px;min-width:0;min-height:77px;padding:10px 11px;background:#fff;border:1px solid #e8edf0;border-radius:12px;box-shadow:0 3px 10px #0c4e3308;transition:transform .23s,box-shadow .23s,border-color .23s}
.ipo-app.ipx-contact-root .ic-quick-card:hover{transform:translateY(-4px);border-color:#bee9d8;box-shadow:0 12px 23px #11694e20}
.ipo-app.ipx-contact-root .ic-quick-card>.ic-round-icon{width:44px;height:44px;flex-basis:44px}
.ipo-app.ipx-contact-root .ic-quick-card>span:nth-child(2){flex:1;min-width:0}
.ipo-app.ipx-contact-root .ic-quick-card strong{display:block;font-size:11.8px;line-height:1.2;font-weight:800;color:#10243e}
.ipo-app.ipx-contact-root .ic-quick-card small{display:block;margin-top:5px;color:#788ca6;font-size:9.9px;line-height:1.24}
.ipo-app.ipx-contact-root .ic-quick-arrow{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#008452;background:#e5f9ef;flex:0 0 26px}
.ipo-app.ipx-contact-root .ic-quick-arrow svg{width:17px;height:17px}
/* GUARANTEES */
.ipo-app.ipx-contact-root .ic-benefits-wrap{padding:0 0 13px}
.ipo-app.ipx-contact-root .ic-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:11px 12px;border:1px solid #fff;background:#ffffffe5;border-radius:16px;box-shadow:0 5px 20px #0e59440c}
.ipo-app.ipx-contact-root .ic-benefit{display:flex;align-items:center;gap:10px;padding:5px 15px;min-width:0}
.ipo-app.ipx-contact-root .ic-benefit:not(:last-child){border-right:1px solid #e3eaf0}
.ipo-app.ipx-contact-root .ic-benefit strong{display:block;font-size:11.8px;margin-bottom:4px;color:#102343;line-height:1.12}
.ipo-app.ipx-contact-root .ic-benefit small{display:block;font-size:10px;line-height:1.26;color:#8090ac}
/* LOCATION + FAQ */
.ipo-app.ipx-contact-root .ic-bottom-wrap{padding:0 0 26px;background:linear-gradient(120deg,#e8f8f2,#f7fdfb,#e0f2ed)}
.ipo-app.ipx-contact-root .ic-bottom-grid{display:grid;grid-template-columns:1.6fr .98fr;gap:12px;align-items:stretch}
.ipo-app.ipx-contact-root .ic-bottom-grid>.ic-large-panel{min-height:249px;padding:19px 19px 15px}
.ipo-app.ipx-contact-root .ic-location{display:grid;grid-template-columns:48% 52%;gap:0;overflow:hidden}
.ipo-app.ipx-contact-root .ic-location-copy{position:relative;z-index:2}
.ipo-app.ipx-contact-root .ic-location-copy h2{font-size:19px!important;line-height:1.17!important;margin-bottom:5px!important}
.ipo-app.ipx-contact-root .ic-location-copy>p{font-size:10.8px;line-height:1.34;margin-bottom:11px!important}
.ipo-app.ipx-contact-root .ic-location-detail{display:flex;align-items:center;gap:9px;font-size:10.6px;color:#577093;line-height:1.22;margin-bottom:7px}
.ipo-app.ipx-contact-root .ic-location-detail:first-of-type{font-weight:700}
.ipo-app.ipx-contact-root .ic-mini-icon{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;color:#008651;background:#d6f7e6;padding:6px}
.ipo-app.ipx-contact-root .ic-mini-icon svg{width:16px;height:16px}
.ipo-app.ipx-contact-root .ic-map-illustration{position:relative;overflow:hidden;margin:-5px -5px -1px 5px;border:1px solid #e3e9e7;border-radius:15px;background:repeating-linear-gradient(15deg,#f5f7f4 0px,#f5f7f4 22px,#dce5de 22px,#dce5de 23px,#f3f7f4 23px,#f3f7f4 49px),linear-gradient(115deg,#dee9d8,#ffffff);min-height:201px}
.ipo-app.ipx-contact-root .ic-map-patch{position:absolute;background:#c5e6c9;filter:blur(1px);opacity:.8;transform:rotate(23deg)}
.ipo-app.ipx-contact-root .ic-map-patch-a{width:110px;height:92px;left:7%;top:5%;border-radius:15px}.ipo-app.ipx-contact-root .ic-map-patch-b{width:160px;height:90px;right:2%;bottom:0;border-radius:35px}
.ipo-app.ipx-contact-root .ic-road{position:absolute;background:#fffcf6;border:1px solid #d8e0da;box-shadow:0 0 0 5px #ffffff3b;transform-origin:center}
.ipo-app.ipx-contact-root .ic-road-a{width:133%;height:23px;left:-15%;top:32%;transform:rotate(25deg)}
.ipo-app.ipx-contact-root .ic-road-b{width:125%;height:19px;left:-12%;top:68%;transform:rotate(-20deg)}
.ipo-app.ipx-contact-root .ic-road-c{width:21px;height:135%;left:62%;top:-20%;transform:rotate(16deg)}
.ipo-app.ipx-contact-root .ic-road-d{width:19px;height:135%;left:31%;top:-12%;transform:rotate(-10deg)}
.ipo-app.ipx-contact-root .ic-map-marker{position:absolute;top:39%;left:36%;height:39px;width:39px;display:grid;place-items:center;background:#008d58;color:#fff;border:4px solid #fff;border-radius:50%;box-shadow:0 5px 15px #05634970;transform:rotate(0)}
.ipo-app.ipx-contact-root .ic-map-marker svg{width:23px;height:23px}
.ipo-app.ipx-contact-root .ic-map-label{position:absolute;top:30%;right:4%;padding:9px 10px;background:#fff;border:1px solid #eef0f2;border-radius:13px;box-shadow:0 6px 15px #31574b27;max-width:54%}
.ipo-app.ipx-contact-root .ic-map-label strong{display:block;font-size:12px}
.ipo-app.ipx-contact-root .ic-map-label small{display:block;font-size:9.5px;line-height:1.18;color:#7d8ca3}
.ipo-app.ipx-contact-root .ic-map-expand{position:absolute;top:8px;right:8px;display:grid;place-items:center;background:#fff;border-radius:8px;width:28px;height:28px;box-shadow:0 4px 10px #32492d1a;color:#12446a!important;padding:6px}
.ipo-app.ipx-contact-root .ic-map-attribution{position:absolute;left:6px;bottom:3px;color:#647b8b;font-size:8px;letter-spacing:.1px;background:#fff8;border-radius:4px;padding:1px 3px}
.ipo-app.ipx-contact-root .ic-faq{padding:19px 18px 12px!important}
.ipo-app.ipx-contact-root .ic-faq h2{font-size:20px!important;margin-bottom:6px!important}
.ipo-app.ipx-contact-root .ic-faq>p{margin-bottom:10px!important}
.ipo-app.ipx-contact-root .ic-faq-list{display:grid;gap:6px}
.ipo-app.ipx-contact-root .ic-faq-item{border:1px solid #e6eaef;border-radius:9px;background:#fff;box-shadow:0 4px 10px #2349360a;min-width:0}
.ipo-app.ipx-contact-root .ic-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:9px;list-style:none;cursor:pointer;min-height:34px;padding:7px 10px;color:#233552;font-weight:700;font-size:11px;line-height:1.21}
.ipo-app.ipx-contact-root .ic-faq-item summary::-webkit-details-marker{display:none}
.ipo-app.ipx-contact-root .ic-faq-chevron svg{width:16px;height:16px;transition:transform .2s}
.ipo-app.ipx-contact-root .ic-faq-item[open] .ic-faq-chevron svg{transform:rotate(180deg)}
.ipo-app.ipx-contact-root .ic-faq-answer{padding:0 10px 12px;font-size:10.5px;color:#6c819b;line-height:1.37}
.ipo-app.ipx-contact-root .ic-faq-all{display:inline-flex;align-items:center;gap:12px;color:#008a56!important;font-size:11px;font-weight:750;margin-top:13px}
.ipo-app.ipx-contact-root .ic-faq-all svg{width:17px;height:17px}
/* Larger desktops */
/* v5.0.4: removed 1500px widescreen inflation; shared 1122px artboard scales consistently. */
/* Tablet */
@media (max-width:1024px){
 .ipo-app.ipx-contact-root .ic-shell{width:calc(100% - 56px)}
 .ipo-app.ipx-contact-root .ic-hero h1{font-size:38px!important}
 .ipo-app.ipx-contact-root .ic-hero-description{font-size:13px!important}
 .ipo-app.ipx-contact-root .ic-hero-grid{grid-template-columns:57% 43%}
 .ipo-app.ipx-contact-root .ic-hero-trust{gap:10px}
 .ipo-app.ipx-contact-root .ic-couple-photo{right:-50px}
 .ipo-app.ipx-contact-root .ic-handwriting{right:-20px}
 .ipo-app.ipx-contact-root .ic-dual-grid{grid-template-columns:1.18fr .9fr;gap:10px}
 .ipo-app.ipx-contact-root .ic-panel{padding:15px 12px}
 .ipo-app.ipx-contact-root .ic-pill{min-width:88px;padding:10px 8px;gap:4px;font-size:10px}
 .ipo-app.ipx-contact-root .ic-contact-card{gap:6px;padding:8px}
 .ipo-app.ipx-contact-root .ic-card-text small{font-size:9.7px}
 .ipo-app.ipx-contact-root .ic-benefit{padding:5px 7px}
 .ipo-app.ipx-contact-root .ic-quick-card{gap:6px;padding:7px}
 .ipo-app.ipx-contact-root .ic-bottom-grid{grid-template-columns:1.46fr 1fr}
}
@media (max-width:767px){
 .ipo-app.ipx-contact-root .ic-shell{width:calc(100% - 32px)}
 .ipo-app.ipx-contact-root .ic-hero{height:auto;min-height:515px}
 .ipo-app.ipx-contact-root .ic-hero-grid{grid-template-columns:1fr;align-items:start}
 .ipo-app.ipx-contact-root .ic-hero-copy{padding-top:23px}
 .ipo-app.ipx-contact-root .ic-hero h1{font-size:36px!important;line-height:1.07!important;max-width:560px!important;letter-spacing:-1.3px!important}
 .ipo-app.ipx-contact-root .ic-hero-description{font-size:13px!important;max-width:550px;margin-bottom:12px!important}
 .ipo-app.ipx-contact-root .ic-hero-trust{gap:9px}
 .ipo-app.ipx-contact-root .ic-hero-trust>span{font-size:10px}
 .ipo-app.ipx-contact-root .ic-hero-photo-area{height:265px;margin-top:4px}
 .ipo-app.ipx-contact-root .ic-photo-halo{inset:-4px -24px -11px 0}
 .ipo-app.ipx-contact-root .ic-couple-photo{right:0;bottom:-10px;height:295px;width:82%;object-fit:cover;object-position:50% 20%}
 .ipo-app.ipx-contact-root .ic-float-home{top:65px;left:5%;width:85px;height:90px}
 .ipo-app.ipx-contact-root .ic-handwriting{top:9px;right:4%;font-size:12px}
 .ipo-app.ipx-contact-root .ic-dual-grid,.ipo-app.ipx-contact-root .ic-bottom-grid{grid-template-columns:1fr}
 .ipo-app.ipx-contact-root .ic-panel{min-height:0;padding:15px}
 .ipo-app.ipx-contact-root .ic-form-panel{margin-bottom:4px}
 .ipo-app.ipx-contact-root .ic-contact-main{padding-top:6px}
 .ipo-app.ipx-contact-root .ic-contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ipo-app.ipx-contact-root .ic-contact-card{min-height:96px;flex-wrap:wrap;align-content:start}
 .ipo-app.ipx-contact-root .ic-contact-card .ic-icon-small{width:39px;height:39px;flex-basis:39px;padding:8px}
 .ipo-app.ipx-contact-root .ic-contact-card .ic-pill{min-width:auto;margin-left:auto;font-size:10px}
 .ipo-app.ipx-contact-root .ic-quick-grid,.ipo-app.ipx-contact-root .ic-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ipo-app.ipx-contact-root .ic-benefit:nth-child(2){border-right:none}
 .ipo-app.ipx-contact-root .ic-benefit:nth-child(n+3){border-top:1px solid #e3eaf0}
 .ipo-app.ipx-contact-root .ic-bottom-grid{gap:12px}
 .ipo-app.ipx-contact-root .ic-location{grid-template-columns:46% 54%;min-height:260px}
}
@media (max-width:520px){
 .ipo-app.ipx-contact-root .ic-hero{min-height:570px}
 .ipo-app.ipx-contact-root .ic-hero h1{font-size:32px!important}
 .ipo-app.ipx-contact-root .ic-hero h1 em{white-space:normal}
 .ipo-app.ipx-contact-root .ic-hero-description{font-size:12px!important;line-height:1.38!important}
 .ipo-app.ipx-contact-root .ic-hero-trust{column-gap:11px;row-gap:7px}
 .ipo-app.ipx-contact-root .ic-hero-photo-area{margin-top:8px;height:270px}
 .ipo-app.ipx-contact-root .ic-couple-photo{width:92%;right:-10px;height:305px}
 .ipo-app.ipx-contact-root .ic-float-home{top:75px;left:0}
 .ipo-app.ipx-contact-root .ic-panel-head h2{font-size:19px!important}
 .ipo-app.ipx-contact-root .ic-form-grid{grid-template-columns:1fr;gap:8px}
 .ipo-app.ipx-contact-root .ic-field{min-height:70px}
 .ipo-app.ipx-contact-root .ic-contact-cards{grid-template-columns:1fr}
 .ipo-app.ipx-contact-root .ic-contact-card{flex-wrap:nowrap;min-height:70px}
 .ipo-app.ipx-contact-root .ic-quick-grid{grid-template-columns:1fr}
 .ipo-app.ipx-contact-root .ic-quick-card{min-height:74px}
 .ipo-app.ipx-contact-root .ic-benefit-grid{grid-template-columns:1fr}
 .ipo-app.ipx-contact-root .ic-benefit{border-right:none!important;border-top:none!important;padding:8px 5px}
 .ipo-app.ipx-contact-root .ic-benefit:not(:last-child){border-bottom:1px solid #e3eaf0}
 .ipo-app.ipx-contact-root .ic-location{grid-template-columns:1fr}
 .ipo-app.ipx-contact-root .ic-map-illustration{min-height:235px;margin:12px 0 0}
 .ipo-app.ipx-contact-root .ic-bottom-grid>.ic-large-panel{padding:16px}
}
@media (prefers-reduced-motion:reduce){.ipo-app.ipx-contact-root :is(a,button,svg,.ic-contact-card){transition:none!important;animation:none!important}.ipo-app.ipx-contact-root :is(.ic-contact-card,.ic-submit,.ic-quick-card):hover{transform:none!important}}

/* CSS-drawn illustrative map zoom: no third-party API or baked screenshot. */
.ipo-app.ipx-contact-root .ic-map-scene{position:absolute;inset:0;transform-origin:50% 50%;transition:transform .32s ease;transform:scale(var(--ic-map-zoom,1))}
.ipo-app.ipx-contact-root .ic-map-zoom-controls{position:absolute;right:7px;bottom:9px;display:flex;flex-direction:column;gap:1px;background:white;border:1px solid #e8eded;border-radius:7px;box-shadow:0 3px 12px #073d2e1c;overflow:hidden}
.ipo-app.ipx-contact-root .ic-map-zoom-controls button{border:0;background:white;width:25px;height:25px;display:grid;place-items:center;padding:0;color:#163454;font-size:18px;line-height:1;cursor:pointer;font-weight:750}
.ipo-app.ipx-contact-root .ic-map-zoom-controls button:hover{background:#e6f7ed}
@media (prefers-reduced-motion:reduce){.ipo-app.ipx-contact-root .ic-map-scene{transition:none!important}}


/* Source: ipoteco-premium-v3714.css (unchanged CSS; original order preserved) */
/* IpoTeco v3.7.14 — transparent visual enhancement, no page restructuring. */
:root{--ipx-2026-navy:#102C4A;--ipx-2026-green:#008B63;--ipx-2026-mint:#D7F6E7}
/* Font loaded globally by lora-runtime.php; reinforce it in theme sections whose
   legacy CSS includes explicit Inter !important (including Elementor iframe). */
html body .ipo-app,
html body .ipo-app :is(h1,h2,h3,h4,h5,h6,p,a,small,strong,em,label,button,input,select,textarea,summary,li,time,figcaption,blockquote),
html body .ipo-standard-content,
html body .ipo-standard-content :is(h1,h2,h3,h4,h5,h6,p,a,li,button,input,select,textarea),
html body .ipo-default-header,html body .ipo-default-footer,
html body .ipo-app.ipx-about-root :is(.ia-section,.ia-hero,.ia-step h3,.ia-audience-card h3),
html body .ipo-app.ipx-resources-root .iprs,
html body .ipo-app.ipx-contact-root :is(.ic-page,.ic-section,.ic-contact-page,h1,h2,h3),
html body .ipo-app.ipx-referral-root .ipr,
html body .elementor-widget-container :is(h1,h2,h3,h4,h5,h6,p,small,a,label,button,input,select,textarea),
html body :is(input,textarea,select,button)::placeholder{
  font-family:'Lora',Georgia,'Times New Roman',serif!important;
}
/* Elementor icon fonts and SVG pictograms are not overridden. */
/* Actual logo hotspot for the existing (unchanged) Elementor wordmark/icon. */
.ipo-app .ipo-brand,.ipo-app .ipo-footer-brand{position:relative}
.ipo-app .ipx-brand-home-link{position:absolute;inset:0;z-index:6;display:block;cursor:pointer;border-radius:12px;background:transparent}
.ipo-app .ipx-brand-home-link:focus-visible{outline:2px solid #028D63;outline-offset:4px}
.ipo-default-footer .ipx-native-footer-home{font-family:'Lora',Georgia,serif;color:inherit;text-decoration:none}
.ipo-default-footer .ipx-native-footer-home:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
/* Distinct modern duotone svg artwork; never blur/pixelate enlarged icon paths. */
:is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) svg.ipx-glyph-2026{
  display:block;width:100%;height:100%;max-width:100%;max-height:100%;fill:none;
  shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke;
  transition:transform .37s cubic-bezier(.2,.8,.2,1),filter .37s ease;
}
:is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) :is(.ipr-step-icon,.ipr-picto-sm,.ipr-metric-icon,.iprs-icon-disc,.iprs-notice-icon,.ia-circle-icon,.ia-step-glyph,.ia-audience-icon,.ic-icon-bubble,.ic-icon-small,.ic-mini-icon,.ic-round-icon):hover svg.ipx-glyph-2026{
  transform:rotate(-7deg) scale(1.09);filter:drop-shadow(0 4px 3px #08755326);
}
/* The four existing page layouts keep their original sizes, colors, grid and cards. */
:is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) .ipx-v3714-card{
  --ipx-glow-x:50%;--ipx-glow-y:50%;
  transition:transform .35s cubic-bezier(.18,.8,.25,1),box-shadow .35s ease,border-color .35s ease;
  will-change:auto;
}
@media (hover:hover) and (pointer:fine){
  :is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) .ipx-v3714-card:hover{
    transform:translate3d(0,-5px,0);border-color:#B8E8D3;
    box-shadow:0 22px 45px #15564022,0 2px 6px #0C604218;
  }
  :is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) .ipx-v3714-card:hover svg.ipx-glyph-2026{
    transform:translateY(-1px) rotate(-5deg) scale(1.11);
  }
  :is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) .ipx-v3714-button:hover svg.ipx-glyph-2026{
    transform:translateX(4px) scale(1.07);
  }
  :is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) .ipx-v3714-button:hover{
    box-shadow:0 15px 32px #03895D2B;
  }
}
:is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) .ipx-v3714-button:focus-visible{
  outline:2px solid #008E63!important;outline-offset:3px!important;
}
/* Progressive motion starts only when elements enter the viewport; no invisible
   content waiting for JS, which also safeguards screenreaders and no-JS users. */
@media (prefers-reduced-motion:no-preference){
  :is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) .ipx-v3714-enter{
    animation:ipx-v3714-rise .65s cubic-bezier(.2,.75,.2,1) both;
  }
  @keyframes ipx-v3714-rise{from{opacity:.64;transform:translate3d(0,16px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
}
@media (prefers-reduced-motion:reduce){
  :is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) :is(.ipx-v3714-card,.ipx-v3714-button,svg.ipx-glyph-2026){animation:none!important;transform:none!important;transition:none!important}
}
/* Better font metrics and longer editable Romanian strings, without forced breaks. */
:is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) :is(h1,h2,h3,p){overflow-wrap:break-word;hyphens:auto}
:is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) :is(h1,h2,h3){text-wrap:balance}
:is(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) :is(p,.ipr-hero-intro,.ia-lead,.ic-hero-description){text-wrap:pretty}
/* Two about card rows have legacy fixed heights: allow the Lora copy to grow
   rather than clipping it at 390–900px. Keep all original min-height values. */
@media (max-width:900px){
  .ipo-app.ipx-about-root .ia-value-card{min-height:145px;height:auto}
  .ipo-app.ipx-about-root .ia-audience-content{height:auto}
  .ipo-app.ipx-contact-root .ic-contact-card{min-height:79px;height:auto}
}
@media (max-width:650px){
  .ipo-app.ipx-about-root .ia-value-card{min-height:205px}
}


/* Source: ipoteco-neo-v3715.css (unchanged CSS; original order preserved) */
/* IpoTeco v3.7.15 — visually distinct filled duotone pictograms + ambient motion.
   Intentionally scoped to four content pages: no changes to shared homepage chrome. */
:where(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) svg.ipx-glyph-neo26 {
  display:block;width:100%;height:100%;max-width:100%;max-height:100%;
  overflow:visible;shape-rendering:geometricPrecision;
  transition:transform .42s cubic-bezier(.18,.82,.28,1),filter .42s ease;
  filter:drop-shadow(0 1px 1px #0b516b12)
}
:where(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root)
:is(.ipr-picto-sm,.ipr-step-icon,.ipr-metric-icon,.ipr-reward-emblem,.ipr-floating-home-icon,.ipr-faq-item-icon,.ipr-help-icon,.ipr-trust-icon,
.iprs-icon-disc,.iprs-notice-icon,.iprs-question-icon,.iprs-tool-icon,
.ia-circle-icon,.ia-step-glyph,.ia-audience-icon,.ia-float-icon,
.ic-icon-bubble,.ic-icon-small,.ic-mini-icon,.ic-round-icon,.ic-quick-icon) {
  background-image:linear-gradient(135deg,#f3fffa 0%,#dcfaec 45%,#baf1d9 100%);
  box-shadow:inset 0 1px 0 #fff,0 6px 18px #116b5920;
  transition:background .4s ease, box-shadow .4s ease, transform .4s cubic-bezier(.2,.8,.2,1);
}
@media (hover:hover) and (pointer:fine){
  :where(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root)
  :is(.ipr-hero-benefit,.ipr-step-card,.ipr-metric-card,.ipr-floating-card,.ipr-faq-item,.iprs-category-card,.iprs-article-card,.iprs-tool-card,.ia-value-card,.ia-audience-card,.ic-contact-card,.ic-quick-card):hover svg.ipx-glyph-neo26{
    transform:translateY(-2px) rotate(-7deg) scale(1.12);
    filter:drop-shadow(0 4px 4px #057a5330)
  }
  :where(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root)
  :is(.ipr-step-card,.ipr-faq-item,.ipr-metric-card,.iprs-category-card,.iprs-article-card,.iprs-tool-card,.ia-value-card,.ia-audience-card,.ic-quick-card,.ic-contact-card){
    transition:transform .38s cubic-bezier(.19,.78,.25,1),box-shadow .38s ease,border-color .3s ease,background .4s ease;
  }
  :where(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root)
  :is(.ipr-step-card,.ipr-faq-item,.ipr-metric-card,.iprs-category-card,.iprs-article-card,.iprs-tool-card,.ia-value-card,.ia-audience-card,.ic-quick-card,.ic-contact-card):hover{
    box-shadow:0 18px 46px #0c5b482e,0 3px 12px #064e3113,inset 0 0 0 1px #95e3c5;
  }
}
/* Animated ambient gradients: behind *real* text/photos/cards rather than pasted into a screenshot. */
.ipo-app.ipx-referral-root .ipr-hero::before{
  content:"";position:absolute;z-index:2;inset:-14% -2% -10% 44%;pointer-events:none;
  background:
    radial-gradient(circle at var(--neo-x,68%) var(--neo-y,36%),#83fbd342 0%,#8df3df15 25%,transparent 48%),
    repeating-radial-gradient(circle at 75% 55%,transparent 0 34px,#5bd3a023 36px 37px,transparent 40px 76px),
    radial-gradient(circle at 10% 82%,#7feec01f 0%,transparent 57%);
  opacity:.8;mask-image:linear-gradient(90deg,transparent,black 34%);
  animation:ipx-neo-aurora 12s ease-in-out infinite alternate;
}
.ipo-app.ipx-referral-root .ipr-steps{isolation:isolate}
.ipo-app.ipx-referral-root .ipr-steps::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(circle at 5% 70%,#a3f6cc4d,transparent 26%),
    radial-gradient(circle at 97% 5%,#a3deff44,transparent 22%),
    radial-gradient(circle,#31b48821 1px,transparent 1.7px) calc(100% - 70px) 0/22px 22px;
  mask-image:linear-gradient(90deg,#0004,#0002 22%,transparent 60%,#0002 100%)
}
.ipo-app.ipx-referral-root .ipr-dashboard{isolation:isolate}
.ipo-app.ipx-referral-root .ipr-dashboard::before{
  content:"";position:absolute;inset:-12% 0 -5%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 82% 44%,#6bedd42e,transparent 55%),radial-gradient(ellipse at 5% 90%,#b9f2e74a,transparent 42%);
}
.ipo-app.ipx-referral-root .ipr-faq{isolation:isolate}
.ipo-app.ipx-referral-root .ipr-faq::before{
  content:"";position:absolute;z-index:1;pointer-events:none;inset:0;
  background:radial-gradient(ellipse 35% 65% at 95% 20%,#b5ffe03b,transparent 90%),
             radial-gradient(ellipse 28% 90% at 0% 80%,#86dec331,transparent 90%),
             repeating-radial-gradient(circle at 87% 30%,transparent 0 27px,#158b6b10 28px 29px,transparent 30px 55px);
  opacity:.82;mask-image:linear-gradient(90deg,#000 0%,transparent 34%,transparent 69%,#000 100%);
}
.ipo-app.ipx-referral-root .ipr-faq-grid{z-index:2}
.ipo-app.ipx-referral-root .ipr-faq-item{border-radius:15px;overflow:hidden;box-shadow:0 5px 24px #143d2f12,0 1px 1px #ffffff90 inset}
.ipo-app.ipx-referral-root .ipr-faq-item summary{gap:12px;min-height:48px;font-size:12px;padding:7px 13px}
.ipo-app.ipx-referral-root .ipr-faq-item-icon{display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 32px;width:32px;height:32px;padding:7px;border-radius:11px}
.ipo-app.ipx-referral-root .ipr-faq-item[open]{background:linear-gradient(115deg,#f9fffc,#eefcf5);border-color:#9bd8bd;box-shadow:0 15px 30px #087c4e16,inset 3px 0 #01ae78}
.ipo-app.ipx-referral-root .ipr-faq-item[open] summary{color:#006745}
.ipo-app.ipx-referral-root .ipr-faq-item[open] .ipr-chevron{color:#00a16f}
.ipo-app.ipx-referral-root .ipr-faq-answer{animation:ipx-neo-faq-unfold .36s ease-out}
.ipo-app.ipx-referral-root .ipr-floating-card{border-color:#f0fff8;box-shadow:0 18px 45px #074c3828,0 1px 2px #ffffff inset;backdrop-filter:blur(16px)}
.ipo-app.ipx-referral-root .ipr-floating-card::after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,#ffffff6b,transparent 44%);opacity:.7}
.ipo-app.ipx-referral-root .ipr-btn-primary,.ipo-app.ipx-about-root .ia-btn-primary,
.ipo-app.ipx-contact-root .ic-submit{background-size:170% 100%;background-position:0 0}
@media(hover:hover) and (pointer:fine){
  .ipo-app.ipx-referral-root .ipr-btn-primary:hover,.ipo-app.ipx-about-root .ia-btn-primary:hover,
  .ipo-app.ipx-contact-root .ic-submit:hover{background-position:100% 0;box-shadow:0 16px 36px #04a77740,0 0 0 3px #5cdbb01a}
}
/* Additional subtle ambient backgrounds for the other three pages. */
.ipo-app.ipx-resources-root .iprs-hero,
.ipo-app.ipx-about-root .ia-hero{isolation:isolate}
.ipo-app.ipx-resources-root .iprs-hero::before,
.ipo-app.ipx-about-root .ia-hero::before{
  content:"";position:absolute;pointer-events:none;z-index:1;
  right:-8%;top:-27%;width:74%;height:140%;border-radius:50%;opacity:.52;
  background:radial-gradient(circle at var(--neo-x,60%) var(--neo-y,34%),#b0f5e37d 0%,transparent 31%),
             repeating-radial-gradient(circle at 53% 52%,transparent 0 42px,#19ab772b 43px 44px,transparent 45px 90px);
  mask-image:linear-gradient(90deg,transparent 0%,#000 40%);
  animation:ipx-neo-aurora 16s ease-in-out infinite alternate;
}
.ipo-app.ipx-contact-root .ic-hero::after{
  content:"";position:absolute;inset:0 0 30% 45%;z-index:0;pointer-events:none;
  background:radial-gradient(circle at var(--neo-x,70%) var(--neo-y,34%),#9dfbd64d,transparent 46%),
             repeating-radial-gradient(circle at 58% 40%,transparent 0 40px,#16c78a20 41px 42px,transparent 43px 92px);
  opacity:.65;animation:ipx-neo-aurora 15s ease-in-out infinite alternate;
}
/* Neon-free but cinematic glow during mouse interaction. */
:where(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root)
:is(.ipr-step-card,.ipr-metric-card,.iprs-category-card,.iprs-article-card,.ia-value-card,.ia-audience-card,.ic-contact-card,.ic-quick-card){
  --neo-spot-x:50%;--neo-spot-y:50%;
}
@media (hover:hover) and (pointer:fine){
  :where(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root)
  :is(.ipr-step-card,.ipr-metric-card,.iprs-category-card,.iprs-article-card,.ia-value-card,.ia-audience-card,.ic-contact-card,.ic-quick-card):hover{
    filter:drop-shadow(0 8px 14px #097b5121);
  }
}
@keyframes ipx-neo-aurora{0%{transform:translate3d(-9px,0,0) scale(.99);opacity:.58}50%{transform:translate3d(12px,-8px,0) scale(1.025);opacity:.78}100%{transform:translate3d(-6px,8px,0) scale(1.015);opacity:.6}}
@keyframes ipx-neo-faq-unfold{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){
  .ipo-app.ipx-referral-root .ipr-hero::before{inset:43% 0 -8% 0;mask-image:linear-gradient(180deg,transparent,black 40%);opacity:.5}
  .ipo-app.ipx-referral-root .ipr-faq-item summary{min-height:54px;font-size:12px;gap:9px}
  .ipo-app.ipx-referral-root .ipr-faq-item-icon{flex-basis:30px;width:30px;height:30px;padding:6px}
  .ipo-app.ipx-resources-root .iprs-hero::before,.ipo-app.ipx-about-root .ia-hero::before{opacity:.28}
  .ipo-app.ipx-referral-root .ipr-hero-benefit svg.ipx-glyph-neo26{transform:none}
}
@media (prefers-reduced-motion:reduce){
  :where(.ipx-referral-root,.ipx-resources-root,.ipx-about-root,.ipx-contact-root) svg.ipx-glyph-neo26{transition:none!important;transform:none!important;filter:none!important}
  .ipo-app.ipx-referral-root .ipr-hero::before,.ipo-app.ipx-resources-root .iprs-hero::before,
  .ipo-app.ipx-about-root .ia-hero::before,.ipo-app.ipx-contact-root .ic-hero::after{animation:none!important;transform:none!important}
  .ipo-app.ipx-referral-root .ipr-faq-answer{animation:none!important}
}
/* Cursor-following soft spotlight on plain cards; no positioning changes. */
@media(hover:hover) and (pointer:fine){
  .ipo-app.ipx-referral-root :is(.ipr-step-card,.ipr-metric-card,.ipr-faq-item):not([open]):hover,
  .ipo-app.ipx-resources-root :is(.iprs-category-card,.iprs-tool-card):hover,
  .ipo-app.ipx-contact-root :is(.ic-contact-card,.ic-quick-card):hover{
    background-image:radial-gradient(circle 160px at var(--neo-spot-x,50%) var(--neo-spot-y,30%),#c7fae678 0%,#f6fffb42 53%,transparent 100%);
  }
}
@media(prefers-reduced-motion:no-preference){
  .ipo-app.ipx-referral-root .ipr-flight path{
    animation:ipx-neo-flight 16s linear infinite;
  }
  .ipo-app.ipx-referral-root .ipr-floating-home{
    animation:ipx-neo-float-home 8s ease-in-out infinite;
  }
  .ipo-app.ipx-referral-root .ipr-step-card:hover .ipr-step-icon svg.ipx-glyph-neo26,
  .ipo-app.ipx-referral-root .ipr-metric-card:hover svg.ipx-glyph-neo26{
    animation:ipx-neo-icon-pop .58s cubic-bezier(.18,.85,.35,1) both;
  }
  @keyframes ipx-neo-flight {to{stroke-dashoffset:-110}}
  @keyframes ipx-neo-float-home {0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(-5.5deg) translateY(-8px)}}
  @keyframes ipx-neo-icon-pop {0%{transform:scale(1)}48%{transform:scale(1.20) rotate(-8deg)}100%{transform:scale(1.08) rotate(-4deg)}}
}
@media (prefers-reduced-motion:reduce){
  .ipo-app.ipx-referral-root .ipr-flight path,
  .ipo-app.ipx-referral-root .ipr-floating-home,
  .ipo-app.ipx-referral-root .ipr-step-card:hover .ipr-step-icon svg.ipx-glyph-neo26{
    animation:none!important;
  }
}


/* Source: ipoteco-referral-v3717.css (unchanged CSS; original order preserved) */
/**
 * IpoTeco 3.7.17 — referral editorial/lifestyle visual update.
 * Built on the original *editable* Elementor sections, not a flattened mockup.
 * Only .ipx-referral-root is affected; header, footer and other pages unchanged.
 */
.ipo-app.ipx-referral-root .ipr {
  --ipr-deep: #07152d;
  --ipr-forest: #006d46;
  --ipr-emerald: #00a36e;
  --ipr-pale: #e5f6ed;
  --ipr-glass: rgba(255,255,255,.95);
  color: #172948;
}
.ipo-app.ipx-referral-root .ipr-shell {
  max-width: 1100px;
  width: calc(100% - 74px);
}
.ipo-app.ipx-referral-root .ipr-kicker {
  letter-spacing: 1.6px;
  color: #51617f;
}
.ipo-app.ipx-referral-root .ipr-kicker-dash::before {
  width: 23px;
  height: 4px;
  background: linear-gradient(90deg,#007342,#00aa73);
  box-shadow: 0 1px 4px rgba(0,115,75,.2);
}

/* 01. HERO — clear, prominent people with the photography still editable. */
.ipo-app.ipx-referral-root .ipr-hero {
  min-height: 504px;
  height: 504px;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(108deg,#fff 0%,#fff 38%,#eaf7f1 70%,#edfaf5 100%);
}
.ipo-app.ipx-referral-root .ipr-hero-photo {
  inset: 0 0 0 auto;
  width: 64%;
  height: 100%;
  z-index: 0;
  background: #dff1e8;
  mask-image: linear-gradient(90deg,transparent 0%,#000 12%,#000 100%);
}
.ipo-app.ipx-referral-root .ipr-hero-house {
  inset: 0;
  height: 100%;
  width: 100%;
  object-position: 61% 50%;
  object-fit: cover;
  filter: brightness(1.07) saturate(1.13) contrast(1.04);
}
/* A controlled photographic vignette OUTSIDE faces; no blanket white wash. */
.ipo-app.ipx-referral-root .ipr-hero-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 93% 12%,rgba(250,255,245,.18),transparent 44%),
    linear-gradient(0deg,rgba(13,78,55,.09),transparent 36%);
}
.ipo-app.ipx-referral-root .ipr-hero-couple {
  z-index: 2;
  top: 60px;
  right: -2.2%;
  bottom: auto;
  width: 86%;
  height: auto;
  max-width: none;
  object-fit: contain;
  object-position: right top;
  opacity: 1;
  filter: brightness(1.12) contrast(1.085) saturate(1.1) drop-shadow(0 19px 24px rgba(4,40,31,.19));
  transform: translate3d(var(--ipr-parallax-x,0px),var(--ipr-parallax-y,0px),0);
  transform-origin: 75% 40%;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.ipo-app.ipx-referral-root .ipr-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(0deg,rgba(255,255,255,.05),transparent 24%),
    linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 28%,rgba(255,255,255,.94) 34%,rgba(255,255,255,.58) 43%,rgba(255,255,255,.12) 52%,transparent 61%);
}
/* Ambient effects are held behind content, away from faces. */
.ipo-app.ipx-referral-root .ipr-hero::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 17% 34% at 47% 12%,rgba(132,243,215,.27),transparent 90%),
    radial-gradient(ellipse 13% 35% at 98% 88%,rgba(106,245,191,.19),transparent 90%),
    repeating-radial-gradient(circle at 101% 7%,transparent 0 65px,rgba(8,153,116,.055) 66px 67px,transparent 68px 125px);
  opacity: .83;
  mask-image: none;
  animation: none;
}
.ipo-app.ipx-referral-root .ipr-hero-leaves {
  top: 190px;
  left: -78px;
  width: 225px;
  height: 335px;
  opacity: .53;
  filter: saturate(.9);
}
.ipo-app.ipx-referral-root .ipr-hero-layout {z-index: 3}
.ipo-app.ipx-referral-root .ipr-hero-content {
  padding-top: 52px;
  width: 505px;
  max-width: 49%;
  z-index: 5;
}
.ipo-app.ipx-referral-root .ipr-hero-title {
  font-size: clamp(57px,6.3vw,78px)!important;
  line-height: .995;
  letter-spacing: -3.2px;
  margin-top: 15px!important;
  color: var(--ipr-deep)!important;
  text-shadow: 0 1px 0 rgba(255,255,255,.5);
}
.ipo-app.ipx-referral-root .ipr-hero-title em {
  color: #00683f;
  letter-spacing: -2.6px;
}
.ipo-app.ipx-referral-root .ipr-hero-intro {
  font-size: 15px;
  line-height: 1.49;
  max-width: 444px;
  margin-top: 22px!important;
  color: #334766!important;
}
.ipo-app.ipx-referral-root .ipr-actions {margin-top: 22px;gap: 13px}
.ipo-app.ipx-referral-root .ipr-btn {
  height: 51px;
  padding: 0 20px;
  border-radius: 12px;
  font-size: 12.1px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(4,61,50,.11);
}
.ipo-app.ipx-referral-root .ipr-btn-primary {
  min-width: 239px;
  color: white!important;
  background: linear-gradient(111deg,#006741 0%,#00885a 60%,#00a56c 100%);
  border: 1px solid rgba(0,178,120,.42);
  box-shadow: 0 12px 27px rgba(0,116,78,.22),inset 0 1px 0 rgba(255,255,255,.27);
}
.ipo-app.ipx-referral-root .ipr-btn-outline {
  min-width: 188px;
  background: rgba(255,255,255,.96);
  border: 1px solid #cbd9dc;
  box-shadow: 0 8px 20px rgba(13,44,53,.075);
}
.ipo-app.ipx-referral-root .ipr-btn-outline:hover {background:#f6fff9}
.ipo-app.ipx-referral-root .ipr-hero-benefits {
  position: relative;
  margin-top: 27px;
  max-width: 585px;
  gap: 0;
}
.ipo-app.ipx-referral-root .ipr-hero-benefit {
  font-size: 11px;
  line-height: 1.32;
  gap: 8px;
  color: #314666;
  min-height: 45px;
  padding: 0 10px;
  border-right: 1px solid rgba(64,135,105,.16);
}
.ipo-app.ipx-referral-root .ipr-picto-sm {
  width: 42px;
  height: 42px;
  flex-basis: 42px;
  border-radius: 50%;
  color: #00784b;
  background: linear-gradient(145deg,#effdf5,#d4f3e2);
  box-shadow: 0 8px 20px rgba(9,113,80,.1),inset 0 1px 0 #fff;
}
.ipo-app.ipx-referral-root .ipr-hero-floats {
  z-index: 6;
  inset: 0 0 0 44%;
}
.ipo-app.ipx-referral-root .ipr-floating-card {
  border: 1px solid rgba(255,255,255,.99);
  border-radius: 21px;
  background: var(--ipr-glass);
  box-shadow: 0 23px 50px rgba(3,51,42,.21),0 3px 8px rgba(18,45,42,.06),inset 0 1px 0 #fff;
  backdrop-filter: blur(14px) saturate(1.12);
  -webkit-backdrop-filter: blur(14px) saturate(1.12);
}
.ipo-app.ipx-referral-root .ipr-floating-card::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(138deg,rgba(255,255,255,.65),transparent 47%);
  opacity: .5;
}
.ipo-app.ipx-referral-root .ipr-floating-sent {
  top: 48px;
  left: 15px;
  width: 230px;
  padding: 15px 16px;
  min-height: 81px;
  transform: rotate(-7deg);
}
.ipo-app.ipx-referral-root .ipr-floating-sent strong{font-size: 12px;line-height:1.26}
.ipo-app.ipx-referral-root .ipr-floating-sent img {
  width: 46px;
  height: 46px;
  object-fit: cover;
  box-shadow: 0 2px 9px rgba(4,50,31,.15);
}
.ipo-app.ipx-referral-root .ipr-floating-send{width:25px;height:25px;color:#008953}
.ipo-app.ipx-referral-root .ipr-flight {
  top: 102px;
  left: 36px;
  width: 365px;
  height: 292px;
  z-index: -1;
  opacity: .87;
  filter: drop-shadow(0 0 3px rgba(45,218,162,.3));
}
.ipo-app.ipx-referral-root .ipr-flight path{stroke:#008f60;stroke-width:2;stroke-dasharray:5 7}
.ipo-app.ipx-referral-root .ipr-floating-home {
  left: 116px;
  bottom: 13px;
  width: 224px;
  min-height: 172px;
  padding: 8px 8px 13px;
  transform: rotate(-5deg);
}
.ipo-app.ipx-referral-root .ipr-floating-home img {
  height: 96px;
  border-radius: 15px;
  filter: contrast(1.045) saturate(1.09);
}
.ipo-app.ipx-referral-root .ipr-floating-home strong{font-size:12.5px}
.ipo-app.ipx-referral-root .ipr-floating-home-icon {
  width: 57px;
  height: 57px;
  top: -20px;
  left: -23px;
  border-radius: 18px;
  background:linear-gradient(150deg,#f1fff7,#d4f5e1);
  box-shadow:0 8px 18px rgba(0,103,69,.16);
}
.ipo-app.ipx-referral-root .ipr-floating-reward {
  bottom: 12px;
  right: 0;
  width: 188px;
  min-height: 168px;
  border-radius: 22px;
  padding: 19px 17px 13px;
  transform: rotate(5deg);
}
.ipo-app.ipx-referral-root .ipr-reward-emblem {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: linear-gradient(140deg,#eafff3,#cff4dd);
  box-shadow:0 6px 17px rgba(0,109,73,.10);
}
.ipo-app.ipx-referral-root .ipr-reward-check {
  top: 11px;
  right: 11px;
  width: 32px;
  height: 32px;
  padding: 7px;
  box-shadow: 0 0 0 5px rgba(8,181,123,.12),0 5px 13px rgba(0,92,70,.18);
}
.ipo-app.ipx-referral-root .ipr-floating-reward p{font-size:12.2px;color:#354462}
.ipo-app.ipx-referral-root .ipr-floating-reward p strong{font-size:14px;color:#0a1c35}
.ipo-app.ipx-referral-root .ipr-hero-wave {
  bottom: -35px;
  left: -3%;
  width: 106%;
  height: 64px;
  z-index: 7;
  border-radius: 51% 49% 0 0 / 82% 84% 0 0;
  background:#fff;
}

/* 02. 3-step journey: softness, depth, lively connectors. */
.ipo-app.ipx-referral-root .ipr-steps {
  overflow: hidden;
  isolation: isolate;
  padding: 20px 0 17px;
  min-height: 255px;
  background: linear-gradient(132deg,#fff 0%,#fafffc 56%,#fff 100%);
}
.ipo-app.ipx-referral-root .ipr-steps::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(ellipse 17% 70% at 1% 65%,rgba(126,227,184,.25),transparent 100%),
    radial-gradient(ellipse 23% 80% at 101% 2%,rgba(197,249,229,.35),transparent 100%),
    radial-gradient(circle,rgba(8,160,111,.095) 1px,transparent 1.6px) 0 16px / 19px 19px;
  mask-image:linear-gradient(90deg,#0006 0%,transparent 22%,transparent 79%,#0005 100%);
  opacity: .95;
}
.ipo-app.ipx-referral-root .ipr-section-head h2 {
  font-size: 37px;
  color:#081731!important;
  letter-spacing:-1.6px;
  margin-top: 10px!important;
}
.ipo-app.ipx-referral-root .ipr-section-head h2 em{color:#00794e}
.ipo-app.ipx-referral-root .ipr-section-head p{font-size:12.5px;color:#46597a;margin-top:7px!important}
.ipo-app.ipx-referral-root .ipr-steps-list {margin-top:23px;gap:12px}
.ipo-app.ipx-referral-root .ipr-step-card {
  min-height: 142px;
  padding: 22px 15px 17px 116px;
  border-radius: 17px;
  border: 1px solid #edf4f0;
  background: linear-gradient(140deg,rgba(255,255,255,.99),#ffffffef);
  box-shadow:0 14px 34px rgba(19,64,46,.1),inset 0 1px 0 #fff;
}
.ipo-app.ipx-referral-root .ipr-step-card:hover {
  transform: translateY(-6px);
  box-shadow:0 18px 40px rgba(0,102,67,.17),0 0 0 1px #b6edcf;
}
.ipo-app.ipx-referral-root .ipr-step-num {
  width: 30px;
  height: 30px;
  top:10px;
  left: 14px;
  background:linear-gradient(150deg,#e6faef,#d3f5e2);
  box-shadow:0 2px 9px rgba(0,111,75,.08);
}
.ipo-app.ipx-referral-root .ipr-step-icon {
  top: 30px;
  left: 29px;
  width: 77px;
  height: 77px;
  background:linear-gradient(145deg,#effcf4,#ccefdc);
  box-shadow:inset 0 1px 0 #fff,0 9px 25px rgba(3,133,87,.12);
}
.ipo-app.ipx-referral-root .ipr-step-card h3{font-size:12.8px;color:#0f233c}
.ipo-app.ipx-referral-root .ipr-step-card p{font-size:11px;color:#536987;line-height:1.49}
.ipo-app.ipx-referral-root .ipr-step-arrow{width:23px;height:23px;color:#00724d;filter:drop-shadow(0 3px 2px #d5f6e5)}

/* 03. Trust ribbon / soft organic accents. */
.ipo-app.ipx-referral-root .ipr-transparency{padding:7px 0 11px;background:#fff}
.ipo-app.ipx-referral-root .ipr-trust-banner{
  min-height: 84px;
  border-radius: 15px;
  border-color: #dceee6;
  background:
    radial-gradient(ellipse at 75% 140%,rgba(124,230,178,.16),transparent 66%),
    linear-gradient(105deg,#effaf4 0%,#e6f7ee 100%);
  box-shadow:0 7px 22px rgba(4,89,61,.045),inset 0 1px 0 #fff;
}
.ipo-app.ipx-referral-root .ipr-trust-banner::before {
  background:linear-gradient(140deg,rgba(141,221,178,.21),rgba(223,252,237,.07));
  border:1px solid rgba(101,197,143,.08);
  width:260px;height:260px;right:-90px;bottom:-195px;transform:rotate(37deg);
}
.ipo-app.ipx-referral-root .ipr-trust-icon{background:linear-gradient(145deg,#e9fcf0,#d4f1df);box-shadow:0 4px 20px rgba(0,104,68,.09)}
.ipo-app.ipx-referral-root .ipr-trust-banner h2{font-size:17px}
.ipo-app.ipx-referral-root .ipr-trust-banner p{font-size:11.7px}
.ipo-app.ipx-referral-root .ipr-trust-link{color:#006747!important}
.ipo-app.ipx-referral-root .ipr-trust-link:hover{color:#00a46e!important}

/* 04. Recommendation dashboard — quiet glass tiles. */
.ipo-app.ipx-referral-root .ipr-dashboard {
  padding: 6px 0 14px;
  background:linear-gradient(#fff,#fbfefa);
}
.ipo-app.ipx-referral-root .ipr-dashboard-box {
  padding: 16px 13px 16px 20px;
  min-height: 192px;
  gap: 17px;
  border-radius: 19px;
  border:1px solid #eef4ef;
  background:rgba(255,255,255,.97);
  box-shadow:0 16px 44px rgba(12,62,48,.09),inset 0 1px 0 #fff;
}
.ipo-app.ipx-referral-root .ipr-dashboard-intro h2{color:#07172e!important}
.ipo-app.ipx-referral-root .ipr-dashboard-metrics{gap:10px}
.ipo-app.ipx-referral-root .ipr-metric-card {
  border-radius: 13px;
  border:1px solid #e5ece9;
  background:linear-gradient(152deg,#fff,#fbfefd);
  box-shadow:0 3px 13px rgba(0,51,47,.035);
}
.ipo-app.ipx-referral-root .ipr-metric-head strong{font-size:10.8px;color:#142844}
.ipo-app.ipx-referral-root .ipr-metric-number{color:#0b1c39}
.ipo-app.ipx-referral-root .ipr-copy-line {
  border-color: #e1e8ea;
  background:linear-gradient(105deg,#f3f6f9,#edf2f6);
  box-shadow:inset 0 1px 2px rgba(8,49,61,.045);
}
.ipo-app.ipx-referral-root .ipr-copy-button:focus-visible{outline:2px solid #007952}

/* 05. FAQ: home-like interior, readable card stack. */
.ipo-app.ipx-referral-root .ipr-faq{
  min-height: 320px;
  padding: 27px 0 28px;
  background:linear-gradient(90deg,#fffcf7,#f9f5ec 55%,#f7fcf8);
}
.ipo-app.ipx-referral-root .ipr-faq-photo{
  left: 27%;width:47%;object-position: center 51%;
  mask-image:linear-gradient(90deg,transparent,#000 22%,#000 68%,transparent 96%);
  filter:contrast(1.03) saturate(1.05);
}
.ipo-app.ipx-referral-root .ipr-faq::before{
  background:
    radial-gradient(ellipse 37% 63% at 98% 13%,rgba(134,224,190,.13),transparent 90%),
    radial-gradient(ellipse 32% 63% at 0% 88%,rgba(140,218,179,.13),transparent 90%),
    repeating-radial-gradient(circle at 96% 50%,transparent 0 32px,rgba(8,145,105,.045) 33px 34px,transparent 35px 65px);
  opacity:.8;
}
.ipo-app.ipx-referral-root .ipr-faq-grid{grid-template-columns:37% 1fr;gap:14%;z-index:3}
.ipo-app.ipx-referral-root .ipr-faq-intro h2{color:#08172f!important}
.ipo-app.ipx-referral-root .ipr-faq-help {
  background:linear-gradient(113deg,#edfbf3,#e0f2e7);
  box-shadow:0 9px 24px rgba(0,100,69,.06),inset 0 1px 0 #fff;
}
.ipo-app.ipx-referral-root .ipr-faq-item {
  border:1px solid rgba(227,235,231,.91);
  background:rgba(255,255,255,.95);
  border-radius:14px;
  box-shadow:0 7px 25px rgba(12,58,45,.105),inset 0 1px 0 #fff;
  backdrop-filter:blur(12px);
}
.ipo-app.ipx-referral-root .ipr-faq-item summary {min-height:48px;font-size:11.3px}
.ipo-app.ipx-referral-root .ipr-faq-item[open] {
  background:#f8fffb;
  box-shadow:0 13px 30px rgba(1,110,72,.13),inset 3px 0 #05a772;
}

/* Delightful, intentionally light micro-interactions with accessible fallbacks. */
@media (prefers-reduced-motion:no-preference) {
  .ipo-app.ipx-referral-root .ipr-floating-sent{animation:ipr-v3717-sent 6.8s ease-in-out infinite}
  .ipo-app.ipx-referral-root .ipr-floating-home{animation:ipr-v3717-home 7.7s ease-in-out infinite}
  .ipo-app.ipx-referral-root .ipr-floating-reward{animation:ipr-v3717-reward 8.3s ease-in-out infinite}
  .ipo-app.ipx-referral-root .ipr-reward-check{animation:ipr-v3717-check 4.4s ease-in-out infinite}
  .ipo-app.ipx-referral-root .ipr-btn-primary::before{transition:left .83s cubic-bezier(.16,.8,.22,1)}
  .ipo-app.ipx-referral-root .ipr-hero-benefit .ipr-picto-sm{transition:transform .36s ease,box-shadow .36s ease}
  .ipo-app.ipx-referral-root .ipr-hero-benefit:hover .ipr-picto-sm{transform:translateY(-3px) scale(1.04);box-shadow:0 12px 25px rgba(4,111,75,.19)}
  .ipo-app.ipx-referral-root .ipr-step-arrow svg{animation:ipr-v3717-arrow 2.8s ease-in-out infinite}
  .ipo-app.ipx-referral-root .ipr-step-arrow:nth-child(4) svg{animation-delay:1.1s}
  .ipo-app.ipx-referral-root .ipr-floating-card:hover{animation-play-state:paused;transform:translateY(-5px) rotate(0)}
}
@keyframes ipr-v3717-sent{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-7px)}}
@keyframes ipr-v3717-home{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-8px)}}
@keyframes ipr-v3717-reward{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(4deg) translateY(-8px)}}
@keyframes ipr-v3717-check{0%,100%{box-shadow:0 0 0 4px rgba(8,181,123,.08),0 5px 13px rgba(0,92,70,.18)}60%{box-shadow:0 0 0 8px rgba(8,181,123,.14),0 5px 13px rgba(0,92,70,.18)}}
@keyframes ipr-v3717-arrow{0%,100%{opacity:.65;transform:translateX(0)}50%{opacity:1;transform:translateX(3px)}}

/* Widescreen: still a single clear photo story, never washed out. */
/* v5.0.4: removed 1450px widescreen inflation; shared 1122px artboard scales consistently. */
/* Tablet: keep the couple inside the right half and controls readable. */
@media (min-width:621px) and (max-width:990px) {
  .ipo-app.ipx-referral-root .ipr-shell{width:calc(100% - 50px)}
  .ipo-app.ipx-referral-root .ipr-hero{height:535px;min-height:535px}
  .ipo-app.ipx-referral-root .ipr-hero-content{max-width:55%;width:445px;padding-top:53px}
  .ipo-app.ipx-referral-root .ipr-hero-title{font-size:clamp(48px,7vw,65px)!important;letter-spacing:-2.8px}
  .ipo-app.ipx-referral-root .ipr-hero-intro{max-width:360px;font-size:13.5px}
  .ipo-app.ipx-referral-root .ipr-hero-photo{width:67%}
  .ipo-app.ipx-referral-root .ipr-hero-couple{top:99px;width:111%;right:-16%}
  .ipo-app.ipx-referral-root .ipr-hero::after{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 28%,rgba(255,255,255,.81) 38%,rgba(255,255,255,.18) 53%,transparent 64%)}
  .ipo-app.ipx-referral-root .ipr-actions{flex-wrap:wrap;gap:9px}
  .ipo-app.ipx-referral-root .ipr-hero-benefits{margin-top:20px}
  .ipo-app.ipx-referral-root .ipr-hero-benefit{font-size:10px;padding:0 6px;gap:5px}
  .ipo-app.ipx-referral-root .ipr-hero-floats{left:47%}
  .ipo-app.ipx-referral-root .ipr-floating-sent{left:8px;top:41px;width:195px;min-height:75px}
  .ipo-app.ipx-referral-root .ipr-floating-home{left:23px;bottom:19px;width:188px;min-height:152px}
  .ipo-app.ipx-referral-root .ipr-floating-home img{height:75px}
  .ipo-app.ipx-referral-root .ipr-floating-reward{bottom:25px;right:-12px;width:158px;min-height:151px}
  .ipo-app.ipx-referral-root .ipr-floating-reward p strong{font-size:12px}
  .ipo-app.ipx-referral-root .ipr-floating-reward p{font-size:10.5px}
  .ipo-app.ipx-referral-root .ipr-step-card{min-height:200px;padding:103px 12px 13px}
  .ipo-app.ipx-referral-root .ipr-step-icon{left:calc(50% - 38px);top:22px}
  .ipo-app.ipx-referral-root .ipr-dashboard-box{grid-template-columns:1fr}
  .ipo-app.ipx-referral-root .ipr-faq-grid{grid-template-columns:34% 1fr;gap:8%}
}
/* Mobile: text first, then a dedicated bright lifestyle image stage. */
@media (max-width:620px) {
  .ipo-app.ipx-referral-root .ipr-shell{width:calc(100% - 32px)}
  .ipo-app.ipx-referral-root .ipr-hero{height:925px;min-height:925px}
  .ipo-app.ipx-referral-root .ipr-hero-content{width:100%;max-width:none;padding-top:32px}
  .ipo-app.ipx-referral-root .ipr-hero-title{font-size:clamp(44px,11.5vw,59px)!important;letter-spacing:-2.6px;line-height:1.02;white-space:normal;margin-top:13px!important}
  .ipo-app.ipx-referral-root .ipr-hero-title em{letter-spacing:-1.6px}
  .ipo-app.ipx-referral-root .ipr-hero-intro{font-size:13.7px;line-height:1.45;max-width:470px;margin-top:15px!important}
  .ipo-app.ipx-referral-root .ipr-actions{margin-top:15px;gap:8px;flex-wrap:wrap}
  .ipo-app.ipx-referral-root .ipr-btn{height:46px;font-size:11.7px;border-radius:11px}
  .ipo-app.ipx-referral-root .ipr-btn-primary{min-width:196px}
  .ipo-app.ipx-referral-root .ipr-btn-outline{min-width:153px}
  .ipo-app.ipx-referral-root .ipr-hero-benefits{margin-top:17px;gap:7px 0;max-width:100%}
  .ipo-app.ipx-referral-root .ipr-hero-benefit{padding:0 6px;gap:5px;font-size:9.6px;min-height:38px}
  .ipo-app.ipx-referral-root .ipr-hero-benefit .ipr-picto-sm{width:32px;height:32px;flex-basis:32px;padding:7px}
  .ipo-app.ipx-referral-root .ipr-hero-photo{
    top: 427px;
    bottom: auto;
    right: 0;
    width: 100%;
    height: 505px;
    mask-image:linear-gradient(180deg,transparent 0%,#000 11%,#000 100%);
  }
  .ipo-app.ipx-referral-root .ipr-hero-house{object-position:58% center}
  .ipo-app.ipx-referral-root .ipr-hero-couple{top:76px;right:-17%;width:125%;height:auto}
  .ipo-app.ipx-referral-root .ipr-hero::after{
    background:linear-gradient(180deg,#fff 0%,#fff 40%,rgba(255,255,255,.92) 45%,rgba(255,255,255,.09) 57%,transparent 71%);
  }
  .ipo-app.ipx-referral-root .ipr-hero::before{
    background:radial-gradient(ellipse 28% 25% at 92% 89%,rgba(66,219,160,.20),transparent 85%);
    opacity:.5;
  }
  .ipo-app.ipx-referral-root .ipr-hero-leaves{top:300px;left:-102px;width:177px;height:260px;opacity:.39}
  .ipo-app.ipx-referral-root .ipr-hero-floats{inset:427px 0 0 0}
  .ipo-app.ipx-referral-root .ipr-floating-sent{top:35px;left:9px;width:183px;min-height:69px;padding:9px 11px}
  .ipo-app.ipx-referral-root .ipr-floating-sent img{width:36px;height:36px}
  .ipo-app.ipx-referral-root .ipr-floating-sent strong{font-size:10px}
  .ipo-app.ipx-referral-root .ipr-floating-home{bottom:32px;left:15px;width:183px;min-height:146px;padding:6px 6px 12px}
  .ipo-app.ipx-referral-root .ipr-floating-home img{height:76px}
  .ipo-app.ipx-referral-root .ipr-floating-home strong{font-size:10.8px}
  .ipo-app.ipx-referral-root .ipr-floating-home-icon{width:46px;height:46px;padding:10px;left:-12px;top:-12px}
  .ipo-app.ipx-referral-root .ipr-floating-reward{bottom:27px;right:4px;width:139px;min-height:143px;padding:13px 10px 10px}
  .ipo-app.ipx-referral-root .ipr-floating-reward p,.ipo-app.ipx-referral-root .ipr-floating-reward p strong{font-size:10.6px}
  .ipo-app.ipx-referral-root .ipr-reward-emblem{width:40px;height:40px;padding:8px}
  .ipo-app.ipx-referral-root .ipr-reward-check{width:28px;height:28px;padding:6px}
  .ipo-app.ipx-referral-root .ipr-flight{top:83px;left:14px;width:265px;height:268px}
  .ipo-app.ipx-referral-root .ipr-steps{padding:26px 0 20px}
  .ipo-app.ipx-referral-root .ipr-section-head h2{font-size:30px}
  .ipo-app.ipx-referral-root .ipr-section-head p{font-size:12px}
  .ipo-app.ipx-referral-root .ipr-steps-list{display:flex;flex-direction:column;gap:10px;margin-top:24px}
  .ipo-app.ipx-referral-root .ipr-step-card{padding:20px 15px 19px 116px;min-height:122px;text-align:left}
  .ipo-app.ipx-referral-root .ipr-step-icon{width:71px;height:71px;left:27px;top:calc(50% - 35px)}
  .ipo-app.ipx-referral-root .ipr-step-card h3{font-size:14px}
  .ipo-app.ipx-referral-root .ipr-step-card p{font-size:12px}
  .ipo-app.ipx-referral-root .ipr-step-arrow{transform:rotate(90deg);margin:auto}
  .ipo-app.ipx-referral-root .ipr-trust-banner{display:block;padding:79px 14px 18px;text-align:center}
  .ipo-app.ipx-referral-root .ipr-trust-icon{top:9px;left:calc(50% - 35px)}
  .ipo-app.ipx-referral-root .ipr-trust-link{justify-content:center;margin-top:14px}
  .ipo-app.ipx-referral-root .ipr-dashboard-box{display:grid;grid-template-columns:1fr;padding:16px;gap:14px}
  .ipo-app.ipx-referral-root .ipr-dashboard-metrics{display:grid;grid-template-columns:1fr;gap:10px}
  .ipo-app.ipx-referral-root .ipr-metric-card{min-height:137px}
  .ipo-app.ipx-referral-root .ipr-faq{padding:28px 0 34px}
  .ipo-app.ipx-referral-root .ipr-faq-grid{display:flex;flex-direction:column;gap:21px}
  .ipo-app.ipx-referral-root .ipr-faq-photo{top:73px;left:24%;width:100%;height:295px;opacity:.58;mask-image:linear-gradient(90deg,transparent,#000 40%,transparent)}
  .ipo-app.ipx-referral-root .ipr-faq-intro{min-height:260px}
  .ipo-app.ipx-referral-root .ipr-faq-item summary{min-height:54px;font-size:12px}
}
@media (max-width:400px) {
  .ipo-app.ipx-referral-root .ipr-hero{height:986px;min-height:986px}
  .ipo-app.ipx-referral-root .ipr-actions{gap:9px}
  .ipo-app.ipx-referral-root .ipr-btn-primary,
  .ipo-app.ipx-referral-root .ipr-btn-outline{min-width:100%;width:100%}
  .ipo-app.ipx-referral-root .ipr-hero-benefits{gap:3px}
  .ipo-app.ipx-referral-root .ipr-hero-benefit{width:33.333%;padding:0 3px;align-items:flex-start;font-size:9px}
  .ipo-app.ipx-referral-root .ipr-hero-benefit .ipr-picto-sm{width:29px;height:29px;flex-basis:29px;padding:6px;margin-top:2px}
  .ipo-app.ipx-referral-root .ipr-hero-photo{top:490px;height:496px}
  .ipo-app.ipx-referral-root .ipr-hero-floats{inset:490px 0 0 0}
  .ipo-app.ipx-referral-root .ipr-hero-couple{top:79px;right:-20%;width:130%}
  .ipo-app.ipx-referral-root .ipr-floating-sent{top:28px}
  .ipo-app.ipx-referral-root .ipr-floating-home{bottom:33px;left:11px;width:177px}
  .ipo-app.ipx-referral-root .ipr-floating-reward{right:3px;bottom:31px;width:131px}
}
@media(prefers-reduced-motion:reduce){
  .ipo-app.ipx-referral-root .ipr-floating-sent,
  .ipo-app.ipx-referral-root .ipr-floating-home,
  .ipo-app.ipx-referral-root .ipr-floating-reward,
  .ipo-app.ipx-referral-root .ipr-reward-check,
  .ipo-app.ipx-referral-root .ipr-step-arrow svg{animation:none!important}
  .ipo-app.ipx-referral-root .ipr-hero-couple{transform:none!important;transition:none!important}
}


/* Source: ipoteco-consistent-v504.css (unchanged CSS; original order preserved) */
/* Ipoteco v5.0.4 - same desktop artboard as homepage.
   Do not edit homepage styles, widgets, photos or logos.
   ipoteco.js v5.0.0 scales every section from 1122px on desktop.
   The old viewport >=1440 rules enlarged internal pages a second time;
   those conflicting rules were removed from their own page stylesheets.
   Remaining changes below only fix About's formerly overlapping benefits. */
@media (min-width: 651px) {
 .ipo-app.ipx-about-root .ia-hero{height:auto!important;min-height:385px!important;}
 .ipo-app.ipx-about-root .ia-hero-inner{
    height:auto!important;min-height:385px!important;display:flex!important;
    flex-direction:column!important;align-items:flex-start!important;
    padding-top:26px!important;padding-bottom:24px!important;
 }
 .ipo-app.ipx-about-root .ia-hero-copy{width:54%!important;max-width:540px!important;flex:0 0 auto!important}
 .ipo-app.ipx-about-root .ia-hero h1{font-size:38px!important;letter-spacing:-1.55px!important;line-height:1.04!important;margin-bottom:11px!important}
 .ipo-app.ipx-about-root .ia-hero .ia-lead{font-size:12.4px!important;line-height:1.42!important;max-width:520px!important;margin-bottom:14px!important}
 .ipo-app.ipx-about-root .ia-hero-benefits{
    position:relative!important;inset:auto!important;left:auto!important;bottom:auto!important;
    flex:0 0 auto!important;display:flex!important;flex-wrap:wrap!important;
    max-width:100%!important;width:max-content!important;align-items:center!important;
    gap:10px 17px!important;margin-top:auto!important;padding:10px 13px!important;
    white-space:normal!important;border-radius:14px!important;
    background:rgba(255,255,255,.92)!important;box-shadow:0 3px 13px rgba(9,49,38,.08)!important;
 }
 .ipo-app.ipx-about-root .ia-benefit{font-size:9.2px!important;white-space:normal!important}
 .ipo-app.ipx-about-root .ia-float-hero{right:8%!important;top:138px!important}
}
@media (min-width:651px) and (max-width:900px){
 .ipo-app.ipx-about-root .ia-hero{min-height:380px!important;}
 .ipo-app.ipx-about-root .ia-hero-inner{min-height:380px!important;padding-top:22px!important;}
 .ipo-app.ipx-about-root .ia-hero-copy{width:54%!important;max-width:54%!important}
 .ipo-app.ipx-about-root .ia-hero h1{font-size:32px!important;letter-spacing:-1.1px!important}
 .ipo-app.ipx-about-root .ia-hero .ia-lead{font-size:11px!important;line-height:1.43!important}
 .ipo-app.ipx-about-root .ia-hero-benefits{margin-top:auto!important;gap:6px 9px!important;padding:9px!important}
 .ipo-app.ipx-about-root .ia-benefit{font-size:8.4px!important}
 .ipo-app.ipx-about-root .ia-float-hero{top:150px!important;right:9%!important}
}


/* Source: ipoteco-referral-align-v511.css (unchanged CSS; original order preserved) */
/**
 * Ipoteco 5.1.1 — referral page visual alignment to the approved homepage.
 * One 1122px desktop artboard, scaled once by ipoteco.js like every other page.
 * All selectors are scoped to the referral page only. Header, footer, logos,
 * Elementor widget content and Theme Studio are deliberately untouched.
 */
@media (min-width:991px) {
  .ipo-app.ipx-referral-root .ipr-shell {
    width:calc(100% - 146px);
    max-width:976px;
  }
  .ipo-app.ipx-referral-root .ipr-hero {
    height:370px;
    min-height:370px;
  }
  .ipo-app.ipx-referral-root .ipr-hero-content {
    padding-top:27px;
    width:460px;
    max-width:49%;
  }
  .ipo-app.ipx-referral-root .ipr-kicker {font-size:9.5px}
  .ipo-app.ipx-referral-root .ipr-hero-title {
    font-size:43px!important;
    line-height:1.045;
    letter-spacing:-1.7px;
    margin-top:10px!important;
  }
  .ipo-app.ipx-referral-root .ipr-hero-title em {letter-spacing:-1.5px}
  .ipo-app.ipx-referral-root .ipr-hero-intro {
    max-width:430px;
    font-size:12.6px;
    line-height:1.43;
    margin-top:11px!important;
  }
  .ipo-app.ipx-referral-root .ipr-actions {
    margin-top:16px;
    gap:12px;
    flex-wrap:nowrap;
  }
  .ipo-app.ipx-referral-root .ipr-btn {
    height:40px;
    padding:0 13px;
    border-radius:9px;
    font-size:10px;
  }
  .ipo-app.ipx-referral-root .ipr-btn-primary {min-width:203px}
  .ipo-app.ipx-referral-root .ipr-btn-outline {min-width:161px}
  .ipo-app.ipx-referral-root .ipr-hero-benefits {
    max-width:465px;
    margin-top:19px;
    gap:0;
  }
  .ipo-app.ipx-referral-root .ipr-hero-benefit {
    padding:0 7px;
    gap:6px;
    min-height:33px;
    font-size:8.7px;
  }
  .ipo-app.ipx-referral-root .ipr-picto-sm {
    width:30px;
    height:30px;
    flex-basis:30px;
    padding:7px;
  }
  .ipo-app.ipx-referral-root .ipr-hero-photo {width:59%}
  .ipo-app.ipx-referral-root .ipr-hero-couple {
    top:23px;
    right:-2%;
    width:70%;
  }
  .ipo-app.ipx-referral-root .ipr-hero::after {
    background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 27%,rgba(255,255,255,.91) 35%,rgba(255,255,255,.33) 48%,transparent 62%);
  }
  .ipo-app.ipx-referral-root .ipr-hero-leaves {
    top:135px;left:-77px;width:177px;height:260px;
  }
  .ipo-app.ipx-referral-root .ipr-hero-floats {inset:0 0 0 48%}
  .ipo-app.ipx-referral-root .ipr-floating-sent {
    top:25px;left:8px;width:176px;min-height:64px;padding:10px 12px;
  }
  .ipo-app.ipx-referral-root .ipr-floating-sent img {width:37px;height:37px}
  .ipo-app.ipx-referral-root .ipr-floating-sent strong {font-size:10px}
  .ipo-app.ipx-referral-root .ipr-floating-send {width:22px;height:22px}
  .ipo-app.ipx-referral-root .ipr-flight {top:86px;left:22px;width:270px;height:210px}
  .ipo-app.ipx-referral-root .ipr-floating-home {
    left:71px;bottom:12px;width:172px;min-height:133px;padding:7px 7px 9px;
  }
  .ipo-app.ipx-referral-root .ipr-floating-home img {height:70px}
  .ipo-app.ipx-referral-root .ipr-floating-home strong {font-size:10px}
  .ipo-app.ipx-referral-root .ipr-floating-home-icon {
    width:42px;height:42px;left:-15px;top:-10px;padding:11px;border-radius:14px;
  }
  .ipo-app.ipx-referral-root .ipr-floating-reward {
    bottom:12px;right:5px;width:146px;min-height:130px;
    padding:12px 12px 10px;border-radius:17px;
  }
  .ipo-app.ipx-referral-root .ipr-reward-emblem {width:41px;height:41px;padding:9px;border-radius:13px}
  .ipo-app.ipx-referral-root .ipr-reward-check {width:28px;height:28px;padding:6px}
  .ipo-app.ipx-referral-root .ipr-floating-reward p {font-size:9.8px}
  .ipo-app.ipx-referral-root .ipr-floating-reward p strong {font-size:11px}
  .ipo-app.ipx-referral-root .ipr-hero-wave {bottom:-32px;height:56px}
  /* Secondary section titles use the same editorial hierarchy as homepage. */
  .ipo-app.ipx-referral-root .ipr-section-head h2 {font-size:28px;letter-spacing:-.9px}
}

/* Tablet: match the homepage's 33px hero heading and keep the two CTAs on one line. */
@media (min-width:621px) and (max-width:990px) {
  .ipo-app.ipx-referral-root .ipr-hero {height:435px;min-height:435px}
  .ipo-app.ipx-referral-root .ipr-hero-content {
    padding-top:30px;
    width:370px;
    max-width:51%;
  }
  .ipo-app.ipx-referral-root .ipr-hero-title {
    font-size:33px!important;
    letter-spacing:-1.25px;
    line-height:1.06;
    margin-top:10px!important;
  }
  .ipo-app.ipx-referral-root .ipr-hero-title em {letter-spacing:-1px}
  .ipo-app.ipx-referral-root .ipr-hero-intro {
    max-width:322px;font-size:11.7px;line-height:1.45;margin-top:10px!important;
  }
  .ipo-app.ipx-referral-root .ipr-actions {margin-top:14px;gap:8px;flex-wrap:nowrap}
  .ipo-app.ipx-referral-root .ipr-btn {height:39px;font-size:9.6px;padding:0 9px}
  .ipo-app.ipx-referral-root .ipr-btn-primary {min-width:183px}
  .ipo-app.ipx-referral-root .ipr-btn-outline {min-width:137px}
  .ipo-app.ipx-referral-root .ipr-hero-benefits {margin-top:18px;gap:4px 0;max-width:100%;flex-wrap:wrap}
  .ipo-app.ipx-referral-root .ipr-hero-benefit {font-size:8px;gap:4px;padding:0 2px;min-height:34px}
  .ipo-app.ipx-referral-root .ipr-picto-sm {width:25px;height:25px;flex-basis:25px;padding:6px}
  .ipo-app.ipx-referral-root .ipr-hero-photo {width:60%}
  .ipo-app.ipx-referral-root .ipr-hero-couple {top:46px;right:-12%;width:98%}
  .ipo-app.ipx-referral-root .ipr-hero::after {background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 29%,rgba(255,255,255,.78) 40%,rgba(255,255,255,.12) 60%,transparent 70%)}
  .ipo-app.ipx-referral-root .ipr-hero-floats {left:48%}
  .ipo-app.ipx-referral-root .ipr-floating-sent {top:24px;left:6px;width:155px;min-height:61px;padding:9px}
  .ipo-app.ipx-referral-root .ipr-floating-sent img {width:30px;height:30px}
  .ipo-app.ipx-referral-root .ipr-floating-sent strong {font-size:9px}
  .ipo-app.ipx-referral-root .ipr-floating-home {left:24px;bottom:13px;width:154px;min-height:125px}
  .ipo-app.ipx-referral-root .ipr-floating-home img {height:65px}
  .ipo-app.ipx-referral-root .ipr-floating-home strong {font-size:9px}
  .ipo-app.ipx-referral-root .ipr-floating-home-icon {width:39px;height:39px;padding:10px}
  .ipo-app.ipx-referral-root .ipr-floating-reward {right:0;bottom:12px;width:128px;min-height:126px;padding:10px}
  .ipo-app.ipx-referral-root .ipr-floating-reward p,.ipo-app.ipx-referral-root .ipr-floating-reward p strong {font-size:9px}
  .ipo-app.ipx-referral-root .ipr-reward-emblem {width:35px;height:35px;padding:7px}
  .ipo-app.ipx-referral-root .ipr-reward-check {width:26px;height:26px;padding:6px}
  .ipo-app.ipx-referral-root .ipr-section-head h2 {font-size:27px}
}

/* Phone: text first, photo second, just like the existing responsive referral layout;
   size and vertical rhythm now follow the approved homepage's mobile proportions. */
@media (max-width:620px) {
  .ipo-app.ipx-referral-root .ipr-hero {height:790px;min-height:790px}
  .ipo-app.ipx-referral-root .ipr-hero-content {padding-top:21px}
  .ipo-app.ipx-referral-root .ipr-hero-title {
    font-size:clamp(33px,8.8vw,39px)!important;
    letter-spacing:-1.35px;
    line-height:1.04;
    margin-top:10px!important;
  }
  .ipo-app.ipx-referral-root .ipr-hero-title em {letter-spacing:-1px}
  .ipo-app.ipx-referral-root .ipr-hero-intro {
    font-size:12px;line-height:1.44;margin-top:11px!important;
  }
  .ipo-app.ipx-referral-root .ipr-actions {margin-top:13px;gap:7px}
  .ipo-app.ipx-referral-root .ipr-btn {height:39px;font-size:10px;border-radius:9px}
  .ipo-app.ipx-referral-root .ipr-hero-benefits {margin-top:12px;gap:3px}
  .ipo-app.ipx-referral-root .ipr-hero-benefit {font-size:8.5px;padding:0 3px;min-height:37px}
  .ipo-app.ipx-referral-root .ipr-hero-benefit .ipr-picto-sm {width:25px;height:25px;flex-basis:25px;padding:5px}
  .ipo-app.ipx-referral-root .ipr-hero-photo {top:405px;height:385px}
  .ipo-app.ipx-referral-root .ipr-hero-couple {top:35px;right:-11%;width:115%}
  .ipo-app.ipx-referral-root .ipr-hero-floats {inset:405px 0 0 0}
  .ipo-app.ipx-referral-root .ipr-floating-sent {top:15px;left:8px;width:146px;min-height:57px;padding:8px}
  .ipo-app.ipx-referral-root .ipr-floating-sent img {width:30px;height:30px}
  .ipo-app.ipx-referral-root .ipr-floating-sent strong {font-size:8.7px}
  .ipo-app.ipx-referral-root .ipr-floating-home {left:11px;bottom:20px;width:145px;min-height:118px}
  .ipo-app.ipx-referral-root .ipr-floating-home img {height:60px}
  .ipo-app.ipx-referral-root .ipr-floating-home strong {font-size:8.9px}
  .ipo-app.ipx-referral-root .ipr-floating-home-icon {width:38px;height:38px;padding:9px}
  .ipo-app.ipx-referral-root .ipr-floating-reward {right:3px;bottom:20px;width:119px;min-height:115px;padding:9px}
  .ipo-app.ipx-referral-root .ipr-floating-reward p,.ipo-app.ipx-referral-root .ipr-floating-reward p strong {font-size:9px}
  .ipo-app.ipx-referral-root .ipr-reward-emblem {width:35px;height:35px;padding:7px}
  .ipo-app.ipx-referral-root .ipr-reward-check {width:26px;height:26px;padding:6px}
  .ipo-app.ipx-referral-root .ipr-flight {width:205px;height:185px;top:48px;left:12px}
  .ipo-app.ipx-referral-root .ipr-section-head h2 {font-size:27px}
}
@media(max-width:400px) {
  .ipo-app.ipx-referral-root .ipr-hero {height:825px;min-height:825px}
  .ipo-app.ipx-referral-root .ipr-hero-photo {top:420px;height:405px}
  .ipo-app.ipx-referral-root .ipr-hero-floats {inset:420px 0 0 0}
  .ipo-app.ipx-referral-root .ipr-btn-primary,.ipo-app.ipx-referral-root .ipr-btn-outline {width:100%;min-width:100%}
  .ipo-app.ipx-referral-root .ipr-hero-benefit {font-size:8px}
}
/* Narrow tablet: do not let two buttons spill into the photograph. */
@media (min-width:621px) and (max-width:700px) {
  .ipo-app.ipx-referral-root .ipr-actions {flex-wrap:wrap;gap:7px}
  .ipo-app.ipx-referral-root .ipr-btn-primary {min-width:193px}
  .ipo-app.ipx-referral-root .ipr-btn-outline {min-width:138px}
  .ipo-app.ipx-referral-root .ipr-hero-benefits {margin-top:12px}
  .ipo-app.ipx-referral-root .ipr-hero-photo {width:57%}
}
/* Small phones: consistent benefit columns, no orphaned third item. */
@media (max-width:620px) {
  .ipo-app.ipx-referral-root .ipr-hero-benefits {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    gap:4px;
  }
  .ipo-app.ipx-referral-root .ipr-hero-benefit {
    width:100%;
    min-width:0;
    align-items:flex-start;
    gap:4px;
    padding:0 2px;
  }
}
/* Wide phones are taller than tablet proportionally, but avoid a blank image gap. */
@media (min-width:401px) and (max-width:620px) {
  .ipo-app.ipx-referral-root .ipr-hero {height:720px;min-height:720px}
  .ipo-app.ipx-referral-root .ipr-hero-photo {top:360px;height:360px}
  .ipo-app.ipx-referral-root .ipr-hero-floats {inset:360px 0 0 0}
}
/* Apply the same hierarchy to the lower sections, not only the hero. */
@media(min-width:991px) {
  .ipo-app.ipx-referral-root .ipr-dashboard-intro h2,
  .ipo-app.ipx-referral-root .ipr-faq-intro h2 {
    font-size:25px;
    line-height:1.15;
    letter-spacing:-.8px;
  }
}
@media(min-width:621px) and (max-width:990px) {
  .ipo-app.ipx-referral-root .ipr-dashboard-intro h2,
  .ipo-app.ipx-referral-root .ipr-faq-intro h2 {
    font-size:27px;
    line-height:1.16;
    letter-spacing:-.7px;
  }
}
@media(max-width:620px) {
  .ipo-app.ipx-referral-root .ipr-dashboard-intro h2,
  .ipo-app.ipx-referral-root .ipr-faq-intro h2 {
    font-size:26px;
    line-height:1.16;
    letter-spacing:-.7px;
  }
}

