
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
  }
  
  /* Sections
     ========================================================================== */
  
  /**
   * Remove the margin in all browsers.
   */
  
  body {
    margin: 0;
  }
  
  /**
   * Render the `main` element consistently in IE.
   */
  
  main {
    display: block;
  }
  
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
  
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  
  /* Grouping content
     ========================================================================== */
  
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  
  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /* Text-level semantics
     ========================================================================== */
  
  /**
   * Remove the gray background on active links in IE 10.
   */
  
  a {
    background-color: transparent;
  }
  
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  
  abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
  }
  
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  
  b,
  strong {
    font-weight: bolder;
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /**
   * Add the correct font size in all browsers.
   */
  
  small {
    font-size: 80%;
  }
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  sup {
    top: -0.5em;
  }
  
  /* Embedded content
     ========================================================================== */
  
  /**
   * Remove the border on images inside links in IE 10.
   */
  
  img {
    border-style: none;
  }
  
  /* Forms
     ========================================================================== */
  
  /**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
  
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }
  
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  
  button,
  input { /* 1 */
    overflow: visible;
  }
  
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  
  button,
  select { /* 1 */
    text-transform: none;
  }
  
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  
  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }
  
  /**
   * Remove the inner border and padding in Firefox.
   */
  
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  
  /**
   * Restore the focus styles unset by the previous rule.
   */
  
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  
  /**
   * Correct the padding in Firefox.
   */
  
  fieldset {
    padding: 0.35em 0.75em 0.625em;
  }
  
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
  
  legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
  }
  
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  
  progress {
    vertical-align: baseline;
  }
  
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  
  textarea {
    overflow: auto;
  }
  
  /**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
  
  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
  }
  
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  
  /**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
  
  [type="search"] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }
  
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  
  /* Interactive
     ========================================================================== */
  
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  
  details {
    display: block;
  }
  
  /*
   * Add the correct display in all browsers.
   */
  
  summary {
    display: list-item;
  }
  
  /* Misc
     ========================================================================== */
  
  /**
   * Add the correct display in IE 10+.
   */
  
  template {
    display: none;
  }
  
  /**
   * Add the correct display in IE 10.
   */
  
  [hidden] {
    display: none;
  }
  
:root {
    font-size: 16px;
    --c-white-100: #FFFFFF;
    --c-white-200: #F4F0EF;
    --c-white-300: #EDE7E6;
    --c-white-700: #CAAA9E;
    --c-blue-300: #4CD1DD;
    --c-blue-600: #26A4D2;
    --c-black-800: #362929;
    --c-black-900: #000000;
    --c-orange-300: #F6B693;
    --c-orange-400: #FFAC91;
    --c-orange-500: #E77348;
    --c-round: .75rem;
    --c-round-lg: 1.5rem;
    --c-round-full: 10rem;
    --s0: 8.75rem;
    --s2: 5.25rem;
    --s3: 4rem;
    --s4: 3.5rem;
    --s5: 2.875rem;
    --s6: 2.1rem; 
    --sp: 1.125rem;
    --slh: 1.5rem;
    --herogradrot: 125deg;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    --c-max-width: 1400px;
    font-size: 16px;
    --f-sans: "Inter", sans-serif;
    --f-serif: "Cormorant", serif;
}
#nav a, #nav a:visited, #nav a:hover, #nav a:active {
    text-decoration: none;
    color: #000;

}
h1, h2, h3, h4, h5, h6 {
    padding: 0;
    margin: 0;
}
.s0 {
    font-size: var(--s0);
    line-height: var(--s0);
}
.s2 {
    font-size: var(--s2);
    line-height: var(--s2);

}
.sp {
    font-size: var(--sp);
    line-height: calc(var(--sp) * 1.4);
}
.s3 {
    font-size: var(--s3);
    line-height: var(--s3);
}
.s4 {
    font-size: var(--s4);
    line-height: calc(var(--s4)*1.1);
}
.s5 {
    font-size: var(--s5);
    line-height: calc(var(--s5));
}
.s6 {
    font-size: var(--s6);
    line-height: calc(var(--s6)*1.1);
}
p {
    margin: 0 0 .25rem 0;
    padding: 0;
}
body {
    background-color: #F4F0EF;
    font-size: 1rem;
    line-height: 1.4rem;
}
.sans {
    font-family: "Inter", sans-serif;
}
.serif {
    font-family: "Cormorant", serif;
}
.light {
font-weight: 300;
}
.normal {
font-weight: 500;
}
.bold {
    font-weight: 700;
}
.black {
    font-weight: 900;
}
.italic {
    font-style: italic;
}
.foot {
    font-size: .85rem;
    margin: .15rem 0;
}
.opacity-6 {
    opacity: .6;
}
.opacity-75 {
    opacity: .75;
}
.opacity-85 {
    opacity: .85;
}


.button {
  display: flex;
text-decoration: none;
    width: fit-content;
    border-radius: var(--c-round-full);
    position: relative;
    z-index: 9999;
    background: linear-gradient(-45deg, #1C1C1C, #5F747E);
    cursor: pointer;
    box-shadow: 
    0 16px 14px -14px rgba(0, 113, 165, 0.8), 
  0 26px 21px -14px rgba(185, 243, 231, 0.65);
    transition: box-shadow .25s ease-out, padding .25s ease-out, background .25s ease-out;
}
.button:hover {
    background: linear-gradient(-45deg, #222, #7a95a1);

    box-shadow: 0 22px 20px -14px rgba(0,113,165,.8), 0 34px 28px -14px rgba(185,243,231,.65);

}

a > .button > * {
  text-decoration: none;
    cursor: pointer;
}


.action-sm {
    padding:.125rem;
    font-size: .8rem;
}
.action-sm:hover {
    padding: .125rem .185rem .125rem .185rem;

}
.action-lg {
    font-size: 1.2rem;
    padding: .65rem 1rem .65rem 1rem;
}
.action-lg:hover {
    padding: .65rem 1.8rem .65rem 1.8rem;
 
}

.button::after {
    content: '';
    position: absolute;
    top: .125rem; right: .125rem; bottom: .125rem; left: .125rem;
    background: var(--c-black-900); /* Inner background color */
    border-radius: calc(var(--c-round-full) - .125rem); /* Slightly smaller than parent */
    box-shadow: inset -2px -4px 16px rgba(50, 175, 225, .4);
    z-index: 1;
    transition: background .25s ease-out;
}
.button:hover::after {
    background: #111;
}
.button div {
    padding: .5rem 1rem .5rem 1rem;
    position: relative;
    z-index: 2;
    color: var(--c-white-100);
    font-weight: bold;
}
.container {
    max-width: 1400px;
    width: calc(100% - 4rem); /* Ensures 2rem padding on both sides */
    margin: 0 auto; /* Centers the container */
    padding: 0 2rem; /* Ensures padding when width < 1400px */
    box-sizing: border-box; /* Ensures padding doesn’t add extra width */
}
#nav {
    position: fixed;
    top: 0;
    left: 50vw;
    transform: translateX(-50%);
    z-index: 10;
    background: linear-gradient(180deg, rgba(244, 240, 239, 1), rgba(244,240,239,0));
    height: 10rem;
    width: 100vw;


}
#nav > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 6rem;
    max-width: var(--c-max-width);
    z-index: 15;
}
#nav-backer {
    position: absolute;
    width: var(--c-max-width);
    top: -3.5rem;
    left: 50%;
    transform: translateX(-50%);
  pointer-events: none;
    z-index: 8;
}
#nav #logo {
    z-index: 10;
    height: 3.5rem;
    position: absolute;
    left: 50%;
        transform: translateX(-50%) translateY(-40%);
    z-index: 50;
}
#nav ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    font-weight: bold;
    gap: 1rem;
    z-index: 50;
}
#nav ul li {
    z-index: 5000;
    cursor: pointer;
}

