/* Load the shared stylesheet before the page stylesheet. */

main .package-filters {
display:flex;
    overflow-x:auto;
    gap:8px;
    padding-bottom:12px;
    scrollbar-width:none;
}

main .package-filters::-webkit-scrollbar {
display:none;
}

main .filter-btn {
flex:0 0 auto;
    min-width:85px;
    height:40px;
    padding:0 18px;
    border:1.5px solid #CFE1EF;
    border-radius:var(--radius-full);
    background:#fff;
    color:var(--text);
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:var(--transition);
}

main .filter-btn:hover {
border-color:var(--teal);
    color:var(--teal);
}

main .filter-btn.active {
color:#fff;
    border-color:var(--teal);
    background:linear-gradient(135deg,var(--teal-dark),var(--teal));
    box-shadow:0 4px 12px var(--teal-glow);
}

main .package-title {
margin-top:8px;
}

main .package-image {
width:100%;
    height:140px;
    object-fit:cover;
}

main .package-body {
padding:16px 18px 10px;
    display:flex;
    flex-direction:column;
    flex:1;
}

main .package-body h3 {
font-size:16px;
    line-height:1.35;
    margin:0 0 8px;
    font-weight:800;
}

main .starting {
font-size:12px;
    color:var(--text-light);
    margin:0;
    font-weight:600;
}

main .package-body ul {
list-style:none;
    padding:0;
    margin:0 0 12px;
    color:var(--text);
    font-size:13.5px;
    line-height:2;
}

main .package-body ul li {
position:relative;
    padding-left:22px;
}

main .package-body ul li:before {
content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--teal);
    font-weight:800;
    font-size:14px;
}

main .stay {
margin-top:auto;
    padding-top:10px;
    font-size:12.5px;
    color:var(--text-light);
    font-weight:600;
    border-top:1px dashed var(--line);
}

main .package-actions {
display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:0 18px 18px;
}

main .package-actions a {
padding: 0 12px;
    min-height:44px;
    border-radius:var(--radius-sm);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:800;
    transition:var(--transition);
}

main .view-details {
border:1.5px solid var(--teal);
    color:var(--teal);
    background:#fff;
}

main .view-details:hover {
background:var(--teal-soft);
}

main .get-assessment {
background:linear-gradient(135deg,var(--teal-dark),var(--teal));
    color:#fff;
    box-shadow:0 6px 16px var(--teal-glow);
}

main .get-assessment:hover {
transform:translateY(-2px);
    box-shadow:0 10px 22px var(--teal-glow);
}

main .inclusions-section {
display:grid;
    gap:16px;
}

main .included-grid {
display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    margin-top:14px;
}

