/* Tukki editorial system | responsive across desktop and mobile */
:root{--editorial-ink:#28372c;--editorial-accent:#bd5635;--editorial-rule:#ded8ca}
html{-webkit-text-size-adjust:100%}
body{font-feature-settings:"kern" 1;text-rendering:optimizeLegibility}
h1,h2,.editorial-footer__logo{font-kerning:normal}
h1,h2{letter-spacing:-.038em}
.editorial-footer{background:#f8f5ed;color:var(--editorial-ink);border-top:1px solid var(--editorial-rule);padding:clamp(48px,6vw,90px) 0 24px}
.editorial-footer__inner{max-width:1170px;margin:0 auto;padding:0 clamp(22px,4vw,48px)}
.editorial-footer__main{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(0,1fr) minmax(0,1fr);column-gap:clamp(30px,6vw,110px);row-gap:32px;align-items:start}
.editorial-footer__brand{min-width:0}
.editorial-footer__logo{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(49px,5vw,68px);letter-spacing:-.07em;line-height:1.15;text-decoration:none;color:#2a392e;display:inline-block}
.editorial-footer__logo span{color:#c96f4a}
.editorial-footer__origin{font-size:13px;letter-spacing:.04em;color:#697063;margin:12px 0 16px}
.editorial-footer__tagline{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:clamp(18px,2vw,24px);color:#566251;line-height:1.35;margin:0}
.editorial-footer__heading{font-family:'DM Sans',Arial,sans-serif;color:var(--editorial-accent);font-size:11px;line-height:1.3;font-weight:800;text-transform:uppercase;letter-spacing:.18em;margin:6px 0 23px}
.editorial-footer__links{display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.editorial-footer__links a{font-size:14px;font-weight:550;line-height:1.4;text-decoration:none;color:#344438;transition:color .16s ease,text-decoration-color .16s ease}
.editorial-footer__links a:hover{color:var(--editorial-accent);text-decoration:underline;text-underline-offset:5px}
.editorial-footer a:focus-visible{outline:2px solid var(--editorial-accent);outline-offset:5px}
.editorial-footer__bottom{display:flex;justify-content:space-between;gap:14px 30px;flex-wrap:wrap;border-top:1px solid var(--editorial-rule);margin-top:clamp(40px,6vw,72px);padding-top:22px;color:#778073;font-size:11px;letter-spacing:.02em;line-height:1.6}
@media(max-width:720px){.editorial-footer{padding-top:50px}.editorial-footer__main{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:38px}.editorial-footer__brand{grid-column:1/-1;padding-bottom:25px;border-bottom:1px solid var(--editorial-rule)}.editorial-footer__logo{font-size:56px}.editorial-footer__heading{margin:0 0 20px;font-size:11px}.editorial-footer__links{gap:17px}.editorial-footer__links a{font-size:13px;overflow-wrap:break-word}.editorial-footer__bottom{margin-top:45px;flex-direction:column;gap:7px}.editorial-footer__inner{padding:0 24px}}
@media(min-width:721px) and (max-width:950px){.editorial-footer__main{column-gap:30px;grid-template-columns:1.12fr 1fr 1fr}}
@media(prefers-reduced-motion:reduce){.editorial-footer__links a{transition:none}}
/* Refined editorial presentation without changing checkout, matching or other behavior */
@media(min-width:721px){.section{padding-top:max(90px,7vw);padding-bottom:max(90px,7vw)}}
.section-header h2,.section h2{line-height:1.1}
.experience-card .card-photo img{object-fit:cover}

/* Exact reference footer: masthead across top, rule, then two equal editorial columns at all widths. */
.editorial-footer{background:#faf6ef;border-top:0;padding:clamp(40px,5vw,72px) 0 28px}
.editorial-footer__inner{max-width:1536px;padding:clamp(24px,3vw,42px);background:#faf6ef;border-radius:30px}
.editorial-footer__main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,6vw,95px);row-gap:0}
.editorial-footer__brand{grid-column:1/-1;padding-bottom:32px;margin-bottom:38px;border-bottom:1px solid #d7d2c7}
.editorial-footer__logo{font-size:clamp(44px,4vw,64px);line-height:1;font-weight:600}
.editorial-footer__origin{font-size:clamp(13px,1.15vw,21px);letter-spacing:0;margin:22px 0 18px;color:#5b6859}
.editorial-footer__tagline{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(15px,1.45vw,24px);font-style:normal;font-weight:400;line-height:1.5}
.editorial-footer__heading{color:#c45130;font-size:clamp(13px,1.2vw,22px);letter-spacing:0;margin:0 0 26px;font-weight:800}
.editorial-footer__links{gap:18px}
.editorial-footer__links a{font-size:clamp(14px,1.3vw,22px);font-weight:400;line-height:1.55}
.editorial-footer__bottom{margin-top:44px;padding-top:30px;font-size:clamp(12px,1.1vw,19px);border-top:1px solid #d7d2c7;letter-spacing:0}
@media(min-width:721px) and (max-width:950px){.editorial-footer__main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.editorial-footer{padding:30px 0 15px}.editorial-footer__inner{padding:28px 22px;border-radius:20px}.editorial-footer__main{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.editorial-footer__brand{grid-column:1/-1;padding-bottom:25px;margin-bottom:28px}.editorial-footer__origin{margin:18px 0 13px}.editorial-footer__heading{font-size:12px;margin:0 0 18px;letter-spacing:.035em}.editorial-footer__links{gap:16px}.editorial-footer__links a{font-size:13px;line-height:1.4}.editorial-footer__bottom{margin-top:35px;padding-top:23px}}
/* Calm editorial scrollable filters on small screens */
@media(max-width:720px){#area-bar{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain;padding-bottom:10px}#area-bar .filter{flex:0 0 auto;white-space:nowrap}}

/* Editorial brand header centered above the footer columns, on desktop and mobile. */
.editorial-footer__brand{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.editorial-footer__brand p{margin-left:auto;margin-right:auto}

/* October 29: the actual footer navigation headings and links are centered, not just the brand. */
.editorial-footer__group{text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0}
.editorial-footer__heading{text-align:center;width:100%}
.editorial-footer__links{width:100%;align-items:center;text-align:center}
.editorial-footer__links a{text-align:center;max-width:100%}

/* Consistent footer typography and 4/4 centered mobile layout on standalone pages. */
.editorial-footer{box-sizing:border-box;width:100%;overflow:hidden}
.editorial-footer *, .editorial-footer *::before, .editorial-footer *::after{box-sizing:border-box}
.editorial-footer__inner{width:100%}
.editorial-footer__main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.editorial-footer__group{min-width:0;align-items:center;text-align:center}
.editorial-footer__heading{font-family:'DM Sans',Arial,sans-serif;font-weight:800;line-height:1.3;text-align:center;letter-spacing:.02em}
.editorial-footer__links{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.editorial-footer__links a{display:block;max-width:100%;overflow-wrap:break-word;text-align:center;text-decoration:none}
@media(max-width:720px){
 .editorial-footer__main{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(12px,4vw,22px)}
 .editorial-footer__inner{padding:28px 16px}
 .editorial-footer__heading{font-size:clamp(12px,3.4vw,14px);margin:0 0 20px}
 .editorial-footer__links{gap:15px}
 .editorial-footer__links a{font-size:clamp(12px,3.2vw,14px);line-height:1.45}
 .editorial-footer__brand{grid-column:1/-1}
 .editorial-footer__bottom{font-size:12px}
}

/* Founding traveler reward: intentionally distinct editorial terracotta component. */
.founder-rewards{padding:42px 0 62px;background:#f8f5ed}
.rewards-editorial{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,70px);align-items:center;padding:clamp(27px,4vw,57px);border-radius:28px;background:#f4e6d9;border:1px solid #ebd7c5}
.rewards-main h2{font-family:'Fraunces',Georgia,serif;font-size:clamp(36px,4.6vw,62px);font-weight:500;line-height:1.1;color:#304c3e;margin:10px 0 20px;letter-spacing:-.04em}
.rewards-main h2 em{color:#c45130}
.rewards-main>p:not(.eyebrow){font-size:clamp(15px,1.5vw,18px);line-height:1.7;color:#485346;max-width:530px}
.rewards-link{display:inline-flex;margin-top:15px;padding-bottom:7px;border-bottom:1px solid #b84c2d;color:#b84c2d;font-size:14px;font-weight:800;gap:12px}
.rewards-detail{display:flex;align-items:flex-start;gap:18px;padding:28px;border-radius:19px;background:#fffaf4;border:1px solid #e7d4c3}
.reward-symbol,.booking-reward-icon{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#f8e5d8;color:#bd4d2a}
.rewards-detail .reward-overline{display:block;font-size:11px;color:#bc512f;letter-spacing:.13em;font-weight:800;margin-bottom:10px}
.rewards-detail strong{display:block;font-family:'Fraunces',Georgia,serif;font-size:clamp(21px,2vw,28px);line-height:1.2;color:#304c3e}
.rewards-detail p{font-size:12px;color:#62695e;line-height:1.75;margin:15px 0 0}
.booking-reward-note{display:flex;align-items:flex-start;gap:14px;background:#f9eae1;border:1px solid #eddbcd;border-radius:15px;padding:17px;margin:14px 0 22px}
.booking-reward-icon{width:43px;height:43px;background:#fff9f3}
.booking-reward-icon svg{height:23px;width:23px}
.booking-reward-note strong{display:block;color:#a94729;font-size:14px;line-height:1.45}
.booking-reward-note p{margin:5px 0 0!important;color:#5d6158!important;font-size:11px!important;line-height:1.6!important}
.booking-reward-note a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:720px){
 .rewards-editorial{grid-template-columns:1fr;gap:25px;padding:27px 20px;border-radius:19px}
 .founder-rewards{padding:24px 0 45px}.rewards-main h2{font-size:39px}.rewards-detail{padding:20px;gap:13px}.reward-symbol{width:46px;height:46px}
 .header .nav{height:auto!important;min-height:94px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;padding-top:12px!important;padding-bottom:12px!important;align-items:center!important}
 .header .brand{grid-column:1!important;grid-row:1/3!important;min-width:0}
 .header .wordmark{font-size:clamp(31px,7vw,43px)!important}
 .header .brand-meaning{font-size:10px!important;line-height:1.3!important;white-space:normal!important;max-width:108px!important}
 .header .account-link{grid-column:2!important;grid-row:1!important;white-space:nowrap!important;font-size:11px!important;padding:8px 10px!important}
 .header .nav-cta{grid-column:2!important;grid-row:2!important;white-space:nowrap!important;font-size:11px!important;padding:9px 11px!important;text-align:center}
 .header .menu-toggle{grid-column:3!important;grid-row:1/3!important;padding:8px!important;font-size:11px!important}
 .experience-card .card-photo{height:clamp(225px,70vw,400px)!important;aspect-ratio:1.25!important}
 .experience-card .card-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
 .experience-card .card-body{padding:18px!important}
 .booking-reward-note{padding:14px;gap:10px}
}
@media(max-width:370px){.header .wordmark{font-size:30px!important}.header .account-link,.header .nav-cta{font-size:10px!important;padding:8px!important}.header .menu-toggle{font-size:10px!important}}

/* October 29: prominent rewards discovery and restrained mobile layout. */
.rewards-early{background:#f5e4d5;border-block:1px solid #ead1bc}
.rewards-early-inner{display:flex;gap:17px;align-items:center;padding-top:19px;padding-bottom:19px}
.rewards-early-mark{display:grid;place-items:center;flex:0 0 46px;height:46px;border:1px solid #d9a58c;border-radius:50%;color:#b84e2f}
.rewards-early-mark svg{width:23px;height:23px}
.rewards-early p{display:grid;gap:3px;flex:1;margin:0;line-height:1.35;color:#314938}
.rewards-early strong{font-family:'Fraunces',Georgia,serif;font-size:21px;font-weight:600}
.rewards-early p span{font-size:13px}
.rewards-early a{color:#ae4629;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.card-rewards-mini{display:flex;align-items:center;gap:10px;padding:12px 13px;background:#faede3;border:1px solid #eedbce;border-radius:12px;margin:12px 0;color:#a94b30}
.card-rewards-mini svg{width:22px;height:22px;flex:none}
.card-rewards-mini span{display:grid;gap:3px;line-height:1.3}
.card-rewards-mini strong{font-size:12px}.card-rewards-mini small{font-size:10px;color:#657063}
.card-rewards-mini a{color:#a94b30;text-decoration:underline}
@media(max-width:720px){
 .header .nav{grid-template-columns:minmax(0,1fr) auto auto!important;gap:5px!important;padding:9px 13px!important;min-height:76px!important}
 .header .brand{grid-row:1/3!important}.header .wordmark{font-size:clamp(28px,8vw,39px)!important;line-height:1.05!important}
 .header .brand-meaning{max-width:95px!important;font-size:9px!important;line-height:1.2!important;margin-top:3px!important}
 .header .account-link{font-size:10px!important;padding:7px 9px!important;min-width:0!important}
 .header .nav-cta{font-size:10px!important;padding:8px 10px!important;min-width:0!important}
 .header .menu-toggle{padding:7px!important;font-size:10px!important;min-width:0!important}
 .experience-card .card-photo{height:auto!important;aspect-ratio:4/3!important;min-height:0!important}
 .experience-card .card-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
 .experience-card .card-body{padding:17px!important}
 .rewards-early-inner{flex-wrap:wrap;gap:11px;padding-top:16px;padding-bottom:16px}
 .rewards-early-mark{flex-basis:38px;height:38px}.rewards-early-mark svg{width:20px;height:20px}
 .rewards-early p{flex:1 1 calc(100% - 60px)}.rewards-early strong{font-size:19px}
 .rewards-early p span{font-size:12px}.rewards-early a{margin-left:49px}
}
@media(max-width:360px){.header .nav{padding-inline:9px!important}.header .wordmark{font-size:27px!important}.header .account-link,.header .nav-cta,.header .menu-toggle{font-size:9px!important;padding:6px!important}}

/* Editorial progressive disclosure: only the selected city is visible. */
#experiences .area-group{margin-top:16px;margin-bottom:24px;}
#experiences .tukki-area-label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#425b4a;margin-bottom:8px;}
#experiences .tukki-area-select-wrap{position:relative;display:block;width:min(100%,440px);}
#experiences .tukki-area-select{appearance:none;-webkit-appearance:none;display:block;width:100%;background:#fbf7ef;border:1.5px solid #dfc3af;border-radius:100px;padding:15px 53px 15px 21px;color:#264b3b;font:600 16px inherit; font-family:inherit;font-size:16px;font-weight:650;cursor:pointer;}
#experiences .tukki-area-select:focus-visible{outline:3px solid #bd643f;outline-offset:3px;}
#experiences .tukki-area-select-wrap svg{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:19px;height:19px;pointer-events:none;color:#264b3b;}
#experiences .destination-level .destination-sub{max-width:690px;}
#experiences .place-bar{display:flex;flex-wrap:nowrap;gap:12px;overflow:visible;}
#experiences .place-bar .filter{min-width:150px;}
@media(max-width:600px){#experiences .place-bar .filter{min-width:0;flex:1}#experiences .tukki-area-select-wrap{width:100%;}}

/* Center the complete country area category discovery controls. */
#experiences .destination-level{text-align:center;display:flex;flex-direction:column;align-items:center}
#experiences .destination-level .destination-sub{margin-left:auto;margin-right:auto;max-width:830px;text-align:center}
#experiences .destination-level .destination-title{text-align:center}
#experiences .place-bar{justify-content:center!important;width:100%;margin-left:auto;margin-right:auto;overflow:visible}
#experiences .place-bar .filter{flex:0 0 auto;min-width:145px}
#experiences .area-group{display:flex;flex-direction:column;align-items:center;text-align:center}
#experiences .tukki-area-label{text-align:center}
#experiences .tukki-area-select-wrap{margin-inline:auto;text-align:left}
#experiences .filter-group{text-align:center}
#experiences .filter-heading{text-align:center!important}
#experiences #category-bar{justify-content:center!important;margin-left:auto;margin-right:auto;}
#experiences #category-bar .filter{flex:0 0 auto;}
@media(max-width:850px){
 #experiences .destination-level .destination-sub{max-width:100%;}
 #experiences #category-bar{justify-content:flex-start!important;}
 #experiences .place-bar{justify-content:center!important;}
}
@media(max-width:600px){
 #experiences .place-bar .filter{flex:1 1 0;min-width:0;}
 #experiences .tukki-area-select-wrap{width:100%;}
}


/* Tukki October 31: prevent Unicode arrows from showing as Apple emoji.
   All decorative CTA arrows use a vector mask instead. */
a.button-primary::after, a.button-quiet::after, a.rewards-link::after,
button.button-primary::after, .tukki-personal-link::after,
a.cta::after, a.recommend-link::after, a.action::after {
  content:""; display:inline-block; width:0.9em; height:0.9em; margin-left:.48em;
  vertical-align:-.08em; background-color:currentColor;
  -webkit-mask:url("/assets/icons/tukki-arrow-right.svg") center / contain no-repeat;
  mask:url("/assets/icons/tukki-arrow-right.svg") center / contain no-repeat;
}

/* Oct 31: prevent duplicate arrows when a CTA already embeds its own SVG icon.
   Keep the existing icon, suppress only the CSS-generated second arrow. */
:is(a.button-primary, a.button-quiet, a.rewards-link, button.button-primary,
    .tukki-personal-link, a.cta, a.recommend-link, a.action):has(svg)::after {
  content:none !important;
  display:none !important;
}