/* Hamburger Button - Hidden on Desktop */
#hamburger-btn {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 22px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 5001;
    position: relative;
}

#hamburger-btn span {
    width: 100%;
    height: 3px;
    background-color: var(--c-black-800);
    border-radius: 2px;
    transition: all 0.3s ease;
}

#hamburger-btn.active span:nth-child(1) {
    transform: translateY(9.5px) rotate(45deg);
}

#hamburger-btn.active span:nth-child(2) {
    opacity: 0;
}

#hamburger-btn.active span:nth-child(3) {
    transform: translateY(-9.5px) rotate(-45deg);
}

/* Mobile Menu Overlay */
#mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: 4999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

#mobile-menu-overlay.active {
    opacity: 1;
    pointer-events: all;
}

#mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 320px;
    max-width: 85vw;
    height: 100vh;
    background: var(--c-white-100);
    box-shadow: -2px 0 20px rgba(0, 0, 0, 0.1);
    z-index: 5000;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    padding: 8rem 2rem 2rem 2rem;
    box-sizing: border-box;
}

#mobile-menu-overlay.active #mobile-menu {
    transform: translateX(0);
}

#mobile-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

#mobile-menu ul li {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--c-black-800);
    cursor: pointer;
    transition: color 0.2s ease;
}

#mobile-menu ul li:hover {
    color: var(--c-orange-500);
}

#mobile-menu ul li a {
    color: inherit;
    text-decoration: none;
}

#mobile-menu-cta {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: center;
}

#mobile-menu-cta .button {
    display: inline-block;
    text-decoration: none;
}

#mobile-menu-cta .button div {
    text-align: center;
}

/* Hero */

#c-hero {
display: flex;
flex-direction: column;
width: 100%;
align-items: center;
margin-top: 6rem;

}
#hero-action {
    text-align: center;
    transform: translateY(-1.6rem);
}

#hero-box {
    --herogradrot: 125deg;
    border-radius: var(--c-round-lg);
    height: calc(93svh - 8rem);
    background: linear-gradient(var(--herogradrot),
        #F7C6C5 22%,
        #D6C2F4 43%,
        #9FDBEF 78%,
        #B9EEEA 93%
    );
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 4rem;
    box-sizing: border-box;
    text-align: center;
    overflow: hidden;
    position: relative;

}
#hero-box .content {
    z-index: 3;
}
#h-lines, #h-clouds {
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translateX(-50%); /* Centers images horizontally */
    max-width: 100%; /* Optional: Makes sure images don't exceed container width */
    width:100%;

}
#h-lines {
    z-index: 1;
}
#h-papers-left {
    position: absolute;
    top: calc(8rem + 18svh);

    z-index: 4;
    width: 8rem;
    transform: translateX(-50%); /* Centers images horizontally */
    left: calc(50% - 7rem);
}
#h-papers-right {
    position: absolute;
    top: calc(8rem + 30svh);
    z-index: 4;
    width: 8rem;
    transform: translateX(-50%); /* Centers images horizontally */
    left: calc(50% + 7rem);
}
#h-balloon {
    z-index: 3;
    position: absolute;
    top: -16rem;
 
}
#h-clouds {
    mix-blend-mode: luminosity;
    opacity: .8;
    z-index: 2;
}

#hero-box h1 {
    line-height: 3rem;
    margin-bottom: 2.25rem;

}
#hero-box h1 div:nth-child(1) {
color: #000;
font-size: 1.9rem;
margin-bottom: .45rem;
}
#hero-box h1 div:nth-child(2) {
    color: #fff;
    font-size: 4.7rem;
    filter: drop-shadow(0 1px 0 rgba(0,0,0,.3));
    letter-spacing: -.15rem;
}
#hero-box p {
    font-size: 1.4rem;
    opacity: .8;
}

#c-overview {
    padding-top: 8rem;
    background: url("/images/overview_backer.png");
    background-repeat: no-repeat;
    background-size: 150rem;
    background-position: top center;
    min-height: 74rem;
    margin-bottom: -20rem;
}

#c-overview .container {
    display: flex;
    flex-direction: row;
}
#c-overview .container > div > p:first-of-type {
    margin-bottom: 1.45rem;
    font-size: 1.1rem;
    line-height: 1.6rem;
}
#c-overview > div > div:nth-child(2) {
    width: 30%;
    padding-top: 6rem;

}

#c-overview h2 {
    color: #fff;
    font-size: 3.3rem;
    line-height: 2.8rem;
    margin-bottom: 1rem;
}
#c-overview .product-images {
    position: relative;
}

.product-images > img:nth-of-type(2) {
    width: 28rem;
    position: absolute;
    top: 24rem;
    left: 4.5rem;
    z-index: 2;
}
.product-images > img:nth-of-type(3) {
    width: 26rem;
    position: absolute;
    top: 38rem;
    left: 20rem;
    z-index: 3;
}

.feature-card {
    display: flex;
    flex-direction: row;
    padding: .5rem 1.3rem .5rem .6rem;
    gap: 1rem;
    border-radius: .45rem;
    background: linear-gradient(-45deg, rgba(255,255,255,.25),rgba(255,255,255,.95));
    height: 2.6rem;
    width: fit-content;
    align-items: center;
    transition: filter .25s ease-out, box-shadow .25s ease-out;
}
.feature-card:hover {
    filter:brightness(1.1);
    box-shadow: 0px 8px 16px 0px rgba(19, 42, 53, 0.15);
}
.features-vert {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin-top: 1rem;
}
.feature-card::after {
    padding: .125rem;
    background: linear-gradient(-45deg, rgba(255,255,255,.19), rgba(255,255,255,.75));
 
}
.feature-card h4 {
    font-size: .9rem;
    line-height: .9rem;
    margin:0 0 .15rem 0;
    padding: 0;
}
.feature-card p {
    line-height: 1rem;
    font-size: 1rem;
    margin:0;
    padding: 0;
}
#c-howitworks {
    width: 100%;
    overflow: hidden; /* This is the key part to prevent page overflow */
    position: relative;
    margin-bottom: 20rem;

}

#c-howitworks h2 {
    margin-bottom: 2rem;
}