main .included-grid a {
min-height:140px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    text-align:center;
    padding:14px 10px;
    background:#fff;
    box-shadow:var(--shadow-sm);
    transition:var(--transition);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

main .included-grid a:hover {
transform:translateY(-3px);
    box-shadow:var(--shadow);
    border-color:var(--teal-soft);
}

main .included-grid img {
width:52px;
    height:52px;
    margin:0 auto;
}

main .included-grid h3 {
font-size:12.5px;
    line-height:1.35;
    margin:8px 0 4px;
    font-weight:800;
}

main .included-grid p {
font-size:11px;
    line-height:1.5;
    color:var(--text);
    margin:0;
}

main .not-included {
border-radius:var(--radius);
    padding:20px 18px;
    background:linear-gradient(135deg,#FFF7FA,#FFF0F6);
    border:1px solid #FCE4EC;
}

main .not-included h2 {
font-size:17px;
    margin-bottom:14px;
}

main .not-included ul {
list-style:none;
    padding:0;
    margin:0;
    font-size:13.5px;
    line-height:2;
    color:var(--text);
}

main .not-included li {
position:relative;
    padding-left:24px;
}

main .not-included li:before {
content:"✕";
    position:absolute;
    left:0;
    top:0;
    color:var(--pink);
    font-weight:800;
    font-size:13px;
}

main .cost-flow {
display:flex;
    align-items:flex-start;
    justify-content:space-between;
    position:relative;
    margin-top:10px;
    overflow-x: auto;
    scrollbar-width: none;
}

main .cost-flow:before {
content:"";
    position:absolute;
    left:6%;
    right:6%;
    top:32px;
    border-top:2px dashed #C6DDF1;
}

main .cost-flow article {
width:16.3%;
    text-align:center;
    position:relative;
    z-index:1;
    min-width: 90px;
}

main .teal-bg {
background:var(--teal);
}

main .cost-flow img {
width:52px;
    height:52px;
    background:#fff;
    border-radius:12px;
    padding:6px;
    box-shadow:var(--shadow-sm);
    margin:0 auto;
}

main .cost-flow h3 {
font-size:12px;
    line-height:1.3;
    margin:8px 0 4px;
    font-weight:800;
}

main .cost-flow p {
font-size:10.5px;
    line-height:1.5;
    color:var(--text);
    margin:0;
}

main .flow-arrow {
color:#4AA9DF;
    font-size:20px;
    padding-top:44px;
    font-weight:800;
    user-select:none;
}

main .cost-cta-row {
margin-top:22px;
    display:flex;
    flex-direction:column;
    gap:14px;
    align-items:stretch;
}

main .hand-copy {
color:var(--teal);
    font-style:italic;
    font-size:16px;
    line-height:1.4;
    text-align:center;
    font-weight:700;
}

main .cost-cta {
min-width:auto;
    width:100%;
}

main .support-faq {
display:grid;
    gap:18px;
}

main .international-support-card {
min-height:220px;
    display:grid;
    grid-template-columns:56% 44%;
    border-radius:var(--radius);
    overflow:hidden;
    background:linear-gradient(135deg,#EAFBFA,#EFF6FF);
    box-shadow:var(--shadow-sm);
}

main .support-copy {
padding:22px 20px;
}

main .support-copy h2 {
font-size:17px;
    margin:0 0 10px;
    font-weight:800;
}

main .support-copy p {
font-size:13.5px;
    line-height:1.7;
    color:var(--text);
    margin:0 0 16px;
}

main .support-copy a {
min-height:44px;
    border:1.5px solid var(--teal);
    color:var(--teal);
    border-radius:var(--radius-sm);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    font-size:13px;
    font-weight:800;
    transition:var(--transition);
}

main .support-copy a:hover {
background:var(--teal);
    color:#fff;
}

main .international-support-card>img {
width:100%;
    height:100%;
    object-fit:cover;
}

main .final-decoration {
position:absolute;
    right:8px;
    bottom:8px;
    opacity:.85;
    pointer-events:none;
}

main .final-decoration img {
width:70px;
    height:70px;
}
/* Load the shared stylesheet before the page stylesheet. */

.pack-benefit-grid,.surr-why-grid {
display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    width:100%;
}

.benefit,.pack-benefit-grid article,.surr-why-grid article {
border:1px solid var(--line);
    border-radius:var(--radius-md);
    text-align:center;
    padding:16px 12px;
    box-shadow:var(--shadow-sm);
    background:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:0;
}

.benefit img,.pack-benefit-grid article img,.surr-why-grid img {
width:48px;
    height:48px;
    margin-bottom:8px;
}

.benefit h3,.pack-benefit-grid article h3,.surr-why-grid h3 {
font-size:14px;
    font-weight:800;
    line-height:1.35;
    margin:0 0 6px;
    color:var(--navy);
}

.pack-benefit-grid article p,.surr-why-grid article p {
font-size:12.5px;
    line-height:1.55;
    color:var(--text);
    margin:0;
}

.surr-package-grid {
display:grid;
    grid-template-columns:1fr;
    gap:20px;
    width:100%;
}
.package-card.hidden {
    display: none !important;
}

@media(max-width:480px) {
.pack-benefit-grid,.surr-why-grid {
grid-template-columns:1fr;
    gap:12px;
}
}

@media(min-width:768px) {
.pack-benefit-grid,.surr-why-grid {
grid-template-columns:repeat(4,1fr);
    gap:16px;
}
}

@media(min-width:768px) {
.benefit h3,.pack-benefit-grid article h3,.surr-why-grid h3 {
font-size:14.5px;
}
}

@media(min-width:768px) {
.pack-benefit-grid article p,.surr-why-grid article p {
font-size:13px;
}
}
@media(min-width:900px) {
main .package-filters {
display:grid;
    grid-template-columns:repeat(8,1fr);
    gap:10px;
    overflow:visible;
    padding-bottom:16px;
}
}

@media(min-width:900px) {
main .filter-btn {
min-width:0;
    width:100%;
    height:44px;
    font-size:13.5px;
}
}

@media(min-width:900px) {
main .package-title {
margin-top:14px;
}
}

@media(min-width:900px) {
main .package-image {
height:160px;
}
}

@media(min-width:900px) {
main .package-body {
padding:20px 22px 12px;
}
}

@media(min-width:900px) {
main .package-body h3 {
font-size:17px;
    margin-bottom:10px;
}
}

@media(min-width:900px) {
main .starting {
font-size:13px;
}
}

@media(min-width:900px) {
main .package-body ul {
font-size:14px;
    line-height:2.1;
}
}

@media(min-width:900px) {
main .stay {
font-size:13px;
    padding-top:12px;
}
}

@media(min-width:900px) {
main .package-actions {
grid-template-columns:1fr 1fr;
    padding:0 0 22px;
    gap:10px;
}
}

@media(min-width:900px) {
main .package-actions a {
min-height:46px;
    font-size:13.5px;
}
}

@media(min-width:900px) {
main .inclusions-section {
grid-template-columns:72% 28%;
    gap:24px;
    align-items:start;
}
}

@media(min-width:900px) {
main .included-grid {
grid-template-columns:repeat(3,1fr);
    gap:14px;
}
}

@media(min-width:900px) {
main .included-grid a {
min-height:170px;
    padding:20px 14px;
}
}

@media(min-width:900px) {
main .included-grid img {
width:64px;
    height:64px;
}
}

@media(min-width:900px) {
main .included-grid h3 {
font-size:14px;
    margin:10px 0 6px;
}
}

@media(min-width:900px) {
main .included-grid p {
font-size:12.5px;
    line-height:1.6;
}
}

@media(min-width:900px) {
main .not-included {
padding:24px;
}
}

@media(min-width:900px) {
main .not-included h2 {
font-size:18px;
}
}

@media(min-width:900px) {
main .not-included ul {
font-size:13.5px;
    line-height:2;
}
}

@media(min-width:900px) {
main .cost-flow:before {
top:36px;
}
}

@media(min-width:900px) {
main .cost-flow img {
width:58px;
    height:58px;
    padding:8px;
}
}

@media(min-width:900px) {
main .cost-flow h3 {
font-size:14px;
    line-height:1.4;
    margin:10px 0 6px;
}
}

@media(min-width:900px) {
main .cost-flow p {
font-size:12px;
    line-height:1.55;
}
}

@media(min-width:900px) {
main .flow-arrow {
font-size:24px;
    padding-top:50px;
}
}

@media(min-width:900px) {
main .cost-cta-row {
flex-direction:row;
    justify-content:space-between;
    align-items:center;
    margin-top:28px;
}
}

@media(min-width:900px) {
main .hand-copy {
font-size:18px;
    text-align:left;
}
}

@media(min-width:900px) {
main .cost-cta {
min-width:280px;
    width:auto;
    height:52px;
    font-size:14px;
}
}

@media(min-width:900px) {
main .support-faq {
grid-template-columns:49% 51%;
    gap:24px;
}
}

@media(min-width:900px) {
main .international-support-card {
min-height:280px;
    grid-template-columns:60% 40%;
}
}

@media(min-width:900px) {
main .support-copy {
padding:28px 24px;
}
}

@media(min-width:900px) {
main .support-copy h2 {
font-size:18px;
    margin-bottom:12px;
}
}

@media(min-width:900px) {
main .support-copy p {
font-size:14px;
    line-height:1.7;
    margin-bottom:20px;
}
}

@media(min-width:900px) {
main .support-copy a {
min-height:46px;
    font-size:13.5px;
}
}

@media(min-width:900px) {
main .final-decoration {
right:16px;
    bottom:16px;
}
}

@media(min-width:900px) {
main .final-decoration img {
width:90px;
    height:90px;
}
}
