/* A restrained, traditional presentation with concise service information. */
:root{--ink:#203447;--teal:#315e62;--deep:#1d344a;--muted:#58636c;--paper:#f6f6f3;--line:#dcdedb;--radius:4px;--max:100%}
/* Payment choices and fields share the same spacing at every screen size. */
.dukes-legacy #main .checkout-payment .payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
.dukes-legacy #main .checkout-payment .payment-choice{display:flex;align-items:center;gap:10px;min-width:0;padding:14px;border:1px solid #c8d5ce;border-radius:4px;background:white}
.dukes-legacy #main .checkout-payment .payment-choice:has(input:checked){background:#e5f2ec;border-color:#247a40}
.dukes-legacy #main .checkout-payment .payment-choice input{position:static!important;appearance:auto!important;opacity:1!important;float:none!important;width:18px!important;height:18px!important;flex:0 0 18px;margin:0!important}
.dukes-legacy #main .checkout-payment .payment-choice label{padding:0;margin:0;font-weight:600;cursor:pointer}
.dukes-legacy #main .checkout-payment .payment-choice label:before,.dukes-legacy #main .checkout-payment .payment-choice label:after{display:none!important}
.dukes-legacy #main .checkout-payment .payment-card-panel{padding:24px;background:#f5f6f3}
.dukes-legacy #main .checkout-payment .payment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 20px}
.dukes-legacy #main .checkout-payment .payment-field{min-width:0;float:none;width:auto;padding:0}
.dukes-legacy #main .checkout-payment .control-label{display:block;text-align:left;margin:0 0 8px;padding:0;line-height:1.4}
.dukes-legacy #main .checkout-payment .form-control{width:100%;min-width:0;height:48px;box-sizing:border-box}
.dukes-legacy #main .checkout-payment .small{font-size:15px;line-height:1.6;margin:12px 0 20px}
.dukes-legacy #main .checkout-payment .payment-brands{display:block;max-width:100%;width:auto;height:auto;margin-top:8px}
.dukes-legacy #main table[id$="WizardPassportVisa"]{scroll-margin-top:110px}
@media(max-width:600px){.dukes-legacy #main .checkout-payment .payment-methods,.dukes-legacy #main .checkout-payment .payment-fields{grid-template-columns:1fr}.dukes-legacy #main .checkout-payment .payment-card-panel{padding:18px}.dukes-legacy #main .checkout-payment .payment-methods{gap:8px}}
body,body.dukes-legacy{font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.65}
h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.02em;line-height:1.2}
h1{font-size:56px}h2{font-size:34px}h3{font-size:26px}
.eyebrow{font-size:14px;letter-spacing:.08em;color:var(--muted);margin-bottom:18px}.eyebrow:before{display:none}
.nav-row{min-height:88px}.main-nav{font-size:16px;font-weight:600;gap:29px}.main-nav .nav-contact{background:var(--deep);border-radius:3px;color:white!important}
.button{border-radius:3px;background:var(--deep);border-color:var(--deep);min-height:48px;font-size:16px;padding:11px 21px}.button:hover{transform:none;background:#2e4e69}.button.secondary{border-color:var(--deep);background:white;color:var(--deep)}.arrow{font-size:19px}.text-link{font-size:16px}
.hero{background:white;border-bottom:1px solid var(--line)}.hero-grid{grid-template-columns:1fr 1fr;gap:65px;padding-block:48px}.hero-copy{padding:0}.hero-copy h1{font-size:60px;line-height:1.12;margin-bottom:22px}.hero-copy>p:not(.eyebrow){font-size:19px;max-width:400px;margin-bottom:27px}.hero-visual{min-height:340px;height:340px;margin:0}.hero-photo{height:340px;min-height:340px;object-position:center;border-radius:3px}
.section{padding-block:52px}.service-card,.service-card.teal,.service-card.blue{background:white;border:1px solid var(--line);border-top:3px solid var(--deep);border-radius:3px;padding:30px}.service-card h2{font-size:32px;margin-bottom:12px}.service-card p{font-size:17px;margin-bottom:15px}.service-card ul{margin:18px 0 25px;font-size:16px}.support-row{border:0;border-top:1px solid var(--line);border-radius:0;padding:22px 0 0;margin-top:28px}.support-row .text-link{margin:0}
.page-hero{padding-block:30px;background:var(--paper)}.page-hero h1{font-size:46px;margin-bottom:12px}.page-hero .lead{font-size:18px;margin:0;max-width:700px}.breadcrumbs{margin-bottom:18px}
.option{padding:24px;border-radius:3px}.option h2{font-size:25px;margin-bottom:12px}.option p{font-size:16px;margin-bottom:18px}.notice{padding:19px 23px;margin-block:27px}.notice p{font-size:16px}.notice .text-link{font-size:16px}
.destination-box{border-radius:3px;box-shadow:none;padding:28px}.destination-section{gap:60px}.destinations{margin-top:20px}.destinations a{background:white;border-radius:2px}.field{border-radius:3px}.two-column{gap:60px}.checklist{margin-top:0}.prose h3:first-child{margin-top:0}.office-card{border-left:2px solid #b5c2c3;padding:10px 0 10px 30px}.office-card h3{margin-bottom:18px}
.contact-card{border-radius:3px;padding:28px}.contact-card h2{font-size:29px}.contact-item h2{font-family:Arial,sans-serif;font-size:16px;letter-spacing:0;font-weight:700;margin:0 0 6px}.contact-item .small{font-size:14px}.contact-item .icon{width:24px;height:24px}.contact-list{gap:20px}
.cta-band{background:#f1f3f3;border-top:1px solid var(--line);padding-block:32px}.cta-row{gap:25px}.cta-row h2{font-size:32px;margin:0}.site-footer{background:var(--deep);padding-top:38px}.footer-grid{gap:30px;padding-bottom:28px}.footer-grid .brand{margin-bottom:10px}.site-footer h3{font-family:Arial,sans-serif}.footer-links{gap:7px}.footer-bottom{padding-block:17px}.footer-note{font-size:13px;padding-bottom:20px}.mobile-call{box-shadow:none}.mobile-call>span{font-size:13px}.faq summary{font-weight:600}.faq details p{margin-bottom:20px}
.dukes-legacy .legacy-intro{padding:15px 0}.dukes-legacy .legacy-intro p{font-size:16px}.dukes-legacy .contact-card h2{font-family:Georgia,serif}
.dukes-legacy .service-selector{padding:35px 0;background:#f6f6f3;color:#203447}.dukes-legacy .service-selector .intro-text{padding:0}.dukes-legacy .service-selector .intro-heading{font-family:Georgia,serif!important;font-weight:400!important;font-size:40px!important;text-transform:none!important;line-height:1.2!important;margin:0 0 28px!important}.dukes-legacy .service-selector label{color:#203447}.dukes-legacy .login-logo{display:none}.dukes-legacy #main>section{padding:30px 0 50px}.dukes-legacy #main .bg-info,.dukes-legacy #main .bg-light-gray{background:#f5f6f3}.dukes-legacy .login-box{border-radius:3px}
@media(max-width:1100px){.hero-grid{gap:40px}.hero-copy h1{font-size:52px}.main-nav{gap:21px}.destination-section{gap:35px}}
@media(max-width:850px){.nav-row{min-height:82px}.hero-grid{gap:30px}.hero-copy h1{font-size:46px}.hero-copy .actions{display:flex}.hero-visual,.hero-photo{height:330px;min-height:330px}.destination-section{grid-template-columns:1fr}.main-nav{gap:10px}.section{padding-block:42px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.utility-left{display:none}.utility .wrap{justify-content:flex-end}.hero-grid{grid-template-columns:1fr;padding-block:32px;gap:25px}.hero-copy h1{font-size:46px}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-copy .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-copy .button{padding:11px 12px;font-size:14px;gap:8px}.hero-photo,.hero-visual{height:220px;min-height:220px;border-radius:3px}.section{padding-block:35px}.service-card{padding:25px}.service-card h2{font-size:30px}.service-grid{gap:20px}.support-row{gap:10px}.page-hero{padding-block:26px}.page-hero h1{font-size:38px}.page-hero .lead{font-size:17px}.option h2{font-size:26px}.two-column{gap:30px}.contact-card{padding:22px}.cta-row h2{font-size:31px}.cta-row .actions{margin-top:18px}.cta-band{padding-block:27px}.footer-grid{gap:25px 20px}.footer-note{padding-bottom:88px}.destination-box{padding:22px}.office-card{padding-left:22px}}

/* Larger supporting text and controls across marketing and ordering pages. */
.utility,.breadcrumbs{font-size:14px}
.field-label,.destinations a,.small,.contact-item .small{font-size:15px}
.option .text-link,.support-row,.support-row p,.support-row .text-link,.contact-feedback{font-size:16px}
.contact-item p,.faq summary,.faq details p{font-size:17px}
.site-footer,.site-footer p,.site-footer h3,.dukes-legacy .site-footer h3{font-size:15px}
.footer-bottom,.footer-note{font-size:13px}
.dukes-legacy #main .form-control,.dukes-legacy #main select,.dukes-legacy #main textarea,.dukes-legacy #main input[type=text],.dukes-legacy #main input[type=email],.dukes-legacy #main input[type=password],.dukes-legacy #main input[type=date]{font-size:17px}
.dukes-legacy #main .table,.dukes-legacy #main .btn,.dukes-legacy #main input[type=submit]{font-size:16px}
.dukes-legacy .order-help{font-size:15px}
.dukes-legacy #main p,.dukes-legacy #main li{font-size:18px}
/* Arrow bullets apply to content lists, preserving numbered lists and order totals. */
body:not(.dukes-legacy) main ul,
.dukes-legacy #main [id$="PassportRules"] ul,
.dukes-legacy #main .visa-type ul,
.dukes-legacy #main .panel-body ul:not(.list-unstyled),
.dukes-legacy #main ul[id$="LstTouristVisaRules"],
.dukes-legacy #main ul[id$="BulletedList1"]{list-style:none;padding-left:0}
body:not(.dukes-legacy) main ul > li,
.dukes-legacy #main [id$="PassportRules"] ul > li,
.dukes-legacy #main .visa-type ul > li,
.dukes-legacy #main .panel-body ul:not(.list-unstyled) > li,
.dukes-legacy #main ul[id$="LstTouristVisaRules"] > li,
.dukes-legacy #main ul[id$="BulletedList1"] > li,
.dukes-legacy #main .container > li{list-style:none;position:relative;padding-left:1.65em;line-height:1.65}
body:not(.dukes-legacy) main ul > li:before,
.dukes-legacy #main [id$="PassportRules"] ul > li:before,
.dukes-legacy #main .visa-type ul > li:before,
.dukes-legacy #main .panel-body ul:not(.list-unstyled) > li:before,
.dukes-legacy #main ul[id$="LstTouristVisaRules"] > li:before,
.dukes-legacy #main ul[id$="BulletedList1"] > li:before,
.dukes-legacy #main .container > li:before{content:'\279C';position:absolute;left:0;top:0;margin:0;color:#247a40;font-family:Arial,Helvetica,sans-serif;font-size:1.1em;font-weight:700;line-height:1.5}
.dukes-legacy #main .panel-body.bg-info li,.dukes-legacy #main .container > li{margin-bottom:12px}
@media(max-width:600px){.hero-copy .button{font-size:14px;gap:6px}.service-card ul{grid-template-columns:1fr}.mobile-call>span,.mobile-call .button{font-size:14px}.utility{font-size:13px}.footer-grid{column-gap:16px}}

/* Fee options stay inside their section at every window width. */
.country-select{position:relative;display:block;min-width:0;width:100%}
.country-select.has-country-flag>select{padding-left:52px!important}
.country-select>.country-flag{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:28px;height:21px;object-fit:contain;pointer-events:none;box-shadow:0 0 0 1px #d3dbd7;border-radius:1px}
.country-select>.country-flag[hidden]{display:none}
@media(min-width:992px){.dukes-legacy #main .checkout-form-column{width:60%}.dukes-legacy #main .checkout-summary-column{width:40%}}
@media(max-width:991px){.dukes-legacy #main .checkout-form-column,.dukes-legacy #main .checkout-summary-column{width:100%;float:none}.dukes-legacy #main .checkout-summary-column{margin-top:28px}}
.wrap,.dukes-legacy .container{width:calc(100% - 48px);max-width:none;margin-inline:auto}
.dukes-legacy .container .container{width:100%}
.hero-grid,.service-grid,.two-column,.destination-section,.footer-grid{min-width:0}
.hero-grid>*,.service-grid>*,.two-column>*,.destination-section>*,.footer-grid>*{min-width:0}
@media(max-width:767px){.wrap,.dukes-legacy .container{width:calc(100% - 32px)}}
.dukes-legacy #main .fee-table-wrap{width:100%;max-width:100%;overflow-x:auto;margin-block:12px 20px}
.dukes-legacy #main .fee-table{width:100%!important;max-width:100%;margin-bottom:0;table-layout:auto}
.dukes-legacy #main .fee-table th,.dukes-legacy #main .fee-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
.dukes-legacy #main table[id$="WizardPassportVisa"]{width:100%!important;table-layout:fixed}
.dukes-legacy #main [id$="PNLSummary"]{overflow-wrap:anywhere}
@media(max-width:991px){
 .dukes-legacy #main .fee-table-wrap,.dukes-legacy #main .table-responsive{max-width:100%;border:0;overflow-x:auto}
 .dukes-legacy #main .fee-table,.dukes-legacy #main .fee-table>tbody,.dukes-legacy #main .fee-table>thead{display:block;width:100%!important}
 .dukes-legacy #main .fee-table .fee-table-head{position:absolute;width:1px!important;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .dukes-legacy #main .fee-table .fee-option{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-bottom:14px;border:1px solid #c8d5ce;border-radius:4px;background:#fff}
 .dukes-legacy #main .fee-table .fee-option>td{display:block;width:auto!important;min-width:0;border:0;border-bottom:1px solid #e0e6e1;padding:10px 12px;background:transparent;font-size:17px;line-height:1.4;text-align:left!important}
 .dukes-legacy #main .fee-table .fee-option>td:before{content:attr(data-fee-label);display:block;margin-bottom:4px;color:#58636c;font-size:14px;font-weight:600}
 .dukes-legacy #main .fee-table .fee-option>td.fee-total{grid-column:1/-1;background:#eef5ef;color:#18304c;font-weight:700}
 .dukes-legacy #main .fee-table input[type=checkbox]{min-width:22px;min-height:22px}
}
@media(max-width:767px){
 .dukes-legacy #main .row{margin-left:0;margin-right:0}
 .dukes-legacy #main [class*="col-sm-"],.dukes-legacy #main [class*="col-md-"]{width:100%;float:none;padding-left:0;padding-right:0;min-width:0}
 .dukes-legacy #main .form-horizontal .form-group{margin-left:0;margin-right:0}
 .dukes-legacy #main input,.dukes-legacy #main select,.dukes-legacy #main textarea{max-width:100%;box-sizing:border-box}
 .dukes-legacy #main .btn,.dukes-legacy #main input[type=submit]{white-space:normal}
}

/* Contrasting text links remain recognizable without relying on color alone. */
:root{--link-color:#005ea8;--link-hover:#003e73}
main a[href]:not(.button):not(.btn):not(.brand):not(.dashboard-metric),
.legacy-intro a[href],.breadcrumbs a[href],.admin-account a[href]{color:var(--link-color);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
main a[href]:not(.button):not(.btn):not(.brand):not(.dashboard-metric):hover,
.legacy-intro a[href]:hover,.breadcrumbs a[href]:hover,.admin-account a[href]:hover{color:var(--link-hover);text-decoration-thickness:2px}
main .text-link{border-bottom:0}
a[href]:focus-visible{outline:3px solid #005ea8;outline-offset:4px;border-radius:2px}
.site-footer a[href]:not(.brand),.utility a[href]{color:#bce4ff;text-decoration:underline;text-underline-offset:3px}
.site-footer a[href]:not(.brand):hover,.utility a[href]:hover{color:#fff}
.site-footer a[href]:focus-visible,.utility a[href]:focus-visible,.admin-navigation a[href]:focus-visible{outline-color:#bce4ff}