#howitworks-slides {
    display: flex;
    flex-direction: row;
    padding-left: calc((100vw - 800px - (68.125rem / 2)) / 2);
    margin-right: 20rem;
    gap: 2rem;
    /* width: 100%; */
    overflow: visible;
}
.howitworks-card {
    width: 68.125rem;
    height: 35.625rem;
    flex-shrink: 0;
    justify-content: space-between;
    border-radius: var(--c-round-lg);
    background-color: var(--c-white-300);
    box-sizing: border-box;
    padding: 3rem 0rem 0rem 2rem;
    display: flex;
}
.howitworks-card div:nth-child(1) {
    width: 18rem;
    margin-right: 2rem;
}
.howitworks-card .number {
    height: 3.125rem;
    width: 3.125rem !important;
    flex-grow: 0;
    flex-shrink: 1;
    border-radius: var(--c-round);
    background-color: var(--c-orange-500);
    color: var(--c-white-200);
    font-size: 1.375rem;
    align-items: center;
    justify-content: center;
    display: flex;
    margin-bottom: 2rem;
}
.howitworks-card h4 {
font-size: 1.5rem;
margin-bottom: .75rem;
}
.howitworks-card p {
    font-size: 1.125rem;
    opacity: .85;
}
.howitworks-card img {
     filter: drop-shadow(-.5rem 0rem 0.5rem rgba(0, 0, 0, .1));
    align-self: flex-end;

}
.howitworks-card:nth-of-type(5) img  {
    transform: translate(-3rem, -3rem);
}
    .howitworks-card:nth-of-type(4) img {
    filter: none;
}

        


/* Testimonials */
#c-testimonials {
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: url("/images/compass_backer.png");
    background-repeat: no-repeat;
    background-size: 70rem;
    background-position: center top;
    padding-bottom: 14rem;
}
#c-testimonials h2 {
    margin-bottom: 2rem;
}

#c-compass {
    margin-top: 10rem;
    position: relative;
    width: 100%;
    margin-bottom: -1rem;
}
#compass {
    position: relative;
    z-index: 4 !important;

}
#compass img {
    width: 20rem;
    height: 20rem;
}
#c-compass .row {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: .5rem;
    z-index: 1;
}
#userrows {
    width: 100%;
    top: 8rem;
    overflow: hidden;
    position: absolute;
    z-index: 1 !important;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.usertag {
    flex-shrink: 0;
    z-index: 1;
    border-radius: .25rem;
    font-size: .75rem;
    padding: .5rem 1rem;
    background: linear-gradient(-25deg, rgba(216, 110, 77, .24), rgba(216, 110, 77, .21));
    font-weight: 600;
    color: rgba(0,0,0,.75);
}

.stars {

    display: flex;
    flex-direction: row;
    flex-shrink: 0;
    gap: .5rem;
    width: fit-content;
    margin-bottom: 1rem;
}
.stars img {
    width: 1.5rem;
    height: 1.5rem;
}
#testimonies {
    margin-top: 10rem;
    max-width: 64rem;
    width: var(--c-max-width);
    display: flex;
    gap: 5rem;
    flex-direction: column;
    position: relative;
}
.cloud {
    position: absolute;
    z-index: 1;
}
.cloud:nth-of-type(1) {
    right: 1rem;
    top: 12rem;
}
.cloud:nth-of-type(2) {
    left: -5rem;
    top: 32rem;
}
.testimonial-card {
    width: 35rem;
    min-height: 2rem;
    box-sizing: border-box;
    padding: 3rem 2rem 2rem 2rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: var(--c-round-lg);
    background: linear-gradient(25deg, rgba(255,255,255,.23), rgba(255,255,255,.23), rgba(132,225,251,.35));
    outline: solid 1px var(--c-blue-300);
    position: relative;
    align-self: flex-start;
    z-index: 2;
    backdrop-filter: blur(2rem);

}

.testimonial-card:nth-of-type(even) {
    background: linear-gradient(25deg, rgba(255,255,255,.23), rgba(255,255,255,.23), rgba(251, 189, 132, 0.35));
    outline: solid 1px var(--c-orange-300);
    align-self: flex-end;
}
.testimonial-card > img {
    position: absolute;
    filter: drop-shadow(0rem 1rem 2rem rgba(0,0,0,.15));
    top:-2rem;
    z-index: 2;
    border-radius: 500;
}

.testimonial-card p:nth-of-type(1) {
    font-size: 1.625rem;
    line-height: 2rem;
    opacity: .8;
}
.testimonial-card p:nth-of-type(2) {
    font-size: .875rem;
    line-height: .875rem;
    margin-top: 1rem;
}

/* Pricing */

#c-pricing {

    background: radial-gradient(ellipse 110rem 56rem at center, rgb(255, 255, 255) 45%, rgba(255, 255, 255, 0) 80%);
    height: 90rem;
    min-height: 73vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
    margin-bottom: -20rem;
}
#c-pricing > img {
    position: absolute;
    width: 35rem;
    height: 150rem;
    pointer-events: none;
}

#pricing-container {
    max-width: var(--c-max-width);
    display: flex;
    flex-direction: row;
    gap: 2rem;
    margin-top: 2rem;
}


.pricing-card {
    border-radius: var(--c-round);
    background:  
    radial-gradient(circle at top right, rgba(224, 192, 180, 0.45) 0%, rgba(240, 235, 224, 0.25) 50%),  
    rgba(255, 255, 255, 0.55);
    padding: 1.5rem 1.5rem 2rem 1.5rem;
    width: 27rem;
    height: 18rem;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 0 rgba(13, 136, 150, 0);
    transition: box-shadow .4s ease-out;
}
.pricing-card:hover {
    box-shadow: 0 2.5rem 3rem rgba(53, 48, 38, 0.1);
    transition: box-shadow .4s ease-out;
}
.pricing-card:nth-of-type(2) {
    background: radial-gradient(circle at top right, rgba(29, 212, 209, 0.35) 0%, rgba(240, 235, 224, 0.35) 50%),  
    rgba(255, 255, 255, 0.25);
}

