*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f8fa;color:#17385d;font:15px/1.6 Inter,Arial,sans-serif}.concierge-wrap{width:min(1160px,calc(100% - 36px));margin:auto}.concierge-nav{position:sticky;top:0;z-index:20;display:flex;min-height:72px;align-items:center;justify-content:space-between;padding:10px max(18px,calc((100% - 1160px)/2));border-bottom:1px solid #dce7ed;background:#fffffff2;backdrop-filter:blur(14px)}.concierge-brand img{display:block;width:190px;max-height:48px;object-fit:contain}.nav-action,.primary-action{display:inline-flex;justify-content:center;border-radius:10px;background:#177f75;color:#fff;padding:12px 17px;text-decoration:none;font-weight:800}.concierge-hero{padding:76px 0;background:radial-gradient(circle at 85% 8%,#d8f2eb,transparent 38%),linear-gradient(135deg,#fff,#eef6f7)}.hero-layout{display:grid;grid-template-columns:1.18fr .82fr;gap:54px;align-items:center}.eyebrow{color:#177f75;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.concierge-hero h1,.marketplace h2,.plan-copy h2{font-family:Fraunces,Georgia,serif;font-weight:300;line-height:1.02}.concierge-hero h1{margin:10px 0 14px;font-size:clamp(46px,6vw,72px)}.concierge-hero h1 em{color:#177f75;font-style:normal}.hero-lead{font-size:19px;color:#5b7183}.country-line{display:flex;gap:9px;flex-wrap:wrap;margin:23px 0}.country-line span{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #d7e5e9;font-size:12px;font-weight:700}.hero-note{padding:28px;border:1px solid #cfe0e4;border-radius:20px;background:#fff;box-shadow:0 22px 50px #17385d14}.hero-note>b{font:500 27px Fraunces,Georgia,serif}.hero-note p{color:#607687}.hero-note div{display:flex;gap:7px;flex-wrap:wrap}.hero-note span{padding:5px 8px;border-radius:99px;background:#e8f6f2;color:#177f75;font-size:10px;font-weight:800}.marketplace{padding:72px 0}.marketplace h2,.plan-copy h2{margin:8px 0;font-size:clamp(35px,4.5vw,52px)}.section-intro{margin:0 0 28px;color:#607687}.service-marketplace{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.service-marketplace article{display:flex;min-height:250px;flex-direction:column;padding:19px;border:1px solid #d8e5eb;border-radius:15px;background:#fff}.service-marketplace i{font-size:25px;font-style:normal}.service-marketplace h3{margin:13px 0 6px;font-size:15px;line-height:1.25}.service-marketplace p{margin:0;color:#657b8c;font-size:11px;line-height:1.5}.service-marketplace button{margin-top:auto;padding:13px 0 0;border:0;background:none;color:#177f75;text-align:left;font-weight:900;text-transform:uppercase;font-size:10px;cursor:pointer}.plan-section{padding:76px 0;background:#17385d;color:#fff;scroll-margin-top:70px}.plan-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:42px;align-items:start}.plan-copy{position:sticky;top:100px}.plan-copy .eyebrow{color:#75d6c4}.plan-copy p{color:#c2d3df}.coordination-note{display:grid;gap:6px;margin-top:25px;padding:16px;border-left:3px solid #75d6c4;background:#ffffff0b}.coordination-note span{color:#c2d3df;font-size:12px}.concierge-request{padding:25px;border-radius:20px;background:#fff;color:#17385d}.service-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 22px;padding:0;border:0}.service-checks legend{grid-column:1/-1;margin-bottom:9px;font-weight:900}.service-checks label{display:flex;align-items:center;gap:8px;min-height:43px;padding:9px;border:1px solid #d7e4ea;border-radius:9px;background:#f8fbfc;font-size:11px;font-weight:700;cursor:pointer}.service-checks input{width:17px;height:17px;accent-color:#177f75}.concierge-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.concierge-fields label{display:grid;gap:5px;font-size:11px;font-weight:800}.concierge-fields input,.concierge-fields select,.concierge-fields textarea{width:100%;min-height:46px;padding:11px;border:1px solid #d2e0e7;border-radius:9px;background:#fbfcfd;font:inherit}.concierge-fields textarea{resize:vertical}.concierge-fields .full{grid-column:1/-1}.consent{display:flex!important;align-items:flex-start;grid-template-columns:auto 1fr!important}.consent input{width:19px;min-height:19px;height:19px}.honeypot{position:absolute;left:-10000px}.submit-area button{width:100%;min-height:52px;border:0;border-radius:10px;background:#177f75;color:#fff;font-weight:900;cursor:pointer}.submit-area p{margin:8px 0 0;color:#657b8c;font-size:10px;text-align:center}footer{padding:30px 0;background:#0e2844;color:#c8d7e1}footer .concierge-wrap{display:flex;justify-content:space-between;gap:18px}footer span{font-size:12px}
@media(max-width:950px){.service-marketplace{grid-template-columns:repeat(2,1fr)}.hero-layout,.plan-layout{grid-template-columns:1fr}.plan-copy{position:static}.service-marketplace article{min-height:210px}}
@media(max-width:600px){.concierge-wrap{width:calc(100% - 22px)}.concierge-nav{min-height:62px;padding:8px 11px}.concierge-brand img{width:145px}.nav-action{padding:10px;font-size:11px}.concierge-hero{padding:42px 0}.hero-layout{gap:20px}.concierge-hero h1{font-size:39px}.hero-lead{font-size:15px}.country-line{margin:15px 0}.primary-action{width:100%}.hero-note{padding:18px}.marketplace{padding:45px 0}.marketplace h2,.plan-copy h2{font-size:34px}.service-marketplace{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.service-marketplace article{min-width:0;min-height:160px;padding:13px}.service-marketplace i{font-size:20px}.service-marketplace h3{margin:8px 0 4px;font-size:12px}.service-marketplace p{display:none}.service-marketplace button{font-size:9px}.plan-section{padding:44px 0}.plan-layout{gap:18px}.concierge-request{padding:14px 11px;border-radius:14px}.service-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.service-checks label{min-width:0;min-height:42px;padding:7px;font-size:10px}.concierge-fields{grid-template-columns:1fr;gap:10px}.concierge-fields .full{grid-column:1}.concierge-fields input,.concierge-fields select,.concierge-fields textarea{font-size:16px}.submit-area button{min-height:52px}footer .concierge-wrap{display:grid}}

/* Editorial photography and interactive marketplace */
.hero-note{overflow:hidden;padding:0 0 25px}
.hero-photo{height:220px;margin-bottom:23px;background:linear-gradient(180deg,transparent,#17385d24),url('assets/country-journeys/costa-rica-care.webp') center/cover}
.hero-note>b,.hero-note>p,.hero-note>div:not(.hero-photo){margin-left:25px;margin-right:25px}
.service-marketplace article{position:relative;overflow:hidden;padding:0 17px 17px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-marketplace article:hover,.service-marketplace article:focus-within{transform:translateY(-6px);border-color:#87c8b9;box-shadow:0 18px 42px #17385d20}
.service-marketplace article{content-visibility:auto;contain-intrinsic-size:310px}.service-photo{height:118px;margin:0 -17px 14px;background:linear-gradient(180deg,transparent 55%,#17385d25),var(--photo) center/cover;transition:transform .4s ease}
.service-marketplace article:hover .service-photo,.service-marketplace article:focus-within .service-photo{transform:scale(1.04)}
.service-marketplace button{display:flex;width:100%;align-items:center;justify-content:space-between;padding-top:13px}
.service-marketplace button::after{content:'↗';display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#e8f6f2;font-size:12px;transition:transform .2s ease}
.service-marketplace button:hover::after,.service-marketplace button:focus::after{transform:translate(2px,-2px)}
.country-line span{position:relative;padding-left:22px}.country-line span::before{position:absolute;left:9px;top:50%;width:6px;height:6px;border-radius:50%;background:#177f75;content:'';transform:translateY(-50%)}
@media(max-width:600px){.hero-note{padding:0 0 18px}.hero-photo{height:155px;margin-bottom:16px}.hero-note>b,.hero-note>p,.hero-note>div:not(.hero-photo){margin-left:16px;margin-right:16px}.service-marketplace article{min-height:205px;padding:0 11px 11px}.service-photo{height:105px;margin:0 -11px 10px}.service-marketplace h3{font-size:12px}.service-marketplace button{margin-top:auto}}

.service-specific-form{padding:20px;border:1px solid #cfe2df;border-radius:14px;background:linear-gradient(135deg,#eff9f6,#f8fbfc)}
.service-form-kicker{color:#177f75;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.service-specific-form h3{margin:5px 0 3px;font:500 25px/1.15 Fraunces,Georgia,serif}
.service-specific-form>p{margin:0 0 15px;color:#657b8c;font-size:11px}
.service-specific-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.service-specific-grid label{display:grid;gap:5px;font-size:11px;font-weight:800}
.service-specific-grid input,.service-specific-grid select{width:100%;min-height:46px;padding:11px;border:1px solid #cddfe3;border-radius:9px;background:#fff;font:inherit}
.service-specific-grid .full{grid-column:1/-1}
.service-specific-form.active{border-color:#70bcae;box-shadow:0 10px 28px #177f7514}
.emergency-warning{display:grid;gap:4px;padding:13px;border-left:4px solid #d34848;background:#fff1f1;color:#7d2727;font-size:11px}
@media(max-width:600px){.service-specific-form{padding:14px 10px}.service-specific-form h3{font-size:21px}.service-specific-grid{grid-template-columns:1fr;gap:9px}.service-specific-grid .full{grid-column:1}.service-specific-grid input,.service-specific-grid select{font-size:16px}}

/* Final mobile optimization */
@media(max-width:600px){
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .concierge-nav{gap:8px}
  .concierge-brand{min-width:0}
  .concierge-brand img{max-width:42vw}
  .nav-action{min-height:44px;align-items:center;white-space:nowrap}
  .hero-layout,.plan-layout,.service-marketplace,.concierge-fields,.service-specific-grid{min-width:0;max-width:100%}
  .concierge-hero h1{font-size:clamp(34px,10.5vw,42px);overflow-wrap:anywhere}
  .country-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .country-line span{min-width:0;padding:7px 5px 7px 17px;text-align:center;font-size:9px}
  .country-line span::before{left:6px}
  .hero-note{border-radius:15px}
  .service-marketplace{width:100%}
  .service-marketplace article{min-height:210px;border-radius:12px;transform:none!important}
  .service-marketplace article:focus-within{border-color:#177f75;box-shadow:0 0 0 3px #177f7522}
  .service-photo{height:108px}
  .service-marketplace h3{overflow-wrap:anywhere;line-height:1.2}
  .service-marketplace button{min-height:44px;padding:8px 0 0;font-size:9px;touch-action:manipulation}
  .service-marketplace button::after{flex:0 0 auto;width:28px;height:28px}
  .plan-section{scroll-margin-top:62px}
  .plan-copy p{font-size:12px;line-height:1.5}
  .coordination-note{margin-top:14px;padding:12px}
  .concierge-request{width:100%;min-width:0;overflow:hidden}
  .service-checks{min-width:0}
  .service-checks label{min-height:48px;overflow-wrap:anywhere;touch-action:manipulation}
  .service-checks input{flex:0 0 auto;width:19px;height:19px}
  .service-specific-form{min-width:0}
  .service-specific-grid>*{min-width:0}
  .concierge-fields>*{min-width:0;max-width:100%}
  .concierge-fields input,.concierge-fields select,.concierge-fields textarea,.service-specific-grid input,.service-specific-grid select{min-height:48px;max-width:100%;border-radius:10px}
  .concierge-fields textarea{min-height:120px}
  .consent{gap:9px}
  .consent input{flex:0 0 auto;width:20px!important;height:20px;min-height:20px}
  .submit-area button{position:relative;min-height:54px;padding:12px;font-size:14px;touch-action:manipulation}
  .submit-area p{font-size:10px;line-height:1.4}
  .service-marketplace button:focus-visible,.nav-action:focus-visible,.primary-action:focus-visible,.submit-area button:focus-visible{outline:3px solid #79cbbb;outline-offset:2px}
}

@media(max-width:340px){
  .service-marketplace{grid-template-columns:1fr}
  .service-marketplace article{min-height:230px}
  .service-photo{height:135px}
  .service-checks{grid-template-columns:1fr}
}

.experience-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;border:0}
.experience-options legend{grid-column:1/-1;margin-bottom:4px;color:#17385d;font-size:11px;font-weight:900}
.experience-options label{display:flex!important;min-height:43px;align-items:center;gap:7px!important;padding:8px;border:1px solid #cddfe3;border-radius:9px;background:#fff;cursor:pointer}
.experience-options label:has(input:checked){border-color:#177f75;background:#e8f6f2;box-shadow:inset 0 0 0 1px #177f75}
.experience-options input{flex:0 0 auto;width:18px!important;height:18px;min-height:18px!important;padding:0!important;accent-color:#177f75}
.experience-options span{font-size:10px;line-height:1.25}
.service-specific-grid textarea{width:100%;min-height:82px;padding:11px;border:1px solid #cddfe3;border-radius:9px;background:#fff;font:inherit;resize:vertical}
@media(max-width:600px){.experience-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.experience-options label{min-height:47px;padding:7px}.service-specific-grid textarea{font-size:16px}}
@media(max-width:340px){.experience-options{grid-template-columns:1fr}}

/* Rental-car marketplace card */
.service-marketplace{grid-template-columns:repeat(4,minmax(0,1fr))}
.rental-car-card{border-color:#9ccfc5!important}
.rental-car-card .service-photo{position:relative}
.country-status{position:absolute;top:9px;right:9px;padding:5px 8px;border-radius:999px;background:rgba(20,43,67,.88);color:#fff;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(5px)}
.country-status.available{background:#087d71}
.country-heading{display:flex;align-items:flex-start;gap:7px}
.country-heading>span{font-size:18px;line-height:1}
.country-heading h3{margin:0}
.rental-coming{opacity:.78}
.rental-coming button[disabled]{cursor:not-allowed;background:#e7edf0!important;color:#6c7d88!important}
.rental-country-confirmation{display:flex!important;align-items:center;gap:10px;padding:10px 12px;border:1px solid #9ccfc5;border-radius:10px;background:#edf8f5}
.rental-country-confirmation>span{font-size:24px}
.rental-country-confirmation b,.rental-country-confirmation small{display:block}
.rental-country-confirmation small{margin-top:2px;color:#5b7180}
.rental-request-shell{overflow:hidden;border:1px solid #b9d7d1;border-radius:18px;background:#f8fbfb;box-shadow:0 14px 35px rgba(22,59,82,.08)}
.service-specific-form.rental-mode>.service-form-kicker,.service-specific-form.rental-mode>h3,.service-specific-form.rental-mode>p{display:none}
.service-specific-form.rental-mode{padding:0;border-left:0;background:transparent}
.rental-request-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;background:linear-gradient(135deg,#173d66,#176f74);color:#fff}
.rental-request-hero h3{margin:5px 0 6px!important;color:#fff!important;font:400 29px/1.05 Fraunces,Georgia,serif}
.rental-request-hero p{max-width:530px;margin:0!important;color:#d9eeee!important;font-size:11px!important;line-height:1.5}
.rental-eyebrow{font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#8de0d0}
.rental-flag{display:grid;flex:0 0 56px;width:56px;height:56px;place-items:center;border:1px solid #ffffff3d;border-radius:15px;background:#ffffff18;font-size:31px}
.rental-points{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #d8e6e5;background:#fff}
.rental-points span{padding:11px;text-align:center;color:#356174;font-size:9px;font-weight:800}
.rental-points span+span{border-left:1px solid #d8e6e5}
.rental-form-step{padding:16px 18px;border-bottom:1px solid #dbe8e7}
.rental-form-step>b{display:block;margin-bottom:10px;color:#17385d;font-size:12px}
.rental-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rental-fields label{display:grid;gap:5px}
.rental-fields label.wide{grid-column:1/-1}
.rental-fields span{color:#274c68;font-size:9px;font-weight:800}
.rental-fields input,.rental-fields select,.rental-fields textarea{width:100%;border:1px solid #c9dcdf!important;border-radius:9px!important;background:#fff!important}
.rental-fine-print{margin:0!important;padding:12px 18px;color:#627987!important;font-size:9px!important}
@media(max-width:600px){.rental-request-hero{align-items:flex-start;padding:18px}.rental-request-hero h3{font-size:25px}.rental-flag{flex-basis:45px;width:45px;height:45px;font-size:25px}.rental-points span{padding:9px 4px;font-size:8px}.rental-form-step{padding:14px}.rental-fields{grid-template-columns:1fr}.rental-fields label.wide{grid-column:auto}.rental-fields input,.rental-fields select,.rental-fields textarea{font-size:16px}.rental-fine-print{padding:11px 14px}}
.transport-request-shell{display:grid;gap:12px}
.transport-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0;padding:0;border:0}
.transport-options legend,.transport-mini-form legend{grid-column:1/-1;margin-bottom:4px;color:#17385d;font-size:11px;font-weight:900}
.transport-options label{display:flex!important;min-height:68px;align-items:center;gap:8px!important;padding:9px;border:1px solid #cddfe3;border-radius:10px;background:#fff;cursor:pointer}
.transport-options label:has(input:checked){border-color:#177f75;background:#e8f6f2;box-shadow:inset 0 0 0 1px #177f75}
.transport-options input{flex:0 0 auto;width:18px!important;height:18px;min-height:18px!important;padding:0!important;accent-color:#177f75}
.transport-options span{display:grid;gap:2px;font-size:10px;line-height:1.2}
.transport-options small{color:#667d8d;font-size:8px;font-weight:600}
.transport-prompt{margin:0;padding:13px;border:1px dashed #b9ced4;border-radius:10px;background:#f7fafb;color:#637a89!important;text-align:center}
.transport-mini-form{margin:0;padding:15px;border:1px solid #bcd9d4;border-radius:13px;background:#f1f9f7}
.transport-mini-form[hidden]{display:none}
.transport-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.transport-mini-grid label,.transport-notes{display:grid;gap:5px}
.transport-mini-grid .wide{grid-column:1/-1}
.transport-air-form{border-color:#cbc4e5;background:#f8f6fc}
.transport-notes textarea{min-height:86px}
@media(max-width:850px){.transport-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.transport-request-shell{gap:10px}.transport-options{grid-template-columns:1fr}.transport-options label{min-height:56px;padding:9px 11px}.transport-options span{font-size:11px}.transport-options small{font-size:9px}.transport-mini-form{padding:12px 10px}.transport-mini-grid{grid-template-columns:1fr}.transport-mini-grid .wide{grid-column:auto}.transport-mini-grid input,.transport-mini-grid select,.transport-notes textarea{font-size:16px}.service-specific-grid textarea{font-size:16px}}
@media(max-width:340px){.transport-options{grid-template-columns:1fr}}
[data-common-contact][hidden],[data-general-journey][hidden]{display:none!important}
@media(max-width:950px){.service-marketplace{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:340px){.service-marketplace{grid-template-columns:1fr}}
