:root {
    --paper:#F7F2EB;
    --ink:#292624;
    --muted:#8C857A;
    --accent:#CC7859;
    --deep:#292624;
    --line:#E8DED5;
    --serif:var(--display);
    --sans:'DM Sans',sans-serif;
    --display:'Manrope',var(--sans);
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:90px;
}
body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    font-size:15px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}
a {
    color:inherit;
    text-decoration:none;
}
.shell {
    width:min(1160px,calc(100% - 64px));
    margin-inline:auto;
}
.skip-link {
    position:absolute;
    left:12px;
    top:-60px;
    padding:10px 16px;
    background:#fff;
    z-index:20;
}
.skip-link:focus {
    top:12px;
}
.site-header {
    height:82px;
    border-bottom:1px solid rgba(41,38,36,.08);
    position:relative;
    z-index:10;
}
.nav {
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.brand {
    display:inline-flex;
    align-items:center;
    gap:10px;
    font:800 21px var(--display);
    letter-spacing:-1.1px;
}
.brand-logo {
    display:block;
    width:32px;
    height:32px;
    flex:0 0 32px;
    object-fit:contain;
    border-radius:8px;
}
.brand-mark {
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#F0E2D8;
    color:#9B5842;
    font:800 19px var(--display);
    font-style:italic;
}
.brand-period {
    color:#B36A50;
}
.nav-links {
    display:flex;
    align-items:center;
    gap:35px;
    font-size:13px;
    color:#8C857A;
}
.nav-links>a:not(.nav-cta):hover,.footer-links a:hover {
    color:#7B5140;
}
.nav-cta {
    background:#F4EADF;
    padding:11px 16px;
    border-radius:24px;
    color:#46342D;
    font-weight:600;
}
.nav-cta span {
    margin-left:8px;
}
.menu-toggle {
    display:none;
}
.hero {
    min-height:650px;
    display:grid;
    grid-template-columns: .92fr 1.08fr;
    align-items:center;
    position:relative;
    padding-top:50px;
    padding-bottom:75px;
}
.hero-copy {
    padding:0 0 18px 12px;
    position:relative;
    z-index:2;
}
.eyebrow {
    font-size:10px;
    letter-spacing:1.6px;
    color:#768072;
    font-weight:700;
}
.eyebrow-dot {
    display:inline-block;
    width:7px;
    height:7px;
    background:#B36A50;
    border-radius:50%;
    margin-right:8px;
}
h1,h2,h3,p {
    margin-top:0;
}
.hero h1 {
    font:500 clamp(58px,7vw,88px)/.99 var(--display);
    letter-spacing:-5.6px;
    margin:27px 0 20px;
}
.hero h1 em,h2 em,.closing h2 em {
    font:italic 500 1em var(--serif);
    letter-spacing:-3.8px;
    color:#B36A50;
}
.hero-text {
    max-width:405px;
    font-size:16px;
    line-height:1.8;
    color:#717971;
}
.hero-actions {
    display:flex;
    align-items:center;
    gap:25px;
    margin-top:29px;
}
.button {
    display:inline-flex;
    align-items:center;
    gap:22px;
    padding:14px 20px;
    border-radius:28px;
    font-size:12px;
    font-weight:700;
    transition:transform .2s ease,background .2s ease;
}
.button:hover {
    transform:translateY(-2px);
}
.button-dark {
    color:white;
    background:#292624;
}
.button-dark:hover {
    background:#A95F46;
}
.text-link {
    font-size:12px;
    color:#5A4942;
    font-weight:600;
}
.text-link span {
    margin-left:8px;
}
.hero-note {
    margin-top:45px;
    display:flex;
    align-items:center;
    gap:13px;
    font-size:11px;
    color:#81877f;
}
.avatar-stack {
    display:flex;
}
.avatar-stack i {
    display:grid;
    place-items:center;
    font-style:normal;
    width:25px;
    height:25px;
    border-radius:50%;
    border:2px solid var(--paper);
    margin-right:-7px;
    background:#F1DDC9;
    color:#9B5842;
    font-size:11px;
}
.avatar-stack i:nth-child(2) {
    background:#E9D7C9;
}
.avatar-stack i:nth-child(3) {
    background:#F0E2D8;
}
.hero-art {
    height:510px;
    position:relative;
    overflow:hidden;
    border-radius:260px 260px 22px 22px;
    background:linear-gradient(157deg,#F3E9DF 0%,#E9D7C9 53%,#E1C7B7 100%);
    margin-left:5px;
}
.sun {
    position:absolute;
    width:165px;
    height:165px;
    border-radius:50%;
    background:#EAC5A4;
    right:19%;
    top:62px;
    opacity:.86;
}
.hill {
    position:absolute;
    border-radius:50% 50% 0 0;
    transform:rotate(-9deg);
}
.hill-back {
    width:670px;
    height:310px;
    bottom:42px;
    left:-90px;
    background:#D5AA8E;
    transform:rotate(8deg);
}
.hill-front {
    width:660px;
    height:260px;
    bottom:-75px;
    left:-94px;
    background:#C17B5D;
    transform:rotate(-8deg);
}
.art-label {
    position:absolute;
    top:45px;
    left:40px;
    z-index:1;
    color:#A45D45;
}
.art-label span {
    display:block;
    font-size:8px;
    letter-spacing:1.3px;
    font-weight:700;
}
.art-label b {
    display:block;
    margin-top:5px;
    font:italic 18px var(--serif);
    font-weight:500;
}
.route {
    position:absolute;
    z-index:1;
    border:1px dashed rgba(255,255,255,.77);
    border-color:rgba(255,255,255,.75) transparent transparent transparent;
    border-radius:50%;
    transform:rotate(-17deg);
}
.route-one {
    width:350px;
    height:185px;
    left:80px;
    top:169px;
}
.route-two {
    width:244px;
    height:115px;
    left:122px;
    top:210px;
    transform:rotate(23deg);
}
.route-pin {
    position:absolute;
    z-index:2;
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#F7EFE3;
    color:#A96048;
    font-size:12px;
    box-shadow:0 3px 12px #29262430;
}
.pin-one {
    top:190px;
    left:105px;
}
.pin-two {
    top:275px;
    right:96px;
    font-size:8px;
}
.trip-card {
    position:absolute;
    z-index:3;
    right:31px;
    top:202px;
    width:255px;
    padding:17px 18px 13px;
    background:rgba(255,255,255,.94);
    border:1px solid #fff;
    border-radius:13px;
    box-shadow:0 16px 45px #29262427;
}
.trip-card-top {
    display:flex;
    align-items:center;
    gap:9px;
}
.trip-icon {
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:7px;
    background:#F4EADF;
    color:#B7684D;
}
.trip-status {
    font-size:8px;
    letter-spacing:1px;
    font-weight:700;
    color:#8C857A;
}
.more {
    margin-left:auto;
    font-size:10px;
    letter-spacing:2px;
    color:#a0a69e;
}
.trip-destination {
    font:700 20px var(--display);
    letter-spacing:-.6px;
    margin-top:13px;
}
.trip-dates {
    color:#8C857A;
    font-size:9px;
    margin-top:2px;
}
.trip-divider {
    height:1px;
    background:#E8DED5;
    margin:15px 0 12px;
}
.trip-row {
    display:flex;
    align-items:center;
    gap:9px;
}
.trip-mini-icon {
    display:grid;
    place-items:center;
    width:29px;
    height:29px;
    border-radius:8px;
    background:#F4EADF;
    color:#A77F5B;
}
.trip-row b,.trip-row small {
    display:block;
}
.trip-row b {
    font-size:9px;
}
.trip-row small {
    font-size:8px;
    color:#8C857A;
}
.arrow-round {
    margin-left:auto;
    width:23px;
    height:23px;
    border-radius:50%;
    background:#F5EEE7;
    display:grid;
    place-items:center;
    font-size:10px;
    color:#A96048;
}
.floating-note {
    position:absolute;
    z-index:3;
    left:23px;
    bottom:111px;
    background:#FFFCF7;
    padding:11px 15px;
    border-radius:10px;
    display:flex;
    align-items:center;
    gap:10px;
    box-shadow:0 8px 24px #29262420;
}
.floating-spark {
    font-size:19px;
    color:#B36A50;
}
.floating-note b,.floating-note small {
    display:block;
}
.floating-note b {
    font-size:10px;
}
.floating-note small {
    font-size:8px;
    color:#8C857A;
}
.art-caption {
    position:absolute;
    z-index:2;
    right:26px;
    bottom:24px;
    color:#F5EEE7;
    font-size:9px;
    letter-spacing:.5px;
}
.hero-bottom {
    position:absolute;
    bottom:25px;
    left:0;
    right:0;
    border-top:1px solid #E8DED5;
    padding-top:16px;
    display:flex;
    justify-content:space-between;
    color:#8C857A;
    font-size:8px;
    letter-spacing:1.4px;
    font-weight:700;
}
.hero-bottom span:nth-child(2) {
    letter-spacing:.4px;
    font-size:10px;
    font-weight:500;
}
.section-pad {
    padding:115px 0;
}
.intro {
    background:#F3E9DF;
}
.intro-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:end;
}
.intro h2,.section-heading h2,.trust-grid h2 {
    font:500 clamp(38px,4.2vw,55px)/1.1 var(--display);
    letter-spacing:-2.8px;
    margin:17px 0 0;
}
.intro h2 em,.section-heading h2 em,.trust-grid h2 em {
    color:#B96D51;
}
.intro-copy {
    max-width:420px;
    margin-left:auto;
    padding-bottom:7px;
}
.intro-copy p {
    font-size:15px;
    line-height:1.85;
    color:#757c73;
    margin-bottom:20px;
}
.feature-section {
    padding-top:34px;
    padding-bottom:105px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}
.feature-card {
    position:relative;
    overflow:hidden;
    min-height:400px;
    border-radius:15px;
    padding:34px;
    display:flex;
    flex-direction:column;
}
.feature-large {
    grid-column:1/-1;
    min-height:450px;
    background:#F3E9DF;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    align-items:center;
}
.feature-green {
    background:#F0E2D8;
}
.feature-cream {
    background:#F3E9DF;
}
.feature-lilac {
    background:#F3E9DF;
}
.feature-copy {
    position:relative;
    z-index:2;
}
.feature-number {
    font-size:8px;
    font-weight:700;
    letter-spacing:1.3px;
    color:#768172;
}
.feature-card h3 {
    font:600 30px/1.13 var(--display);
    letter-spacing:-1.5px;
    margin:18px 0 10px;
}
.feature-card p {
    font-size:12px;
    line-height:1.8;
    color:#70786f;
    max-width:260px;
    margin-bottom:18px;
}
.round-link {
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border:1px solid #a9b3a5;
    border-radius:50%;
    font-size:12px;
    color:#8C513E;
    transition:all .2s;
}
.round-link:hover {
    background:#8C513E;
    color:white;
}
.mini-dashboard {
    position:relative;
    justify-self:center;
    width:min(370px,100%);
    background:#FFFCF7;
    border:1px solid white;
    border-radius:12px;
    padding:17px 20px;
    box-shadow:0 16px 40px #29262412;
    transform:rotate(1.4deg);
}
.dash-top {
    display:flex;
    align-items:center;
    gap:9px;
    font-size:8px;
    font-weight:700;
    color:#8C857A;
    letter-spacing:1px;
}
.dash-logo {
    font:800 15px var(--display);
    letter-spacing:-1px;
    color:#B7684D;
}
.dash-plus {
    margin-left:auto;
    width:22px;
    height:22px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#F4EADF;
    color:#AC644B;
    font-size:14px;
}
.dash-title {
    margin:20px 0 12px;
    font:700 15px var(--display);
    letter-spacing:-.5px;
}
.dash-title span {
    float:right;
    color:#97a28f;
    font-size:12px;
}
.dash-place {
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #F5EEE7;
    border-radius:8px;
    padding:8px;
    margin-bottom:7px;
}
.place-art {
    width:48px;
    height:42px;
    border-radius:5px;
    position:relative;
    overflow:hidden;
    background:linear-gradient(#E6C39E 0 54%,#C59A68 54%);
}
.place-art span {
    position:absolute;
    right:7px;
    top:2px;
    color:#F7EFE3;
    font-size:12px;
}
.place-art i,.place-art b {
    position:absolute;
    bottom:-7px;
    width:30px;
    height:32px;
    border-radius:50% 50% 0 0;
    background:#C17B5D;
    left:-5px;
}
.place-art b {
    left:20px;
    width:38px;
    height:23px;
    background:#D5AA8E;
}
.dash-place>div:nth-child(2) b,.dash-place>div:nth-child(2) small {
    display:block;
}
.dash-place>div:nth-child(2) b {
    font-size:9px;
}
.dash-place>div:nth-child(2) small {
    font-size:8px;
    color:#8C857A;
}
.place-arrow {
    margin-left:auto;
    color:#AC644B;
    font-size:10px;
}
.place-art-two {
    background:linear-gradient(#E6C8B2,#D5AA8E);
}
.place-art-two i {
    background:#AA8B7B;
}
.place-art-two b {
    background:#E0B999;
}
.dash-footer {
    margin-top:14px;
    display:flex;
    justify-content:space-between;
    padding:10px;
    background:#F5EEE7;
    border-radius:6px;
}
.dash-footer span {
    font-size:7px;
    letter-spacing:1px;
    color:#8C857A;
}
.dash-footer b {
    font-size:8px;
}
.feature-green .feature-copy,.feature-cream .feature-copy,.feature-lilac .feature-copy {
    padding-bottom:215px;
}
.itinerary-art {
    position:absolute;
    left:35px;
    right:35px;
    bottom:26px;
    background:#FFFCF7;
    border-radius:10px;
    padding:16px 18px 13px;
    box-shadow:0 12px 30px #29262410;
}
.itinerary-header {
    display:flex;
    justify-content:space-between;
    color:#8C857A;
    font-size:8px;
    letter-spacing:.7px;
    font-weight:700;
    margin-bottom:14px;
}
.timeline-item {
    position:relative;
    padding:0 0 11px 48px;
    border-left:1px solid #E8DED5;
    margin-left:4px;
    display:flex;
    flex-direction:column;
}
.timeline-item:last-of-type {
    border-left-color:transparent;
}
.timeline-dot {
    position:absolute;
    left:-4px;
    top:3px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#E1C7B7;
    border:1px solid white;
}
.timeline-item.active .timeline-dot {
    background:#AC644B;
    box-shadow:0 0 0 3px #F3E9DF;
}
.timeline-item small {
    font-size:7px;
    color:#8C857A;
}
.timeline-item b {
    font-size:9px;
    margin-top:1px;
}
.timeline-item span {
    font-size:7px;
    color:#8C857A;
}
.itinerary-tail {
    border-top:1px solid #F5EEE7;
    padding-top:9px;
    font-size:8px;
    color:#8C857A;
}
.leaf-doodle {
    position:absolute;
    right:13px;
    top:68px;
    color:#E9D2C2;
    font-size:20px;
}
.budget-art {
    position:absolute;
    left:35px;
    right:35px;
    bottom:27px;
    background:#FFFCF7;
    border:1px solid white;
    border-radius:10px;
    padding:18px;
    box-shadow:0 12px 30px #29262410;
}
.budget-label {
    font-size:7px;
    letter-spacing:1.1px;
    color:#8C857A;
    font-weight:700;
}
.budget-label span {
    float:right;
    letter-spacing:2px;
}
.budget-amount {
    margin-top:8px;
    font:700 21px var(--display);
    letter-spacing:-.7px;
}
.budget-amount small {
    font:400 9px var(--sans);
    color:#8C857A;
    letter-spacing:0;
}
.budget-bar {
    height:6px;
    border-radius:8px;
    background:#E8DED5;
    margin:11px 0 7px;
}
.budget-bar i {
    display:block;
    width:61%;
    height:100%;
    border-radius:8px;
    background:#CC7859;
}
.budget-legend {
    display:flex;
    justify-content:space-between;
    font-size:8px;
    color:#8C857A;
}
.budget-legend span {
    display:flex;
    align-items:center;
    gap:5px;
}
.legend-green {
    width:6px;
    height:6px;
    border-radius:50%;
    background:#CC7859;
}
.budget-legend b {
    color:#8C513E;
}
.budget-line {
    height:1px;
    background:#eaede7;
    margin:13px 0 4px;
}
.budget-entry {
    display:flex;
    align-items:center;
    gap:8px;
    padding:7px 0;
}
.entry-icon {
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border-radius:7px;
    background:#F4EADF;
    color:#9c8052;
    font-size:11px;
}
.entry-yellow {
    background:#F4EADF;
    color:#AC644B;
}
.budget-entry span:nth-child(2) {
    flex:1;
}
.budget-entry b,.budget-entry small {
    display:block;
}
.budget-entry b {
    font-size:8px;
}
.budget-entry small {
    font-size:7px;
    color:#8C857A;
}
.budget-entry strong {
    font-size:8px;
}
.notes-art {
    position:absolute;
    left:45px;
    right:45px;
    bottom:27px;
    height:220px;
}
.note-paper {
    position:absolute;
    inset:5px 8px 0;
    background:#FFFCF7;
    border-radius:4px;
    padding:17px 19px;
    box-shadow:0 14px 28px #29262413;
    transform:rotate(-2deg);
}
.note-top {
    display:flex;
    justify-content:space-between;
    color:#8C857A;
    font-size:7px;
    letter-spacing:1px;
}
.note-top span+span {
    font-size:13px;
    color:#9A7665;
}
.note-heading {
    font:italic 17px var(--serif);
    margin:13px 0 11px;
    color:#40342F;
}
.note-line {
    font-size:8px;
    color:#687169;
    padding:5px 0;
    border-bottom:1px solid #f1efe9;
}
.note-line i {
    display:inline-grid;
    place-items:center;
    width:11px;
    height:11px;
    border:1px solid #E1C7B7;
    border-radius:3px;
    margin-right:7px;
    font-style:normal;
    color:#A96048;
    font-size:8px;
}
.note-line.checked i {
    background:#F3E9DF;
}
.note-footer {
    font:italic 9px var(--serif);
    margin-top:11px;
    color:#8C857A;
}
.note-footer span {
    float:right;
    color:#A77469;
}
.note-flower {
    position:absolute;
    right:2px;
    top:-2px;
    font-size:34px;
    color:#C98C6D;
    transform:rotate(15deg);
}
.quote-band {
    background:#CC7859;
    color:#FAF7F2;
    padding:82px 0;
}
.quote-inner {
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
}
.quote-mark {
    font:90px var(--serif);
    opacity:.4;
    margin-right:23px;
    align-self:flex-start;
    line-height:1;
}
.quote-inner p {
    font:500 39px/1.16 var(--display);
    letter-spacing:-1.7px;
    margin:0;
}
.quote-inner em {
    font:italic 500 1em var(--serif);
    color:#e8d9b9;
}
.quote-side {
    position:absolute;
    right:0;
    bottom:3px;
    font-size:8px;
    letter-spacing:1.2px;
    line-height:1.8;
    color:#E9D7C9;
}
.how {
    background:#FAF7F2;
}
.section-heading {
    text-align:center;
    max-width:510px;
    margin:0 auto;
}
.section-heading h2 {
    margin-top:13px;
}
.section-sub {
    font-size:13px;
    line-height:1.8;
    color:#7d847b;
    margin:17px auto 0;
    max-width:385px;
}
.steps {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:58px;
}
.step {
    min-height:220px;
    border-top:1px solid #E8DED5;
    padding:23px 26px;
    position:relative;
}
.step-num {
    position:absolute;
    right:20px;
    top:21px;
    color:#9ca499;
    font-size:9px;
    letter-spacing:1px;
}
.step-icon {
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#F4EADF;
    color:#AC644B;
    font-size:20px;
}
.step h3 {
    font:700 15px var(--display);
    letter-spacing:-.4px;
    margin:20px 0 8px;
}
.step p {
    font-size:11px;
    color:#7b8279;
    line-height:1.8;
    max-width:230px;
}
.trust-section {
    background:#F3E9DF;
    padding:95px 0;
}
.trust-grid {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:60px;
}
.trust-grid h2 {
    margin-top:15px;
}
.trust-points>div {
    display:grid;
    grid-template-columns:32px 1fr;
    gap:10px;
    padding:0 0 17px;
    margin-bottom:17px;
    border-bottom:1px solid #E8DED5;
}
.trust-points>div>span {
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#F0E2D8;
    color:#B36A50;
    font-size:13px;
}
.trust-points p {
    font-size:11px;
    line-height:1.8;
    color:#777f75;
    margin:0;
}
.trust-points p b {
    color:#46342D;
    font-size:12px;
}
.trust-points .text-link {
    display:inline-block;
    margin:7px 0 0 42px;
}
.faq {
    background:#FAF7F2;
}
.faq-grid {
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:80px;
}
.faq .section-heading {
    text-align:left;
    margin:0;
}
.faq .section-sub {
    margin-left:0;
}
.faq-list details {
    border-bottom:1px solid #E8DED5;
}
.faq-list details:first-child {
    border-top:1px solid #E8DED5;
}
.faq-list summary {
    list-style:none;
    cursor:pointer;
    padding:20px 2px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font:600 13px var(--display);
}
.faq-list summary::-webkit-details-marker {
    display:none;
}
.faq-list summary span {
    font-size:19px;
    font-weight:400;
    color:#B96D51;
    transition:transform .2s;
}
.faq-list details[open] summary span {
    transform:rotate(45deg);
}
.faq-list details p {
    max-width:540px;
    color:#777f76;
    font-size:11px;
    line-height:1.85;
    margin:0;
    padding:0 28px 20px 2px;
}
.closing {
    background:#292624;
    color:#FAF7F2;
    overflow:hidden;
    position:relative;
    text-align:center;
    padding:100px 0 105px;
}
.closing-inner {
    position:relative;
    z-index:1;
}
.closing .eyebrow {
    color:#E1C7B7;
}
.closing-star {
    display:inline-block;
    font-size:24px;
    color:#E9D2C2;
    margin-bottom:9px;
}
.closing h2 {
    font:500 clamp(45px,6vw,68px)/1.02 var(--display);
    letter-spacing:-3.8px;
    margin:17px 0;
}
.closing h2 em {
    color:#E9D7C9;
}
.closing-inner>p:not(.eyebrow) {
    font-size:12px;
    color:#E9D7C9;
    margin:0 auto 22px;
}
.button-light {
    background:#FAF7F2;
    color:#46342D;
}
.button-light:hover {
    background:white;
}
.closing-orbit {
    position:absolute;
    width:400px;
    height:220px;
    border:1px solid #F7EFE350;
    border-radius:50%;
    z-index:-1;
}
.orbit-a {
    left:-240px;
    top:10px;
    transform:rotate(-28deg);
}
.orbit-b {
    right:-240px;
    bottom:-10px;
    transform:rotate(23deg);
}
.footer {
    background:#F7F2EB;
}
.footer-top {
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    align-items:center;
    padding:35px 0 28px;
}
.footer-top>p {
    font:italic 13px/1.5 var(--serif);
    color:#80877e;
    margin:0;
}
.footer-links {
    display:flex;
    flex-wrap:wrap;
    gap:12px 20px;
    justify-content:flex-end;
    font-size:10px;
    color:#747d73;
}
.footer-bottom {
    border-top:1px solid #E8DED5;
    display:flex;
    justify-content:space-between;
    padding:14px 0 19px;
    color:#999f96;
    font-size:9px;
}
.policy-hero {
    background:#F3E9DF;
    padding:78px 0 68px;
}
.policy-hero .eyebrow a {
    color:#A96048;
}
.policy-hero h1 {
    font:500 clamp(41px,5.5vw,66px)/1.08 var(--display);
    letter-spacing:-3.8px;
    margin:24px 0 16px;
}
.policy-hero h1 em {
    font:italic 500 1em var(--serif);
    letter-spacing:-2.4px;
    color:#B96D51;
}
.policy-intro {
    max-width:600px;
    color:#727a71;
    font-size:14px;
    line-height:1.8;
    margin-bottom:11px;
}
.policy-date {
    font-size:10px;
    letter-spacing:.3px;
    color:#8C857A;
}
.policy-layout {
    display:grid;
    grid-template-columns:220px minmax(0,720px);
    gap:70px;
    padding-top:60px;
    padding-bottom:90px;
}
.policy-aside {
    align-self:start;
    position:sticky;
    top:30px;
    display:flex;
    flex-direction:column;
    gap:13px;
    border-left:1px solid #E8DED5;
    padding:2px 0 3px 17px;
}
.policy-aside span {
    font-size:8px;
    letter-spacing:1.2px;
    font-weight:700;
    color:#8C857A;
    margin-bottom:3px;
}
.policy-aside a {
    font-size:10px;
    color:#717a70;
}
.policy-aside a:hover {
    color:#7B5140;
}
.policy-content section {
    padding:0 0 29px;
    margin:0 0 27px;
    border-bottom:1px solid #e1e4dd;
    scroll-margin-top:40px;
}
.policy-content section:last-child {
    border:0;
}
.policy-content h2 {
    font:700 20px var(--display);
    letter-spacing:-.6px;
    margin:0 0 13px;
}
.policy-content p,.policy-content li {
    font-size:12px;
    line-height:1.9;
    color:#687168;
}
.policy-content p {
    margin:0 0 12px;
}
.policy-content ul {
    padding-left:19px;
    margin:0 0 13px;
}
.policy-content li {
    padding:0 0 8px;
}
.policy-content b {
    color:#59463E;
}
.policy-note {
    background:#F3E9DF;
    padding:15px 17px;
    border-radius:8px;
    font-size:11px!important;
}
.policy-note b {
    display:block;
    margin-bottom:4px;
}
@media(max-width:900px) {
    .shell {
        width:min(100% - 42px,720px);
    }
    .hero {
        grid-template-columns:1fr 1fr;
        min-height:570px;
    }
    .hero h1 {
        font-size:64px;
    }
    .hero-art {
        height:440px;
    }
    .trip-card {
        right:15px;
        top:185px;
        width:220px;
    }
    .floating-note {
        left:12px;
        bottom:85px;
    }
    .feature-section {
        gap:14px;
    }
    .feature-large {
        min-height:400px;
    }
    .feature-card {
        padding:25px;
        min-height:375px;
    }
    .policy-layout {
        grid-template-columns:170px 1fr;
        gap:35px;
    }
}
@media(max-width:650px) {
    .shell {
        width:calc(100% - 38px);
    }
    .site-header {
        height:68px;
    }
    .brand {
        font-size:19px;
    }
    .brand-logo {
        width:29px;
        height:29px;
    }
    .menu-toggle {
        display:flex;
        flex-direction:column;
        gap:5px;
        border:0;
        background:#F4EADF;
        border-radius:50%;
        width:38px;
        height:38px;
        align-items:center;
        justify-content:center;
        cursor:pointer;
    }
    .menu-toggle span {
        height:1.5px;
        width:15px;
        background:#614337;
        transition:transform .2s;
    }
    .menu-toggle[aria-expanded=true] span:first-child {
        transform:translateY(3.2px) rotate(45deg);
    }
    .menu-toggle[aria-expanded=true] span:last-child {
        transform:translateY(-3.2px) rotate(-45deg);
    }
    .nav-links {
        display:none;
        position:absolute;
        top:67px;
        left:0;
        right:0;
        background:#F7F2EB;
        padding:18px 20px 22px;
        box-shadow:0 14px 22px #29262413;
        align-items:stretch;
        gap:0;
        flex-direction:column;
    }
    .nav-links.is-open {
        display:flex;
    }
    .nav-links>a {
        padding:12px 4px;
    }
    .nav-links .nav-cta {
        margin-top:8px;
        text-align:center;
    }
    .hero {
        display:flex;
        flex-direction:column;
        align-items:stretch;
        padding-top:58px;
        padding-bottom:80px;
        min-height:0;
    }
    .hero-copy {
        padding:0;
    }
    .hero h1 {
        font-size:clamp(57px,15vw,76px);
        letter-spacing:-4px;
        margin-top:20px;
    }
    .hero h1 em {
        letter-spacing:-3px;
    }
    .hero-text {
        font-size:14px;
        max-width:340px;
    }
    .hero-actions {
        gap:17px;
        flex-wrap:wrap;
    }
    .hero-note {
        margin-top:27px;
    }
    .hero-art {
        height:410px;
        margin:37px 0 0;
        border-radius:210px 210px 17px 17px;
    }
    .sun {
        width:125px;
        height:125px;
        top:56px;
    }
    .trip-card {
        width:215px;
        right:15px;
        top:174px;
    }
    .route-one {
        left:15px;
        top:157px;
    }
    .route-two {
        left:58px;
        top:196px;
    }
    .floating-note {
        bottom:68px;
        left:12px;
    }
    .hero-bottom {
        bottom:20px;
    }
    .hero-bottom span:nth-child(2) {
        display:none;
    }
    .hero-bottom .scroll-cue {
        margin-left:auto;
    }
    .section-pad {
        padding:78px 0;
    }
    .intro-grid {
        grid-template-columns:1fr;
        gap:21px;
    }
    .intro h2,.section-heading h2,.trust-grid h2 {
        font-size:42px;
        letter-spacing:-2px;
    }
    .intro-copy {
        margin:0;
    }
    .intro-copy p {
        font-size:13px;
    }
    .feature-section {
        grid-template-columns:1fr;
        padding-top:18px;
        padding-bottom:70px;
    }
    .feature-large {
        grid-column:auto;
        grid-template-columns:1fr;
        min-height:570px;
        align-content:start;
    }
    .feature-large .feature-copy {
        padding-bottom:25px;
    }
    .mini-dashboard {
        width:min(100%,350px);
        justify-self:center;
    }
    .feature-card {
        min-height:390px;
        padding:26px;
    }
    .feature-card h3 {
        font-size:29px;
    }
    .feature-green .feature-copy,.feature-cream .feature-copy,.feature-lilac .feature-copy {
        padding-bottom:210px;
    }
    .itinerary-art,.budget-art {
        left:25px;
        right:25px;
        bottom:23px;
    }
    .notes-art {
        left:35px;
        right:35px;
        bottom:22px;
    }
    .quote-band {
        padding:60px 0;
    }
    .quote-inner {
        justify-content:flex-start;
    }
    .quote-mark {
        font-size:61px;
        margin-right:10px;
    }
    .quote-inner p {
        font-size:30px;
        letter-spacing:-1px;
    }
    .quote-side {
        position:static;
        margin-left:auto;
        font-size:6px;
        align-self:flex-end;
        padding-bottom:4px;
    }
    .steps {
        grid-template-columns:1fr;
        gap:3px;
        margin-top:40px;
    }
    .step {
        min-height:0;
        padding:20px 7px;
    }
    .step h3 {
        margin-top:13px;
    }
    .step p {
        max-width:330px;
        margin-bottom:0;
    }
    .trust-section {
        padding:72px 0;
    }
    .trust-grid {
        grid-template-columns:1fr;
        gap:34px;
    }
    .faq-grid {
        grid-template-columns:1fr;
        gap:35px;
    }
    .faq .section-heading {
        max-width:none;
    }
    .faq-list summary {
        font-size:12px;
    }
    .closing {
        padding:80px 0;
    }
    .closing h2 {
        font-size:54px;
        letter-spacing:-2.8px;
    }
    .footer-top {
        grid-template-columns:1fr 1fr;
        gap:19px;
        padding:30px 0 23px;
    }
    .footer-top>p {
        grid-column:1/-1;
        grid-row:2;
        font-size:12px;
    }
    .footer-links {
        gap:8px 13px;
    }
    .footer-bottom {
        font-size:8px;
    }
    .policy-hero {
        padding:57px 0 46px;
    }
    .policy-hero h1 {
        font-size:43px;
        letter-spacing:-2.4px;
    }
    .policy-layout {
        display:block;
        padding-top:30px;
        padding-bottom:60px;
    }
    .policy-aside {
        position:static;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px 14px;
        margin-bottom:38px;
        padding-left:13px;
    }
    .policy-aside span {
        grid-column:1/-1;
    }
    .policy-content h2 {
        font-size:18px;
    }
    .policy-content p,.policy-content li {
        font-size:11px;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    *,*::before,*::after {
        transition:none!important;
        animation:none!important;
    }
}
/* Kelmora app alignment: warm sand, clay, ink and bold sans-serif type. */
em {
    font-style:normal;
}
.hero h1,.intro h2,.section-heading h2,.trust-grid h2,.policy-hero h1,.closing h2 {
    font-weight:800;
}
.feature-card h3 {
    font-weight:800;
}
.trip-architecture {
    background:#F3E9DF;
}
.architecture-head {
    display:grid;
    grid-template-columns:1fr .8fr;
    align-items:end;
    gap:50px;
    margin-bottom:34px;
}
.architecture-head h2 {
    font:800 clamp(38px,4.2vw,55px)/1.1 var(--display);
    letter-spacing:-2.8px;
    margin:17px 0 0;
}
.architecture-head h2 em {
    color:#CC7859;
}
.architecture-head>p {
    max-width:355px;
    margin:0 0 4px auto;
    color:#8C857A;
    font-size:13px;
    line-height:1.85;
}
.architecture-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:11px;
}
.architecture-tile {
    background:#FFFCF7;
    border:1px solid rgba(41,38,36,.06);
    border-radius:12px;
    min-height:162px;
    padding:18px 17px;
}
.module-symbol {
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    border-radius:9px;
    background:#F4EADF;
    color:#CC7859;
    font-size:9px;
    font-weight:800;
    letter-spacing:.5px;
}
.architecture-tile h3 {
    font:800 13px var(--display);
    letter-spacing:-.2px;
    margin:14px 0 5px;
}
.architecture-tile p {
    font-size:10px;
    line-height:1.7;
    color:#8C857A;
    margin:0;
    max-width:205px;
}
.architecture-ai {
    background:#CC7859;
    color:#fff;
}
.architecture-ai .module-symbol {
    background:rgba(255,255,255,.2);
    color:#fff;
}
.architecture-ai p {
    color:rgba(255,255,255,.83);
}
.architecture-foot {
    display:flex;
    justify-content:space-between;
    border-top:1px solid #E8DED5;
    margin-top:20px;
    padding-top:13px;
    color:#8C857A;
    font-size:8px;
    font-weight:700;
    letter-spacing:1px;
}
@media(max-width:900px) {
    .architecture-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:650px) {
    .architecture-head {
        grid-template-columns:1fr;
        gap:15px;
    }
    .architecture-head h2 {
        font-size:42px;
        letter-spacing:-2px;
    }
    .architecture-head>p {
        margin:0;
    }
    .architecture-grid {
        gap:8px;
    }
    .architecture-tile {
        min-height:150px;
        padding:15px 13px;
    }
    .architecture-foot {
        font-size:7px;
        letter-spacing:.5px;
    }
}


/* ---- Final fixes (keep this block at the very end of the file) ---- */
.site-header .brand{display:inline-flex;align-items:center;gap:10px;line-height:1}
.site-header .brand .brand-logo{display:block;width:36px;height:36px;min-width:36px;max-width:36px;max-height:36px;flex:0 0 36px;border-radius:10px;object-fit:contain}
.hero-art .art-label{top:84px;left:96px}
.hero-art .art-caption{right:auto;left:44px;bottom:26px;color:#fff;font-size:11px;font-weight:500;letter-spacing:.3px}
@media(max-width:650px){
  .site-header .brand .brand-logo{width:30px;height:30px;min-width:30px;max-width:30px;max-height:30px;flex-basis:30px;border-radius:9px}
  .hero-art .art-label{top:70px;left:60px}
  .hero-art .art-caption{left:24px;bottom:14px;font-size:10px}
  .hero-art .trip-card{top:128px}
  .hero-art .floating-note{bottom:44px}
}
@media(min-width:651px) and (max-width:900px){
  .hero-art .trip-card{top:160px}
  .hero-art .floating-note{bottom:48px}
}
@media(min-width:901px) and (max-width:1000px){
  .hero-art .trip-card{top:176px}
}