.pricing-card::before {
        content: "";
        position: absolute;
        inset: 0; /* Stretch to match the element */
        padding: 1px; /* Border width */
        border-radius: inherit; /* Ensures it matches the element’s border-radius */
        background: linear-gradient(to bottom left,  
        rgba(202, 170, 158, .9) 0%,
        rgba(202, 170, 158, 0.35) 33%,
        rgba(202, 170, 158, 0.35) 66%,
        rgba(202, 170, 158, 0.55) 100% 
      );
        -webkit-mask: linear-gradient(white 0 0) content-box, linear-gradient(white 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        pointer-events: none; /* Prevents interaction */
}
.pricing-card:nth-of-type(2).pricing-card:nth-of-type(2)::before {
    padding: 2px;
    background: linear-gradient(to bottom left,  
    rgba(19, 188, 185, 1) 0%,
    rgba(19, 188, 185, .45) 100%
  );
}

.pricing-card:nth-of-type(2)::after {
    content: "";
    position: absolute;
    inset: -1px; /* Moves further out */
    border-radius: calc(var(--c-round) + 2px);
    border: 2px solid rgba(22,204,201,.3); /* Solid color border */
    pointer-events: none;
  }

  .pricing-card-header {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .pricing-card-header > div {
    justify-content: flex-end;
    align-items: flex-end;
    text-align: right;
  }
  .pricing-card h4 {
    flex-grow: 1;
    text-align: left;
  }
  .limited {
    border-radius: .2rem;
    background-color: var(--c-orange-300);
    font-size: .6rem;
    line-height: .6rem;
    padding: .3rem .3rem;
    opacity: .8;
    margin: .25rem 0;
  }

  .pricing-card-actions {
    flex-direction: row;
    gap: 1rem;
    align-items: center;
    display: flex;
  }
.pricing-card-points {
    flex-grow: 1;
}
  .pricing-card-points > ul {
    list-style: none;
    margin: 1rem 0;
    padding:0;
    text-align: left;

  }
  .pricing-card-points > ul > li {
    display: flex;
    flex-direction: row;
    gap: .5rem;
    align-items: center;
    margin: .2rem 0;
    font-size: .9rem;
    font-weight: bold;

  }
  .pricing-card-actions {
height: fit-content;
    justify-self: end;

  }
  .pricing-card-actions > p {
    opacity: .5;
    font-size: .7rem;
  }

  #feature-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 1.5rem;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

#feature-list > li {
    max-width: 17rem;

}
#feature-list h5 {
    font-size: 1rem;
}
  #feature-list p {
    font-size: .85rem;
    line-height: 1.25rem;
    opacity: .65;
  }

  .checkmark {
    border-radius: 10000px;
    background-color: #1DD4D1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .25rem;
    width: fit-content;
  }

  .feature-icon {
    border-radius: 10000px;
    background-color: #1DD4D1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.125rem;
    height: 2.125rem;
    align-self:center;
    justify-self: center;
    margin-bottom: .5rem;
  }


  /* CTA */
  #c-cta {
    width: 100%;
    height: 40rem;
    background-image: url("/images/gradient_blue.png");
    background-size: 80rem 60rem;
    background-position: center -5rem;
    background-repeat: no-repeat;
    display: flex;
    gap: 2rem;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    animation: bg-pulse ease-in-out 4s infinite;
    overflow: hidden;
  }
  #c-cta h4 {
    width: 36rem;
  }

  @keyframes bg-pulse {
    0% {
        background-size: 80rem 60rem;
        background-position: center -5rem;
    }
    50% {
        background-size: 105rem 68rem;
        background-position: center -12rem;
    }
    100% {
        background-size: 80rem 60rem;
        background-position: center -5rem;
    }
  }

  #c-movingfromus-cta {
  width: 100%;
  min-height: 10rem;
  padding: 3rem 2rem;
box-sizing: border-box;
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;

  position: relative;
  overflow: hidden;
}

.cta-container {
  width: 100%;
}

  #c-movingfromus-cta h3 {
    font-size: 3.5rem;
    line-height: 3.8rem;
    font-weight: normal;
    margin: 0;
    max-width: 42rem;
  }

  #c-movingfromus-cta p {
    font-size: 1.3rem;
    line-height: 1.9rem;
    margin: 0;
    max-width: 36rem;
  }

  #c-contact {
    width: var(--c-max-width);
    margin: 0 auto 5rem auto;
  }
  #c-contact > div {
    display: flex;
    flex-direction: row;
    gap: 2rem;
  }
  #c-contact h5 {
    margin-bottom: .5rem;
    font-size: .9rem;
  }
 
  #c-contact > div > div:nth-of-type(1) {
    width: 70%;
  }
  #c-contact h2 {
    background: linear-gradient(90deg, #4CD1DD, #26A4D2);
    -webkit-background-clip: text; /* For Safari */
    background-clip: text;
    color: transparent;

  }

  #faq {
    width: 70%;
  }
  
  /* Accordion / FAQ */
  /* Basic styles for the accordion */
  .accordion-container {
    max-width: 300px;
    margin: 20px;
  }

  .accordion-item {
    margin-bottom: 10px;
    width: 100%;
    background-color: rgba(255,255,255,.5);
    border-radius: var(--c-round);
  }

  /* Hide content by default */
  .accordion-content {
    display: block;
    max-height: 0;
    padding: 0 1rem;
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
    transition: height 0.2s ease-out, padding .2s ease-out; 
  }

  /* Style the checkbox, hide it visually but keep it accessible */
  .accordion-input {
    display: none;
  }

  /* When the checkbox is checked, show the content */
  .accordion-input:checked + .accordion-label + .accordion-content {
    display: block;
    max-height: 50rem;
    padding: .5rem 1rem 1.5rem 1rem;
    overflow: visible;
    transition: height 0.s ease-out, padding .2s ease-out; 
    background-color: rgba(255,255,255,.7);
    border-radius: var(--c-round);
    box-shadow: 0 2rem 3rem rgba(0,0,0,.08);
    z-index: 2;
  }

  /* Label styles to make it look like a button */
  .accordion-label {
    display: block;
    padding: 1rem;
    cursor: pointer;
  }

  /* Optional: style to show when content is open */
  .accordion-input:checked + .accordion-label {
    background-color: rgba(255,255,255,.7);
    border-radius: var(--c-round);
  }

  /* Email Form */
  #email-form {
    width: 26%;
}
  #email-form > form {
    display: flex;
    flex-direction: column;
    gap: .4rem;
  }

  #email-form input, #email-form textarea {
    background-color: var(--c-white-300);
    border-radius: .25rem;
    padding: .8rem;

    width: 100%;
    font-size: .75rem;
    box-sizing: border-box;
    border-width: 2px;
    border-color: transparent;
    transition: border-color .2s ease-out;
  }
  #email-form input:focus, #email-form input:hover, #email-form textarea:focus, #email-form textarea:hover {
    border-color: var(--c-blue-300);
    border-width: 2px;
    border-style: solid;
    outline: none;
    transition: border-color .2s ease-out;
  }
  button {
    border: none;
    margin: 0;
    padding: 0;
  }

  /* Footer */
  #c-footer {
    background: url("/images/gradient_footer.png");
    width: 100%;
    overflow: hidden;
    height: 40rem;
    margin: 0;
    background-size: 120% 40rem;
    background-position: center bottom;
    background-repeat: no-repeat;
    display: flex;
    flex-grow: 0;
justify-content: center;
    align-items: flex-end;
    margin-top: -26rem;
  }

  #c-footer > div {
    margin-bottom: 4rem;
    width: var(--c-max-width);
    display: flex;
    flex-direction: row;
    justify-content: space-between;

  }
  #c-footer > div > div:nth-child(1) {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;

  }
  #c-footer > div > div:nth-child(2) {
    display: flex;
    flex-direction: column;
    text-align: right;
    justify-content: space-between;

  }
  #footer-logo {
    margin-top: .5rem;
    height: auto;
    width: 12rem;
    object-fit: contain;
    align-self: flex-end;
  }
#subscribe-form {
    border-radius: 10000px;
    background-color: rgba(255,255,255,.35);
    display: flex;
    flex-direction: row;
    flex-grow: 0;
    flex-shrink: 1;
    width: 24rem;
    align-items: center;
    font-size: .9rem;
}

