/* Migration landing page additions. */
/* Migration offer page, aligned with the shared hosting design system. */
.migration-page { overflow: clip; }
.migration-hero { padding-top: 5.2rem !important; }
.migration-hero .hero-copy h1 { max-width: 760px; }
.migration-hero-card h2 { font-size: clamp(1.45rem,2.2vw,2rem); }
.migration-intro { padding-top: 4.2rem; padding-bottom: 4.3rem; }
.migration-intro-layout h2 { max-width: 610px; }
.migration-steps-section { padding: 4.8rem 0; background: #f7f8fc; }
.migration-steps-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-top: 2rem; }
.migration-step { min-height: 205px; padding: 1.45rem; border: 1px solid #e5e9f4; border-radius: 1rem; background: #fff; box-shadow: 0 10px 28px rgba(35,45,82,.045); }
.migration-step > span { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border-radius: .85rem; background: linear-gradient(135deg,#e8f4ff,#f0eaff); color: #5140d2; font: 800 .82rem 'Inter',sans-serif; }
.migration-step h3 { margin: 1rem 0 .45rem; color: #172033; font: 700 1.02rem/1.3 'Poppins',sans-serif; }
.migration-step p { margin: 0; color: var(--color-text-muted); font-size: .88rem; line-height: 1.65; }
.migration-terms-section { padding: 4.8rem 0; background: #fff; }
.migration-terms-card { max-width: 1000px; margin: 0 auto; padding: clamp(1.5rem,4vw,3.1rem); border: 1px solid #e3e7f5; border-radius: 1.3rem; background: radial-gradient(ellipse at 94% 0,rgba(116,28,211,.09),transparent 36%),linear-gradient(125deg,#f6faff,#fff 54%,#faf7ff); box-shadow: 0 18px 48px rgba(35,45,82,.07); }
.migration-terms-heading { max-width: 690px; }
.migration-terms-heading h2,.migration-help-copy h2 { margin: .55rem 0 .65rem; color: #172033; font: 700 clamp(1.8rem,3.6vw,2.6rem)/1.16 'Poppins',sans-serif; letter-spacing: -.045em; }
.migration-terms-heading h2 span,.migration-help-copy h2 span { background: linear-gradient(100deg,#087cf4,#7613d4); background-clip: text; -webkit-background-clip: text; color: transparent; }
.migration-terms-heading p,.migration-help-copy > p { margin: 0; color: #657087; line-height: 1.7; }
.migration-terms-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem 1.8rem; margin: 1.7rem 0 0; padding: 0; list-style: none; }
.migration-terms-list li { display: flex; align-items: flex-start; gap: .7rem; color: #59657a; line-height: 1.6; }
.migration-terms-list li > span { display: grid; flex: 0 0 1.45rem; width: 1.45rem; height: 1.45rem; place-items: center; margin-top: .1rem; border-radius: 50%; background: #e8f8f1; color: #1da676; font-size: .75rem; font-weight: 800; }
.migration-terms-list p { margin: 0; }
.migration-terms-list b { color: #172033; }
.migration-terms-note { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid #e1e6f2; color: var(--color-text-muted); font-size: .85rem; line-height: 1.6; }
.migration-help-section { padding: 4.5rem 0; background: #f7f8fc; }
.migration-help-layout { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1fr); align-items: center; gap: clamp(2rem,7vw,6rem); }
.migration-illustration { position: relative; display: grid; min-height: 310px; place-items: center; overflow: hidden; border: 1px solid #e4e9f8; border-radius: 1.35rem; background: radial-gradient(ellipse at 50% 55%,#fff 0,transparent 57%),linear-gradient(140deg,#edf6ff,#f5f0ff); }
.migration-orbit { position: absolute; width: 205px; height: 205px; border: 1px solid rgba(90,77,220,.18); border-radius: 50%; box-shadow: 0 0 0 24px rgba(89,75,220,.035),0 0 0 50px rgba(89,75,220,.025); }
.migration-server { position: relative; display: grid; gap: .55rem; width: 142px; padding: 1.1rem; border: 1px solid #e4e9f5; border-radius: 1rem; background: #fff; box-shadow: 0 20px 45px rgba(53,67,137,.15); transform: rotate(-5deg); }
.migration-server span { height: 11px; border-radius: 99px; background: #edf1fa; }
.migration-server span::after { display: block; width: 7px; height: 7px; margin: 2px 0 0 8px; border-radius: 50%; background: #15b888; content: ''; }
.migration-server b { position: absolute; top: 50%; right: -35px; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 13px; background: linear-gradient(135deg,#087cf4,#7613d4); color: #fff; box-shadow: 0 8px 22px rgba(81,68,213,.25); transform: translateY(-50%) rotate(5deg); }
.migration-cloud { position: absolute; top: 22%; right: 22%; display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; background: #fff; color: #624bd9; font-size: 1.5rem; box-shadow: 0 10px 25px rgba(53,67,137,.1); }
.migration-illustration > i { position: absolute; bottom: 23%; left: 23%; color: #674ee1; font-size: 1.3rem; font-style: normal; }
.migration-help-copy { max-width: 580px; }
.migration-help-copy h2 { margin-bottom: .8rem; }
.migration-help-copy > p { max-width: 540px; }
.migration-help-copy .text-link { display: inline-flex; gap: .45rem; margin-top: 1.2rem; color: #5541d7; font-weight: 700; text-decoration: none; }
.migration-price-section { padding-top: 4.5rem; padding-bottom: 4.5rem; }
.migration-plans-grid .plan-card { position: relative; }
.migration-compensation-badge { display: inline-flex; align-items: center; gap: .35rem; margin: .4rem auto .25rem; padding: .35rem .65rem; border-radius: 999px; background: #e9f8f1; color: #168563; font-size: .68rem; font-weight: 800; }
.migration-period-warning { color: #b75a2b !important; }
.migration-emphasis-section { padding: 0 0 4.5rem; background: #fff; }
.migration-emphasis-card { grid-template-columns: auto 1fr auto; }
.migration-form-section { padding: 4.5rem 0; background: #f7f8fc; }
.migration-form .contact-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.migration-form .contact-form-grid label { display: flex; flex-direction: column; gap: .3rem; }
.migration-field-title { display: block; min-height: 3.6em; line-height: 1.2; }
.migration-field-title small { display: block; margin-top: .05rem; }
.migration-form .contact-message-field .migration-field-title { min-height: 1.35em; }
.migration-form .contact-form-grid input,.migration-form .contact-form-grid textarea { width: 100%; }
.migration-form .contact-form-grid small { color: var(--color-text-muted); font-weight: 400; }
.migration-form .contact-message-field { grid-column: 1 / -1; }
.migration-consent { display: flex; align-items: flex-start; gap: .65rem; margin: .55rem 0; color: #59657a; font-size: .87rem; line-height: 1.5; }
.migration-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: .12rem; accent-color: #5541d7; }
.migration-faq { padding-top: 4.5rem; padding-bottom: 4.5rem; }
.migration-final-cta .hosting-final-cta-inner { gap: 2.5rem; }
.migration-final-cta .hosting-final-cta-inner > div:first-child { max-width: 720px; }
@media(max-width:1000px) { .migration-steps-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .migration-emphasis-card { grid-template-columns: auto 1fr; } .migration-emphasis-card > .btn { grid-column: 2; justify-self: start; } }
@media(max-width:760px) { .migration-help-layout { grid-template-columns: 1fr; } .migration-illustration { min-height: 250px; } .migration-terms-list { grid-template-columns: 1fr; } }
@media(max-width:600px) { .migration-hero { padding-top: 3.4rem !important; } .migration-steps-section,.migration-terms-section,.migration-help-section,.migration-price-section,.migration-form-section,.migration-faq { padding: 3.4rem 0; } .migration-intro { padding: 3.4rem 0; } .migration-steps-grid { grid-template-columns: 1fr; } .migration-step { min-height: 0; } .migration-terms-card { padding: 1.25rem; } .migration-illustration { min-height: 220px; } .migration-emphasis-section { padding-bottom: 3.4rem; } .migration-emphasis-card { grid-template-columns: 1fr; } .migration-emphasis-card > .btn { grid-column: 1; width: 100%; justify-content: center; } .migration-form .contact-form-grid { grid-template-columns: 1fr; } .migration-form .contact-message-field { grid-column: auto; } .migration-final-cta .hero-actions { align-items: stretch; flex-direction: column; width: 100%; } .migration-final-cta .hero-actions .btn { width: 100%; justify-content: center; } }
@media(prefers-reduced-motion:reduce) { .migration-step { transition: none; } }
