/**
 * TCC Web 2.2.0 · Destinos D01
 * Scoped to the /destinos/ page.
 */

.tcc-destinations-v2 {
    --tcc-dv2-red: #ed3237;
    --tcc-dv2-red-dark: #c92329;
    --tcc-dv2-ink: #151515;
    --tcc-dv2-muted: #636363;
    --tcc-dv2-line: #e2e3e4;
    --tcc-dv2-soft: #f5f4f1;
    display: block;
    color: var(--tcc-dv2-ink);
    background: #fff;
    text-align: left;
    word-spacing: normal;
    overflow: clip;
}

.tcc-destinations-v2 :where(h1,h2,h3,p,li,a,span,strong,summary,label,small,figcaption) {
    text-align: left;
    word-spacing: normal;
}

.tcc-destinations-v2 :where(section[id],article[id]) { scroll-margin-top: 118px; }
.tcc-destinations-v2 h1,
.tcc-destinations-v2 h2,
.tcc-destinations-v2 h3 { margin: 0; color: var(--tcc-dv2-ink); font-weight: 800; line-height: 1.08; letter-spacing: -.035em; }
.tcc-destinations-v2 p { margin: 0; }
.tcc-dv2-section { padding-block: 86px; }
.tcc-dv2-eyebrow { margin-bottom: 16px !important; color: var(--tcc-dv2-red-dark); font-size: 12px; font-weight: 800; line-height: 1.35; letter-spacing: .11em; }
.tcc-dv2-heading { max-width: 900px; margin-bottom: 34px; }
.tcc-dv2-heading h2,
.tcc-dv2-modes h2,
.tcc-dv2-scope h2,
.tcc-dv2-other h2,
.tcc-dv2-faq h2,
.tcc-dv2-final h2 { font-size: clamp(2rem,3.9vw,3.35rem); }
.tcc-dv2-heading > p:last-child { max-width: 760px; margin-top: 16px; color: var(--tcc-dv2-muted); font-size: 17px; line-height: 1.65; }
.tcc-dv2-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.tcc-dv2-note { margin-top: 22px !important; color: #737373; font-size: 13px; line-height: 1.6; }

.tcc-dv2-hero { padding-block: 70px 58px; background: linear-gradient(125deg,#fff 0%,#f7f8f8 55%,#eef1f2 100%); }
.tcc-dv2-hero__grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(520px,1.1fr); align-items: center; gap: 58px; }
.tcc-dv2-hero__copy h1 { max-width: 690px; font-size: clamp(3.25rem,5.4vw,5.4rem); }
.tcc-dv2-hero__copy > p:not(.tcc-dv2-eyebrow):not(.tcc-dv2-support) { max-width: 660px; margin-top: 19px; color: #555; font-size: 18px; line-height: 1.65; }
.tcc-dv2-hero__copy .tcc-dv2-actions { margin-top: 28px; }
.tcc-dv2-support { margin-top: 16px !important; color: #777; font-size: 12px; }
.tcc-dv2-hero__map { margin: 0; }
.tcc-dv2-hero__map img { width: 100%; display: block; filter: drop-shadow(0 22px 42px rgba(17,17,17,.1)); }
.tcc-dv2-hero__map figcaption { margin-top: 10px; color: #747474; font-size: 11px; line-height: 1.45; }

.tcc-dv2-countries { background: #fff; }
.tcc-dv2-country-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.tcc-dv2-country { min-height: 104px; display: grid; grid-template-columns: 58px 1fr 22px; align-items: center; gap: 15px; padding: 17px 18px; color: #242424; background: #fff; border: 1px solid var(--tcc-dv2-line); border-radius: 5px; box-shadow: 0 10px 30px rgba(17,17,17,.035); text-decoration: none; transition: border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.tcc-dv2-country:hover { border-color: var(--tcc-dv2-red); box-shadow: 0 14px 34px rgba(17,17,17,.08); transform: translateY(-1px); }
.tcc-dv2-country__flag { display: block; width: 54px; height: 54px; object-fit: cover; background: #f3f3f3; border: 1px solid rgba(5, 29, 48, .12); border-radius: 50%; overflow: hidden; }
.tcc-dv2-country strong { display: block; font-size: 15px; line-height: 1.3; }
.tcc-dv2-country small { display: block; margin-top: 7px; color: #696969; font-size: 11px; line-height: 1.35; }
.tcc-dv2-country i { color: var(--tcc-dv2-red); font-size: 19px; font-style: normal; }

.tcc-dv2-preparation { background: var(--tcc-dv2-soft); }
.tcc-dv2-preparation__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.tcc-dv2-preparation__grid li { display: grid; grid-template-columns: 48px 1fr; align-items: start; gap: 14px; }
.tcc-dv2-preparation__grid li > span { display: grid; width: 44px; height: 44px; place-items: center; color: #fff; background: var(--tcc-dv2-red); border: 5px solid #ffdfe0; border-radius: 50%; font-size: 13px; font-weight: 800; }
.tcc-dv2-preparation__grid h3 { margin-top: 3px; font-size: 17px; }
.tcc-dv2-preparation__grid p { margin-top: 8px; color: #666; font-size: 13px; line-height: 1.55; }
.tcc-dv2-preparation__callout { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 28px; margin-top: 35px; padding: 20px 24px; background: #fff2f2; border: 1px solid #ffd9da; }
.tcc-dv2-preparation__callout strong { font-size: 16px; }
.tcc-dv2-preparation__callout p { margin-top: 5px; color: #666; font-size: 13px; }

.tcc-dv2-solutions { background: #fff; }
.tcc-dv2-solutions__grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(350px,.65fr); align-items: start; gap: 58px; }
.tcc-dv2-modes > p:not(.tcc-dv2-eyebrow),
.tcc-dv2-scope > p:not(.tcc-dv2-eyebrow):not(.tcc-dv2-scope__callout) { margin-top: 16px; color: #626262; line-height: 1.65; }
.tcc-dv2-mode-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin-top: 28px; }
.tcc-dv2-mode-grid article { min-height: 280px; display: flex; flex-direction: column; padding: 22px 20px; border: 1px solid var(--tcc-dv2-line); border-radius: 5px; }
.tcc-dv2-mode-grid article > span { display: grid; width: 48px; height: 48px; place-items: center; color: var(--tcc-dv2-red); background: #fff2f2; border-radius: 50%; font-size: 24px; }
.tcc-dv2-mode-grid h3 { margin-top: 30px; font-size: 19px; }
.tcc-dv2-mode-grid p { margin-top: 11px; color: #666; font-size: 13px; line-height: 1.55; }
.tcc-dv2-mode-grid a { margin-top: auto; padding-top: 18px; color: var(--tcc-dv2-red-dark); font-size: 12px; font-weight: 800; line-height: 1.4; text-decoration: none; }
.tcc-dv2-mode-grid i { font-style: normal; }
.tcc-dv2-modes__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 22px; }
.tcc-dv2-modes__actions > a:not(.tcc-hv2-button) { color: #4f4f4f; font-size: 13px; font-weight: 700; text-decoration: none; }
.tcc-dv2-modes__actions > a:hover { text-decoration: underline; }
.tcc-dv2-scope { padding-left: 44px; border-left: 1px solid var(--tcc-dv2-line); }
.tcc-dv2-scope ul { display: grid; gap: 18px; margin: 28px 0 0; padding: 0; list-style: none; }
.tcc-dv2-scope li { display: grid; grid-template-columns: 38px 1fr; gap: 13px; }
.tcc-dv2-scope li > span { display: grid; width: 35px; height: 35px; place-items: center; color: #fff; background: var(--tcc-dv2-red); border-radius: 50%; font-size: 10px; font-weight: 800; }
.tcc-dv2-scope h3 { font-size: 16px; }
.tcc-dv2-scope li p { margin-top: 5px; color: #696969; font-size: 13px; line-height: 1.5; }
.tcc-dv2-scope__callout { margin-top: 27px !important; padding: 16px 18px; color: #555 !important; background: #fff0f0; border-left: 4px solid var(--tcc-dv2-red); font-size: 13px; }

.tcc-dv2-help { background: var(--tcc-dv2-soft); }
.tcc-dv2-help__grid { display: grid; grid-template-columns: minmax(290px,.42fr) minmax(0,.58fr); align-items: start; gap: 60px; }
.tcc-dv2-other { display: grid; grid-template-columns: 54px 1fr; gap: 18px; padding: 28px; background: #fff; border: 1px solid var(--tcc-dv2-line); }
.tcc-dv2-other > span { display: grid; width: 50px; height: 50px; place-items: center; color: var(--tcc-dv2-red); background: #fff0f0; border-radius: 50%; font-size: 30px; }
.tcc-dv2-other h2 { font-size: 29px; }
.tcc-dv2-other p { margin-top: 15px; color: #626262; line-height: 1.65; }
.tcc-dv2-other .tcc-hv2-button { margin-top: 22px; }
.tcc-dv2-faq h2 { margin-bottom: 22px; font-size: 34px; }
.tcc-dv2-faq__list { border-top: 1px solid #d7d7d7; }
.tcc-dv2-faq details { border-bottom: 1px solid #d7d7d7; }
.tcc-dv2-faq summary { position: relative; padding: 18px 42px 18px 0; color: #222; font-size: 15px; font-weight: 800; line-height: 1.35; cursor: pointer; list-style: none; }
.tcc-dv2-faq summary::-webkit-details-marker { display: none; }
.tcc-dv2-faq summary::after { position: absolute; top: 50%; right: 10px; color: var(--tcc-dv2-red); content: "+"; font-size: 22px; transform: translateY(-50%); }
.tcc-dv2-faq details[open] summary::after { content: "−"; }
.tcc-dv2-faq details p { padding: 0 42px 18px 0; color: #666; font-size: 13px; line-height: 1.6; }

.tcc-dv2-final { padding-block: 66px; color: #fff; background: linear-gradient(110deg,#111 0%,#262626 100%); }
.tcc-dv2-final__grid { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 56px; }
.tcc-dv2-final h2 { max-width: 720px; color: #fff; }
.tcc-dv2-final p:not(.tcc-dv2-eyebrow) { max-width: 720px; margin-top: 14px; color: #c8c8c8; font-size: 16px; line-height: 1.6; }
.tcc-dv2-final small { display: block; margin-top: 14px; color: #aaa; }
.tcc-dv2-final .tcc-dv2-actions { justify-content: flex-end; }
.tcc-dv2-final .tcc-hv2-button--secondary { color: #fff !important; background: transparent; border-color: #6d6d6d; }

@media (max-width: 1279.98px) {
    .tcc-dv2-hero__grid { grid-template-columns: 1fr 470px; gap: 40px; }
    .tcc-dv2-hero__copy h1 { font-size: clamp(3rem,5.7vw,4.5rem); }
    .tcc-dv2-solutions__grid { grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); gap: 38px; }
}

@media (max-width: 980px) {
    .tcc-dv2-section { padding-block: 68px; }
    .tcc-dv2-hero__grid,
    .tcc-dv2-solutions__grid,
    .tcc-dv2-help__grid,
    .tcc-dv2-final__grid { grid-template-columns: 1fr; }
    .tcc-dv2-hero__map { max-width: 720px; }
    .tcc-dv2-country-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tcc-dv2-preparation__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tcc-dv2-scope { padding: 42px 0 0; border-top: 1px solid var(--tcc-dv2-line); border-left: 0; }
    .tcc-dv2-help__grid { gap: 48px; }
    .tcc-dv2-final .tcc-dv2-actions { justify-content: flex-start; }
}

@media (max-width: 700px) {
    .tcc-destinations-v2 :where(section[id],article[id]) { scroll-margin-top: 102px; }
    .tcc-dv2-section { padding-block: 52px; }
    .tcc-dv2-heading { margin-bottom: 27px; }
    .tcc-dv2-heading h2,
    .tcc-dv2-modes h2,
    .tcc-dv2-scope h2,
    .tcc-dv2-faq h2,
    .tcc-dv2-final h2 { font-size: 30px; }
    .tcc-dv2-heading > p:last-child { font-size: 15px; }
    .tcc-dv2-actions { display: grid; width: 100%; }
    .tcc-dv2-actions .tcc-hv2-button { width: 100%; }
    .tcc-dv2-hero { padding-block: 48px 42px; }
    .tcc-dv2-hero__copy h1 { font-size: clamp(2.55rem,12vw,3.35rem); }
    .tcc-dv2-hero__copy > p:not(.tcc-dv2-eyebrow):not(.tcc-dv2-support) { font-size: 15px; }
    .tcc-dv2-hero__map { margin-top: 12px; }
    .tcc-dv2-country-grid { grid-template-columns: 1fr; gap: 9px; }
    .tcc-dv2-country { min-height: 72px; grid-template-columns: 43px 1fr 18px; padding: 11px 13px; }
    .tcc-dv2-country__flag { width: 40px; height: 40px; }
    .tcc-dv2-country small { margin-top: 4px; }
    .tcc-dv2-preparation__grid { grid-template-columns: 1fr; gap: 20px; }
    .tcc-dv2-preparation__callout { grid-template-columns: 1fr; }
    .tcc-dv2-preparation__callout .tcc-hv2-button { width: 100%; }
    .tcc-dv2-mode-grid { grid-template-columns: 1fr; }
    .tcc-dv2-mode-grid article { min-height: 0; }
    .tcc-dv2-modes__actions { display: grid; }
    .tcc-dv2-modes__actions .tcc-hv2-button { width: 100%; }
    .tcc-dv2-scope { padding-top: 36px; }
    .tcc-dv2-other { grid-template-columns: 1fr; padding: 24px; }
    .tcc-dv2-other h2 { font-size: 28px; }
    .tcc-dv2-other .tcc-hv2-button { width: 100%; }
    .tcc-dv2-final { padding-block: 54px 108px; }
    .tcc-dv2-final__grid { gap: 28px; }
}

@media (max-width: 374px) {
    .tcc-dv2-hero__copy h1 { font-size: 38px; }
    .tcc-dv2-country strong { font-size: 14px; }
    .tcc-dv2-country small { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    .tcc-dv2-country { transition: none; }
    .tcc-dv2-country:hover { transform: none; }
}

@media print {
    .tcc-dv2-final { color: #111; background: #fff; }
    .tcc-dv2-final h2 { color: #111; }
}