#subscribe-form input {
    background: transparent;
    border: none;
    color: #000;
    flex-grow: 1;
    padding-left: 1.2rem;
    margin: 0;
    height: 100%;
    outline: none;
}
#subscribe-form button {
    border-radius: 1000px;
    background-color: black;
    margin:0;
    padding: .8rem 1.1rem;
    color: #fff;
    font-weight: bold;
    width: fit-content;
    justify-self: flex-end;
    align-self: flex-end;
}
  #footer-links {
    list-style: none;
    display: flex;
    flex-direction: row;
    margin: 1rem 0 0 0;
    padding: 0;
    gap: .5rem;
    justify-self: flex-end;
    color: #000;
  }
  #footer-links a, #footer-links a:visited {
    color: #000;
    font-size: .9rem;
  }
  
  .marquee-container {
    width: 100%;
    margin: 0;
    padding: 0;
    mask-image: linear-gradient(to right, 
      rgba(0, 0, 0, 0) 0%, 
      rgba(0, 0, 0, 1) 15%, 
      rgba(0, 0, 0, 1) 85%, 
      rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(to right, 
      rgba(0, 0, 0, 0) 0%, 
      rgba(0, 0, 0, 1) 15%, 
      rgba(0, 0, 0, 1) 85%, 
      rgba(0, 0, 0, 0) 100%);
    overflow: hidden;
    white-space: nowrap;
  }
  
  .marquee {
    background: linear-gradient(90deg, #FEBD8F, #FDC2B0);
    opacity: .75;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    
    display: flex;
    gap: var(--marqgap);
    animation: marquee 60s linear infinite;
    width: max-content; /* Make sure the width expands to accommodate all content */
  }

#pricing .marquee {
    background: linear-gradient(90deg, #4CD1DD, #26A4D2);
    opacity: .65;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  
  .marquee span {
    flex-shrink: 0;
  }
  
  @keyframes marquee {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%); /* Ensure the animation slides the content by half its width */
    }
  }
  
  #terms-container {
    max-width: 800px; margin: auto; padding: 14rem 1rem 10rem 1rem;
  }
  #terms-container h1, #terms-container h2, #terms-container h3, #terms-container h4, #terms-container h5, #terms-container h6 {
    margin-bottom: .5em;
    margin-top: 1em;
  }

  .blog-container {
    max-width: 800px;
    padding-top: 6rem;
    margin: auto;
    padding-bottom: 8rem;
  }

  #guides-grid-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 4rem 2rem 4rem 2rem;
    box-sizing: border-box;
  }

  #guides-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    width: 100%;
  }

  .guide-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
  }

  .guide-card {
    display: flex;
    flex-direction: column;
    border-radius: var(--c-round);
    overflow: visible;
    transition: transform 0.3s ease;
    cursor: pointer;
    width: 100%;
  }

  .guide-card:hover {
    transform: translateY(-4px);
  }

  .guide-image-container {
    position: relative;
    width: 100%;
    aspect-ratio: 5 / 3;
    overflow: hidden;
    border-radius: var(--c-round);
    margin-bottom: 0;
  }

  .guide-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .guide-image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 20%, transparent 60%);
    display: flex;
    align-items: flex-end;
    padding: 1rem;
  }

  .guide-title {
    color: #FFFFFF;
    font-size: 1.8rem;
    line-height: 105%;
    font-weight: 600;
    font-family: var(--f-serif);
    font-style: italic;
    margin: 0;
    padding: 0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
  }

  .guide-description {
    color: #FFFFFF;
    font-size: 0.85rem;
    line-height: 1.3;
    margin: 0.5rem 0 0 0;
    padding: 0;
    opacity: 0.7;
    font-family: var(--f-sans);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
  }

  @media (max-width: 1200px) {
    #guides-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (max-width: 768px) {
    #guides-grid-container {
      padding: 2rem 1rem 3rem 1rem;
    }

    #guides-grid {
      grid-template-columns: 1fr;
      gap: 1.5rem;
    }
  }
  #blog-entry a, #blog-entry a:visited, #blog-entry a:active, #blog-entry a:hover {
    color: #0e8ab7;
  }

  #blog-entry img.hero {
    aspect-ratio: 16 / 8;
    margin-bottom: .5rem;
    margin-top: 3rem;
  }
  #blog-entry img {
    width: calc(100% + 6rem);
    margin: 0 -3rem;
    height: auto;
    border-radius: .25rem;
    overflow: hidden;
    object-fit: cover;

  }

  .text-center {
    text-align: center;
  }
  .blog-container p {
    font-size: 1.2rem;
    color: var(--c-black-800);
    line-height: 165%;
    margin-bottom: .5em;
  }
 h1.guides-title {
    font-size: var(--s2);
    line-height: var(--s2);
    font-weight: normal;
    font-family: var(--f-serif);
    font-style: italic;
  }
 
  .blog-container h3 {
    margin-top: 1em;
    margin-bottom: .2em;
    font-size: 1.4rem;
    line-height: 1.8rem;

    color: var(--c-orange-500);

  }
  .blog-container h2 {
    margin-top: 1.2em;
    margin-bottom: .4em;
    width: 80%;
    font-size: 2.4rem;
    line-height: 2.6rem;

    font-family: var(--f-serif);
    color: var(--c-black-800);
  }

  .blog-container h4 {
    font-size: 1.4rem;
    line-height: 1.65rem;
    font-family: var(--f-sans);

    color: var(--c-black-800);
  }
  .blog-container h5 {
    font-size: 1.2rem;
    line-height: 1.2rem;
    margin-top: .75em;
    margin-bottom: .2em;
    color: var(--c-black-800);
  }

.blog-container .disclaimer {
  background-color: var(--c-white-300);
  padding: 1.25rem;
  display: block;
  border-radius: .25rem;

  font-style: italic;
  font-family: var(--f-sans);
  margin-bottom: 1.5rem;
}
.blog-container .disclaimer p {
  font-size: .9rem;
  display: block;
  line-height: 170%;
}
  .blog-container blockquote {
    background-color: var(--c-white-300);
    padding: 1.25rem;
    display: block;
    border-radius: .25rem;

    font-family: var(--f-serif);
  }
  .blog-container blockquote p {
    font-style: italic;
    font-size: 1.4rem;
    line-height: 165%;
    display: block;
    margin-bottom: 0;
  }
  #blog-entry li {
    margin-bottom: 1em;
    line-height: 165%;
  }
  #blog-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 2rem 0 0 0;
    padding:0;
  }
  #blog-list li {
    border-radius: .25rem;
    background-color: var(--c-white-300);
    padding: 1rem 1.5rem 1rem 1rem;
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
    align-items: center;
    cursor: pointer;
  }
  #blog-list li div {
    display: flex;
    flex-direction: column;
  }
  #blog-list img {
    width: 30%;
    overflow: none;
    border-radius: .2rem;
  }
  #blog-list a, #blog-list a:visited, #blog-list a:active {
    text-decoration: none;

    display: block;
  }
  #blog-list a:hover {
    filter: brightness(1.05);
    display: block;
  }
  #blog-list li > * {
    pointer-events: none;
  }
#blog-index {
    max-width: 700px;
    margin: auto;
    padding: 3rem 2rem;
}
/* Moving from US Section Styles */

/* Page background override */
body:has(.moving-from-us-container) {
  background-color: #EAE3E2;
}

