/**
 * Home page — built 2026-08-19 from the approved concept
 * (claude.ai/code/artifact/089bafb4). Enqueued on is_front_page() only,
 * so nothing here can reach the rest of the site.
 *
 * The concept's own palette is re-expressed through the site's existing
 * desert tokens; only the neutrals, which the concept deliberately moved
 * off cream toward a warm grey, are declared locally. Scoping them to
 * body.home keeps that shift on this page.
 */

body.home{
    --dth-ground:#EAE7DF;
    --dth-surface:#F4F2EC;
    --dth-raised:#FFFFFF;
    --dth-ink:#1B120C;
    --dth-ink-2:#5A4E41;
    --dth-ink-3:#8C7E6D;
    --dth-rule:#D5CEC0;
    --dth-rule-soft:#E2DCD0;
    --dth-terra:#B4531F;
    --dth-terra-ink:#8E4018;
    --dth-terra-wash:#F2DFD1;
    --dth-teal:#186B6F;
    --dth-teal-wash:#DCE9E7;
    --dth-shadow:0 1px 2px rgba(23,16,9,.05), 0 8px 28px rgba(23,16,9,.07);
    background:var(--dth-ground);
}
body.home .wrapper,
body.home .content_wrapper,
body.home .container_24{background:transparent;}

/* shared frame ------------------------------------------------------- */
body.home .dt-sec{
    max-width:1160px;
    margin:0 auto;
    padding:clamp(48px,6.5vw,84px) clamp(20px,4vw,40px);
    box-sizing:border-box;
    font-family:'Archivo',sans-serif;
}
body.home .dt-sec + .dt-sec{border-top:1px solid var(--dth-rule);}
body.home .dt-tag{
    font-size:11px;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:var(--dth-ink-3);
    margin:0;
}
body.home .dt-tag--terra{color:var(--dth-terra);}
body.home .dt-tag--teal{color:var(--dth-teal);}

/* Instrument Serif is applied by class, never by element, so Fraunces
   keeps every other heading on the site. */
body.home .dt-display{
    font-family:'Instrument Serif',Georgia,'Times New Roman',serif;
    font-weight:400;
    letter-spacing:-.01em;
    text-wrap:balance;
    color:var(--dth-ink);
    margin:0;
}
body.home h1.dt-display{font-size:clamp(38px,5.2vw,62px);line-height:1.03;}
body.home h2.dt-display{font-size:clamp(27px,3.3vw,39px);line-height:1.08;}

body.home .dt-sec-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
    gap:clamp(18px,4vw,54px);
    align-items:end;
    margin-bottom:36px;
}
body.home .dt-sec-head h2{margin-top:11px;}
body.home .dt-sec-head p{
    color:var(--dth-ink-2);
    font-size:16px;
    line-height:1.6;
    max-width:56ch;
    margin:0;
}

/* buttons -------------------------------------------------------------- */
body.home .dt-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 24px;
    border:1.5px solid var(--dth-terra);
    background:var(--dth-terra);
    color:#FFF6EE !important;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
    text-decoration:none;
    border-radius:2px;
    transition:background .16s ease,border-color .16s ease,color .16s ease;
}
body.home .dt-btn:hover{background:var(--dth-terra-ink);border-color:var(--dth-terra-ink);}
body.home .dt-btn--ghost{
    background:transparent;
    border-color:var(--dth-rule);
    color:var(--dth-ink) !important;
}
body.home .dt-btn--ghost:hover{
    background:var(--dth-ink);
    border-color:var(--dth-ink);
    color:var(--dth-ground) !important;
}
body.home .dt-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0;}

/* hero ----------------------------------------------------------------- */
body.home .dt-hero{
    display:grid;
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    gap:clamp(30px,5vw,62px);
    align-items:start;
}
body.home .dt-hero h1{margin:15px 0 20px;}
body.home .dt-hero h1 em{font-style:italic;color:var(--dth-terra);}
body.home .dt-lede{
    max-width:52ch;
    font-size:17.5px;
    line-height:1.62;
    color:var(--dth-ink-2);
    margin:0;
}
body.home .dt-note{
    display:flex;
    align-items:center;
    gap:8px;
    margin:20px 0 0;
    font-size:13px;
    color:var(--dth-ink-3);
}
body.home .dt-note svg{flex:none;color:var(--dth-teal);}

