:root{--navy:#001a2e;--navy2:#00253e;--gold:#f5a623;--ink:#0b1d31;--muted:#697586;--bg:#f7f9fc;--border:#dce3ea}.portal-body{margin:0;background:#fff;color:var(--ink);font-family:"DM Sans",Arial,sans-serif}.portal-body *{box-sizing:border-box}.portal-body a{text-decoration:none}.portal-head{height:82px;background:#001727;color:#fff;display:flex;align-items:center;padding:0 5vw;position:relative;z-index:80}.portal-brand{display:flex;align-items:center;color:#fff;gap:10px;min-width:210px}.portal-brand img{width:46px;height:46px;border-radius:10px;object-fit:cover;border:1px solid #ffffff50}.portal-brand span{font-size:.84rem;line-height:1.05;font-weight:800;letter-spacing:.04em}.portal-brand small{display:block;font-size:.58rem;letter-spacing:.18em;margin-top:5px}.portal-head nav{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}.portal-head nav a{color:#e9f0f5;font-size:.76rem;font-weight:600}.portal-head nav a:hover{color:var(--gold)}.portal-actions{display:flex;align-items:center;gap:14px}.portal-search{font-size:1.6rem;color:#fff}.portal-enquire{background:var(--gold);color:#081a2b!important;padding:14px 20px;border-radius:6px;font-size:.68rem;font-weight:800}.portal-toggle{display:none;border:0;background:transparent;color:#fff;font-size:1.6rem}.portal-mobile{display:none}.portal-hero{height:635px;background-size:cover;background-position:center;position:relative;color:#fff;padding:92px 5vw 0}.portal-hero-copy{max-width:620px}.portal-hero-copy>em{font:2rem "Yellowtail",cursive;color:#fff}.portal-hero-copy>em:after{content:"";display:inline-block;width:75px;height:4px;background:var(--gold);margin-left:12px}.portal-hero h1{font:700 clamp(4rem,6vw,6.8rem)/.98 "Oswald",sans-serif;margin:14px 0 18px;letter-spacing:-.025em}.portal-hero h1 span{color:var(--gold)}.portal-hero-copy>p{max-width:480px;font-size:1rem;line-height:1.7;color:#eef5f7}.hero-benefits{display:flex;gap:28px;margin-top:38px}.hero-benefits>span{display:grid;grid-template-columns:30px auto;column-gap:7px;color:var(--gold);font-size:1.4rem}.hero-benefits b{font-size:.72rem;color:#fff}.hero-benefits small{grid-column:2;font-size:.61rem;color:#cbd6dc;margin-top:4px}.portal-finder{position:absolute;left:5vw;right:5vw;bottom:-38px;background:#fff;border-radius:12px;padding:13px;box-shadow:0 12px 32px #00172a29;display:grid;grid-template-columns:repeat(4,1fr) 180px;color:var(--ink)}.portal-finder label{padding:8px 18px;border-right:1px solid var(--border);font-size:.63rem;color:#7c8792;display:grid;grid-template-columns:20px 1fr}.portal-finder label>span{grid-row:2;color:var(--ink);font-size:1rem}.portal-finder select{grid-column:2;border:0;background:#fff;font:600 .75rem "DM Sans";color:var(--ink);outline:0;width:100%}.portal-finder button{border:0;background:var(--navy);color:#fff;border-radius:8px;font:800 .68rem "DM Sans";letter-spacing:.03em}.portal-section{padding:82px 5vw}.portal-title small{display:block;color:var(--gold);font-size:.62rem;font-weight:800;letter-spacing:.12em;margin-bottom:7px}.portal-title h2{font:700 2rem "DM Sans";margin:0}.portal-title.center{text-align:center}.portal-title-row{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.portal-title-row>a{color:var(--ink);border:1px solid #9aa9ba;border-radius:6px;padding:11px 16px;font-size:.62rem;font-weight:800}.country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.country-grid>a{height:255px;background-size:cover;background-position:center;border-radius:11px;padding:24px;color:#fff;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}.country-grid b{font-size:1.25rem}.country-grid span{font-size:.68rem;margin-top:5px}.country-grid i,.state-grid i{position:absolute;right:18px;bottom:18px;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-style:normal}.states{padding-top:25px}.state-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.state-grid>a{height:190px;background-size:cover;background-position:center;border-radius:9px;padding:18px;color:#fff;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}.state-grid b{font-size:.85rem}.state-grid span{font-size:.6rem;margin-top:5px}.state-grid i{width:25px;height:25px;right:12px;bottom:13px}.portal-dark{background:linear-gradient(135deg,#001729,#002b47);color:#fff;padding:65px 5vw}.portal-title.light h2{color:#fff}.portal-dark .portal-title-row>a{color:#fff;border-color:#ffffff55}.portal-tour-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.portal-tour-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 6px 18px #00142720}.portal-tour-card>a{color:var(--ink)}.portal-tour-photo{height:180px;background-size:cover;background-position:center;position:relative}.portal-tour-photo span{position:absolute;left:10px;top:10px;background:var(--gold);color:#0b1d31;padding:5px 8px;border-radius:4px;font-size:.52rem;font-weight:800}.portal-tour-photo i{position:absolute;right:12px;top:9px;color:#fff;font-size:1.4rem;font-style:normal}.portal-tour-body{padding:14px}.portal-tour-body>small{color:var(--gold);font-weight:800;font-size:.56rem;text-transform:uppercase}.portal-tour-body h3{font-size:.82rem;min-height:38px;margin:6px 0 10px}.portal-tour-body>p{margin:5px 0;color:#6d7783;font-size:.59rem}.portal-tour-body>div{border-top:1px solid var(--border);margin-top:11px;padding-top:11px;display:flex;align-items:center;gap:7px}.portal-tour-body>div b{font-size:.85rem}.portal-tour-body del{color:#9da5ad;font-size:.58rem}.portal-tour-body strong{margin-left:auto;color:var(--gold);font-size:.55rem}.portal-trust{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin:50px 10px 32px}.portal-trust article{display:flex;gap:10px}.portal-trust i{color:var(--gold);font-style:normal;font-size:1.55rem}.portal-trust b,.portal-trust small{display:block}.portal-trust b{font-size:.67rem}.portal-trust small{font-size:.56rem;color:#9fb1bd;margin-top:5px}.portal-numbers{background:#fff;color:var(--ink);border-radius:16px;display:grid;grid-template-columns:repeat(4,1fr);padding:24px}.portal-numbers article{text-align:center;border-right:1px solid var(--border)}.portal-numbers article:last-child{border:0}.portal-numbers b{display:block;font-size:1.6rem}.portal-numbers span{font-size:.62rem;color:#6c7782}.review-grid{display:grid;grid-template-columns:1fr repeat(3,1.35fr);gap:16px}.review-grid article{border:1px solid var(--border);border-radius:9px;padding:22px;background:#fff}.review-grid b,.review-grid small{display:block}.review-grid p{font-size:.7rem;line-height:1.65;color:#687482}.review-grid span{color:var(--gold);font-size:.72rem}.rating-card{background:#f7f9fc!important}.rating-card b{font-size:2rem}.rating-card strong{font-size:1.6rem;color:#4285f4}.avatar{width:40px;height:40px;background:#e7edf4;border-radius:50%;display:grid;place-items:center;font-size:.65rem;font-weight:800;margin-bottom:12px}.question-banner{margin:0 5vw 30px;padding:35px 45px!important;border-radius:12px;background:linear-gradient(90deg,#f7f8fa,#e9edf1);display:flex;align-items:center;justify-content:space-between}.question-banner small{color:var(--gold);font-weight:800}.question-banner h2{margin:5px 0;font-size:1.5rem}.question-banner p{margin:0;color:#6b7580;font-size:.75rem}.question-banner>a{background:var(--gold);color:var(--ink);padding:14px 20px;border-radius:6px;font-size:.65rem;font-weight:800}.inspiration{padding-top:45px}.inspiration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.inspiration-grid article{height:280px;background-size:cover;background-position:center;border-radius:10px;color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:end}.inspiration-grid small{color:var(--gold);font-size:.58rem;font-weight:800}.inspiration-grid h3{margin:8px 0;font-size:1.05rem}.inspiration-grid span{font-size:.58rem;color:#dce5eb}.portal-footer{background:#001727;color:#b7c5cf;padding:60px 5vw 20px}.portal-footer-grid{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:45px}.portal-footer-grid>div{display:flex;flex-direction:column;gap:10px}.portal-footer-grid>div>b{color:#fff;font-size:.65rem;letter-spacing:.08em;margin-bottom:8px}.portal-footer-grid a{color:#b7c5cf;font-size:.64rem}.portal-footer-grid p{font-size:.64rem;line-height:1.6;margin:0}.portal-foot-brand>p{max-width:260px}.foot-social{display:flex;gap:7px}.foot-social a{width:30px;height:30px;border:1px solid #ffffff35;border-radius:50%;display:grid;place-items:center}.portal-copyright{border-top:1px solid #ffffff18;margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;font-size:.58rem}

/* Inner pages inherit the portal look */
.portal-body .page-hero{background-color:var(--navy);height:430px}.portal-body .page-hero h1{font-family:"Oswald";text-transform:uppercase}.portal-body .listing-shell,.portal-body .destination-grid,.portal-body .season-pages,.portal-body .gallery-page,.portal-body .about-story,.portal-body .founder-grid,.portal-body .contact-shell,.portal-body .policy-layout,.portal-body .detail-shell{background:#f7f9fc}.portal-body .hero-btn,.portal-body .gateway{background:var(--gold);color:var(--ink)}.portal-body .destination-grid>a{border-radius:10px}.portal-body .section-label{color:var(--gold)}.portal-body .detail-jump-book{background:var(--gold);color:var(--ink)!important}.portal-body .detail-price{background:var(--navy)}.portal-body .detail-booking{border-radius:0 0 8px 8px}.portal-body .route-strip{background:#eef3f7!important;border-color:#d8e2ea;color:var(--ink)!important}.portal-body .route-strip>span{color:var(--gold)!important}.portal-body .route-strip p{color:var(--ink)!important}.portal-body .route-strip b{background:var(--gold)!important;color:var(--ink)}.portal-body .itinerary-premium details[open]{border-color:var(--gold)!important}.portal-body .policy-hero{background:var(--navy)}

@media(max-width:1100px){.portal-head nav{display:none}.portal-toggle{display:block}.portal-mobile{position:absolute;left:0;right:0;top:82px;background:#001727;padding:20px 5vw;display:none;flex-direction:column;gap:0;border-top:1px solid #ffffff20}.portal-mobile.open{display:flex}.portal-mobile>a{color:#fff;padding:13px 0;border-bottom:1px solid #ffffff12;font-size:.76rem}.portal-mobile .portal-enquire{margin-top:12px;text-align:center}.portal-finder{grid-template-columns:repeat(2,1fr) 150px}.portal-finder label:nth-of-type(3),.portal-finder label:nth-of-type(4){display:none}.state-grid{grid-template-columns:repeat(3,1fr)}.portal-tour-grid{grid-template-columns:repeat(3,1fr)}.portal-tour-grid .portal-tour-card:nth-child(n+4){display:none}.portal-trust{grid-template-columns:repeat(3,1fr)}.portal-footer-grid{grid-template-columns:1.5fr repeat(2,1fr)}}
@media(max-width:700px){.portal-head{height:70px;padding:0 4vw}.portal-brand{min-width:auto}.portal-brand img{width:40px;height:40px}.portal-brand span{font-size:.7rem}.portal-actions .portal-enquire,.portal-search{display:none}.portal-mobile{top:70px}.portal-hero{height:700px;padding:75px 6vw 0;background-position:63% center}.portal-hero-copy>em{font-size:1.6rem}.portal-hero h1{font-size:3.8rem}.portal-hero-copy>p{font-size:.8rem;max-width:310px}.hero-benefits{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portal-finder{left:5vw;right:5vw;bottom:-220px;display:grid;grid-template-columns:1fr;padding:12px;background:#071c2e}.portal-finder label,.portal-finder label:nth-of-type(3),.portal-finder label:nth-of-type(4){display:grid;background:#fff;border:0;border-bottom:1px solid var(--border);padding:11px 14px}.portal-finder button{height:48px;background:var(--gold);color:var(--ink)}.countries{padding-top:275px}.portal-section{padding:60px 5vw}.portal-title h2{font-size:1.55rem}.country-grid{display:flex;overflow:auto}.country-grid>a{min-width:84vw;height:220px}.state-grid{display:flex;overflow:auto}.state-grid>a{min-width:42vw;height:190px}.portal-dark{padding:55px 5vw}.portal-title-row{align-items:center}.portal-title-row>a{padding:9px;font-size:.52rem}.portal-tour-grid{display:flex;overflow:auto}.portal-tour-grid .portal-tour-card:nth-child(n){display:block}.portal-tour-card{min-width:72vw}.portal-trust{grid-template-columns:1fr 1fr;margin:38px 0}.portal-trust article:last-child{display:none}.portal-numbers{grid-template-columns:1fr 1fr;gap:20px}.portal-numbers article{border:0}.review-grid{display:flex;overflow:auto}.review-grid article{min-width:82vw}.question-banner{margin:0 5vw 20px;display:block;padding:28px!important}.question-banner>a{display:inline-block;margin-top:20px}.inspiration-grid{display:flex;overflow:auto}.inspiration-grid article{min-width:82vw;height:250px}.portal-footer-grid{grid-template-columns:1fr 1fr;gap:35px 25px}.portal-foot-brand{grid-column:1/-1}.portal-copyright{display:block;line-height:2}.portal-body .page-hero{height:360px}.portal-body .detail-shell{padding-top:45px}}

.portal-inner-hero{height:390px;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:end;color:#fff;padding:0 6vw 60px}.portal-inner-hero small{color:var(--gold);font-size:.65rem;font-weight:800;letter-spacing:.14em}.portal-inner-hero h1{font:700 4rem "Oswald";margin:9px 0;text-transform:uppercase}.portal-inner-hero p{margin:0;color:#dce6ed}.portal-listing{background:#f5f7fa;padding:60px 5vw 85px;display:grid;grid-template-columns:250px 1fr;gap:35px}.portal-listing aside{background:#fff;border:1px solid var(--border);padding:22px;height:max-content;position:sticky;top:20px}.filter-heading{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:15px;margin-bottom:18px}.filter-heading b{font-size:.7rem}.filter-heading span{font-size:.6rem;color:#84909b}.portal-listing form label{display:flex;flex-direction:column;gap:7px;margin:14px 0;font-size:.56rem;font-weight:800;color:#6d7782}.portal-listing input,.portal-listing select{width:100%;height:43px;border:1px solid var(--border);background:#fff;padding:0 11px;font:600 .68rem "DM Sans"}.portal-listing form button{width:100%;height:44px;background:var(--gold);border:0;border-radius:5px;color:var(--ink);font:800 .62rem "DM Sans"}.portal-listing form>a{display:block;text-align:center;font-size:.58rem;color:#79838e;margin-top:13px}.results-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.results-bar h2{margin:0;font-size:1.5rem}.results-bar span{font-size:.65rem;color:#75808b}.light-grid{grid-template-columns:repeat(4,1fr)}.light-grid .portal-tour-card{border:1px solid var(--border)}.destination-catalog{background:#f7f9fc}.destination-catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.destination-catalog-grid>a{height:340px;background-size:cover;background-position:center;color:#fff;border-radius:10px;padding:25px;display:flex;flex-direction:column;justify-content:end;position:relative}.destination-catalog-grid small{color:var(--gold);font-weight:800;font-size:.56rem}.destination-catalog-grid h2{margin:5px 0;font-size:1.45rem}.destination-catalog-grid p{font-size:.68rem;line-height:1.5;max-width:80%;color:#dfe7ec}.destination-catalog-grid span{font-size:.58rem;font-weight:800}.destination-catalog-grid i{position:absolute;right:24px;bottom:24px;width:38px;height:38px;background:#fff;color:var(--ink);border-radius:50%;display:grid;place-items:center;font-style:normal}.destination-hero{height:560px;background-size:cover;background-position:center;color:#fff;padding:25px 6vw 55px;display:flex;flex-direction:column;justify-content:space-between}.dest-crumb{font-size:.62rem;color:#dce5eb}.dest-crumb a{color:#fff}.destination-hero>div:last-child>small{color:var(--gold);font-size:.62rem;font-weight:800}.destination-hero h1{font:700 5rem "Oswald";text-transform:uppercase;margin:8px 0}.destination-hero p{font-size:.9rem}.destination-hero section{display:flex;gap:35px;margin-top:28px}.destination-hero section span{font-size:.62rem;border-right:1px solid #ffffff45;padding-right:35px}.destination-hero section b{display:block;font-size:1.15rem}.destination-about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.destination-about>div>small{color:var(--gold);font-weight:800;font-size:.62rem}.destination-about h2{font-size:2.2rem;margin:8px 0 18px}.destination-about p{color:#66727e;line-height:1.8;font-size:.82rem}.destination-about ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.7rem}.destination-about li:before{content:"✓";color:var(--gold);margin-right:8px}.destination-about>div>a{display:inline-block;background:var(--navy);color:#fff;padding:13px 18px;border-radius:5px;font-size:.62rem;font-weight:800;margin-top:15px}.destination-collage{display:grid;grid-template-columns:1.3fr .7fr;gap:10px;height:390px}.destination-collage img{width:100%;height:100%;object-fit:cover;border-radius:9px}.destination-collage img:last-child{height:75%;align-self:center}.destination-packages{background:#f7f9fc}.destination-why .portal-trust{grid-template-columns:repeat(4,1fr);margin-bottom:0}
@media(max-width:1100px){.light-grid{grid-template-columns:repeat(3,1fr)}.destination-catalog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.portal-inner-hero{height:330px;padding:0 5vw 40px}.portal-inner-hero h1{font-size:2.8rem}.portal-listing{display:block;padding:35px 5vw 65px}.portal-listing aside{position:static;margin-bottom:30px}.portal-results .portal-tour-grid{display:grid;grid-template-columns:1fr;overflow:visible}.portal-results .portal-tour-card{min-width:0}.destination-catalog-grid{grid-template-columns:1fr}.destination-catalog-grid>a{height:290px}.destination-hero{height:480px}.destination-hero h1{font-size:3.5rem}.destination-hero section{gap:15px}.destination-hero section span{padding-right:15px}.destination-about{grid-template-columns:1fr;gap:35px}.destination-collage{height:300px}.destination-packages .portal-tour-grid{display:flex}.destination-why .portal-trust{grid-template-columns:1fr 1fr}}

/* Remaining public pages */
.portal-body .season-pages{padding:70px 5vw}.portal-body .season-pages>article{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden;margin-bottom:22px}.portal-body .season-title{background:var(--navy);color:#fff}.portal-body .season-title>span{color:var(--gold)}.portal-body .season-links>a{border-color:var(--border)}.portal-body .season-links>a i{color:var(--gold)}.portal-body .view-season{background:var(--gold)!important;color:var(--ink)!important}.portal-body .gallery-page{padding:65px 5vw}.portal-body .gallery-filter button{border:1px solid var(--border);border-radius:5px;background:#fff}.portal-body .gallery-filter button.active{background:var(--navy);color:#fff}.portal-body .media-tile{border-radius:10px;overflow:hidden}.portal-body .gallery-admin-note{background:var(--navy);color:#fff;border-radius:10px}.portal-body .about-story h2,.portal-body .contact-info h2,.portal-body .policy-layout h2,.portal-body .detail-content h2{font-family:"DM Sans";font-weight:700}.portal-body .values{background:#f7f9fc}.portal-body .values article{background:#fff;border-color:var(--border)}.portal-body .values article>span,.portal-body .values article>i{color:var(--gold)}.portal-body .founder-grid article{border-color:var(--border);border-radius:10px;overflow:hidden}.portal-body .founder-grid small{color:var(--gold)}.portal-body .contact-shell form{border-radius:10px;border-color:var(--border)}.portal-body .contact-shell form button{background:var(--gold);color:var(--ink);border-radius:5px}.portal-body .contact-info article>span{color:var(--gold)}.portal-body .policy-layout aside{background:#fff;border:1px solid var(--border);border-radius:8px}.portal-body .policy-notice{background:#eaf1f6;border-color:#ccdae4}.portal-body .payment-shell{border-radius:10px;border-color:var(--border);box-shadow:0 12px 35px #00172a12}.portal-body .detail-hero{height:600px}.portal-body .detail-title h1{font-family:"Oswald";text-transform:uppercase}.portal-body .detail-title>span{color:var(--gold)}.portal-body .detail-title b{border-radius:5px;background:#001729d9}.portal-body .detail-jump{font-family:"DM Sans"}.portal-body .detail-shell{grid-template-columns:minmax(0,1fr) 370px;gap:42px;padding:65px 6vw}.portal-body .experience-grid article{border-radius:7px;border-color:var(--border)}.portal-body .experience-grid article>span,.portal-body .day-title small{color:var(--gold)}.portal-body .route-strip{border-radius:9px}.portal-body .route-strip>div>div{border-color:#d6e0e8;border-radius:7px}.portal-body .itinerary-premium details{border-color:var(--border)!important}.portal-body .day-badge{background:#eaf1f6}.portal-body .include-grid>div{border-radius:8px;border-color:var(--border)}.portal-body .detail-gallery>div{border-radius:8px}.portal-body .safety-note{background:#eaf1f6;border-radius:8px}.portal-body .detail-price{border-radius:9px 9px 0 0}.portal-body .detail-booking input,.portal-body .detail-booking select{border-color:var(--border);background:#f9fbfc}.portal-body .mobile-book-bar{background:var(--navy)}.portal-body .mobile-book-bar strong{background:var(--gold);color:var(--ink)}
@media(max-width:1050px){.portal-body .detail-shell{grid-template-columns:1fr}.portal-body .booking-aside{max-width:650px;width:100%;margin:auto}}
@media(max-width:700px){.portal-body .season-pages,.portal-body .gallery-page{padding:45px 5vw}.portal-body .detail-hero{height:530px}.portal-body .detail-title h1{font-size:3rem!important}.portal-body .detail-shell{padding:45px 5vw}.portal-body .route-strip{margin-inline:-5vw;border-radius:0}.portal-body .policy-layout{padding-inline:5vw}}

/* Premium balanced footer fix */
.portal-footer{
    position:relative;
    background:linear-gradient(135deg,#001522 0%,#00253d 100%) !important;
    color:#b9c8d2;
    padding:70px 5vw 22px !important;
    border-top:4px solid #f5a623;
}

.portal-footer-grid{
    width:100%;
    max-width:1450px;
    margin:0 auto;
    display:grid !important;
    grid-template-columns:1.55fr 1fr 1.2fr 1.15fr 1.35fr !important;
    gap:50px !important;
    align-items:start;
}

.portal-footer-grid>div{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px !important;
    min-width:0;
}

.portal-foot-brand{
    padding-right:25px;
}

.portal-footer .portal-brand{
    min-width:0;
    margin-bottom:10px;
}

.portal-footer .portal-brand img{
    width:55px;
    height:55px;
    border-radius:9px;
}

.portal-footer .portal-brand span{
    color:#fff;
    font-size:.9rem;
}

.portal-footer-grid>div>b{
    color:#fff !important;
    font-size:.72rem !important;
    letter-spacing:.1em;
    margin-bottom:8px !important;
    position:relative;
    padding-bottom:12px;
}

.portal-footer-grid>div>b::after{
    content:'';
    position:absolute;
    left:0;
    bottom:0;
    width:32px;
    height:2px;
    background:#f5a623;
}

.portal-footer-grid a{
    color:#b9c8d2 !important;
    font-size:.73rem !important;
    line-height:1.45;
    transition:.2s ease;
}

.portal-footer-grid a:hover{
    color:#f5a623 !important;
    transform:translateX(3px);
}

.portal-footer-grid p{
    color:#b9c8d2;
    font-size:.72rem !important;
    line-height:1.7 !important;
    word-break:break-word;
}

.portal-foot-brand>p{
    max-width:300px !important;
}

.foot-social{
    display:flex !important;
    flex-direction:row !important;
    gap:9px !important;
    margin-top:8px;
}

.foot-social a{
    width:36px !important;
    height:36px !important;
    border:1px solid rgba(255,255,255,.22);
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff !important;
    font-size:.62rem !important;
}

.foot-social a:hover{
    background:#f5a623;
    border-color:#f5a623;
    color:#001522 !important;
    transform:translateY(-2px);
}

.portal-copyright{
    max-width:1450px;
    margin:48px auto 0 !important;
    padding-top:20px !important;
    border-top:1px solid rgba(255,255,255,.13);
    display:flex;
    justify-content:space-between;
    gap:20px;
    color:#8397a5;
    font-size:.66rem !important;
}

@media(max-width:1100px){
    .portal-footer-grid{
        grid-template-columns:1.5fr 1fr 1fr !important;
        gap:45px 35px !important;
    }

    .portal-foot-brand{
        grid-column:1/-1;
        padding-right:0;
    }

    .portal-foot-brand>p{
        max-width:600px !important;
    }
}

@media(max-width:700px){
    .portal-footer{
        padding:55px 6vw 90px !important;
    }

    .portal-footer-grid{
        grid-template-columns:1fr 1fr !important;
        gap:38px 22px !important;
    }

    .portal-foot-brand{
        grid-column:1/-1;
    }

    .portal-footer-grid>div:last-child{
        grid-column:1/-1;
        padding-top:25px;
        border-top:1px solid rgba(255,255,255,.12);
    }

    .portal-copyright{
        display:block !important;
        margin-top:38px !important;
        line-height:1.8;
    }

    .portal-copyright span{
        display:block;
    }
}

@media(max-width:390px){
    .portal-footer-grid{
        grid-template-columns:1fr !important;
    }

    .portal-foot-brand,
    .portal-footer-grid>div:last-child{
        grid-column:auto;
    }
}

/* Final typography and footer correction */
html{
    font-size:16px !important;
}

.portal-body{
    font-size:16px !important;
    line-height:1.5;
}

.portal-head nav a{
    font-size:.9rem !important;
}

.portal-enquire{
    font-size:.78rem !important;
}

.portal-title small,
.portal-inner-hero small,
.portal-hero-copy small{
    font-size:.75rem !important;
}

.portal-title h2{
    font-size:2.35rem !important;
}

.portal-title-row>a{
    font-size:.72rem !important;
}

.portal-hero-copy>p{
    font-size:1.08rem !important;
}

.hero-benefits b{
    font-size:.82rem !important;
}

.hero-benefits small{
    font-size:.7rem !important;
}

.portal-finder label{
    font-size:.72rem !important;
}

.portal-finder select{
    font-size:.86rem !important;
}

.portal-finder button{
    font-size:.77rem !important;
}

.country-grid b{
    font-size:1.45rem !important;
}

.country-grid span,
.state-grid span{
    font-size:.75rem !important;
}

.state-grid b{
    font-size:1rem !important;
}

.portal-tour-body>small{
    font-size:.67rem !important;
}

.portal-tour-body h3{
    font-size:1rem !important;
    line-height:1.35;
    min-height:44px;
}

.portal-tour-body>p{
    font-size:.72rem !important;
}

.portal-tour-body>div b{
    font-size:1rem !important;
}

.portal-tour-body strong{
    font-size:.67rem !important;
}

.portal-trust b{
    font-size:.78rem !important;
}

.portal-trust small{
    font-size:.68rem !important;
}

.portal-numbers span{
    font-size:.75rem !important;
}

.review-grid article b{
    font-size:.88rem;
}

.review-grid article small{
    font-size:.72rem;
    margin-top:4px;
}

.review-grid article p{
    font-size:.82rem !important;
}

.inspiration-grid small{
    font-size:.7rem !important;
}

.inspiration-grid h3{
    font-size:1.25rem !important;
    line-height:1.35;
}

.inspiration-grid span{
    font-size:.72rem !important;
}

/* Footer layout repair */
.portal-footer{
    display:block !important;
    width:100% !important;
    background:#001b2b !important;
    padding:65px 5vw 25px !important;
}

.portal-footer-grid{
    display:grid !important;
    width:100% !important;
    max-width:1450px !important;
    margin:0 auto !important;
    grid-template-columns:1.55fr 1fr 1.15fr 1.15fr 1.35fr !important;
    gap:45px !important;
    align-items:start !important;
}

.portal-footer-grid>div{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    width:auto !important;
    min-width:0 !important;
}

.portal-footer-grid>div>b{
    font-size:.8rem !important;
    line-height:1.35 !important;
    min-height:38px;
}

.portal-footer-grid a{
    font-size:.82rem !important;
    line-height:1.5 !important;
}

.portal-footer-grid p{
    font-size:.8rem !important;
    line-height:1.65 !important;
}

.portal-foot-brand>p{
    max-width:320px !important;
}

.portal-copyright{
    position:static !important;
    float:none !important;
    clear:both !important;
    display:flex !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
    width:100% !important;
    max-width:1450px !important;
    min-height:auto !important;
    margin:45px auto 0 !important;
    padding:20px 0 0 !important;
    border-top:1px solid rgba(255,255,255,.15) !important;
    color:#91a3af !important;
    font-size:.74rem !important;
}

.portal-copyright span{
    position:static !important;
    display:block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
}

@media(max-width:1100px){
    .portal-footer-grid{
        grid-template-columns:1.5fr 1fr 1fr !important;
    }

    .portal-foot-brand{
        grid-column:1/-1 !important;
    }
}

@media(max-width:700px){
    html{
        font-size:16px !important;
    }

    .portal-title h2{
        font-size:1.8rem !important;
    }

    .portal-hero-copy>p{
        font-size:.9rem !important;
    }

    .portal-footer{
        padding:50px 6vw 95px !important;
    }

    .portal-footer-grid{
        grid-template-columns:1fr 1fr !important;
        gap:38px 25px !important;
    }

    .portal-foot-brand{
        grid-column:1/-1 !important;
    }

    .portal-footer-grid>div:last-child{
        grid-column:1/-1 !important;
    }

    .portal-footer-grid a,
    .portal-footer-grid p{
        font-size:.78rem !important;
    }

    .portal-copyright{
        display:block !important;
        margin-top:35px !important;
        font-size:.7rem !important;
        line-height:1.8;
    }
}

@media(max-width:390px){
    .portal-footer-grid{
        grid-template-columns:1fr !important;
    }

    .portal-foot-brand,
    .portal-footer-grid>div:last-child{
        grid-column:auto !important;
    }
}

/* Laravel pagination without Tailwind */
.portal-results nav{
    width:100% !important;
    margin-top:35px !important;
    padding:0 !important;
    display:block !important;
}

.portal-results nav>div:first-child{
    display:none !important;
}

.portal-results nav>div:last-child{
    display:flex !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:20px !important;
}

.portal-results nav>div:last-child>div{
    display:block !important;
}

.portal-results nav p{
    margin:0 !important;
    color:#667482 !important;
    font-size:.82rem !important;
}

.portal-results nav svg{
    width:18px !important;
    height:18px !important;
    max-width:18px !important;
    max-height:18px !important;
    display:block !important;
}

.portal-results nav span[aria-current="page"] span{
    background:#001a2e !important;
    color:#fff !important;
    border-color:#001a2e !important;
}

.portal-results nav a,
.portal-results nav span[aria-disabled="true"] span,
.portal-results nav span[aria-current="page"] span{
    min-width:38px !important;
    height:38px !important;
    padding:0 12px !important;
    border:1px solid #d8e0e7 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff;
    color:#10243a;
    font-size:.78rem !important;
    text-decoration:none !important;
    box-sizing:border-box !important;
}

.portal-results nav a:hover{
    background:#f5a623 !important;
    border-color:#f5a623 !important;
    color:#001a2e !important;
}

.portal-results nav>div:last-child>div:last-child>span{
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
}

@media(max-width:700px){
    .portal-results nav>div:first-child{
        display:flex !important;
        justify-content:space-between !important;
        gap:12px !important;
    }

    .portal-results nav>div:first-child a,
    .portal-results nav>div:first-child span{
        width:auto !important;
        min-width:110px !important;
        height:42px !important;
        padding:0 15px !important;
        border:1px solid #d8e0e7 !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:#fff !important;
        color:#10243a !important;
        font-size:.75rem !important;
    }

    .portal-results nav>div:last-child{
        display:none !important;
    }
}

/* Exact compact app-style mobile homepage */
.mobile-bottom-nav{
    display:none;
}

@media(max-width:700px){

    html,
    body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    .portal-body{
        padding-bottom:72px !important;
        background:#fff;
    }

    /* Transparent header over hero */
    .portal-head{
        position:absolute !important;
        top:0;
        left:0;
        right:0;
        z-index:100;
        height:68px !important;
        padding:10px 4vw !important;
        background:linear-gradient(180deg,rgba(0,20,35,.88),transparent) !important;
    }

    .portal-brand{
        gap:7px;
    }

    .portal-brand img{
        width:38px !important;
        height:38px !important;
        border-radius:7px;
    }

    .portal-brand span{
        font-size:.67rem !important;
        color:#fff;
    }

    .portal-brand small{
        font-size:.45rem !important;
        margin-top:3px;
    }

    .portal-actions{
        margin-left:auto;
        gap:14px;
    }

    .portal-search{
        display:block !important;
        color:#fff !important;
        font-size:1.45rem !important;
    }

    .portal-toggle{
        display:block !important;
        color:#fff;
        font-size:1.5rem;
        padding:0;
    }

    .portal-mobile{
        top:68px !important;
        background:#001a2e !important;
    }

    /* Compact hero */
    .portal-hero{
        height:460px !important;
        padding:88px 4vw 0 !important;
        background-position:62% center !important;
    }

    .portal-hero-copy{
        max-width:270px;
    }

    .portal-hero-copy>em{
        font-size:1.25rem !important;
    }

    .portal-hero-copy>em::after{
        width:42px;
        height:3px;
    }

    .portal-hero h1{
        font-size:2.65rem !important;
        line-height:1 !important;
        margin:10px 0 14px !important;
    }

    .portal-hero-copy>p{
        width:245px;
        font-size:.69rem !important;
        line-height:1.55 !important;
    }

    .hero-benefits{
        position:absolute;
        left:4vw;
        right:4vw;
        bottom:58px;
        display:grid !important;
        grid-template-columns:repeat(4,1fr) !important;
        gap:6px !important;
        margin:0 !important;
    }

    .hero-benefits>span{
        display:grid !important;
        grid-template-columns:22px 1fr !important;
        column-gap:3px !important;
        font-size:1rem !important;
    }

    .hero-benefits b{
        font-size:.48rem !important;
        line-height:1.25;
    }

    .hero-benefits small{
        grid-column:2;
        font-size:.42rem !important;
        line-height:1.2;
    }

    /* Horizontal search exactly like reference */
    .portal-finder{
        left:3vw !important;
        right:3vw !important;
        bottom:-31px !important;
        height:70px !important;
        padding:7px !important;
        border-radius:10px !important;
        display:grid !important;
        grid-template-columns:repeat(4,minmax(0,1fr)) 88px !important;
        gap:0 !important;
        background:#fff !important;
        box-shadow:0 8px 22px rgba(0,22,38,.2) !important;
    }

    .portal-finder label,
    .portal-finder label:nth-of-type(3),
    .portal-finder label:nth-of-type(4){
        display:grid !important;
        grid-template-columns:13px 1fr !important;
        padding:7px 5px !important;
        border:0 !important;
        border-right:1px solid #e1e6eb !important;
        background:#fff !important;
        font-size:.43rem !important;
        overflow:hidden;
    }

    .portal-finder label>span{
        font-size:.65rem !important;
    }

    .portal-finder select{
        min-width:0 !important;
        width:100% !important;
        padding:0 !important;
        font-size:.47rem !important;
        text-overflow:ellipsis;
    }

    .portal-finder button{
        height:56px !important;
        border-radius:7px !important;
        background:#001a2e !important;
        color:#fff !important;
        font-size:.5rem !important;
        padding:0 4px !important;
    }

    /* Tight mobile sections */
    .portal-section{
        padding:42px 3vw !important;
    }

    .countries{
        padding-top:78px !important;
    }

    .portal-title small{
        font-size:.52rem !important;
        margin-bottom:4px !important;
    }

    .portal-title h2{
        font-size:1.22rem !important;
    }

    .portal-title-row{
        margin-bottom:14px !important;
    }

    .portal-title-row>a{
        padding:7px 9px !important;
        font-size:.46rem !important;
    }

    /* Three country cards */
    .country-grid{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:7px !important;
        overflow:visible !important;
        margin-top:16px !important;
    }

    .country-grid>a{
        min-width:0 !important;
        width:auto !important;
        height:150px !important;
        border-radius:7px !important;
        padding:10px !important;
    }

    .country-grid b{
        font-size:.72rem !important;
    }

    .country-grid span{
        font-size:.43rem !important;
    }

    .country-grid i{
        width:20px !important;
        height:20px !important;
        right:7px !important;
        bottom:8px !important;
        font-size:.6rem !important;
    }

    /* Six state cards */
    .states{
        padding-top:15px !important;
    }

    .state-grid{
        display:grid !important;
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        gap:6px !important;
        overflow:visible !important;
    }

    .state-grid>a{
        min-width:0 !important;
        width:auto !important;
        height:115px !important;
        padding:7px !important;
        border-radius:6px !important;
    }

    .state-grid b{
        font-size:.46rem !important;
        line-height:1.2;
        max-width:75%;
    }

    .state-grid span{
        font-size:.36rem !important;
    }

    .state-grid i{
        width:17px !important;
        height:17px !important;
        right:5px !important;
        bottom:6px !important;
        font-size:.5rem !important;
    }

    /* Five tour cards in one row */
    .portal-dark{
        padding:35px 3vw !important;
    }

    .portal-tour-grid{
        display:grid !important;
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        gap:6px !important;
        overflow:visible !important;
    }

    .portal-tour-grid .portal-tour-card:nth-child(n){
        display:block !important;
    }

    .portal-tour-card{
        min-width:0 !important;
        width:auto !important;
        border-radius:5px !important;
    }

    .portal-tour-photo{
        height:105px !important;
    }

    .portal-tour-photo span{
        left:5px !important;
        top:5px !important;
        padding:3px 4px !important;
        font-size:.34rem !important;
    }

    .portal-tour-photo i{
        right:5px !important;
        top:4px !important;
        font-size:.75rem !important;
    }

    .portal-tour-body{
        padding:7px !important;
    }

    .portal-tour-body>small{
        font-size:.36rem !important;
    }

    .portal-tour-body h3{
        min-height:28px !important;
        margin:3px 0 5px !important;
        font-size:.47rem !important;
        line-height:1.25 !important;
    }

    .portal-tour-body>p{
        margin:2px 0 !important;
        font-size:.36rem !important;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .portal-tour-body>div{
        gap:2px !important;
        margin-top:5px !important;
        padding-top:5px !important;
    }

    .portal-tour-body>div b{
        font-size:.48rem !important;
        white-space:nowrap;
    }

    .portal-tour-body del{
        display:none;
    }

    .portal-tour-body strong{
        display:none;
    }

    /* Trust section */
    .portal-trust{
        display:grid !important;
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        gap:7px !important;
        margin:28px 0 22px !important;
    }

    .portal-trust article,
    .portal-trust article:last-child{
        display:flex !important;
        gap:4px !important;
    }

    .portal-trust i{
        font-size:.9rem !important;
    }

    .portal-trust b{
        font-size:.39rem !important;
        line-height:1.2;
    }

    .portal-trust small{
        font-size:.32rem !important;
        line-height:1.2;
    }

    .portal-numbers{
        grid-template-columns:repeat(4,1fr) !important;
        gap:0 !important;
        padding:16px 8px !important;
        border-radius:10px !important;
    }

    .portal-numbers b{
        font-size:1.05rem !important;
    }

    .portal-numbers span{
        font-size:.45rem !important;
    }

    /* Reference mobile only shows core home sections */
    .reviews,
    .question-banner,
    .inspiration,
    .portal-footer{
        display:none !important;
    }

    /* Fixed app navigation */
    .mobile-bottom-nav{
        position:fixed;
        display:grid !important;
        grid-template-columns:repeat(5,1fr);
        left:0;
        right:0;
        bottom:0;
        height:68px;
        padding:7px 5px 5px;
        background:#fff;
        border-top:1px solid #dfe5ea;
        box-shadow:0 -5px 20px rgba(0,23,41,.1);
        z-index:999;
    }

    .mobile-bottom-nav a{
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:3px;
        color:#7a838c;
        font-size:.51rem;
    }

    .mobile-bottom-nav i{
        color:#384551;
        font-size:1.25rem;
        line-height:1;
        font-style:normal;
    }

    .mobile-bottom-nav a.active,
    .mobile-bottom-nav a.active i{
        color:#001a2e;
        font-weight:800;
    }
}

@media(max-width:380px){
    .portal-hero h1{
        font-size:2.35rem !important;
    }

    .portal-finder{
        grid-template-columns:repeat(4,minmax(0,1fr)) 76px !important;
    }

    .portal-tour-photo{
        height:92px !important;
    }
}
