/*=============================
_    ______ 
| |  / / __ \
| | / / /_/ /
| |/ / ____/ 
|___/_/        
=============================*/

/* ==========================================================================
1. Base Styles & Variables
========================================================================== */
html {-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;text-size-adjust: 100%;}
*, ::before, ::after { box-sizing: border-box;}
[data-theme="dark"] {background-color: var(--cafe);}
[data-theme="dark"] body {opacity: 1; transition: opacity 0.1s; }

/* Font Faces */
@font-face {
font-family: 'Reform ST';
src: url('/fonts/ReformST_Regular.woff2') format('woff2');
font-weight: normal;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Reform ST';
src: url('/fonts/ReformST_Medium.woff2') format('woff2');
font-weight: 500;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Reform ST';
src: url('/fonts/ReformST_Bold.woff2') format('woff2');
font-weight: 800;
font-style: normal;
font-display: swap;
}
@font-face {
  font-family: 'Inter';
  font-weight: 100 900; 
  font-display: swap;  
  font-style: normal;
  src: url('/fonts/InterVariable.woff2') format('woff2');
}
:root, html, body {
/* Global Properties */
scroll-behavior: smooth;
-webkit-scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
margin: 0;
/* Transition */
--transition: 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
/* === Base Color Palette === */
--white: #FFF;
--black: #000;
--grey: #444;
--crem: var(--white);
--cremer: #F4F5F6;
--cremerr: #eceeef;
--cremerr: #fff;
--cafe: #111;
--cafee: #171717;
--cafeee: #252525;
--red: #ff4d00;
--green:#11d26f;
--blue: #00F;
--orange: #ff7332;
--purple: #6638ff;
--grad: linear-gradient(40deg, #FF7E69, #FF7E69 70%);
--accent: var(--purple);
--update: #ffe6c0;
/* === Theme-Dependent Colors (Light Theme Defaults) === */
--bg: var(--crem);
--bg-mid: var(--cremerr);
--bg-subtle: var(--cremer);
--font: var(--accent);
--link: var(--accent);
--hover: rgba(0, 0, 0, 0.08);
--font-btn: var(--black);
--headings: var(--accent);
--icon: var(--accent);
--btn-icon: var(--white);
--logo: var(--accent);
--nav: var(--accent);
--dropdown: var(--crem);
/* Font Families */
--ff: InterVariable, Inter, sans-serif;
--ff2: InterVariable, Inter, sans-serif;
/* Font Sizes */
--h1x: bold 12rem/0.95 var(--ff2);
--h1: bold 5rem/0.95 var(--ff2);
--hh: bold 3rem/0.95 var(--ff2);
--h2: bold 2.5rem/1.05 var(--ff2);
--h3: bold 2.05rem/1.25 var(--ff);
--p3: 2.75rem/1.3 var(--ff);
--p2: 1.75rem/1.3 var(--ff);
--pp: 1.5rem/1.3 var(--ff);
--p1: 1.25rem/1.3 var(--ff);
--fs: 1rem;
--fn: clamp(1.5rem, 2vw, 2.5rem);
scroll-padding-top: 8rem; 
}
/* :root[data-theme="light"] .badge {filter: brightness(0) saturate(100%) invert(27%) sepia(98%) saturate(5327%) hue-rotate(250deg) brightness(100%) contrast(102%);} */
/* Base HTML/Body Styles */
html, body {
background: var(--crem);
color: var(--accent);
/* Crucial for smooth theme transition and native control styling */
color-scheme: light dark; 
font-family: var(--ff);
font-weight: 400;
line-height: 1.3;
margin: 0;
overscroll-behavior: none;
padding: 0;
width: 100%;
transition: background-color var(--transition), color var(--transition);
}
/* === Dark Theme Overrides (Applied via data-theme="dark" attribute) === */
:root[data-theme="dark"], html[data-theme="dark"], 
[data-theme="dark"] body {
/* --cafe: #111;
--cafee: #171717;
--cafeee: #252525;
--crem: #FFFFFF; */
--grey: #cacaca;
--cafe: #10042a;
--cafee: #170739;
--cafeee: #1d0948;
--accent: #6625ff;
--accent: #783ffd;
--bg: var(--cafe);
--bg-subtle: var(--cafee);
--bg-mid: var(--cafeee);
--font: var(--grey);
--headings: var(--crem);
--headings-alt: var(--crem);
--hover: var(--crem);
--link: var(--accent);
--logo: var(--crem);
--nav: var(--crem);
--dropdown: var(--cafee);
/* --hover: rgba(255, 255, 255, 0.1);
--icon: var(--white); */
--nav: var(--white);
--grad: linear-gradient(40deg, #8983F7, #BA83F7 70%);
}
[data-theme="dark"] body { background: var(--cafe); color: var(--grey); transition: all var(--transition);}
/* ==========================================================================
2. Typography & Text Elements
========================================================================== */
/* Font Size Classes */
.pp { font: var(--pp); font-weight: 400;}
.p1 { font: var(--p1); font-weight: 400;}
.p2 { font: var(--p2); font-weight: 400;}
.p3 { font: var(--p3); font-weight: 400;}
.hh { font: var(--hh); letter-spacing: -1.25px; }
.h1x { font: var(--h1x); letter-spacing: -1.5px; }
.h1 { font: var(--h1); letter-spacing: -1.5px; }
.h2 { font: var(--h2); letter-spacing: -1.5px; }
.h3 { font: var(--h3); letter-spacing: -1.5px; }
/* Font Weights */
b, strong { font-weight: 700;}
.fw200 { font-weight: 200; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 400; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }
.fw900 { font-weight: 900; }
.wp-block-heading strong { font-weight: 900;}
/* Paragraph, List, and Link Base Styles */
p, ul, li, ol, a {margin: 0;}
p, ul, ol, .mb {margin-bottom: 1.5rem;}
h1, h2, h3, h4, h5, h6 { color: var(--headings); line-height: 1.4; margin: 0;}
h1 span {font-size: var(--fn); font-weight: 600; display: block; line-height: 1.4;}
/* Text Alignment Helpers */
.tac { display: block; text-align: center; width: 100%; }
.tal { text-align: left; }
.tar { text-align: right; }
/* Text Selection */
::selection {color: rgb(74, 8, 243);}

/* ==========================================================================
3. Links & Buttons (Minified Single-Line)
========================================================================== */
a { color: var(--font); cursor: pointer; text-decoration: none; display: inline-block; }
a:hover { color: var(--hover); opacity: 1; }
a.link, a.underline-link, a.link-underline { position: relative; text-decoration: none; color: var(--link); font-weight: 500; }
a.link-underline:hover, a.underline-link:hover { color: var(--link); }
/* Underline Pseudo-elements */
a.underline-link::before, a.link-underline::before { content: ""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 15%; background-color: var(--link); z-index: 0; opacity: 0.16; }
a.underline-link::after, a.link-underline::after { content: ""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 15%; background-color: var(--link); transform: scaleX(0); transform-origin: 0 50%; transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1); z-index: 0; }
a.underline-link:hover::after, a.link-underline:hover::after { transform: scaleX(1); }
/* Button Base Styles */
.btn { background: var(--white); border-radius: 64px; border: none; box-shadow: 0 16px 22px -5px rgba(0, 0, 0, 0.1) !important; color: var(--font); cursor: pointer; font: var(--h3); font-weight: 800; line-height: 1; margin: 16px 0; padding: 26px 20px 26px 12px; transition: var(--transition); width: max-content; letter-spacing: -0.5px; text-decoration: none}
.btn-smaller {font: var(--p2);font-weight: 800;}
.btn:hover { transform: scale(1.05) !important; transition: var(--transition); }
/* Button Color Variants */
.btn-orange { background: var(--accent); color: var(--white); box-shadow: 0 10px 33px -8px rgba(var(--accent), 0.5)!important; }
.btn-orange:hover { background: var(--accent); box-shadow: none; color: var(--white); }
.btn-white { background: var(--white); color: var(--accent); box-shadow: 0 10px 33px -8px rgba(0, 0, 0, 0.2) !important; }
.btn-white .bolt {fill: var(--accent);}
.btn-white:hover { color: var(--accent); }

/* Small Button Variants */
.btn-load-more, .btn-search { border-radius: 3rem; font: var(--pp); font-weight: 700; padding: 14px 16px 16px; letter-spacing: -1px; }
.btn-load-more { box-shadow: 0 10px 33px -8px #0003d3; }
/* Button with SVG Icon */
.button-with-svg { position: relative; display: inline-block; padding-left: 76px; }
.button-with-svg::before { content: ''; position: absolute; top: 50%; left: 22px; transform: translateY(-50%); width: 36px; height: 36px; background-image: url(/static/images/arrow.svg); background-size: contain; background-repeat: no-repeat; transition: right 0.3s ease-in-out; }
.button-with-svg:hover::before { right: 15px; transition: right 0.3s ease-in-out; }
/* Call To Action (CTA) Styles */
.cta { display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: 0.5rem; }
.cta--secondary { letter-spacing: 0.25px; font-weight: 600; }
.cta--secondary.link-underline {color: var(--grey);}
.visa-cta-link:hover .visa-icon {fill: white;}
.visa-icon {fill: var(--accent); }
.theme--btn {border: none; background: none; padding: 0;}

/* ==========================================================================
4. Layout & Structure
========================================================================== */
/* Container & Wrap */
.container-fw { margin-right: auto; margin-left: auto; width: 100vw; }
.full-vw, .wrap-100 { width: 100vw; }
.wrap { width: 88vw; margin: 0 auto; padding: 0; }
.w--50 { width: 66vw; margin: 0 auto; max-width: 700px; }
/* Flexbox Helpers */
.row--flex { display: flex; flex-direction: row; flex-wrap: wrap; }
.column, .column--flex { display: flex; flex-direction: column; flex-basis: 100%; flex-grow: 1; flex-shrink: 1; }
.center--flex, .flex--centre { align-items: center; justify-content: center; }
/* Specific Flex Adjustments */
.hero .row--flex { flex: 1; min-height: 98vh; }
.is-page-visa-advice #hero, .is-page-pricing #hero, .is-page-how-it-works #hero, .is-page-49-consultation-offer #hero {height: calc(100vh - 12rem); align-items: center;}
.is-page-49-consultation-offer #hero {height: calc(100vh - 8rem); margin-top: 4rem;}
.review.row--flex { flex-direction: column; }
.team .row--flex { flex-direction: row; }
.section-brag .column--flex { flex-basis: 50%; width: 50%; }
/* Vertical Height Helpers */
.vh100 { height: 50vh; }
.h--100 { height: 100vh; }
.h--76 { height: 76vh; }
.h--66 { height: 66vh; }
.h--33 { height: 33vh; }
.h--100p { height: 100%; }
.mobile-vh100 { height: 36.3vh; }
/* Section Spacing */
.section.cards { padding: 32px 0; }
.is-page-visa-advice .sec { margin: 0 auto; padding: 4rem 0; width: 100%; }
.sec { margin: 0 auto; padding: 2rem 0; width: 100%; }
/* Margins & Paddings */
.mt, .date { margin-top: 4rem; }
.pt10 { padding-top: 5vh; }
.mt25 { margin-top: 0vh; }
.mt4 { margin-top: 8rem; }
.gap { gap: 6rem; }
/* Background & Borders */
.bg-color-update { background: var(--update); border-radius: 3.5rem; padding: 3rem 2.5rem 2rem}
.bg-color-secondary { background: var(--bg-subtle); border-radius: 5rem; }
.bg-color { background: var(--accent); color: var(--white); border-radius: 5rem; }
@media (min-width: 600px) { .bg-color-secondary, .bg-color  { border-radius: 8rem; }}
html[data-theme="dark"] .bg-color { background: var(--bg-subtle); color: var(--white); border-radius: 5rem; }
.invert, .invert .tick {color: var(--white) !important; fill: var(--white); }
.bg-color-grad { background: var(--bg-color-grad); border-radius: 6rem !important; color: white; }
.box-fx { border-radius: 3rem; background-color: var(--bg-alt); padding: 9vh 10vw; }
.blog-box-fx { border-radius: 0; }
.latepoint .bg-color-grad { border-radius: 0; }
/* Table Styles */
.wp-block-table td, .wp-block-table th {border: none!important;}
table { margin-bottom: 48px; border: none; padding: 0; width: 100%; }
table th, table td { border: none; padding: 20px 30px; background-color: var(--bg-light); color: var(--black); }
table th { font-weight: 600; text-align: center; color: var(--font); }
.blog.table { font: var(--p1); width: 100%; margin-bottom: 30px; font-weight: 500; }
.blog th, .blog td { padding: 10px 10px; text-align: left; border-bottom: 0.3rem solid var(--grey); }
.loop-details { margin: 8px 0; }
.related-articles-section{background:var(--bg-subtle);margin-top:4rem;padding:3rem 0 4rem;border-radius:4rem;}
.related-articles-grid{display:flex;gap:2rem;flex-wrap:wrap;max-width:85vw;margin:0 auto;}
.related-card{flex:0 0 calc(50% - 2rem);box-sizing:border-box;border-radius:4px;overflow:hidden;}
.related-card .post-link{display:block;text-decoration:none;color:inherit;}
.related-card .card-content{padding:15px;}
.related-card .post-thumb img{width:100%;height:auto;display:block;border-radius:2rem;transition: all 0.4s ease-in-out;transform:scale(1);}
.post-thumb img{transition: all 0.4s ease-in-out;transform:scale(1);}
@media (max-width: 768px){.related-card{flex:0 0 100%;} 
.related-articles-grid{gap:2rem;}}
/* @media (max-width: 500px) {.is-page-visa-advice #b .gap {gap:0.5rem;}} */
.mobile-hero-image {display: none; width: 456px; margin: 1rem auto 0rem; position: relative; z-index: -1; transform: rotate(-3deg) !important;}
@media (max-width: 500px) { 
#step .h1, .h1 { font-size: 4rem; } 
/* .hero-img { display: none !important;}     */
.mobile-hero-image { display: none; width: 90vw; margin: 1rem auto; position: relative; z-index: -1; transform: rotate(-3deg);}
.is-page-visa-advice #hero, .is-page-pricing #hero, .is-page-how-it-works #hero {height: calc(96vh - 8rem); margin-bottom: -6rem;}
.is-page-49-consultation-offer #hero {height: calc(88vh - 0rem); margin-bottom: -8rem;}
}
/* BLOG TABLES*/
.wp-block-table thead, .wp-block-table td {border: none;}
.wp-block-table .has-fixed-layout {margin: 0;}
.wp-block-table {background: #f7f9fa; border-radius: 1.75rem;}
.wp-block-table tr {border-bottom: 0.1rem solid rgba(0, 0, 0, 0.04);}
.wp-block-table tr:hover {background: rgba(0, 0, 0, 0.05)}
.wp-block-table thead {border-bottom: 0.2rem solid rgba(0, 0, 0, 0.08)}
[data-theme="dark"] .wp-block-table tr:last-child, .wp-block-table tr:last-child {border-bottom: none;}
.wp-block-table td {padding: 0.6rem 1.2rem;}
[data-theme="dark"] .wp-block-table {background: var(--bg-mid); color: var(--white)}
[data-theme="dark"] table th, [data-theme="dark"] table td {color: var(--white)}
[data-theme="dark"] .wp-block-table tr {border-bottom: 0.1rem solid rgba(255, 255, 255, 0.2);}
[data-theme="dark"] .wp-block-table thead {border-bottom: 0.2rem solid rgba(255, 255, 255, 0.4);}
.wp-block-table-of-contents {border-radius: 3rem; padding: 2rem 2rem; margin-bottom: 4rem;}
.wp-block-table-of-contents ol {margin:0;}
.link-underline.wp-block-table-of-contents__entry {display: block; width: fit-content;}
.link-underline.wp-block-table-of-contents__entry::before, .link-underline.wp-block-table-of-contents__entry::after {display: none;}
.wp-block-table-of-contents .link-underline {color: var(--grey);}
@media screen and (max-width: 768px) { .wp-block-table-of-contents { padding: 0rem;}}
/* ==========================================================================
5. Header & Navigation (Minified Single-Line)
========================================================================== */
header { height: 0; z-index: 999; position: fixed; left: 0; top: 0; }
header .row-fx { align-items: normal; flex-direction: column; flex-wrap: nowrap; width: 95vw; }
.navbar { width: max-content; display: flex; justify-content: space-between; align-items: center; padding: 16px 0; margin: 0; }
.navlogo { display: flex; flex-direction: column; width: 4rem; height: auto; overflow: hidden; pointer-events: all; padding: 10px 0; z-index: 3; position: relative; transition: all .5s; }
.navlogo:hover { transition: all .5s; transform: scale(1.05); }
.hamburger { display: none; } /* Default: Hidden on Desktop-First Base */
.nav-menu { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0; } /* Default: Shown on Desktop-First Base */
.nav-item { margin-left: 1.5rem; list-style: none; }
.nav-item:last-child { margin-right: 0rem; }
.nav-item.mobile, .nav-link.mobile, .mobile { display: none; }
.nav-link, .dropdown { font: var(--p2); font-weight: 800; color: var(--nav); letter-spacing: -0.5px; }
.nav-link:hover { opacity: 0.9; color: var(--accent); }
.nav-link.current  { color: var(--accent); }
.nav-link.current::after, .nav-link:hover::after, .nav-link.current  ::after { content: ''; background: var(--accent); height: 6px; width: inherit; display: block; z-index: 1; margin-top: -6px; }
.nav-item .bolt {vertical-align: middle; height: 2rem; margin-right: -0.1rem; margin-top: -0.2rem;}
.nav-item .bolt {fill: var(--orange) !important};
/* Submenu/Mobile Nav Styles */
.submenu, .nav-menu.submenu { position: fixed; top: 0; left: 100vw; width: 100vw; height: 100vh; background-color: var(--bg-mid); opacity: 0; visibility: hidden; pointer-events: none; transition: all 0.4s ease; z-index: 999999; display: flex; flex-direction: column; padding: 0 0 100px; }
.submenu.active, .nav-menu.submenu.active { left: 0; opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(0); }
.nav-menu.submenu.is-preparing { visibility: visible; }
.nav-menu.main-menu.hide { display: none; }
.main-menu.slide-out { transform: translateX(-100%); transition: transform 0.3s ease; }
/* Hamburger Icon Styles */
.ham { cursor: pointer; -webkit-tap-highlight-color: transparent; transition: transform 400ms; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; }
.hamRotate.active { transform: rotate(45deg); }
.hamRotate180.active { transform: rotate(180deg); }
.line { fill: none; transition: stroke-dasharray 400ms, stroke-dashoffset 400ms; stroke: var(--font); stroke-width: 5.5; stroke-linecap: round; }
svg.ham { width: 60px; }
.ham6 .top { stroke-dasharray: 40 172; }
.ham6 .middle { stroke-dasharray: 40 111; }
.ham6 .bottom { stroke-dasharray: 40 172; }
.ham6.active .top { stroke-dashoffset: -132px; }
.ham6.active .middle { stroke-dashoffset: -71px; }
.ham6.active .bottom { stroke-dashoffset: -132px; }
/* Media Queries (Cannot be on single line as they are structural) */
@media (max-width: 600px) { .w--50 { max-width: 576px; margin: 0 auto; width: 90vw; } }
@media (min-width: 1024px) { .w--50 { width: 60vw; max-width: 600px; margin: 0 auto; } .w--100 { max-width: 50.6vw; margin: 0 auto; } .w--999 { max-width: 999px; margin: 0 auto; } .is-page-terms .w--50, .is-page-privacy .w--50 { width: 60vw; max-width: 600px; margin: 0 auto; } }
@media (max-width: 1176px) { .w--50 { max-width: 767px; margin: 0 auto; width: 95vw; } }
@media (min-width: 1200px) { .w--50 { max-width: 976px; margin: 0 auto; width: 95vw; } }

/* Select the logo that is a sibling to an active nav-menu */
/* .navbar:has(.nav-menu.active) .main--logo { --logo: #FFF;}
.hamburger.active .line {stroke: #FFF;} */

/* ==========================================================================
6. Footer (Minified Single-Line)
========================================================================== */
footer { padding: 0; position: relative; z-index: 0;}
footer #fl a { margin: 0; padding: 3px 0; }
footer p { margin: 0; }
footer .column--flex { align-items: flex-start; width: 50%; flex-basis: 50%; }
footer .copyr .column--flex, footer .copyr #fr.column--flex { align-items: flex-start; justify-content: flex-start; width: 100%; flex-basis: 50%; }
footer ul { padding: 0 !important; list-style: none; }
footer #fl.column--flex { align-items: flex-start; flex-direction: row; justify-content: flex-start; }
footer #fr.column--flex { align-items: flex-end; flex-direction: row; justify-content: flex-end; }
.footer-nav-item, .footer-nav-heading { color: var(--white); font: var(--p2); margin-bottom: 12px !important; }
.footer-nav-heading { font-weight: 700 !important; }
footer a.link-underline {color: var(--white) }
footer a.link-underline:hover {color: var(--white) }
footer a.link-underline:before { height: 0;  }
footer a.link-underline:after {background-color:var(--white); color: var(--white) }
footer .container-fw { width: 90vw; }
footer #fn.column--flex { align-items: center; flex-basis: 25%; width: 25%; }
.footer.badges { display: flex; justify-content: center; margin: 1rem auto -1.5rem; width: 86%; }
.footer.badges .badge { height: 5rem; }
.footer.container-fw.bg-color {border-radius: 4rem 4rem 0rem 0rem; width: 100vw; padding: 0 7vw;}
.footer.logo {display: flex; flex-direction: column; justify-content: flex-start; margin: 4rem 0 2rem; width: 100%; overflow: hidden !important;}
.footer-navlogo { width: 4rem; }
/* ==========================================================================
7. Blog & Posts (Minified Single-Line)
========================================================================== */
.blog-wrap { width: 92vw; margin: 0 auto; }
.cards { display: flex; flex-direction: column; height: auto; max-width: 100%; list-style: none; gap: 2rem; }
.card { flex: 1 100%; margin: 0; padding: 0.53rem 0; width: 100%; }
.card-post-details { padding: 0px; }
.card .fs { line-height: 1.05; margin-bottom: 10px; }
.date { margin: 16px 0 32px; }
.post-title-container { margin: 99px 0 32px; position: relative; width: 100%; text-align: center; text-transform: uppercase; }
.post-image-wrapper { width: 100%; height: 600px; margin: 16px auto 10%; position: relative; overflow: hidden; }
.loop .post-image-wrapper { width: 100%; height: 100%; margin: 16px auto 10%; position: relative; overflow: hidden; padding-bottom: 100%; }
.post-image { background-color: var(--bg-color-secondary); background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 32px; margin-bottom: 32px; position: absolute; height: 100%; width: 100%; transition: all 0.1s cubic-bezier(0.5, 0, 0.25, 1); filter: contrast(0.75); }
.post-thumb, .post-thumb img { margin-bottom: 0px; height: auto; width: 100%; }
.post-hero-image { background-size: cover; background-position: center; background-color: var(--postbg); background-blend-mode: color; margin-bottom: 30px; height: 65vh; width: 100%; }
.post-pages h1, .post-pages h2, .post-pages h3, .post-pages h4, .post-pages h5, .post-pages h6 { font: var(--h2); font-family: var(--ff); line-height: 1; font-weight: 700; margin-bottom: 16px; }
h1.post-title { font-family: var(--ff2); font-weight: 800; margin: 0; text-align: center; }
.post-pages p, .post-pages ul, .post-pages ol, .wp-block-table { font: var(--p1); line-height: 1.5; font-weight: 400; list-style: round; color: var(--black); margin-bottom: 3rem; }
.wp-block-table { margin: 0; overflow: scroll; }
.post-pages ul, .post-page ol { margin-left: 0em; margin-bottom: 64px; }
.post-pages ul { list-style-type: disc; margin-left: 26px; }
.post-pages li { margin-bottom: 8px; }
.post-pages.container-fw { width: 88vw; max-width: 88vw; }
.post-link { width: inherit; height: auto; }
.post-link:hover { cursor: pointer; }
.post-link:hover .post-image { border-radius: 50%; transition: all 0.4s ease-in-out; transform: scale(.96) !important; }
.post-link:hover .post-thumb img { transition: all 0.4s ease-in-out; transform: scale(1.1) !important; }
.card a:hover { color: #FFF !important; }
.is-dimmed { transform: scale(0.9) translateX(0.5rem); transition: all 0.4s cubic-bezier(0.5, 0, .25, 1); opacity: 0.36; filter: grayscale(1) contrast(1); }
.loop .is-dimmed { transform: translateX(0.5rem); transition: all 0.4s cubic-bezier(0.5, 0, .25, 1); opacity: 0.36; }
.wavy { display: flex; align-content: center; opacity: 90%; margin: 0 0 5rem; width: 100%; }
.wavy svg { width: 256px; }
.post-end-cta { display: flex; width: max-content; font-size: clamp(3rem, 3rem, 3rem); color: var(--font); background: var(--bg-light); padding: 16px; border-radius: 5px; box-shadow: 0 0 0 10px var(--gradient); }
.wp-block-image { overflow: hidden; padding: 0; margin: 32px 0; }
.wp-block-image img { border: 5px solid var(--bg-color-secondary); height: auto; max-width: 100%; border-radius: 16px; }
.pagination { align-content: center; background-color: var(--bg-color-secondary); border-radius: 100px; display: flex; font: var(--p1); gap: 10px; justify-content: center; margin: 0px auto; padding: 14px 18px; width: max-content; }
.post { margin: 0 auto; width: auto; }
.wp-block-heading { font: var(--h3); color: var(--headings); font-weight: 800; line-height: 0.95; letter-spacing: -1px; padding: 3rem 0 0.5rem; }
ul.recents { margin: 0; padding: 0; }
.latest-post-background { background-size: cover; background-position: center; padding: 16px; text-align: center; color: white; height: 100vh; display: flex; align-content: center; justify-content: center; flex-direction: column; }
.latest-post-background p { color: white; }
.is-post ul.contents { list-style: none; }
.is-post ul.contents li::before { display: none; }
.is-post ul.contents li { font-weight: 500; margin-bottom: 16px; }

/* ==========================================================================
8. Cookie Notice (Minified Single-Line)
========================================================================== */
#cookie-notice { top: calc(91vh); border-radius: 8px; box-shadow: 0 15px 50px -5px #00000073; font-size: var(--fs) !important; font-family: inherit !important; font-weight: 400; height: 68px; left: 50% !important; line-height: 24px !important; min-width: 0 !important; margin: 0 auto; width: 90vw; transform: translate(-50%, -0vh); }
.cn-set-cookie.cn-button { font-size: inherit !important; font-family: inherit !important; margin: 0 0 0 16px !important; }
#cookie-notice .cookie-notice-container { display: flex !important; flex-basis: 100%; align-items: center; align-content: center; justify-content: center; justify-items: center; padding: 15px 20px; text-align: left; }
#cn-close-notice { display: none; }
.cn-text-container { margin: 0 !important; }
.cn-revoke-cookie { font-size: var(--fs); background-color: var(--bg-color-secondary); padding: 10px; margin: -16px 0 32px; border-radius: 8px; box-shadow: 0 10px 10px -8px rgba(0, 0, 0, 0.16); }
.cn-revoke-cookie:hover { background-color: var(--bg-color-secondary); box-shadow: 0 12px 16px 8px rgba(0, 0, 0, 0.33); }
.cookie-notice-hidden { display: none !important; }
.cn-text-container a { border-bottom: 3px solid; border-color: #ccc; }
#cn-accept-cookie { background-color: var(--bg) !important; padding: 5px; border-radius: 3px; color: var(--bg-color) !important; }

/* ==========================================================================
9. Booking Form & Pages (Minified Single-Line)
========================================================================== */
.is-page-customer-dashboard { background-color: #f4f5f6; color: var(--bg-color); overflow: auto !important; }
.is-page-customer-dashboard .hero { background-color: transparent; }
.is-page-customer-dashboard h1, .is-page-customer-dashboard h2, .is-page-customer-dashboard h3, .is-page-customer-dashboard h4, .is-page-customer-dashboard h5, .is-page-customer-dashboard h6 { color: var(--bg-color); }
.is-page-customer-dashboard footer, .is-page-customer-dashboard .nav-menu, .is-page-customer-dashboard .preloader { display: none; }
.is-page-book-consultation .nav-menu, .is-page-book-consultation .footer, .is-page-book-consultation .hamburger { display: none; }
.booking { position: fixed; bottom: 7vh; left: 50%; width: auto; transform: translateX(-50%) translateY(3vh); z-index: 1; text-align: center; }
.lp-option.lp-payment-trigger-later, .is-page-customer-dashboard .latepoint-book-button, .is-page-book-consultation .latepoint-book-button, .nav-menu.active > .latepoint-book-button, .is-page-customer-dashboard .booking, .is-page-book-consultation .booking { display: none !important; }
.latepoint-questions a { color: #4b64e8; }
.latepoint-questions a:hover { color: #000; }
.latepoint-w .os-form-group.os-form-select-group select.os-form-control { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
#button-label.L6cTce { display: none; }
.ti-widget[data-layout-id='74'][data-set-id='default'] { color: black; z-index: 0; }
.is-page-book-consultation .gap { gap: 0; }
/* .is-page-book-consultation #b .wrap { max-width: 640px; margin: 0 auto; } */

/* ==========================================================================
10. Accordion & Media (Minified Single-Line)
========================================================================== */
/* Accordion Buttons */
button.accordion, .accordion { align-items: center; background-color: var(--bg-subtle); border: none !important; border-radius: 2rem; color: var(--headings); cursor: pointer; display: flex; font-weight: 700; justify-content: space-between; outline: none; padding: 18px 32px; text-align: left; transition: 0.4s; width: 100%; -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none; }
.accordion:hover { background-color: var(--accent);  color: var(--white);}
.accordion.active { background-color: var(--bg-subtle); color: var(--headings); }
.accordion.active { border-radius: 2rem 2rem 0 0; }
.accordion:after { content: "\2193"; font-size: 3rem; color: var(--font); float: left; margin-left: 32px; display: flex; align-items: center; height: 100%; transform: rotate(-45deg); transition: transform 0.2s ease-out; }
.accordion.active:after { content: "\2193"; transform: rotate(-135deg); transition: transform 0.2s ease-out; color:var(--accent); }
/* Accordion Panel */
.panel { padding: 0px 22px; background-color: var(--bg-light); border-radius: 0 0 2rem 2rem; max-height: 0; overflow: hidden; margin: 18px 0; transition: max-height 0.2s ease-out; text-align: left; color: var(--white); }
.accordion.active + .panel { background-color: var(--bg-subtle); padding: 4px 36px; margin: 0 0 16px; }
.accordion.active + .panel p { background-color: transparent; margin-bottom: 32px; color: var(--font); }
#accordion .panel:first-child { display: block; border-top: 3px solid #FFCDCD; }

/* ==========================================================================
11. Specific Page Styles & Background Images (Minified Single-Line)
========================================================================== */
/* Common Page Background Styles */
.is-page-visa-advice #a, .is-page-about #a, .is-page-uk-immigration-lawyer #a, .is-page-canada #a, .is-page-citizenship #a, .is-page-uae #a, .is-page-flr-ilr-visa #a, .is-page-spouse-visa #a, .is-page-sponsor-licence #a, .is-page-uk-skilled-worker-visa #a, .is-page-global-talent-visa #a, .is-page-tech-nation-visa #a, .is-page-visitor-visa #a, .is-page-uk-visa-english-requirement #a, .is-page-ilr #a, .row1, .row2, .row3, .row4, .row5, .row6, .row6a, .row6b, .row6c { background: var(--black-a); background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 6rem; transition: all 0.5s; z-index: 1; }/* Individual Background Images/Colors */
.is-page-visa-advice #a { background-image: url('/static/images/1-clem-onojeghuo-YBboh5nH1V0-unsplash.webp'); }
.is-page-about #a { background-image: url('/static/images/1-clem-onojeghuo-YBboh5nH1V0-unsplash.webp'); }
/* .is-page-uk-immigration-lawyer #a { background-image: url('/static/images/3-adrian-mag-AryW96QAq-w-unsplash.webp'); } */
/* .is-page-canada #a { background-image: url('/static/images/4-dawson-lovell-W_MUqtuHwyY-unsplash.webp'); } */
/* .is-page-uae #a { background-image: url('/static/images/5-heather-shevlin-3B_NrzTjajc-unsplash.webp'); } */
.is-page-citizenship #a { background-image: url('/static/images/6-hugh-whyte-SBOHLtENzEY-unsplash.webp'); }
.is-page-flr-ilr-visa #a, .is-page-ilr #a { background-image: url('/static/images/7-annie-spratt-kMuaT5cXggc-unsplash.webp'); }
.is-page-spouse-visa #a { background-image: url("/static/images/8-lashawn-dobbs-Qx-jCqiTezY-unsplash.webp"); }
.is-page-sponsor-licence #a { background-image: url("/static/images/9-marissa-grootes-N9uOrBICcjY-unsplash.webp"); }
.is-page-global-talent-visa #a, .is-page-tech-nation-visa #a { background-image: url("/static/images/10-next-academy-G6k_uEjXygE-unsplash.webp"); }
.is-page-uk-skilled-worker-visa #a { background-image: url("/static/images/11-sachin-gawade-eQHlyFbkLtQ-unsplash.webp"); }
.is-page-visitor-visa #a { background-image: url("/static/images/12-bruno-martins-GgreVI0ejLs-unsplash.webp"); }
.is-page-uk-visa-english-requirement #a { background-image: url('/static/images/13-andrew-neel-ute2XAFQU2I-unsplash.webp'); }
.is-page-contact #a { color: #99a7ff; }
.is-page-contact #b { color: #f99; }
.row1, .row2 { background: rgba(255, 255, 255, 0.15); }
.row3 { background-image: url("/static/images/7-annie-spratt-kMuaT5cXggc-unsplash.webp"); }
.row4 { background-image: url("/static/images/12-bruno-martins-GgreVI0ejLs-unsplash.webp"); }
.row6a, .row6b, .row6c { flex: 1 auto !important; }
/* Visas/Steps Section Styles */
.visas #a, .visas #b, .steps #a, .steps #b { background: var(--bg-mid); border-radius: 5rem; padding: 99px 0 64px; }
.visas h3 { font-family: "Moranga"; }
.visas .post-link:hover, .visas .post-link:hover h3, .visas .post-link:hover p { background-color: var(--font) !important; color: var(--bg) !important; }
.column--visas .sec { margin: 0; }
.is-page-visa-advice .hero #b .row--flex { align-content: center; }
.is-page-visa-advice .hero #a { border-radius: 4rem; transition: all 0.5s; z-index: 99; }
/* #included {border: 0.56rem solid var(--accent)} */
/* Visa Advice Included Link Overrides */
/* .is-page-visa-advice #included a.link-underline { color: var(--white); } */
/* .is-page-visa-advice #included a.link-underline::before { background-color: #b0a8ff; } */
/* .is-page-visa-advice #included a.link-underline::after { background-color: #fff; } */

/* ==========================================================================
12. Utilities & Miscellaneous (Minified Single-Line)
========================================================================== */
.gmap_canvas { border-radius: 2rem; }
.mapouter { margin: 2.5rem 0; }
.grey-text { color: var(--grey); }
.is-page-about .sec-fx { padding-bottom: 0; }
.customer-dashboard-tabs a { color: black; }
.cards .column--flex { align-self: stretch; justify-content: flex-start; }
.img-container { display: block; text-align: center; width: 100%; }
.reviews-grid .container-fw { width: 82vw; }
.ti-widget[data-layout-id='24'][data-set-id='dark-background'] .ti-header span, .ti-widget[data-layout-id='24'][data-set-id='dark-background'] .ti-header strong { font-size: 18px !important; }
.parallax-background { background-image: url("/static/hero.webp"); background-repeat: no-repeat; background-size: 36vw; background-position: center; transition: background-position 0.1s ease; }
.column--flex.post-link { transition: all 0.3s; }
.review-badges { display: flex; width: min-content; margin: 0 auto; gap: 2rem; }
.reviewers { height: 3rem; width: auto; }
.mobile-only, .landing-page-tel, .show-reviews { display: none; }
.landing-page-tel a.highlight { padding: 9px; border-radius: 4px; }
#fc.column--flex { justify-content: center; align-content: center; align-items: center; width: 100%; flex-basis: 100%; }
.questions { display: flex; width: 100%; }
.is-page-spouse-visa-lp .landing-page-tel { display: block; transition: all .3s; }
.is-page-spouse-visa-lp .landing-page-tel a.highlight:hover { color: var(--bg-color); transform: scale(1.1); transition: all .3s; }
.is-page-spouse-visa-lp .nav-menu, .is-page-spouse-visa-lp .hamburger, .is-page-spouse-visa-lp #fn { display: none; }
.is-page-spouse-visa-lp .color-red { color: #FFC8D0; }
.is-page-spouse-visa-lp .hero #b.column--flex { padding-top: 0; }
img.kitt { border-radius: 32px; width: 100%; }
.step-img { width: auto; height: 4.5rem; margin: 32px 0px; }
.rotate > span { transform: rotate(-40deg); float: left; }
img.img-custom { width: 26rem; }
.step-img-wrapper { background: var(--bg-color-grad); padding: 4rem 4rem; border-radius: 4.5rem; }
.category-filter { align-content: center; display: flex; justify-content: center; font-size: var(--fs); flex-wrap: wrap; grid-gap: 16px; list-style: none; padding: 0; position: relative; top: 3vh; }
.category-filter li a.active { background-color: var(--bg-light); border-radius: 10px; padding: 12px 8px; }
.category-filter li a:hover { background-color: var(--bg-mid); border-radius: 10px; transform: translate(0px, -3px); }
.category-filter::-webkit-scrollbar { display: none; }
.full-width-text { font-size: clamp(64px, 33vw, 33vw); text-align: center; white-space: nowrap; overflow: hidden; margin: 0; padding: 0; width: 100%; }
.index-badges.badges { width: 100%; display: flex; align-items: center; justify-content: center; gap: calc(100% / 5); }
.index-badges.badges > a:last-child { margin-left: 0px; }
.index-badges .badge { height: clamp(64px, 14rem, 18rem); }
.search-form { display: flex; gap: 10px; margin: 1rem 0 3rem; width: min-content; }
.search-field { flex: 1; padding: 16px; background-color: var(--bg-subtle); border: 0; border-radius: 0.5rem; font: var(--p1); color: var(--font); }
.search-field::placeholder { color: var(--grey); }
.search-results-text { margin-bottom: 15px; font-weight: 600; }
.btn.btn-search { border: none; padding: 14px 16px 16px; margin: 0; }
.loop { width: 88vw; margin: 0 auto; padding: 6rem 0 0; }
.float { animation: float 3s ease-in-out infinite; height: 30vw; width: auto; }
.clean-list { list-style: none; padding: 0; margin: 0 auto; width: fit-content; max-width: 82vw;}
.clean-list li { color: var(--font); display: flex; flex-direction: row; align-items: baseline; text-align: left; line-height: 2.2rem; margin-bottom:1.2rem; }
.clean-list li:last-child { border-bottom: none; }
article li { margin-bottom: 0.66rem; }
.contents li { margin: 0; font-weight: 500;}
.contents { margin: 0; padding: 0; list-style-type: none; color: #0b0c0c; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; line-height: 1.45; border-bottom: 5px solid #ffffff1f; padding-bottom: 36px; }
.contents li::before { content: "—"; left: 0; width: 20px; overflow: hidden; margin-right: 10px; color: var(--font); opacity: 0.9; }
.progress-container { width: 100%; height: 6px; background: var(--dark-bg-subtle); position: fixed; top: 0px; left: 0px; z-index: 9999; }
.progress-bar { height: 6px; background: var(--accent); width: 0%; }
.scroller { margin-top: 0px; }
.smiley svg, .heart svg { height: 16rem; width: 16rem; }
.review-source { width: 10rem; }
.kicker { background-color: var(--creamr); margin: 24px 0 24px; font-weight: 600; display: flex; justify-content: center; align-items: center; }
.stars { color: var(--orange); letter-spacing: -5px; padding-left: 8px; }
.bolt { fill: var(--white); animation: flicker 2s infinite; transform-origin: 70% 70%; }
.mobile--centre { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.mobile--centre .cta--secondary { align-self: center; }
.mobile-centre { text-align: center; width: 100%; }
.reviewer { width: 4rem; height: 4rem; }
.reviewer-meta { display: flex; gap: 10px; align-items: center; }
.reviewer-meta p { padding: 0px; margin: 0px; }
.reviews-stack { position: relative; height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: start; padding: 2rem; }
.review-item { position: absolute; width: 90%; max-width: 700px; background: #f4f4f4; border-radius: 16px; padding: 2rem; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); opacity: 1; transform: translateY(0) scale(1); transition: transform 0.8s ease, opacity 0.6s ease; z-index: 1; }
.review-item.hidden { opacity: 0; transform: translateY(0) scale(0.8); pointer-events: none; }
.review-item.visible-1 { transform: translateY(-160px); z-index: 3; }
.review-item.visible-2 { transform: translateY(0); z-index: 2; }
.review-item.visible-3 { transform: translateY(160px); z-index: 1; }
#included, #reviews, #faq, #hero, #visas { margin: 0 auto; width: 100vw;}
.blur { filter: blur(8px); transition: all .5s ease-in-out; top: 0vw; z-index: -1; overflow: hidden; }
.blog-wrap { width: 90vw; }
.categories-title { margin: 99px 0 0px; }
.badges { display: flex; justify-content: flex-start; gap: 3rem; margin-top: 32px; }
.badge { height: 6rem; }
.hero .column--flex, .visas .column--flex { align-items: center; justify-content: center; }
img.square, .recent img { height: auto; width: 40vw; }
.square.cl, .square.dash { width: 30vw; }
.is-page-terms main, .is-page-privacy main, .is-page-coronavirus main { padding-top: 2rem; }
.section-terms, .section-privacy, .section-coronavirus { padding: 16px 16px 0; width: 100%; }
.review-img { border-radius: 2rem; width: 100%; }

/* ==========================================================================
13. Animations (Minified Single-Line)
========================================================================== */
@keyframes flicker { 0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% { opacity: 1; } 20%, 22%, 24%, 55% { opacity: 0.2; } }
@keyframes spin { from { transform: rotate(0deg) scale(0.9); } to { transform: rotate(360deg) scale(0.9); } }
@keyframes beat { 0%, 50%, 100% { transform: scale(1.01, 1.01); } 30%, 80% { transform: scale(0.85, 0.85); } }
@keyframes Gradient { 0% { background-position: 0 0%; box-shadow: 0px 5px 15px -5px rgba(0,47,130,.43); } 50% { background-position: 100% 0%; box-shadow: 0px 10px 25px -5px rgba(0,47,130,.73); } 100% { background-position: 0 0%; box-shadow: 0px 5px 15px -5px rgba(0,47,130,.43); } }
@keyframes float { 0% { transform: translateY(0); } 50% { transform: translateY(-10px); } 100% { transform: translateY(0); } }
@keyframes wave-animation { 0% { transform: rotate(0deg); } 10% { transform: rotate(14deg); } 20% { transform: rotate(-8deg); } 30% { transform: rotate(14deg); } 40% { transform: rotate(-4deg); } 50% { transform: rotate(10deg); } 60% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } }
.highlight { padding: 5px 10px 12px; box-shadow: 0px 10px 25px -5px rgb(255 200 208 / 33%); background: #b3b3ff; background: linear-gradient(-45deg,#ffc8d0 0%,#b3b3ff 100%) 0% 0% / 150% 150%; animation: 1.5s ease 0s infinite normal none running Gradient; color: var(--bg-color); line-height: 1.1; display: inline-block; letter-spacing: 0; }
.highlight-b { padding: 5px 10px 8px; box-shadow: 0px 10px 25px -5px rgb(0 0 0 / 33%); background: #b3b3ff; color: var(--bg-color); line-height: 1.1; display: inline-block; letter-spacing: 0; }
.highlight-g { padding: 5px 10px 8px; box-shadow: 0px 10px 25px -5px rgb(0 0 0 / 33%); background: #b3ffb8; color: var(--bg-color); line-height: 1.1; display: inline-block; letter-spacing: 0; }
.column--visas a { text-shadow: 0 0 20px black; }

/* ==========================================================================
14/ Media Queries & Miscellaneous (Refactored for Mobile-First Breakpoints)
========================================================================== */
/* Fluid Typography */
html {font-size: calc(12px + (18 - 12) * ((100vw - 300px) / (1600 - 300)));}

/* Base/Mobile-First Styles (Dropdowns, Lists, Links, Post Layouts) */
.dropdown-menu { max-height: 0; opacity: 0; overflow: hidden; position: absolute; background: var(--dropdown); list-style: none; padding: 16px 0; margin: 0; box-shadow: 0 rgba(0,0,0,0.1); z-index: 1000; transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease; line-height: 1.5; }
.dropdown-menu.open { max-height: 500px; opacity: 1; padding: 0.5rem 0; border-radius: 2rem; }
.nav-parent { display: flex; align-items: center; gap: 6px; }
.dropdown-arrow svg { height: 3rem; width: 3rem; stroke-width: 1rem; }
.arrow { fill: var(--accent);}
.tick { flex-shrink: 0; margin-right: 8px; fill: var(--icon); }
svg.tick:before {background: var(-black);}
.clean-list li { display: flex; align-items: center; gap: 6px; }
.is-page-book-consultation .badges { justify-content: center; }
.row--visas > a { display: flex; flex-direction: column; text-decoration: none; color: inherit; height: 100%; }
.row--visas > a:hover .sec { transform: translateY(-3px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); transition: all 0.3s ease; }
.immigration-links { justify-content: center; gap: 2rem; margin-top: 2rem; background: #ffffff1a; width: fit-content; margin: 0 auto; padding: 10px 24px; border-radius: 30px; }
.immigration-link { display: flex; align-items: center; gap: 0.5rem; font-weight: 600; color: #fff; text-decoration: none; transition: color 0.2s ease; }
.immigration-link i { font-size: 1.2rem; color: #486BFB; }
.immigration-link:hover { color: #486BFB; }
.immigration-links .badge { height: 2rem; filter: brightness(0) invert(1); }
.clean-list.visa { margin: 0 auto; line-height: 0; padding: 0; width: 456px; max-width: 80vw; }
.clean-list.visa li { border-bottom: 0.18rem dashed rgba(255, 255, 255, 0.2); margin: 0 auto; padding: 16px 0; max-width: 80vw; }
.clean-list.visa li:last-child { border-bottom: none; margin-bottom: 16px; }
.tick.globe { height: 3rem; width: 3rem; color: var(--icon); }
span.hero-img { border-radius: 100px; width: 12rem; height: 12rem; background: grey; background-position: center; background-repeat: no-repeat; background-size: cover; display: inline-block; margin: 0.75rem -0.25rem -0.95rem; background: url(/static/images/hero-image.webp); border: 0.48rem solid var(--black); background-size: cover; background-repeat: no-repeat;}
.single-post-layout { width: 100%; }
.single-post-header { text-align: center; padding: 2rem 1rem 1.5rem; margin-top: 10rem; }
.single-post-header .entry-title { color: var(--headings); /*font-family: 'Reform ST', sans-serif;*/ font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 900; line-height: 0.96; margin-bottom: 0.5rem; max-width: 900px; margin-left: auto; margin-right: auto; }
.single-post-header .entry-meta { font: var(--p2); color: var(--grey); margin-bottom: 0; }
.single-post-header .meta-separator { opacity: 0.5; }
.single-featured-image { max-width: 1200px; margin: 0 auto 3rem; padding: 0 1rem; overflow: hidden; }
.single-featured-image img { display: block; width: 100%; height: auto; border-radius: 2rem; }
.post-body { max-width: 700px; margin: 0 auto; padding: 0 1.75rem 4rem; line-height: 1.5; font: var(--p2); font-weight: 400; color: var(--grey); }
.post-body img { max-width: 100%; height: auto; }
.post-body .alignwide { max-width: 900px; margin-left: auto; margin-right: auto; }
.post-body .alignfull { max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.post-tags { margin-top: 3rem; border-top: 1px solid #eee; padding-top: 1.5rem; font-size: 0.9rem; }
.post-tags p { margin: 0; }
.social-share-links { display: flex; justify-content: flex-start; align-items: center; gap: 1.5rem; margin: 3rem 0; padding-top: 1.5rem; border-top: 1px solid #0000000e; }
.share-label { font-size: 1.1rem; font-weight: 500; color: #9d9d9d; margin-right: 0.5rem; }
.share-link { display: flex; align-items: center; text-decoration: none; font-size: 1.1rem; font-weight: 500; padding: 0.25rem 0.5rem; border-radius: 4px; transition: background-color 0.2s; }
.share-link i { margin-right: 0.5rem; font-size: 1.25em; }
.x-share:hover { color: #1DA1F2; }
.facebook-share, .x-share {color: var(--link);}
.facebook-share:hover { color: #1877F2; }
:root { font-family: Inter, sans-serif; font-feature-settings: 'liga' 1, 'calt' 1; font-variation-settings: "opsz" 32; }
@supports (font-variation-settings: normal) { :root { font-family: InterVariable, sans-serif; } }
.visa-cta-section { position: relative; padding: 6rem 0; min-height: 400px; background-size: cover; background-position: center; background-repeat: no-repeat; color: white; text-align: center; overflow: hidden; }
.visa-cta-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); z-index: 1; }
.visa-cta-content { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
.cta-title { font-size: clamp(2rem, 5vw, 3.5rem); margin-top: 0; margin-bottom: 0.5rem; font-weight: 700; }
.cta-subtitle { font-size: 1.3rem; margin-bottom: 3rem; opacity: 0.9; }
.visa-links-wrapper { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; }
.visa-cta-link { display: flex; align-items: center; justify-content: center; padding: 1rem 1.5rem; text-decoration: none; font-weight: 600; white-space: nowrap; background-color: var(--bg-mid); border-radius: 3rem; color: var(--headings); transition: all 0.2s ease-in-out; gap: .75rem; }
.visa-cta-link:hover { background-color: var(--accent); color: var(--white); transform: translateY(-8px); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); }
.star-rating { display: flex; justify-content: center; }
.star { width: 4rem; height: 4rem; margin: 0 -0.15rem;}
.mb { margin-bottom: 1.5rem; }
.booking-cta { display: none !important; }
.is-page-book-consultation .booking-cta { display: inline-block !important; }
/* .is-page-book-consultation .nav-item, .is-page-book-consultation #uk-submenu { display: none !important; } */
/* Masonry Grid (Mobile-First) */
.masonry-grid { width: 90vw; margin: 0 auto; padding: 4rem 0 0; column-gap: 6rem; column-count: 1;}
.masonry-card { display: inline-block; width: 100%; margin-bottom: 2rem; overflow: hidden; -webkit-column-break-inside: avoid; break-inside: avoid; transition: transform 0.2s; }
.masonry-card .post-link { display: block; text-decoration: none; color: inherit; }
.masonry-card .post-thumb, .related-card .post-thumb { width: 100%; height: auto; overflow: hidden; max-width: 100%px; max-height: 456px; margin-left: auto; margin-right: auto; border-radius: 1rem;}
.masonry-card .post-thumb img, .related-card .post-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; }
.masonry-card .card-content { padding: 1.5rem 0; }
.masonry-card .loop-title { margin-top: 0; margin-bottom: 0.5rem; font: var(--h3); font-size: 1.5rem; line-height: 1.2; color: var(--cafe); font-weight: 800; }
.masonry-card .card-meta { font-size: var(--fs); color: var(--font10); color: var(--grey); display: flex; gap: 0.5rem; }
[data-theme="dark"] .masonry-card .loop-title {color: var(--crem);}
.masonry-card .card-category a { font-weight: 800; text-transform: uppercase; color: var(--link); margin-right: 0.5rem; }
.masonry-card .card-date { display: block; font-weight: 400; }
@media (min-width: 1401px) { .masonry-grid { column-count: 1; column-gap: 12rem; padding: 10rem 0 0; width: 42vw; } }
@media (max-width: 1400px) { .masonry-grid { column-count: 1; column-gap: 2rem; width: 48vw; padding: 10rem 0 0} }
@media (max-width: 1024px) { .masonry-grid { column-count: 1; column-gap: 1.5rem; width: 66vw; } }
@media (max-width: 600px) { .masonry-grid { column-count: 1; padding: 9rem 0 0; width: 92vw; } }

/* -------------------------------------------------------------------------- */
/* Mobile Only: Max Width 767px */
/* Responsive Nav: Hides Desktop Nav, Shows Hamburger */
/* Flex-Basis: Enforces 100% width for all columns */
/* -------------------------------------------------------------------------- */
@media (max-width: 767px) {
/* Navigation Overrides: Hamburger is visible, main nav is hidden/mobile-styled */
.hamburger { display: block; cursor: pointer; z-index: 2; position: relative; width: 43px; }
.navbar { width: 95vw; padding: 0 5vw; backdrop-filter: blur(6.3px); -webkit-backdrop-filter: blur(6.3px); position: fixed; top: 1.75vh; left: 2.5vw; border-radius: 4rem; }
.nav-menu { position: fixed; top: -1.75vh; left: -2.5vw; width: 100vw; height: 100vh; flex-direction: column; align-items: flex-start; justify-content: flex-start; background: var(--bg-subtle); transition: all 0.6s ease; padding: 0; opacity: 0; visibility: hidden; z-index: 1; }
.nav-menu.active { padding: 16rem 20px 0; opacity: 1; visibility: visible; top: -1.75vh; width: 100vw; left: -2.5vw; }
.nav-item { margin: 0; text-align: left; bottom: 0vh; left: 0; opacity: 0; transition: var(--transition); transform: translateY(3vh); z-index: -999999; width: 100%;}
.nav-link { font: var(--h2); font-weight: 800; color: var(--accent); }
.nav-item.mobile, .nav-link.mobile, .mobile { display: block; } /* Show mobile-only links */
.nav-item a { padding: 8px 20px; width: auto;}
.nav-menu.active .nav-item { bottom: 0; left: 0; opacity: 1; transition: var(--transition); transform: translateY(2vh); transition-delay: 0.25s; z-index: 999999; padding: 0; }
/* .nav-link.current  :after { display: none; } */
.dropdown-arrow { display: inline-flex; align-items: center; } /* Show arrow for dropdowns on mobile */
/* Layout Overrides: Columns are full width */
.column, .column--flex { flex: 1 100%; flex-basis: 100%; }
.is-page-visa-advice #a { display: none; }
.post-image-wrapper { padding-bottom: 100%; height: 100%; }
.mobile-only { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.show-reviews, .landing-page-tel { display: block; }
/* .landing-page-tel a.highlight { padding: 6px 4px; border-radius: 4px; margin: ;} */
.mobile--centre { align-items: center; }
.float { height: 66vw; }
.row--flex .row--50 { flex: 1 47vh; align-content: center; }
.row--visas.mt4 { margin-top: 0; }
.review-badges { gap: 0.5rem; flex-direction: column; }
.category-filter { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 16px 16px 0; margin: 60px 0 32px; }
.category-filter li { flex: 0 0 auto; }
.search-form { width: 100%; }
footer .column--flex, footer .copyr .column--flex { flex-basis: 50%; width: 50%; align-items: center; justify-content: center; }
footer #fn.column--flex { flex-basis: 50%; width: 50%; align-items: flex-start; justify-content: center; }
footer .row--flex { flex-wrap: wrap; justify-content: space-between; align-items: flex-start; padding: 3rem 0 0 ;}
footer #fl.column--flex { flex-direction: column; align-items: flex-start; justify-content: center; }
footer #fr.column--flex { flex-direction: column; align-items: flex-end; justify-content: center; }
footer #fn.column--flex.offices {flex-basis: 100%; width: 100%; }
#fr, #fl { flex: 100%; }
.is-page-book-consultation #hero { padding: 2rem 2rem 8rem; }
.theme-toggle.tac {text-align: left;}
}
/* -------------------------------------------------------------------------- */
/* Tablet/Mid-Size: Min Width 768px to Max Width 1023px */
/* Responsive Nav: Shows Desktop Nav, Hides Hamburger */
/* Flex-Basis: Sets multi-column layout (48%) */
/* -------------------------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
/* Navigation Overrides: Hide mobile-specific elements */
.hamburger { display: none; }
.nav-menu { display: flex; flex-direction: row; }
.nav-item.mobile, .nav-link.mobile, .mobile { display: none; }

/* Layout Overrides: Multi-column layout */
.column--flex, .team .column--flex { flex-basis: 48%; }
.column.column--flex.column--visas { flex: 1 47%; flex-basis: 47%; }

/* Other Tablet Styles (retained) */
.card { max-width: 100%; flex-basis: 100%; }
.is-page-terms .font-normal, .is-page-privacy .font-normal, .is-page-coronavirus .font-normal { font-size: 2rem; }
#cookie-notice { left: 5% !important; width: 312px !important; transform: translate(-5%, -3.7vh) !important; }
.dashboard .row-fx { flex-direction: row; }
.latepoint-w { margin-top: 128px; }
.navlogo svg, .navlogo { width: 4rem; }
.navlogo svg.smile { width: 8rem; }
img.square, .recent img { height: auto; width: 40vw; }
.team .column--flex, .section-brag .column--flex { flex-basis: 50%; width: 100%; }
.section-terms, .section-privacy { padding: 0 112px; }
.is-page-terms main, .is-page-privacy main, .is-page-coronavirus main { padding-top: 10vh; }
.square.cl, .square.dash { width: 30vw; }
.mt25 { margin-top: 5vh; }
.hero .gap, .is-page-book-consultation .gap { gap: 2.5rem; }
.is-page-book-consultation #a.column--flex .wrap { padding: 0 0 50px; margin-top: 15vh; }
.footer #fl a { margin: 0 12px; }
.footer #fl a:last-child { margin-right: 0px; }
.footer .row--flex { flex-direction: row; width: 100%;}
.vh100 { height: 100vh; }
.smiley svg, .heart svg { height: 16rem; width: 16rem; }
.review-source { width: 10rem; }
.mobile-vh100 { height: 100vh; }
footer .copyr #fr.column--flex { align-items: flex-end; justify-content: flex-end; }
ol { margin-left: 40px; }
.row--flex .row--50 { flex: 1 56vh; }
/* Desktop Dropdown Overrides for this range */
.dropdown-arrow { display: none; }
.nav-item.dropdown:hover > .dropdown-menu { max-height: 500px; opacity: 1; padding: 16px; }
.dropdown-menu { background: var(--dropdown); padding: 16px 0; }
.navbar {padding: 0.5rem 3vw; backdrop-filter: blur(6.3px); -webkit-backdrop-filter: blur(6.3px); position: fixed; top: 1.75vh; left: 50%; transform: translateX(-50%); border-radius: 6rem; box-shadow: 0px 10px 33px -16px #00000038; }
.is-page-visa-advice #hero, .is-page-pricing #hero, .is-page-how-it-works #hero { align-content: center; height: calc(100vh - 6rem); }
#included, #reviews, #faq, #hero, #visas, #pricing-tiers { margin: 0 auto; width: 86vw;}
.sticky { position: -webkit-sticky; position: sticky; top: 0; z-index: 1; }
.wrap { width: 86%; }
}

/* -------------------------------------------------------------------------- */
/* Desktop: Min Width 1024px */
/* Nav is Desktop Default, Flex-Basis is Multi-Column */
/* -------------------------------------------------------------------------- */
@media only screen and (min-width: 1024px) {
/* Nav and Hamburger are controlled by the min-width: 768px query and base styles */
/* Layout styles */
.is-page-visa-advice .vh100, .vh100 { height: 100vh; z-index: 99; }
.row--flex .row--50 { align-content: center; flex: 1 56vh; width: 100%; }
.row--reverse { flex-direction: row-reverse; }
.container-fw { margin: 0 auto; padding: 0; width: 100vw; max-width: 100vw; }
.header .container-fw { width: 90vw; max-width: 90vw; margin: 0 5vw; }
input[type="checkbox"]:checked ~ #overlay { width: 33vw; }
.sec-fx, .post-body { padding: 0px; width: 42vw; margin: 0 auto; }
.is-page-terms .font-normal, .is-page-privacy .font-normal, .is-page-coronavirus .font-normal { font-size: 1.9rem; }
.img-wrap img { border-radius: 48px; }
#cookie-notice { left: 2% !important; width: 322px !important; transform: translate(12%, -8vh) !important; }
.post-pages.container { max-width: 50vw; }
.column { flex-basis: 50%; }
.column--flex, .team .column--flex { flex-basis: 48%; }
.vh100 { height: 100vh; margin: 0; }
.post-pages.container-fw { width: 66vw; max-width: 67vw; margin: 0 auto; padding: 5vh 5vw; }
img.square { height: auto; width: 27vw; }
.recent img { height: auto; width: 16vw; }
.team .column--flex, .section-brag .column--flex { flex-basis: 50%; width: 100%; }
.square.cl, .square.dash { width: 30vw; }
.is-page-terms main, .is-page-privacy main, .is-page-coronavirus main { padding-top: 12vh; margin: 0 auto; }
.wrap { width: 86%; }
.mt25 { margin-top: 10vh; }
.hero .gap, .is-page-book-consultation .gap { gap: 2rem; }
.footer #fl a { margin: 0 12px; }
.footer #fl a:last-child { margin-right: 0px; }
.footer .row--flex { flex-direction: row; margin: auto; padding-top: 5rem; width: 86%; }
.footer.badges { justify-content: space-between; }
.review.row--flex { flex-direction: row; }
.review-source { margin-top: 16px; width: 14rem; }
.mobile-vh100 { height: 100vh; }
footer .copyr #fr.column--flex { align-items: flex-end; justify-content: flex-end; }
ol { margin-left: 40px; }
.sticky { position: -webkit-sticky; position: sticky; top: 0; z-index: 1; }
#included, #reviews, #faq, #hero, #visas, #pricing-tiers { margin: 0 auto; width: 86vw;}
.row--flex.copyr { width: 100%; }
}
/* Desktop Dropdown/Navbar (>= 992px) - Retained for older structures */
@media (min-width: 992px) {
.nav-item.dropdown:hover > .dropdown-menu {border-radius:1rem; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.08); max-height: 500px; opacity: 1; padding: 22px 32px; width: max-content;}
.dropdown-menu { background: var(--dropdown); padding: 22px 32px; }
.dropdown-arrow { display: none; }
.navbar {padding: 0.5rem 3vw; backdrop-filter: blur(6.3px); -webkit-backdrop-filter: blur(6.3px); position: fixed; top: 1.75vh; left: 50%; transform: translateX(-50%); border-radius: 6rem; box-shadow: 0px 10px 33px -16px #00000038; }
.is-page-visa-advice #hero, .is-page-pricing #hero, .is-page-how-it-works #hero { align-content: center; height: calc(100vh - 2rem); margin-bottom: -6rem; }
}
/* Desktop (>= 1080px) */
@media (min-width: 1080px) {
.is-page-visa-advice #a { flex: 1 48vw; height: calc(100vh - 11.5rem); }
.is-page-visa-advice #b { flex: 1 48vw; }
.is-page-visa-advice #hero, .is-page-pricing #hero, .is-page-how-it-works #hero { align-content: center; height: calc(100vh - 2rem); }
.row--flex .row--50 { flex: 1 60vh; }
}
/* Desktop (>= 1176px) */
@media (min-width: 1176px) {
.is-page-visa-advice #a { flex: 1 58vw; height: calc(100vh - 11.5rem); }
.is-page-visa-advice #b { flex: 1 38vw; }
.is-page-visa-advice #hero, .is-page-pricing #hero, .is-page-how-it-works #hero { align-content: center; height: calc(100vh - 2rem); }
.row--flex .row--50 { flex: 1 76.7vh; }
}
#a, #b { overflow: hidden;}
/* Submenu Active/Open State (Triggered by JS click) */
.nav-item.dropdown.open > .dropdown-menu { max-height: 500px; opacity: 1; overflow: visible; padding: 16px 0; border-radius: 2rem; margin: 10px 0; position: relative;}
svg.bolt { height: 2rem; width: 2rem; }
.emoji-wave {height: 2rem; }

/* ==========================================================================
THEME TOGGLE ICON STYLES
========================================================================== */
[data-theme-toggle] .sun-icon,[data-theme-toggle] .moon-icon{line-height:1;transition:opacity .3s ease}
html[data-theme="light"] [data-theme-toggle] .sun-icon{display:none;opacity:0}
html[data-theme="light"] [data-theme-toggle] .moon-icon,html[data-theme="dark"] [data-theme-toggle] .sun-icon{display:inline-block;opacity:1}
html[data-theme="dark"] [data-theme-toggle] .moon-icon{display:none;opacity:0}
@media only screen and (max-width:767px){
.nav-menu{transition:opacity .3s ease}
.nav-menu>.nav-item{transition-property:opacity,transform;transition-timing-function:ease-out;transition-duration:.5s;opacity:0;transform:translateY(-20px);transition-delay:0s}
.nav-menu>.nav-item:nth-child(1){--i:1}
.nav-menu>.nav-item:nth-child(2){--i:2}
.nav-menu>.nav-item:nth-child(3){--i:3}
.nav-menu>.nav-item:nth-child(4){--i:4}
.nav-menu>.nav-item:nth-child(5){--i:5}
.nav-menu>.nav-item:nth-child(6){--i:6}
.nav-menu>.nav-item:nth-child(7){--i:7}
.nav-menu>.nav-item{transition-delay:calc(var(--i) * .1s)}
.navbar.active .nav-menu>.nav-item,.nav-menu.active>.nav-item{opacity:1;transform:translateY(0);transition-delay:calc(var(--i) * .1s)}
.mobile-cta { background: var(--accent); border-radius: 50px; padding: 10px !important; margin-top: 1rem; text-align: center;}
.mobile-cta .nav-link { color: var(--white);}
.mobile-cta .bolt {fill: var(--white) !important;}
}
.is-page-book-consultation .header-theme-switcher {display: none;}
.is-page-book-consultation .navbar {box-shadow: none;}
.booking-page {display: none;}
.is-page-book-consultation .booking-page {display: unset;}
@media (max-width: 767px) {
.is-page-book-consultation .booking-page {display: unset; opacity: 1; transform: translateY(2vh);}
.is-page-book-consultation .nav-link {font:var(--h3);}
.is-page-book-consultation .navbar {align-items: unset; justify-content: center;}
}
.toggle{--size:2rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;width:var(--size);height:var(--size);--ray-size:calc(var(--size)*-0.4);--offset-orthogonal:calc(var(--size)*0.65);--offset-diagonal:calc(var(--size)*0.45);transform:scale(0.75);color:#FF8C00;box-shadow:inset 0 0 0 var(--size),calc(var(--offset-orthogonal)*-1) 0 0 var(--ray-size),var(--offset-orthogonal) 0 0 var(--ray-size),0 calc(var(--offset-orthogonal)*-1) 0 var(--ray-size),0 var(--offset-orthogonal) 0 var(--ray-size),calc(var(--offset-diagonal)*-1) calc(var(--offset-diagonal)*-1) 0 var(--ray-size),var(--offset-diagonal) var(--offset-diagonal) 0 var(--ray-size),calc(var(--offset-diagonal)*-1) var(--offset-diagonal) 0 var(--ray-size),var(--offset-diagonal) calc(var(--offset-diagonal)*-1) 0 var(--ray-size);border-radius:999px;transition:all 500ms;z-index:1}
.toggle:checked{box-shadow:inset calc(var(--size)*0.33) calc(var(--size)*-0.25) 0;color:var(--accent);transform:scale(1)}

/* ==========================================================================
14/ Landing Pages
========================================================================== */
#disclaimer {background: var(--red);border-radius: 4rem 4rem 0 0; color:var(--white); padding: 5rem 3rem 2rem;}
.landing .cta .bolt {fill:var(--font)}
@media (max-width: 600px) {
.landing .navlogo {width: 4.5rem;}
.landing .navi .center--flex {flex-direction: row; gap: 2rem;}
.landing .w--50 {width: 90vw; max-width: 700px;}
}

/* ==========================================================================
15/ Other
========================================================================== */
#step img { width: 100%; margin: 1rem auto 1.5rem;}
.comparison-flex-container{display:flex;flex-direction:column;gap:4rem;align-items:stretch}.comparison-item{width:100%}@media (min-width: 768px){.comparison-flex-container{flex-direction:row;gap:1.5rem;}.comparison-item{width:50%;flex:0 0 50%;}}
.screen-reader-text {display:none;}

/* ==========================================================================
Theme Switcher Positioning (Updated)
========================================================================== */
.header-theme-switcher {
    position: static;
    top: auto;
    right: auto;
    z-index: auto;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 1rem 0
}
@media (min-width: 768px) {
    .header-theme-switcher {
        width:auto;
        padding: 0;
        margin-left: 20px;
        align-self: center
    }
}
.landing container-fw,.navi.column--flex {
    height: 0
}
.is-page-visa-advice #hero,.is-page-49-consultation-offer #hero {
    background-image: url(/static/images/stickers-mobile-1.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 92%;
    width: 100%;
    min-height: 300px
}
html[data-theme="dark"] .is-page-visa-advice #hero, html[data-theme="dark"] .is-page-49-consultation-offer #hero {
    background-image: url(/static/images/dark-stickers-mobile-1.webp);
}
@media (min-width: 601px) {
    .is-page-visa-advice #hero,.is-page-49-consultation-offer #hero {
        background-image:url(/static/images/stickers-desktop-1.webp);
        background-position: center;
    }
    html[data-theme="dark"] .is-page-visa-advice #hero, html[data-theme="dark"] .is-page-49-consultation-offer #hero {
        background-image:url(/static/images/dark-stickers-desktop-1.webp);
    }
}
/* Target the image inside your hero-img div */
.hero-img {
    width: 100%;
    height: 100%; /* Fill the vh100 parent */
}

.hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* This is the "magic" property that stops stretching */
    object-position: center;
    display: block;
}

/* Ensure the parent doesn't have padding that shrinks the image */
#a.column--flex {
    padding: 0; 
    overflow: hidden; /* Keeps the image edges clean */
}
/* Default state (pointing down) */
.nav-item.dropdown .arrow {
    transition: transform 0.3s ease;
    display: inline-block; /* Required for transform to work */
    vertical-align: middle;
}
/* Open state (pointing up) */
.nav-item.dropdown.open .arrow {
    transform: rotate(180deg);
}
:root :where(p.has-background) {padding: 1.25em !important; border-radius: 3rem;}

/* Default Nav Logo Color (usually governed by your --accent) */
.navlogo svg g {
    fill: var(--accent);
    transition: fill 0.4s ease; /* Smooth color transition */
}

/* New Styles when overlapping the footer */
.over-footer .navlogo svg g {
    fill: var(--white) !important;
}

/* If you have text links in your nav, change them too */
.over-footer .nav-link {
    color: var(--white) !important;
}