body:has(.moving-from-us-entry) {
  background-color: #EAE3E2;
}

/* Page background and gradient header */
.moving-from-us-container {
  position: relative;
  max-width: var(--c-max-width);
  margin: 0 auto;
  padding: 8rem 2rem 8rem 2rem;
  box-sizing: border-box;
}

.moving-from-us-container::before {
  content: '';
  position: absolute;
  top: -15rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 40rem;
  background: linear-gradient(180deg, #FEBD8F 0%, #FDC2B0 40%, transparent 100%);
  z-index: -1;
  pointer-events: none;
}

/* Header section */
.moving-from-us-header {
  text-align: center;
      text-align: center;
    margin-bottom: 1rem;
    margin-top: 4rem;
    width: 75%;
    margin-left: auto;
    margin-right: auto;
}

.moving-from-us-header h1 {
  font-size: var(--s2);
  line-height: calc(var(--s2) * 1.1);
  font-weight: normal;
  font-family: var(--f-serif);
  font-style: italic;
  color: var(--c-black-800);
  margin-bottom: 0.5rem;
}

.moving-from-us-header p {
  font-size: 1.4rem;
  line-height: 1.8rem;
  opacity: 0.75;
  color: var(--c-black-800);
}

/* Intro Section */
.moving-intro-section {
  max-width: 900px;
  margin: 0 auto 2rem auto;
  text-align: center;
}

.moving-intro-section h2 {
  font-size: 2.8rem;
  line-height: 3.2rem;
  font-weight: normal;
  color: var(--c-black-800);
  margin-bottom: 2rem;
}

.moving-intro-section .intro-body {
    font-size: .9rem;
    line-height: 1.35rem;
    font-style: italic;
  color: var(--c-black-800);
  opacity: 0.65;
  margin-bottom: 1rem;
  max-width: 50rem;
  padding: 0 2rem;
  margin-left: auto;
  margin-right: auto;
}

.moving-intro-section .intro-body em {
  font-style: italic;
  font-weight: 500;
}

/* Intro Points Grid */
.intro-points-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 3rem;
  text-align: left;
}

.intro-point {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(8px);
  border-radius: var(--c-round);
  padding: 2rem 1.5rem;
  transition: transform 0.3s ease, background 0.3s ease;
}

.intro-point:hover {
  background: rgba(255, 255, 255, 0.6);
  transform: translateY(-4px);
}

.intro-point h3 {
  font-size: 1.4rem;
  line-height: 1.6rem;
  font-weight: 700;
  color: var(--c-orange-500);
  margin: 0 0 0.75rem 0;
  font-family: var(--f-sans);
}

.intro-point p {
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--c-black-800);
  opacity: 0.8;
  margin: 0;
}

/* Grid layout for countries */
.countries-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 3rem;
  width: 100%;
}

.countries-grid > a {
  text-decoration: none;
  color: inherit;
  display: block;
}

/* Individual country card */
.country-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--c-round);
  overflow: visible;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
  width: 100%;
}

.country-card:hover {
  transform: translateY(-4px);
}

/* Country image with gradient overlay */
.country-image-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: var(--c-round);
  margin-bottom: 1rem;
}

.country-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.country-image-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  display: flex;
  align-items: flex-end;
  padding: 1.5rem;
}

.country-name {
  color: white;
  font-size: 1.8rem;
  font-weight: 600;
  font-family: var(--f-serif);
  font-style: italic;
  margin: 0;
  padding: 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* Rating boxes container */
.country-ratings {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  width: 100%;
}

.country-rating-box {
  flex: 1;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(8px);
  border-radius: 0.375rem;
  padding: 0.75rem 0.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0rem;
  min-height: 4rem;
  box-sizing: border-box;
}

.rating-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--c-black-800);
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0.025rem;
  line-height: 1;
}

/* Star rating specific styles */
.stars-rating {
  display: flex;
  flex-direction: row;
  gap: 0.125rem;
  justify-content: center;
  align-items: center;
  width: fit-content;
  height: 16px;
}

.stars-rating svg.star-icon {
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  max-width: 16px;
  max-height: 16px;
  flex-shrink: 0;
  flex-grow: 0;
  display: inline-block;
  vertical-align: middle;
}

/* Individual country page styles */
.moving-from-us-entry {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  padding-top: 6rem;
  padding-bottom: 8rem;
}