/* the comparison panel — the one loud object on the page */
body.home .dt-panel{
    background:var(--dth-raised);
    border:1px solid var(--dth-rule);
    border-radius:3px;
    box-shadow:var(--dth-shadow);
    overflow:hidden;
}
body.home .dt-panel-head{
    padding:16px 20px;
    border-bottom:1px solid var(--dth-rule);
    background:var(--dth-teal-wash);
}
body.home .dt-brief{
    margin:7px 0 0;
    font-size:14.5px;
    line-height:1.45;
    color:var(--dth-ink);
}
body.home .dt-brief b{font-weight:600;}
body.home .dt-offers{list-style:none;margin:0;padding:0;}
body.home .dt-offer{
    display:grid;
    grid-template-columns:1fr auto;
    gap:4px 16px;
    align-items:baseline;
    padding:15px 20px;
    margin:0;
    border-bottom:1px solid var(--dth-rule-soft);
    list-style:none;
}
body.home .dt-offer:last-child{border-bottom:0;}
body.home .dt-offer-name{font-size:15px;font-weight:600;color:var(--dth-ink);}
body.home .dt-offer-price{
    font-size:19px;
    font-weight:700;
    font-variant-numeric:tabular-nums;
    letter-spacing:-.01em;
    white-space:nowrap;
    color:var(--dth-ink);
}
body.home .dt-offer-detail{grid-column:1;font-size:13px;color:var(--dth-ink-2);}
body.home .dt-offer-per{
    grid-column:2;
    text-align:right;
    font-size:11px;
    letter-spacing:.09em;
    text-transform:uppercase;
    color:var(--dth-ink-3);
}
body.home .dt-offer--pick{background:var(--dth-terra-wash);}
body.home .dt-offer--pick .dt-offer-price{color:var(--dth-terra-ink);}
body.home .dt-panel-foot{
    margin:0;
    padding:13px 20px;
    border-top:1px solid var(--dth-rule);
    background:var(--dth-surface);
    font-size:12px;
    line-height:1.5;
    color:var(--dth-ink-3);
}

/* departure cities ------------------------------------------------------ */
body.home .dt-cities{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
body.home .dt-city{
    position:relative;
    display:block;
    aspect-ratio:3/4;
    border-radius:3px;
    overflow:hidden;
    text-decoration:none;
    background:var(--dth-ink);
}
body.home .dt-city img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
body.home .dt-city:hover img,
body.home .dt-city:focus-visible img{transform:scale(1.06);}
body.home .dt-city::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(20,14,8,0) 38%,rgba(20,14,8,.9) 100%);
}
body.home .dt-city-body{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;}
body.home .dt-city-body strong{
    display:block;
    font-family:'Instrument Serif',Georgia,serif;
    font-weight:400;
    font-size:25px;
    line-height:1.1;
    color:#F7F1E5;
}
body.home .dt-city-body span{
    display:block;
    margin-top:3px;
    font-size:11.5px;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:#D9BFA4;
}

/* how it works — a real sequence, so the numbering carries meaning ------ */
body.home .dt-steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(20px,3.5vw,44px);
    counter-reset:dtstep;
    list-style:none;
    margin:0;
    padding:0;
}
body.home .dt-steps li{
    list-style:none;
    margin:0;
    padding:18px 0 0;
    border-top:2px solid var(--dth-ink);
}
body.home .dt-steps li::before{
    counter-increment:dtstep;
    content:"Step " counter(dtstep);
    display:block;
    font-size:11px;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:var(--dth-terra);
    margin-bottom:10px;
}
body.home .dt-steps h3{
    font-family:'Instrument Serif',Georgia,serif;
    font-weight:400;
    font-size:22px;
    line-height:1.2;
    color:var(--dth-ink);
    margin:0 0 8px;
}
body.home .dt-steps p{color:var(--dth-ink-2);font-size:15px;line-height:1.6;margin:0;}

