/* Responsive visual system for the RynoSMS homepage, based on the supplied section references. */
.home-page { --home-ink:#17172f; --home-muted:#77728d; --home-purple:#7039f9; --home-frame-width:var(--site-content-width); --home-section-space:clamp(60px,4.5vw,76px); background:#fff; color:var(--home-ink); }
.home-wide-container { width:var(--home-frame-width); margin-inline:auto; padding-inline:0; }
.number-finder-anchor { scroll-margin-top:104px; }
.home-showcase { position:relative; isolation:isolate; overflow:hidden; padding-block:clamp(68px,6.4vw,112px); background:radial-gradient(ellipse at 50% 42%,#fff 0%,#fff 42%,#fbf9ff 75%,#f6f1ff 100%); }
.home-showcase-heading { position:relative; z-index:1; max-width:1120px; margin-inline:auto; text-align:center; }
.home-showcase-heading h2,.home-faq-intro h2,.home-cta h2 { margin:18px 0 0; color:var(--home-ink); font-family: var(--font-family-ui); font-size:clamp(2.1rem,3.9vw,3.5rem); font-weight: var(--font-weight-heavy); letter-spacing:-.055em; line-height:1.13; }
.home-showcase-heading h2 em,.home-faq-intro h2 em,.home-cta h2 em { color:#6a2be2; font-style:normal; background:linear-gradient(100deg,#873ff5,#5815c8); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.home-showcase-heading p,.home-faq-intro>p,.home-cta-copy>p { max-width:880px; margin:18px auto 0; color:var(--home-muted); font-size:clamp(.97rem,1.35vw,1.2rem); font-weight:500; line-height:1.65; }
.home-eyebrow { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:10px; border:1px solid #ebdfff; border-radius:999px; background:linear-gradient(110deg,#f2eaff,#eae0ff); padding:8px 22px; color:#4c1cab; font-size:clamp(.82rem,1vw,1rem); font-weight: var(--font-weight-heavy); letter-spacing:-.02em; box-shadow:0 7px 22px -19px #6732d2; }
.home-eyebrow svg { color:#6526d3; }
.home-play-icon,.home-question-icon { display:grid; width:31px; height:31px; place-items:center; border:2px solid #6930d7; border-radius:50%; color:#6527d5; font-size:13px; }
.home-question-icon { border:0; background:#6a31df; color:white; font-size:20px; font-weight: var(--font-weight-heavy); }
.home-section-overline { display:block; width:104px; height:8px; margin:0 auto 18px; border-radius:9px; background:linear-gradient(90deg,#d4b8ff,#6b29df); }
.home-services-section { padding-top:clamp(52px,4.5vw,84px); padding-bottom:140px; background:radial-gradient(ellipse at 50% 48%,#fff 0%,#fff 58%,#fcfaff 78%,#f7f1ff 100%); }
.home-services-section:before,.home-services-section:after,.home-process-section:before,.home-countries-section:before,.home-clarity-section:before { position:absolute; z-index:-1; width:38vw; height:260px; border-radius:50%; background:radial-gradient(ellipse,rgba(188,155,255,.21),rgba(220,205,255,.08) 52%,transparent 73%); content:''; pointer-events:none; }
.home-services-section:before { top:-165px; left:-12vw; transform:rotate(-22deg); }
.home-services-section:after { top:-170px; right:-12vw; transform:rotate(22deg); }
.home-service-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:clamp(12px,1.15vw,22px); margin-top:clamp(36px,3vw,56px); }
.home-page .home-service-tile { position:relative; display:flex; min-width:0; min-height:216px; flex-direction:column; align-items:flex-start; justify-content:center; gap:13px; overflow:hidden; border:1px solid #e9e1f7; border-radius:30px; background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(251,249,255,.96)); padding:28px clamp(19px,2.1vw,40px); text-align:left; box-shadow:0 16px 42px -34px rgba(69,39,133,.36),inset 0 1px 0 #fff; transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease; }
.home-service-tile:after { position:absolute; right:-34px; bottom:-55px; width:140px; height:120px; border-radius:50%; background:radial-gradient(ellipse,rgba(210,190,255,.15),transparent 72%); content:''; }
.home-service-tile:hover { transform:translateY(-5px); border-color:#b183ff; box-shadow:0 24px 48px -31px rgba(94,47,199,.34); }
.home-service-tile.is-featured { border-color:#a978ff; background:linear-gradient(145deg,#f3eaff,#fff 86%); box-shadow:0 18px 42px -30px rgba(104,46,221,.37),inset 0 0 0 1px rgba(166,119,255,.16); }
.home-service-tile img,.home-service-tile svg { width:72px; height:72px; object-fit:contain; border-radius:19px; filter:drop-shadow(0 7px 8px rgba(56,30,111,.10)); }
.home-service-logo { display:grid; width:72px; height:72px; flex:0 0 auto; place-items:center; border:1px solid rgba(232,224,246,.65); border-radius:20px; background:#fff; box-shadow:0 9px 20px -14px rgba(47,25,91,.3); }
.home-service-logo svg { width:59px; height:59px; filter:none; }
.home-service-tile strong { max-width:100%; overflow:hidden; color:#18172f; font-size:clamp(1rem,1.35vw,1.42rem); font-weight: var(--font-weight-heavy); letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; }
.home-service-price { display:flex; width:100%; align-items:center; justify-content:space-between; gap:8px; color:#716b86; font-size:clamp(.83rem,1.1vw,1.08rem); font-weight:600; white-space:nowrap; }
.home-round-arrow { display:grid; width:45px; height:45px; flex:0 0 auto; place-items:center; border-radius:50%; background:#f1eaff; color:#32105e; font-size:24px; font-weight:500; transition:background .2s,color .2s; }
.home-service-tile:hover .home-round-arrow,.home-service-tile.is-featured .home-round-arrow { background:#6723dc; color:white; }
.home-main-cta { display:inline-flex; min-height:60px; align-items:center; justify-content:center; gap:19px; border:0; border-radius:22px; background:linear-gradient(105deg,#6d23dc,#5111c5); padding:0 34px; color:#fff; font-size:clamp(.95rem,1.12vw,1.1rem); font-weight: var(--font-weight-heavy); box-shadow:0 17px 30px -21px rgba(79,24,173,.7); transition:transform .2s ease,box-shadow .2s ease,filter .2s ease; }
.home-main-cta:hover { transform:translateY(-2px); filter:brightness(1.05); box-shadow:0 20px 34px -19px rgba(79,24,173,.7); }
.home-services-section>.home-wide-container>.home-main-cta { display:flex; width:max-content; margin:48px auto 0; }
.home-service-benefits { display:grid; max-width:1140px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:48px auto 0; }
.home-service-benefits>span { display:flex; min-height:50px; align-items:center; justify-content:center; gap:17px; border-right:1px solid #e7def6; color:#201835; font-size:clamp(.76rem,1vw,1rem); font-weight: var(--font-weight-heavy); white-space:nowrap; }
.home-service-benefits>span:last-child { border:0; }
.home-service-benefits i { display:grid; width:51px; height:51px; flex:0 0 auto; place-items:center; border-radius:16px; background:linear-gradient(145deg,#f0e7ff,#e6d9ff); color:#5e22d1; font-style:normal; }
.home-wave { position:absolute; left:0; width:100%; height:clamp(65px,8vw,140px); pointer-events:none; }
.home-wave-bottom { bottom:-1px; }
.home-number-finder { position:relative; z-index:1; }
.home-number-finder .number-wizard-section[aria-labelledby="number-wizard-title"] { padding:clamp(18px,2vw,30px) 0!important; background:linear-gradient(135deg,#fbf9ff,#f3edff 54%,#f8f5ff)!important; }
.home-number-finder .number-wizard-frame { width:var(--home-frame-width); max-width:1610px; border-color:#e8defb; border-radius:26px; box-shadow:0 22px 54px -42px rgba(73,42,132,.34),0 1px 0 rgba(255,255,255,.95) inset; }
.home-number-finder .number-wizard-header { min-height:0; gap:12px; padding:20px clamp(20px,2.4vw,38px)!important; background:radial-gradient(ellipse at 90% 8%,rgba(167,124,255,.3),transparent 34%),linear-gradient(110deg,#f5f0ff,#eee5ff 58%,#e9ddff)!important; color:#21163b!important; }
.home-number-finder .number-wizard-header>div.relative { gap:12px; }
.home-number-finder .number-wizard-catalogue { gap:10px; border-color:#ded0fb; border-radius:15px; background:rgba(255,255,255,.58); padding:8px 12px; }
.home-number-finder .number-wizard-catalogue-icon { width:32px; height:32px; border-radius:10px; background:#eee5ff; color:#7039f9; }
.home-number-finder .number-wizard-header h2 { margin-top:7px; color:#201437!important; font-size:clamp(1.55rem,2.2vw,1.9rem); line-height:1.12; }
.home-number-finder .number-wizard-header p { margin-top:5px; color:#665b7c!important; font-size:13px; line-height:1.45; }
.home-number-finder .number-wizard-header>div>p:first-child { padding:4px 9px; font-size:8px; }
.home-number-finder .number-wizard-header strong { color:#2a1c44!important; font-size:12px; }
.home-number-finder .number-wizard-header small { color:#665b7c!important; font-size:10px; }
.home-number-finder .number-wizard-header .text-white { color:#21163b!important; }
.home-number-finder .number-wizard-header .text-\[\#d6c8ff\],.home-number-finder .number-wizard-header .text-\[\#ded7ed\],.home-number-finder .number-wizard-header .text-\[\#d2c8e5\] { color:#665b7c!important; }
.home-number-finder .number-wizard-body { padding:16px clamp(14px,2vw,28px) 20px!important; }
.home-number-finder .number-wizard-steps { gap:6px; border-color:#e9e1f7; border-radius:15px; padding:5px; }
.home-number-finder .number-wizard-steps li { gap:9px; border-radius:11px; padding:6px 10px; }
.home-number-finder .number-wizard-steps li>span:first-child { width:30px; height:30px; border-radius:10px; }
.home-number-finder .number-wizard-content { border-color:#e9e1f7; border-radius:19px; padding:16px; }
.home-number-finder .number-wizard-list { max-height:260px; margin-top:11px; gap:7px; border:1px solid #eee9f6; border-radius:15px; background:#f8f6fc; padding:8px; }
.home-number-finder .number-wizard-list>button { min-height:58px; border-radius:13px; }
.home-number-finder .number-wizard-country-list { max-height:260px; }
.home-number-finder .number-wizard-price-list { max-height:180px; }
.home-number-finder .number-wizard-selected-summary { min-height:50px; margin-bottom:10px; padding-block:7px; }
.home-number-finder .number-wizard-selected-route { margin-top:12px; border-radius:18px; padding:12px; }
.home-number-finder .number-wizard-selected-route>div:first-child>div:first-child>p:nth-child(2) { font-size:1.8rem; }
.home-number-finder .number-wizard-selected-route>div:last-child { margin-top:10px; padding-top:10px; }
.home-number-finder .number-wizard-selected-route a { min-height:40px; }
.home-number-finder .number-wizard-content input { height:44px; min-height:44px; border-radius:13px; }
.home-process-section { padding-block:clamp(72px,7vw,120px); background:radial-gradient(ellipse at 50% 49%,#fff 0%,#fff 56%,#fbf8ff 100%); }
.home-process-section:before { top:-200px; left:-16vw; }
.home-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(22px,5vw,96px); margin:clamp(44px,4vw,72px) 0 0; padding:0; list-style:none; }
.home-page .home-process-card { position:relative; display:flex; min-width:0; min-height:398px; flex-direction:column; align-items:center; border:1px solid #ece4fb; border-radius:34px; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(250,247,255,.93)); padding:28px 28px 31px; text-align:center; box-shadow:0 20px 40px -35px rgba(67,36,126,.42),inset 0 1px 0 #fff; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.home-process-card:hover { transform:translateY(-5px); }
.home-process-card.is-highlighted { border-color:#a737f4; box-shadow:0 25px 46px -32px rgba(121,41,228,.54),inset 0 0 0 1px #eedbff; }
.home-step-pill { align-self:flex-start; border-radius:999px; background:#eee4ff; padding:9px 19px; color:#4d13bb; font-size:1.08rem; font-weight: var(--font-weight-heavy); letter-spacing:-.03em; }
.home-section-artwork.process-art { width:min(66%,245px); height:195px; margin:0 auto 8px; overflow:visible; filter:drop-shadow(0 13px 9px rgba(87,38,174,.12)); }
.home-process-card h3 { max-width:100%; margin:0; color:#15142c; font-size:clamp(1.18rem,1.58vw,1.68rem); font-weight: var(--font-weight-heavy); letter-spacing:-.045em; line-height:1.25; }
.home-process-card p { max-width:340px; margin:14px auto 0; color:#77718d; font-size:clamp(.94rem,1.2vw,1.15rem); font-weight:500; line-height:1.65; }
.home-process-connector { position:absolute; z-index:3; top:47%; right:calc(clamp(22px,5vw,96px)*-.69); display:grid; width:49px; height:49px; place-items:center; border:2px solid #9e59f0; border-radius:50%; background:#fff; color:#6323d3; box-shadow:0 8px 18px -12px #6532be; }
.home-product-section { position:relative; isolation:isolate; padding-block:clamp(60px,6vw,100px); background:linear-gradient(180deg,#fff,#fcfaff 55%,#fff); }
.home-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,2vw,32px); }
.home-page .home-product-card { position:relative; min-width:0; min-height:570px; overflow:hidden; border:1px solid #e4d3ff; border-radius:38px; padding:clamp(34px,3vw,56px); box-shadow:0 24px 60px -52px rgba(65,28,141,.32),inset 0 1px 0 #fff; }
.home-product-card-activation { background:linear-gradient(128deg,#fcfaff,#f5edff 52%,#eadfff); }
.home-product-card-rental { border-color:#f0dfd0!important; background:linear-gradient(128deg,#fffdfb,#fbf5ef 55%,#f8ebde)!important; }
.home-product-card:before { position:absolute; top:-10%; right:-12%; width:55%; height:115%; border-radius:52% 0 0 48%; background:linear-gradient(135deg,rgba(221,201,255,.32),rgba(231,212,255,.02)); content:''; transform:rotate(10deg); }
.home-product-card-rental:before { background:linear-gradient(135deg,rgba(239,219,195,.25),rgba(249,230,207,.04)); }
.home-product-copy { position:relative; z-index:2; display:flex; max-width:82%; align-items:flex-start; gap:24px; }
.home-product-icon { display:grid; width:78px; height:78px; flex:0 0 auto; place-items:center; border-radius:26px; background:linear-gradient(145deg,#efe5ff,#e4d5ff); color:#6428d7; }
.home-product-card-rental .home-product-icon { background:linear-gradient(145deg,#f4eade,#eee0d4); color:#5d3b56; }
.home-product-copy h2 { margin:7px 0 0; color:#211340; font-family: var(--font-family-ui); font-size:clamp(1.8rem,2.5vw,2.7rem); font-weight: var(--font-weight-heavy); letter-spacing:-.05em; line-height:1.08; }
.home-product-copy p { margin:12px 0 0; color:#746a88; font-size:clamp(1rem,1.35vw,1.24rem); font-weight:500; line-height:1.55; }
.home-product-card ul { position:relative; z-index:2; display:grid; gap:17px; margin:36px 0 34px; padding:0; list-style:none; }
.home-product-card li { display:flex; align-items:center; gap:15px; color:#211936; font-size:clamp(.98rem,1.25vw,1.22rem); font-weight:650; }
.home-product-list-icon { display:grid; width:49px; height:49px; flex:0 0 auto; place-items:center; border-radius:17px; background:#f0e7ff; color:#6328d4; }
.home-product-card-rental .home-product-list-icon { background:#f5ece4; color:#6e4c5c; }
.home-page .home-primary-button,.home-page .home-secondary-button { position:relative; z-index:2; display:inline-flex; min-height:60px; align-items:center; justify-content:center; gap:15px; border-radius:18px; padding:0 26px; font-size:clamp(.91rem,1.15vw,1.08rem); font-weight: var(--font-weight-heavy); text-decoration:none; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.home-page .home-primary-button { background:linear-gradient(105deg,#7131e7,#5015bf); color:white; box-shadow:0 13px 25px -17px rgba(72,25,155,.65); }
.home-page .home-primary-button:hover { transform:translateY(-2px); background:#571fc3; box-shadow:0 18px 28px -17px rgba(72,25,155,.66); }
.home-page .home-secondary-button { border:1px solid #d9c3ff; background:#fff; color:#29114f; }
.home-page .home-secondary-button:hover { transform:translateY(-2px); background:#f8f4ff; }
.home-section-artwork.product-art { position:absolute; right:2%; bottom:2%; width:45%; height:68%; overflow:visible; filter:drop-shadow(0 22px 18px rgba(70,33,137,.17)); }
.home-product-card-rental .product-art { right:0; width:47%; }
.home-countries-section { padding-block:clamp(74px,7vw,120px) clamp(82px,8vw,148px); background:radial-gradient(ellipse at 50% 48%,#fff 0%,#fff 58%,#fbf8ff 87%); }
.home-world-dots { position:absolute; z-index:-1; top:8%; left:50%; width:min(82vw,1480px); height:290px; transform:translateX(-50%); opacity:.36; background-image:radial-gradient(circle,#d9c5fc 2.6px,transparent 3px); background-size:15px 15px; mask-image:radial-gradient(ellipse 46% 48% at 50% 52%,#000 0 56%,transparent 72%); }
.home-world-map { position:absolute; z-index:-1; top:6%; left:50%; width:min(82vw,1480px); height:auto; transform:translateX(-50%); opacity:.65; }
.home-country-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:clamp(12px,1vw,19px); margin-top:clamp(40px,3.2vw,62px); }
.home-page .home-country-tile { display:flex; min-width:0; min-height:260px; flex-direction:column; align-items:center; justify-content:center; gap:20px; border:1px solid #e5d8fa; border-radius:32px; background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(252,249,255,.93)); padding:24px 12px; text-align:center; box-shadow:0 20px 45px -38px rgba(75,42,141,.36),inset 0 1px 0 white; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.home-country-tile:hover { transform:translateY(-4px); border-color:#ae80f4; box-shadow:0 24px 45px -34px rgba(92,42,176,.35); }
.home-country-flag { display:block; font-size:clamp(3.25rem,4vw,4.6rem); line-height:1; filter:drop-shadow(0 5px 5px rgba(50,30,80,.10)); }
.home-country-flag-icon { color:#7635e6; }
.home-country-tile strong { max-width:100%; overflow:hidden; color:#19172f; font-size:clamp(1rem,1.42vw,1.45rem); font-weight: var(--font-weight-heavy); letter-spacing:-.04em; text-overflow:ellipsis; white-space:nowrap; }
.home-country-price { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:13px; border-radius:999px; background:#f1e8ff; padding:0 20px; color:#47189f; font-size:clamp(.82rem,1.1vw,1rem); font-weight: var(--font-weight-heavy); white-space:nowrap; }
.home-countries-all { display:flex; min-height:44px; align-items:center; justify-content:flex-end; gap:12px; margin:48px 0 0; color:#5c21d0; font-size:clamp(1.05rem,1.45vw,1.4rem); font-weight: var(--font-weight-heavy); }
.home-countries-all:hover { color:#39128c; }
.home-clarity-section { position:relative; isolation:isolate; overflow:hidden; padding-block:clamp(74px,6.5vw,116px) clamp(82px,7vw,125px); background:radial-gradient(ellipse at 50% 25%,#fff 0%,#fff 60%,#faf7ff 100%); }
.home-clarity-section:before { top:-135px; right:-13vw; }
.home-clarity-heading { max-width:760px; }
.home-clarity-heading h2 { margin-top:14px; }
.home-clarity-heading p { margin-top:8px; font-size:clamp(.95rem,1.18vw,1.08rem); }
.home-clarity-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(15px,2.7vw,50px); margin-top:40px; }
.home-page .home-clarity-card { position:relative; display:flex; min-width:0; min-height:263px; flex-direction:column; align-items:flex-start; overflow:hidden; border:1px solid #e9e1f7; border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(250,247,255,.94)); padding:22px 25px 25px; box-shadow:0 16px 36px -32px rgba(70,39,139,.28),inset 0 1px 0 #fff; }
.home-clarity-index { position:absolute; top:18px; left:18px; z-index:1; display:grid; width:49px; height:35px; place-items:center; border-radius:999px; background:#eee4ff; color:#4f1bc0; font-size:.98rem; font-weight: var(--font-weight-heavy); }
.home-section-artwork.clarity-art { width:130px; height:116px; align-self:center; margin:8px 0 6px; overflow:visible; filter:drop-shadow(0 8px 8px rgba(81,41,151,.12)); }
.home-clarity-card h3 { margin:0; color:#17152e; font-size:clamp(1rem,1.23vw,1.23rem); font-weight: var(--font-weight-heavy); letter-spacing:-.035em; line-height:1.28; }
.home-clarity-card p { margin:8px 0 0; color:#605a79; font-size:clamp(.85rem,1.03vw,.98rem); font-weight:500; line-height:1.5; }
.home-faq-layout { display:grid; grid-template-columns:minmax(270px,.75fr) minmax(0,1.55fr); gap:clamp(36px,6vw,112px); align-items:center; margin-top:clamp(66px,6vw,112px); }
.home-faq-intro { position:relative; min-height:450px; padding:18px 0 205px 12px; }
.home-faq-intro h2 { max-width:420px; margin-top:17px; font-size:clamp(2.15rem,3.1vw,3rem); }
.home-faq-intro>p { max-width:390px; margin:16px 0 0; font-size:clamp(.96rem,1.2vw,1.1rem); }
.home-section-artwork.faq-art { position:absolute; bottom:0; left:0; width:min(100%,360px); height:240px; filter:drop-shadow(0 14px 14px rgba(83,41,154,.14)); }
.home-faq-list { display:grid; gap:9px; }
.home-page .home-faq-item { overflow:hidden; border:1px solid #e4dcf3; border-radius:20px; background:rgba(255,255,255,.88); box-shadow:0 7px 22px -19px rgba(51,31,98,.3); transition:border-color .2s,background .2s,box-shadow .2s; }
.home-faq-item.is-open { border-color:#c8b1fa; background:linear-gradient(105deg,#f6f0ff,#f1eaff); box-shadow:0 10px 25px -20px rgba(84,43,161,.36); }
.home-faq-item h3 { margin:0; }
.home-faq-question { display:grid; width:100%; min-height:56px; grid-template-columns:43px minmax(0,1fr) 28px; align-items:center; gap:13px; padding:8px 17px; color:#17152e; text-align:left; }
.home-faq-icon { display:grid; width:39px; height:39px; place-items:center; border-radius:50%; background:#f1e9ff; color:#6329d4; }
.home-faq-item.is-open .home-faq-icon { background:#e5d7ff; }
.faq-question-copy { font-size:clamp(.84rem,1.04vw,1rem); font-weight: var(--font-weight-heavy); line-height:1.45; }
.home-faq-chevron { color:#382166; font-size:22px; text-align:center; transition:transform .18s; }
.home-faq-item.is-open .home-faq-chevron { transform:rotate(180deg); }
.home-faq-answer { padding:0 56px 17px 73px; color:#4f4965; font-size:clamp(.82rem,1vw,.95rem); line-height:1.55; }
.home-faq-more { justify-self:start; min-height:48px; margin-top:12px; border-radius:999px; padding-inline:25px; font-size:.92rem; }
.home-cta-section { position:relative; padding-block:clamp(24px,3vw,50px) clamp(55px,5vw,85px); background:linear-gradient(180deg,#faf7ff,#f1e8ff); }
.home-page .home-cta { position:relative; display:grid; min-height:270px; grid-template-columns:minmax(155px,.62fr) minmax(0,1.6fr) minmax(245px,.82fr); align-items:center; gap:clamp(24px,3vw,54px); overflow:hidden; border:1px solid #e2d2ff; border-radius:38px; background:radial-gradient(ellipse at 8% 50%,rgba(222,203,255,.58),transparent 38%),linear-gradient(110deg,#faf7ff,#f5edff 62%,#eee3ff); padding:25px clamp(24px,3vw,55px); box-shadow:0 24px 65px -48px rgba(72,36,145,.35),inset 0 1px 0 #fff; }
.home-cta-art { width:100%; height:225px; filter:drop-shadow(0 16px 12px rgba(80,42,145,.16)); }
.home-cta-copy { position:relative; z-index:1; }
.home-cta-copy .home-eyebrow { min-height:35px; padding:5px 13px; font-size:.83rem; }
.home-cta h2 { margin:12px 0 0; font-size:clamp(1.9rem,3vw,3rem); }
.home-cta-copy>p { margin:8px 0 0; font-size:clamp(.92rem,1.15vw,1.08rem); }
.home-cta-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:22px; }
.home-cta-actions .home-main-cta { min-height:58px; border-radius:14px; }
.home-cta-points { display:grid; gap:20px; margin:0; border-left:1px solid #daccf2; padding:14px 0 14px clamp(22px,3vw,52px); list-style:none; }
.home-cta-points li { display:flex; align-items:center; gap:14px; color:#242039; font-size:clamp(.9rem,1.1vw,1.02rem); font-weight:650; }
.home-cta-points svg { display:block; width:31px; height:31px; flex:0 0 auto; border-radius:50%; background:#e7d9ff; padding:6px; color:#6426d7; }
.home-empty-state { margin:30px auto 0; color:#777087; text-align:center; font-size:.95rem; line-height:1.6; }
@media(max-width:1100px) {
  .home-service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-service-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; }
  .home-service-benefits>span { justify-content:flex-start; gap:11px; border:0; }
  .home-service-tile { min-height:195px; padding-inline:20px; }
  .home-process-grid { gap:28px; }
  .home-process-card { min-height:360px; padding-inline:21px; }
  .home-process-connector { right:-39px; }
  .home-page .home-product-card { min-height:515px; padding:34px; }
  .home-product-copy { max-width:90%; gap:17px; }
  .home-product-icon { width:64px; height:64px; border-radius:21px; }
  .home-country-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-country-tile { min-height:225px; }
  .home-clarity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .home-page .home-clarity-card { padding-inline:19px; }
  .home-faq-layout { grid-template-columns:1fr; gap:28px; }
  .home-faq-intro { min-height:0; padding:0 0 190px 4px; }
  .home-section-artwork.faq-art { width:300px; height:190px; }
  .home-page .home-cta { grid-template-columns:minmax(135px,.44fr) minmax(0,1.56fr); gap:22px; }
  .home-cta-points { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:0; border-top:1px solid #daccf2; padding:18px 0 0; }
  .home-cta-points li { gap:9px; font-size:.9rem; }
}
@media(max-width:900px) {
  .home-service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-service-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; }
  .home-service-benefits>span { justify-content:flex-start; gap:11px; border:0; }
  .home-process-grid { grid-template-columns:1fr; gap:20px; }
  .home-page .home-process-card { min-height:340px; }
  .home-section-artwork.process-art { width:200px; height:155px; }
  .home-process-connector { top:auto; right:calc(50% - 22px); bottom:-23px; width:44px; height:44px; transform:rotate(90deg); }
  .home-product-grid { grid-template-columns:1fr; }
  .home-page .home-product-card { min-height:500px; }
  .home-country-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-clarity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-faq-layout { grid-template-columns:1fr; gap:28px; }
  .home-faq-intro { min-height:0; padding:0 0 190px 4px; }
  .home-section-artwork.faq-art { width:300px; height:190px; }
  .home-page .home-cta { grid-template-columns:minmax(135px,.44fr) minmax(0,1.56fr); gap:22px; }
  .home-cta-art { height:185px; }
  .home-cta-points { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:0; border-top:1px solid #daccf2; padding:18px 0 0; }
  .home-cta-points li { gap:9px; font-size:.9rem; }
}
@media(max-width:760px) {
  .home-showcase { padding-block:60px 74px; }
  .home-services-section { padding-top:48px; padding-bottom:111px; }
  .home-showcase-heading h2 { margin-top:14px; font-size:clamp(2rem,7.4vw,2.8rem); }
  .home-showcase-heading p { margin-top:12px; font-size:.98rem; }
  .home-eyebrow { min-height:40px; padding-inline:17px; font-size:.83rem; }
  .home-service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-top:30px; }
  .home-page .home-service-tile { min-height:168px; gap:9px; border-radius:22px; padding:18px 13px 14px; }
  .home-service-tile img,.home-service-tile svg { width:52px; height:52px; border-radius:14px; }
  .home-service-logo { width:52px; height:52px; border-radius:15px; }
  .home-service-logo svg { width:44px; height:44px; }
  .home-service-tile strong { font-size:.92rem; }
  .home-service-price { gap:4px; font-size:.72rem; }
  .home-round-arrow { width:31px; height:31px; font-size:18px; }
  .home-services-section>.home-wide-container>.home-main-cta { min-height:52px; margin-top:32px; border-radius:17px; padding-inline:25px; }
  .home-service-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 7px; margin-top:33px; }
  .home-service-benefits>span { min-height:42px; justify-content:flex-start; gap:9px; border:0; font-size:.73rem; }
  .home-service-benefits i { width:39px; height:39px; border-radius:13px; }
  .home-service-benefits i svg { width:19px; height:19px; }
  .home-number-finder section[aria-labelledby="number-wizard-title"] { padding-block:34px; }
  .home-number-finder .number-wizard-section[aria-labelledby="number-wizard-title"] { padding-block:16px!important; }
  .home-number-finder .number-wizard-frame { width:var(--home-frame-width); max-width:1610px; border-radius:22px; }
  .home-number-finder .number-wizard-header { align-items:flex-start; padding:15px 16px!important; }
  .home-number-finder .number-wizard-header>div.relative { align-items:flex-start; flex-direction:column; gap:10px; }
  .home-number-finder .number-wizard-header h2 { margin-top:5px; font-size:1.55rem; }
  .home-number-finder .number-wizard-header p { max-width:34ch; font-size:12px; }
  .home-number-finder .number-wizard-catalogue { display:none; }
  .home-number-finder .number-wizard-body { gap:12px; padding:12px!important; }
  .home-number-finder .number-wizard-steps li { justify-content:center; gap:6px; padding:5px 4px; }
  .home-number-finder .number-wizard-steps li>span:last-child { font-size:10px; }
  .home-number-finder .number-wizard-content { border-radius:16px; padding:12px; }
  .home-number-finder .number-wizard-list { max-height:260px; margin-top:10px; }
  .home-process-section { padding-block:65px 72px; }
  .home-process-grid { grid-template-columns:1fr; gap:20px; margin-top:33px; }
  .home-page .home-process-card { min-height:0; border-radius:27px; padding:23px 22px 25px; }
  .home-step-pill { align-self:flex-start; padding:7px 14px; font-size:.93rem; }
  .home-section-artwork.process-art { width:185px; height:155px; margin-block:4px 2px; }
  .home-process-card h3 { font-size:1.25rem; }
  .home-process-card p { margin-top:8px; font-size:.95rem; }
  .home-process-connector { top:auto; right:calc(50% - 20px); bottom:-21px; width:40px; height:40px; transform:rotate(90deg); }
  .home-product-section { padding-block:42px 64px; }
  .home-product-grid { grid-template-columns:1fr; gap:18px; }
  .home-page .home-product-card { min-height:430px; border-radius:29px; padding:25px 22px; }
  .home-product-copy { max-width:100%; gap:14px; }
  .home-product-icon { width:53px; height:53px; border-radius:17px; }
  .home-product-icon svg { width:26px; height:26px; }
  .home-product-copy h2 { margin-top:3px; font-size:1.75rem; }
  .home-product-copy p { margin-top:8px; font-size:.92rem; }
  .home-product-card ul { gap:13px; margin:25px 0 23px; }
  .home-product-card li { gap:10px; font-size:.9rem; }
  .home-product-list-icon { width:38px; height:38px; border-radius:13px; }
  .home-product-list-icon svg { width:17px; height:17px; }
  .home-page .home-primary-button,.home-page .home-secondary-button { min-height:51px; gap:10px; border-radius:15px; padding-inline:17px; font-size:.86rem; }
  .home-section-artwork.product-art { right:0; bottom:0; width:41%; height:53%; opacity:.58; }
  .home-product-card-rental .product-art { right:-2%; width:43%; }
  .home-countries-section { padding-block:65px 87px; }
  .home-world-dots { top:10%; width:125vw; height:200px; opacity:.25; background-size:12px 12px; }
  .home-world-map { top:8%; width:128vw; opacity:.42; }
  .home-country-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:30px; }
  .home-page .home-country-tile { min-height:174px; gap:11px; border-radius:22px; padding:16px 8px; }
  .home-country-flag { font-size:2.75rem; }
  .home-country-tile strong { font-size:.86rem; }
  .home-country-price { min-height:34px; gap:4px; padding-inline:10px; font-size:.68rem; }
  .home-country-price svg { width:14px; }
  .home-countries-all { margin-top:28px; font-size:1rem; }
  .home-clarity-section { padding-block:66px 73px; }
  .home-clarity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-top:29px; }
  .home-page .home-clarity-card { min-height:218px; border-radius:22px; padding:14px 13px 16px; }
  .home-clarity-index { top:12px; left:12px; width:39px; height:30px; font-size:.83rem; }
  .home-section-artwork.clarity-art { width:112px; height:94px; margin-block:9px 5px; }
  .home-clarity-card h3 { font-size:.9rem; }
  .home-clarity-card p { margin-top:6px; font-size:.77rem; }
  .home-faq-layout { grid-template-columns:1fr; gap:20px; margin-top:55px; }
  .home-faq-intro { min-height:0; padding:0 0 0 2px; }
  .home-faq-intro h2 { max-width:100%; margin-top:13px; font-size:2.1rem; }
  .home-faq-intro>p { max-width:100%; margin-top:9px; font-size:.95rem; }
  .home-section-artwork.faq-art { display:none; }
  .home-faq-list { gap:8px; }
  .home-page .home-faq-item { border-radius:16px; }
  .home-faq-question { min-height:58px; grid-template-columns:36px minmax(0,1fr) 22px; gap:9px; padding:8px 11px; }
  .home-faq-icon { width:34px; height:34px; }
  .faq-question-copy { font-size:.82rem; }
  .home-faq-answer { padding:0 43px 14px 56px; font-size:.8rem; }
  .home-cta-section { padding-block:34px 49px; }
  .home-page .home-cta { grid-template-columns:1fr; gap:9px; border-radius:27px; padding:22px 20px 24px; }
  .home-cta-art { position:absolute; top:3px; right:-32px; width:158px; height:137px; opacity:.27; }
  .home-cta-copy { z-index:1; }
  .home-cta h2 { max-width:330px; margin-top:11px; font-size:2rem; }
  .home-cta-copy>p { max-width:440px; margin-top:8px; font-size:.9rem; }
  .home-cta-actions { gap:9px; margin-top:17px; }
  .home-cta-actions .home-main-cta { min-height:49px; border-radius:13px; padding-inline:15px; font-size:.8rem; }
  .home-cta-actions .home-secondary-button { min-height:49px; padding-inline:14px; font-size:.8rem; }
  .home-cta-points { grid-template-columns:1fr; gap:10px; margin-top:13px; border:0; border-top:1px solid #ddd0f3; padding:14px 0 0; }
  .home-cta-points li { gap:9px; font-size:.82rem; }
  .home-cta-points svg { width:25px; height:25px; }
}
@media(max-width:420px) {
  .home-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .home-page .home-service-tile { min-height:157px; }
  .home-service-tile strong { font-size:.9rem; }
  .home-service-benefits>span { font-size:.68rem; }
  .home-page .home-product-card { min-height:430px; padding-inline:18px; }
  .home-product-copy { gap:11px; }
  .home-product-icon { width:48px; height:48px; }
  .home-product-copy h2 { font-size:1.55rem; }
  .home-product-card li { font-size:.82rem; }
  .home-country-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .home-country-tile { min-height:155px; }
  .home-clarity-grid { gap:9px; }
  .home-page .home-clarity-card { min-height:225px; padding-inline:11px; }
  .home-clarity-card h3 { font-size:.86rem; }
  .home-clarity-card p { font-size:.74rem; }
}
@media(prefers-reduced-motion:reduce) { .home-page *, .home-page *:before, .home-page *:after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }

/* Shared layout rhythm for the final homepage polish. */
.home-page .home-services-section,
.home-page .home-process-section,
.home-page .home-product-section,
.home-page .home-countries-section,
.home-page .home-clarity-section,
.home-page .home-cta-section { padding-block:var(--home-section-space); }
.home-page .home-wave { height:var(--home-section-space); }
.home-page .home-service-grid,
.home-page .home-process-grid,
.home-page .home-country-grid,
.home-page .home-clarity-grid { margin-top:clamp(30px,2.6vw,40px); }
.home-page .home-faq-layout { margin-top:clamp(52px,4vw,64px); }
.home-page .home-world-map { opacity:.09; }
.home-page .home-service-tile,
.home-page .home-process-card,
.home-page .home-product-card,
.home-page .home-country-tile,
.home-page .home-clarity-card,
.home-page .home-cta { border-radius:28px; }
.home-page .home-main-cta,
.home-page .home-primary-button,
.home-page .home-secondary-button { min-height:54px; border-radius:16px; padding-inline:24px; font-size:.96rem; }
.home-page .home-cta-actions .home-main-cta { min-height:54px; border-radius:16px; }
.home-page .home-service-tile:focus-visible,
.home-page .home-country-tile:focus-visible,
.home-page .home-main-cta:focus-visible,
.home-page .home-primary-button:focus-visible,
.home-page .home-secondary-button:focus-visible { outline:3px solid rgba(112,57,249,.35); outline-offset:3px; }
.home-page footer.ryno-site-footer>.mx-auto,
.home-page footer.ryno-site-footer>div>.mx-auto { width:var(--home-frame-width)!important; max-width:1610px!important; }

@media(max-width:1100px) {
  .home-page { --home-section-space:clamp(52px,5.4vw,62px); }
}

@media(min-width:761px) and (max-width:1200px) {
  .home-page .ryno-hero .ryno-hero-copy h1 { font-size:clamp(3rem,5.8vw,3.8rem); }
}

@media(max-width:760px) {
  .home-page { --home-section-space:clamp(40px,10.5vw,48px); }
  .home-page .home-service-grid,
  .home-page .home-process-grid,
  .home-page .home-country-grid,
  .home-page .home-clarity-grid { margin-top:25px; }
  .home-page .home-faq-layout { margin-top:38px; }
  .home-page .home-world-map { opacity:.07; }
  .home-page .home-service-tile,
  .home-page .home-process-card,
  .home-page .home-product-card,
  .home-page .home-country-tile,
  .home-page .home-clarity-card,
  .home-page .home-cta { border-radius:22px; }
  .home-page .home-main-cta,
  .home-page .home-primary-button,
  .home-page .home-secondary-button,
  .home-page .home-cta-actions .home-main-cta,
  .home-page .home-services-section>.home-wide-container>.home-main-cta { min-height:48px; border-radius:14px; padding-inline:16px; font-size:.86rem; }
}

@media(max-width:420px) {
  .home-page { --home-section-space:clamp(34px,10vw,40px); }
  .home-page .home-faq-layout { margin-top:32px; }
}

/* Keep all authored content in SSR while deferring layout for distant sections. */
.home-page #services { content-visibility:auto; contain-intrinsic-size:auto 782px; }
.home-page #number-finder { content-visibility:auto; contain-intrinsic-size:auto 700px; }
.home-page #how-it-works { content-visibility:auto; contain-intrinsic-size:auto 731px; }
.home-page #number-types { content-visibility:auto; contain-intrinsic-size:auto 698px; }
.home-page #countries { content-visibility:auto; contain-intrinsic-size:auto 665px; }
.home-page #benefits { content-visibility:auto; contain-intrinsic-size:auto 1236px; }
.home-page .home-cta-section { content-visibility:auto; contain-intrinsic-size:auto 414px; }

@media(max-width:760px) {
  .home-page #services { contain-intrinsic-size:auto 1014px; }
  .home-page #number-finder { contain-intrinsic-size:auto 600px; }
  .home-page #how-it-works { contain-intrinsic-size:auto 1328px; }
  .home-page #number-types { contain-intrinsic-size:auto 958px; }
  .home-page #countries { contain-intrinsic-size:auto 841px; }
  .home-page #benefits { contain-intrinsic-size:auto 1642px; }
  .home-page .home-cta-section { contain-intrinsic-size:auto 580px; }
}