.moving-from-us-entry::before {
  content: '';
  position: absolute;
  top: -6rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 30rem;
  background: linear-gradient(180deg, #FEBD8F 0%, #FDC2B0 40%, transparent 100%);
  z-index: -1;
  pointer-events: none;
}

.moving-from-us-entry .hero {
  width: calc(100% + 6rem);
  margin: 3rem -3rem 0 -3rem;
  height: auto;
  aspect-ratio: 16 / 8;
  border-radius: 0.5rem;
  object-fit: cover;
}

.moving-from-us-entry .entry-title {
  font-size: var(--s2);
  line-height: calc(var(--s2) * 1.1);
  font-weight: normal;
  font-family: var(--f-serif);
  font-style: italic;
  color: var(--c-black-800);
  margin-top: 3rem;
  margin-bottom: 0.5rem;
}

.moving-from-us-entry .entry-date {
  font-size: 0.9rem;
  color: var(--c-orange-500);
  opacity: 0.7;
  margin-bottom: 2.5rem;
  font-weight: 500;
}

.moving-from-us-entry .country-stats-inline {
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  margin: 0 0 1rem 0;
  justify-content: center;
  flex-wrap: wrap;
}

.moving-from-us-entry .country-stats-inline .country-rating-box {
  background: rgba(255, 255, 255, 0.3);
  padding: 1rem 1.25rem;
  min-width: 120px;
  transition: background 0.2s ease;
}

.moving-from-us-entry .country-stats-inline .country-rating-box:hover {
  background: rgba(255, 255, 255, 0.45);
}

.moving-from-us-entry .country-stats-inline .rating-label {
  font-size: 0.8rem;
  display: block;
}

.moving-from-us-entry .ratings-subtitle {
  font-size: 0.75rem;
  color: var(--c-black-800);
  opacity: 0.5;
  margin-bottom: 4rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.moving-from-us-entry .stars-rating svg.star-icon {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  max-width: 20px;
  max-height: 20px;
}

/* Content styling - improved hierarchy */
.moving-from-us-entry p {
  font-size: 1.2rem;
  color: var(--c-black-800);
  line-height: 170%;
  margin-bottom: 1em;
}

.moving-from-us-entry h2 {
  margin-top: 3.5rem;
  margin-bottom: 1.25rem;
  font-size: 2.4rem;
  line-height: 2.6rem;
  font-family: var(--f-serif);
  color: var(--c-black-800);
}

.moving-from-us-entry h2:first-of-type {
  margin-top: 0;
}

.moving-from-us-entry h3 {
  margin-top: 2.5rem;
  margin-bottom: 0.75rem;
  font-size: 1.6rem;
  line-height: 2rem;
  color: var(--c-orange-500);
  font-weight: 600;
}

.moving-from-us-entry h4 {
  font-size: 1.4rem;
  line-height: 1.65rem;
  font-family: var(--f-sans);
  color: var(--c-black-800);
}

.moving-from-us-entry a:not(.button),
.moving-from-us-entry a:not(.button):visited,
.moving-from-us-entry a:not(.button):active,
.moving-from-us-entry a:not(.button):hover {
  color: #0e8ab7;
}

/* Ensure buttons work properly */
a.button,
a.button:visited,
a.button:active,
a.button:hover {
  text-decoration: none;
  color: inherit;
}

a.button div {
  color: var(--c-white-100);
}

.moving-from-us-entry blockquote {
  background-color: var(--c-white-300);
  padding: 1.25rem;
  display: block;
  border-radius: 0.25rem;
  font-family: var(--f-serif);
}

.moving-from-us-entry blockquote p {
  font-style: italic;
  font-size: 1.4rem;
  line-height: 165%;
  display: block;
  margin-bottom: 0;
}

.moving-from-us-entry li {
  margin-bottom: 1em;
  line-height: 165%;
}

.moving-from-us-entry .disclaimer {
  background-color: var(--c-white-300);
  padding: 1.25rem;
  display: block;
  border-radius: 0.25rem;
  font-style: italic;
  font-family: var(--f-sans);
  margin-bottom: 1.5rem;
}

.moving-from-us-entry .disclaimer p {
  font-size: 0.9rem;
  display: block;
  line-height: 170%;
}

/* Back to countries link */
.moving-from-us-entry .back-to-countries-link {
  font-size: 1rem;
  color: var(--c-orange-500);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.moving-from-us-entry .back-to-countries-link:hover {
  color: var(--c-orange-600);
  text-decoration: underline;
}

/* TL;DR Box */
.tldr-box {
  background: linear-gradient(135deg, rgba(254, 189, 143, 0.2), rgba(253, 194, 176, 0.2));
  border-left: 4px solid var(--c-orange-500);
  border-radius: var(--c-round);
  padding: 2rem;
  margin: 3rem 0;
}

.tldr-box h3 {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--c-orange-500);
  margin: 0 0 1rem 0;
  font-family: var(--f-sans);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tldr-box p {
  font-size: 1.1rem;
  line-height: 1.8rem;
  color: var(--c-black-800);
  margin: 0;
  opacity: 0.9;
}

/* Author Card */
.author-card {
  display: flex;

    flex-direction: column;
    text-align: center;
  align-items: center;
  gap: 1.5rem;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(8px);
  border-radius: var(--c-round);
  padding: 1.5rem;
  margin: 3rem 0;
}

.author-image {
  width: 5rem !important;
  height: 5rem !important;
  border-radius: 9999px !important;
  object-fit: cover !important;
  flex-shrink: 0;
}

.author-info {
  flex: 1;
}

.author-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-black-800);
  margin: 0 0 0.5rem 0;
}

.author-bio {
  font-size: 0.75rem !important;
  font-style: italic !important;
  line-height: 1.4rem !important;
  color: var(--c-black-800);
  opacity: 0.75;
  margin: 0 !important;
}

/* Visa Pathways Styling */
.moving-from-us-entry .visa-pathways {
  background: rgba(255, 255, 255, 0.35);
  border-radius: var(--c-round);
  padding: 1.5rem 2rem;
  margin: 2rem 0;
}

.moving-from-us-entry .visa-pathways ul {
  list-style: none;
  padding-left: 0;
  margin: 1rem 0 0 0;
}

.moving-from-us-entry .visa-pathways li {
  padding-left: 2rem;
  margin-bottom: 0.75em;
  position: relative;
  font-size: 1.1rem;
}

.moving-from-us-entry .visa-pathways li::before {
  content: "✓";
  color: var(--c-orange-500);
  font-weight: bold;
  font-size: 1.3em;
  position: absolute;
  left: 0;
  top: -0.05em;
}

/* Target visa pathway lists that come after paragraphs (from markdown) */
.moving-from-us-entry p + ul {
  list-style: none;
  padding-left: 0;
  margin: 1rem 0 2rem 0;
}

.moving-from-us-entry p + ul li {
  padding-left: 2rem;
  margin-bottom: 0.75em;
  position: relative;
  font-size: 1.1rem;
}

.moving-from-us-entry p + ul li::before {
  content: "✓";
  color: var(--c-orange-500);
  font-weight: bold;
  font-size: 1.3em;
  position: absolute;
  left: 0;
  top: -0.05em;
}

/* Responsive styles */

/* Tablet landscape */
@media (min-width: 820px) and (max-width: 1180px) {
  .intro-points-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }

  .moving-intro-section h2 {
    font-size: 2.4rem;
    line-height: 2.8rem;
  }

  .moving-intro-section .intro-body {
    font-size: 1.1rem;
    line-height: 1.7rem;
  }

  .countries-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }

  .moving-from-us-entry .hero {
    width: 100%;
        margin: 0 0 0rem 0;
  }
}

/* Mobile portrait */
@media (max-width: 819px) {
  .moving-from-us-container {
    padding: 6rem 1rem 6rem 1rem;
  }

  .moving-from-us-header h1 {
    font-size: 2.5rem;
    line-height: 2.6rem;
  }

  .moving-from-us-header p {
    font-size: 1.2rem;
    line-height: 1.6rem;
  }

  .moving-intro-section {
    margin-bottom: 4rem;
  }

  .moving-intro-section h2 {
    font-size: 2rem;
    line-height: 2.4rem;
    margin-bottom: 1.5rem;
  }

  .moving-intro-section .intro-body {
    font-size: 1rem;
    line-height: 1.6rem;
    margin-bottom: 1.25rem;
  }

  .intro-points-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-top: 2rem;
  }

  .intro-point {
    padding: 1.5rem 1.25rem;
  }

  .intro-point h3 {
    font-size: 1.2rem;
    line-height: 1.4rem;
  }

  .intro-point p {
    font-size: 0.95rem;
    line-height: 1.4rem;
  }

  .countries-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .country-ratings {
    gap: 0.375rem;
  }

  .country-rating-box {
    padding: 0.5rem 0.25rem;
    min-height: 3.5rem;
  }

  .rating-label {
    font-size: 0.65rem;
  }

  .stars-rating svg.star-icon {
    width: .8rem;
    height: .8rem;
    min-width: .8rem;
    min-height: .8rem;
    max-width: .8rem;
    max-height: .8rem;
  }

  .moving-from-us-entry {
    padding: 10rem 3rem 6rem 3rem;
  }

  .moving-from-us-entry .hero {
    width: 100%;
    margin: 0 0 0rem 0;
  }

  .moving-from-us-entry h1 {
    font-size: 2rem;
    line-height: 2.1rem;
  }
  .moving-from-us-entry .entry-title {
    font-size: 3rem;
    line-height: 105%;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .moving-from-us-entry .country-stats-inline {
    gap: 0.5rem;
  }

  .moving-from-us-entry .country-stats-inline .country-rating-box {
    min-width: 10rem;
    padding: 1rem 1.25rem;
  }
}