/* routes, treated as data ----------------------------------------------- */
body.home .dt-table-scroll{
    overflow-x:auto;
    border:1px solid var(--dth-rule);
    border-radius:3px;
    background:var(--dth-surface);
}
body.home .dt-table{border-collapse:collapse;width:100%;min-width:620px;margin:0;}
body.home .dt-table caption{
    caption-side:bottom;
    text-align:left;
    padding:12px 18px;
    font-size:12px;
    line-height:1.5;
    color:var(--dth-ink-3);
    border-top:1px solid var(--dth-rule);
}
body.home .dt-table th,
body.home .dt-table td{
    padding:14px 18px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid var(--dth-rule-soft);
}
body.home .dt-table thead th{
    font-size:11px;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--dth-ink-3);
    border-bottom:1px solid var(--dth-rule);
    white-space:nowrap;
}
body.home .dt-table tbody tr:last-child td{border-bottom:0;}
body.home .dt-table tbody tr:hover{background:var(--dth-raised);}
body.home .dt-rt-name{font-weight:600;font-size:15.5px;white-space:nowrap;color:var(--dth-ink);}
body.home .dt-rt-num{font-variant-numeric:tabular-nums;font-weight:600;color:var(--dth-ink);}
body.home .dt-table td{color:var(--dth-ink-2);font-size:14.5px;}
body.home .dt-chip{
    display:inline-block;
    margin-left:6px;
    padding:3px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
    background:var(--dth-terra-wash);
    color:var(--dth-terra-ink);
}

/* faq ------------------------------------------------------------------- */
body.home .dt-faq{columns:2;column-gap:clamp(28px,4vw,54px);}
body.home .dt-qa{
    break-inside:avoid;
    -webkit-column-break-inside:avoid;
    page-break-inside:avoid;
    margin:0 0 26px;
}
body.home .dt-qa h3{
    font-family:'Archivo',sans-serif;
    font-weight:600;
    font-size:16px;
    line-height:1.35;
    color:var(--dth-ink);
    margin:0 0 7px;
}
body.home .dt-qa p{color:var(--dth-ink-2);font-size:15px;line-height:1.62;margin:0;}

/* closing band ----------------------------------------------------------- */
body.home .dt-close{
    background:var(--dth-surface);
    border-top:1px solid var(--dth-rule);
    border-bottom:1px solid var(--dth-rule);
}
body.home .dt-close .dt-sec{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:clamp(22px,5vw,60px);
    align-items:end;
    border-top:0;
}
body.home .dt-close h2{max-width:18ch;margin:12px 0 13px;}
body.home .dt-close p{color:var(--dth-ink-2);max-width:50ch;margin:0;}
body.home .dt-close .dt-btn{white-space:nowrap;}

/* the theme's own blocks, kept but brought onto the new ground ------------ */
body.home .content_wrapper .info_bar.top{margin:0 0 30px;}
body.home .content_wrapper .info_bar .info_desc{
    background:none;
    font-family:'Instrument Serif',Georgia,serif;
    font-weight:400;
    letter-spacing:-.01em;
    color:var(--dth-ink);
}
body.home .content_wrapper .info_bar:not(.top){
    background:none;
    border-top:1px solid var(--dth-rule);
    margin-bottom:0;
}
body.home .content_wrapper .featured_content:not(.blog) .featured_post .featured{
    background:var(--dth-raised);
    border-color:var(--dth-rule);
}
body.home .content_wrapper .featured_title{
    font-family:'Instrument Serif',Georgia,serif;
    font-weight:400;
    font-size:clamp(27px,3.3vw,39px);
    letter-spacing:-.01em;
    color:var(--dth-ink);
}

@media only screen and (max-width:940px){
    body.home .dt-hero{grid-template-columns:1fr;}
}
@media only screen and (max-width:900px){
    body.home .dt-cities{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media only screen and (max-width:860px){
    body.home .dt-sec-head{grid-template-columns:1fr;gap:13px;align-items:start;}
    body.home .dt-steps{grid-template-columns:1fr;}
    body.home .dt-faq{columns:1;}
    body.home .dt-close .dt-sec{grid-template-columns:1fr;align-items:start;}
}
@media only screen and (max-width:520px){
    body.home .dt-cities{grid-template-columns:1fr;}
    body.home .dt-cta-row .dt-btn{flex:1 1 100%;}
}