/* iPad Air Landscape */
@media (min-width: 820px) and (max-width: 1180px) and (orientation: landscape) {
    #c-contact > div {
        flex-direction: column !important;
        align-items: center;
    }
    #c-contact h2 {
        text-align: center;
        margin:auto;
    }
    .product-images > img:nth-of-type(1) {
        max-width: 680px;
    }
    :root {
        --c-max-width: 800px;
    }
    #h-balloon {
        width: 40svh;
        top: -11rem;
    }
    #email-form {
        width: 70%;
    }
  }
  
  /* iPad Air Portrait */
  @media (min-width: 820px) and (max-width: 1180px) and (orientation: portrait) {
    :root {
        --c-max-width: 800px;
    }
    #c-contact > div {
        flex-direction: column !important;
        align-items: center;
    }
    #c-contact h2 {
        text-align: center;
        margin:auto;
    }
    .product-images > img:nth-of-type(1) {
        max-width: 680px;
    }

   
    #c-contact > div {
        flex-direction: column;
    }
    #c-overview .container {
        flex-direction: column;
    }
    #c-overview {
        background-size: 300rem;
        min-height: 105rem;
        margin-bottom: -30rem;
    }
    #c-overview > div > div:nth-child(2) {
        width: 100%;
        padding-top: 12rem;
    }
    .features-vert {
        flex-direction: unset;
        flex-wrap: wrap;
    }
    #testimonies {
        width: 80%;
    }
    #pricing-container {
        flex-direction: column;
    }
    #c-pricing {
        margin-bottom: -4rem;
    }
    #email-form {
        width: 60%;
    }
    #h-balloon {
        width: 80% !important;
        top: -11rem;
    }
    #nav-links {
        display: none;
    }

    #hamburger-btn {
        display: flex;
        position: absolute;
        right: 1rem;
    }

    #nav .button {
        display: none;
    }

    #hero-box h1 div:nth-child(1) {
        font-size: 1.5rem;
        line-height: 120%;
    }
    #hero-box h1 div:nth-child(2) {
        font-size: 5rem;
        line-height: 80%;
    }
    #hero-box p {
        line-height: 130%;
        width: 60%;
        margin:auto;
    }
    #hero-box {
        height: calc(82vh - 8rem);
        
    }
    #c-overview {
        padding-top: 4rem;
    }
  }
  
  /* General Mobile (e.g., iPhone) */
  @media (max-width: 819px)  and (orientation: portrait) {
    :root {
        --c-max-width: 100%;
    }
    #nav #logo {
        left: 1rem;
        transform: translateX(0);
    }

    #hamburger-btn {
        display: flex;
        position: absolute;
        right: 1rem;
    }

    #nav .button {
        display: none;
    }

    #nav-links {
        display: none;
    }
    #c-hero {
        width: 90%;
        margin: 13em auto 0 auto;
        height: 83svh;
        
    }
    #h-balloon {
        width: 100%;
        top: -11rem;
    }
    #h-papers-left {
        width: 6rem;
        top: 12rem;
        left: 8rem;
    }
    #h-papers-right  {
        width: 6rem;
        right: -12rem;
        top: 16rem;
    }
    #hero-box h1 div:nth-child(1) {
        font-size: 1.4rem;
        line-height: 120%;
    }
    #hero-box h1 div:nth-child(2) {
        font-size: 4rem;
        line-height: 80%;
  
    }
    #hero-box p {
        font-size: 1.25rem;
        line-height: 130%;
    }
    #c-contact > div {
        flex-direction: column !important;
        align-items: center;
    }
    #c-contact h2 {
        text-align: center;
        margin:auto;
    }
    .product-images > img:nth-of-type(1) {
        max-width: 100%;
    }
    .product-images > img:nth-of-type(2) {
        width: 16rem;
        position: absolute;
        top: 8rem;
        left: 1rem;
        z-index: 2;
    }
    .product-images > img:nth-of-type(3) {
        width: 14rem;
        position: absolute;
        top: 13rem;
        left: 8rem;
        z-index: 3;
    }
    #c-overview > div > div:nth-child(2) {
        padding-top: 5rem;
        width: 100%;
    }
    #c-overview h2 {
        font-size: 2.9rem;
        line-height: 2.9rem;
    }
    #c-overview .container {
        flex-direction: column;
    }
    #c-overview {
        background-size: 300rem;
    }
    #testimonies {
        width: 100%;
        padding: 0 1rem;
        box-sizing: border-box;
    }
    .testimonial-card {
        width: 96%;
    }
    #nav-links {
        display: none;
    }
    #nav .button {

    }
    .container {
        width: 100%;
        padding: 0 2rem;
    }
    #pricing-container {
        flex-direction: column;
    }
    #c-pricing {
        margin-bottom: -4rem;
        width: 100%;
    }
    #email-form {
        width: 60%;
    }
    .pricing-card {
        width: 100%;
    }
    #c-cta {
        width: 100%;
        margin-top: 8rem;
        background-size: 100rem 60rem;
        background-position: center -7rem;
    }

  @keyframes bg-pulse {
    0% {
        background-size: 100rem 60rem;
        background-position: center -7rem;
    }
    50% {
        background-size: 120rem 66rem;
        background-position: center -10rem;
    }
    100% {
        background-size: 100rem 60rem;
        background-position: center -7rem;
    }

  }
    #c-cta h4 {
        width: 90%;
    }

    #c-movingfromus-cta {
        padding: 4rem 1.5rem;
        min-height: 30rem;
        background: radial-gradient(ellipse 85% 30% at 50% 50%, #FEBD8F 0%, #FDC2B0 35%, rgba(253, 194, 176, 0.4) 60%, transparent 100%);
    }

    #c-movingfromus-cta h3 {
        font-size: 2.5rem;
        line-height: 2.8rem;
    }

    #c-movingfromus-cta p {
        font-size: 1.1rem;
        line-height: 1.6rem;
        width: 90%;
    }

    #c-footer {
        margin-top: -12rem;
    }
    #c-footer > div {
        width: 100%;
        padding: 4rem 1rem 1rem 1rem;
        box-sizing: border-box;
        flex-direction: column;
        align-items: center;
        text-align: center;
        justify-content: center;
        margin: 4rem 0 2rem 0;
        gap: 4rem;
        
    }
    #footer-logo {
        align-self: center;
       
    }
    #footer-logo p {
        text-align: center;
    }
    #c-contact > div > div:nth-of-type(1) {
        width: 80%;
    }
    #email-form {
        width: 80%;
    }
    #c-howitworks {
   
    }
    #c-howitworks h2 {
        font-size: 3.25rem;
        margin-bottom: 1rem;
    }
    .howitworks-card {
        width: 95vw;
        flex-direction: column;
        height: 68vh;
        min-height: 26rem;
    }
    .howitworks-card img {
        width: 100%;
    }

    #howitworks-slides {
        padding-left: 1rem;
        margin-right: 20vw;
    }
    .howitworks-card > div:nth-child(1) {
        width: 100%;
        box-sizing: border-box;
        padding-right: 1rem;
    }
  }

  /* Styles for common mobile/small tablet views */
@media (max-width: 768px) {
  #h-balloon {
    /* Adjust width to make it smaller (e.g., from 60svh to 40svh) */
    width: 46svh; 
    
    /* Adjust top to move it up more (e.g., from -11rem to -15rem) */
    top: -8rem; 
  }
}