@font-face{font-family:"Hanken Grotesk";src:url("https://kefi.softdelo.com/wp-content/uploads/fonts/hanken-grotesk-v12-latin-200.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("https://kefi.softdelo.com/wp-content/uploads/fonts/hanken-grotesk-v12-latin-300.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("https://kefi.softdelo.com/wp-content/uploads/fonts/hanken-grotesk-v12-latin-regular.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Caveat";src:url("assets/fonts/Caveat-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Caveat Brush";src:url("assets/fonts/CaveatBrush-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{
 --kefi-green:#035c36;
 --kefi-dark:#434646;
 --kefi-red:#cc4035;
 --kefi-light-gray:#bcc0c0;
 --kefi-white:#fff;
 --green:var(--kefi-green);
 --dark:var(--kefi-dark);
 --red:var(--kefi-red);
 --gray:var(--kefi-light-gray);
 --white:var(--kefi-white);
 --font-sans:"Hanken Grotesk";
 --font-script:"Caveat";
 --weight-light:300;
 --weight-regular:400;
 --weight-medium:500;
 --body-size:18px;
 --body-leading:28px;
 --h1-size:48px;
 --h1-leading:52px;
 --h2-size:30px;
 --h2-leading:34px;
 --button-header-size:16px;
 --button-header-leading:20px;
 --button-large-size:20px;
 --button-large-leading:24px;
 --meta-size:12px;
 --meta-leading:20px;
 --service-size:14px;
 --service-leading:20px;
 --desktop-frame:1512px;
 --container:1272px;
 --column:84px;
 --gutter:24px;
 --step:108px;
 --space:24px;
 --space-half:12px;
 --space-double:48px;
 --section-gap:64px;
 --header-height:112px;
 --border:1px solid var(--kefi-green);
 --button-header-x:20px;
 --button-buy-x:24px;
 --button-large-x:28px;
 --card-padding:32px;
 --detail-hero-card-span:636px;
 --detail-hero-card-content:516px;
 --shadow:0 2px 8px rgba(159,126,95,.1),0 12px 30px rgba(184,154,122,.16);
 --shadow-light:0 2px 8px rgba(159,126,95,.08),0 12px 30px rgba(184,154,122,.12);
 font-family:var(--font-sans);
 color:var(--dark)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-width:0;overflow-x:hidden;background:var(--white);font-family:var(--font-sans);font-size:var(--body-size);font-weight:var(--weight-regular);line-height:var(--body-leading);font-synthesis:none}img{max-width:100%}a{color:inherit;text-decoration:none}.container{width:min(var(--container),calc(100% - var(--space-double)));margin-inline:auto}
.site-header{height:112px;background:#fff}.header-inner,.header-right,.header-actions,.main-nav{display:flex;align-items:center}.header-inner{height:100%;justify-content:space-between}.brand img{display:block;width:74px;height:72px;object-fit:contain}.header-right{gap:32px}.header-actions{gap:12px}.main-nav{gap:28px;font-size:16px;line-height:20px;text-transform:uppercase}.main-nav>a:hover,.main-nav>a:focus-visible,.main-nav .active{color:var(--green)}
.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:11px 20px;border:1px solid;font-size:16px;font-weight:500;line-height:20px;text-transform:uppercase;transition:.15s}.button--green{border-color:var(--green);background:var(--green);color:#fff}.button--green:hover,.button--green:focus-visible{background:#fff;color:var(--green)}.button--green-outline{border-color:var(--green);background:#fff;color:var(--green)}.button--green-outline:hover,.button--green-outline:focus-visible{background:var(--green);color:#fff}.button--red{min-height:50px;padding-inline:24px;border-color:var(--red);background:#fff;color:var(--red);font-size:18px;line-height:24px}.button--red:hover,.button--red:focus-visible{background:var(--red);color:#fff}
.language-wrap{position:relative}.language{display:inline-flex;height:24px;align-items:center;gap:6px;padding:0;border:0;background:none;color:inherit;font:inherit;text-transform:uppercase;cursor:pointer}.language span{font-size:11px;line-height:1}.language-menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:none;width:max-content;min-width:48px;margin:0;padding:0;background:#fff;box-shadow:var(--shadow);list-style:none}.language-wrap.is-open .language-menu{display:block}.language-menu a{display:block;padding:8px 12px;color:var(--green);font-size:14px;line-height:20px}.language-menu li+li{border-top:1px solid var(--gray)}.language-menu a:hover{color:var(--dark)}
.split-hero{position:relative;min-height:624px;margin-top:48px}.split-hero__image{position:relative;width:min(960px,63.492vw);height:624px;overflow:hidden}.split-hero__image>img{display:block;width:100%;height:100%;object-fit:cover}.split-hero__labels{position:absolute;top:55px;left:0;display:flex;flex-direction:column;align-items:flex-start;gap:23px}.split-hero__labels h1,.split-hero__labels p{width:max-content;max-width:calc(100vw - 24px);margin:0;padding:16px 40px 16px max(24px,calc((100vw - var(--container))/2))}.split-hero__labels h1{background:var(--green);color:#fff;font-size:48px;font-weight:300;line-height:58px;text-transform:uppercase}.split-hero__labels p{background:#fff;color:var(--red);font-family:Caveat,"Caveat Brush",cursive;font-size:32px;line-height:40px}.intro-card{position:absolute;top:100px;left:calc(50% + 120px);width:516px;height:auto;padding:32px;background:#fff;box-shadow:var(--shadow);font-size:24px;font-weight:var(--weight-light);line-height:34px}
.stories{padding-top:72px}.stories-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.stories-heading h1{margin:0;color:var(--green);font-size:48px;font-weight:300;line-height:58px;text-transform:uppercase}.stories-newest{color:var(--green);font-size:16px;line-height:24px;text-transform:uppercase;white-space:nowrap}.stories-newest:hover,.stories-newest:focus-visible{color:var(--dark)}.stories>h2,.ask-cta h2,.section h2,.must-see h2{margin:0;color:var(--green);font-size:30px;font-weight:300;line-height:34px;text-transform:uppercase}.stories-grid{display:grid;grid-template-columns:repeat(2,minmax(0,624px));gap:64px 24px;margin-top:42px}.story-card{min-width:0}.story-card img{display:block !important;width:100% !important;height:auto !important;aspect-ratio:1 !important;object-fit:cover !important}.story-card time{display:block;margin-top:12px;color:var(--gray);font-size:12px;line-height:16px;text-transform:uppercase}.story-card h3{margin:12px 0;color:var(--green);font-size:24px;font-weight:400;line-height:30px}.story-card h3 a:hover,.read-more:hover{color:var(--dark)}.story-card p{margin:0;font-size:18px;line-height:28px}.read-more{display:inline-block;margin-top:12px;padding-block:16px;color:var(--green);font-size:14px;line-height:30px;text-transform:uppercase}.load-more{display:flex;width:max-content;min-width:240px;min-height:52px;align-items:center;justify-content:center;margin:64px auto 0;padding-inline:24px;border:1px solid var(--green);background:#fff;color:var(--green);font-family:inherit;font-size:16px;text-transform:uppercase;appearance:none;-webkit-appearance:none;cursor:pointer}.load-more:hover{background:var(--green);color:#fff}
.ask-cta{display:flex;min-height:250px;align-items:center;justify-content:center;gap:84px;margin-top:72px}.ask-cta>div{flex:0 1 769px;padding:50px;box-shadow:var(--shadow)}.ask-cta h2{margin-bottom:32px}.ask-cta p{margin:0}.ask-cta__button{display:inline-flex;min-height:64px;align-items:center;padding:19px 28px;border:1px solid var(--green);background:var(--green);color:#fff;font-size:20px;font-weight:500;line-height:24px;text-transform:uppercase;white-space:nowrap}.ask-cta__button:hover{background:#fff;color:var(--green)}
.breadcrumbs{display:flex;min-height:36px;align-items:center;gap:12px;padding-block:8px;font-size:14px;line-height:20px;text-transform:uppercase}.breadcrumbs a{color:var(--green)}.breadcrumbs a:hover{color:var(--dark)}.breadcrumbs span:first-of-type:not(:last-child){color:var(--red)}.page-home .breadcrumbs{margin-top:136px}.site-footer{min-height:260px;padding-top:48px;background:var(--green);color:#fff}.footer-main{display:grid;grid-template-columns:repeat(2,minmax(0,624px));gap:24px}.footer-brand{display:flex;gap:46px}.footer-brand>img{width:62px;height:60px;object-fit:contain}.footer-brand dl{margin:0;font-size:16px;line-height:24px}.footer-brand dl div{display:grid;grid-template-columns:minmax(84px,max-content) auto;gap:24px;margin-bottom:12px}.footer-brand dt,.footer-brand dd{margin:0}.social{display:flex;gap:16px}.social img{display:block;width:24px;height:24px}.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(84px,max-content));justify-content:start;gap:132px;font-size:16px;line-height:24px;text-transform:uppercase}.footer-nav div{display:flex;flex-direction:column;gap:16px}.copyright{margin-top:24px;color:rgba(255,255,255,.7);font-size:12px;line-height:20px}
.article-hero{min-height:692px}.article-hero .intro-card{top:93px}.article-meta{position:absolute;left:max(24px,calc((100vw - var(--container))/2));bottom:24px;margin:0;color:var(--gray);font-size:12px;line-height:20px;text-transform:uppercase}.article-meta span{margin-inline:16px}.article-content{padding-top:76px}.article-content h1{width:max-content;max-width:calc(100vw - 24px);margin:0 0 48px calc((var(--container) - 100vw)/-2);padding:16px 40px 16px max(24px,calc((100vw - var(--container))/2));background:var(--green);color:#fff;font-size:48px;font-weight:300;line-height:52px;text-transform:uppercase}.article-copy{width:min(840px,calc(100% - 108px));margin-left:108px}.article-copy p{margin:0 0 24px}.tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:48px}.tags span{padding:8px 16px;border:1px solid var(--green);color:var(--green);font-size:12px;line-height:16px}.tags span:hover{background:var(--green);color:#fff}.page-article .ask-cta{margin-top:72px;padding-top:20px}.page-article .breadcrumbs{margin-top:136px}
.catalog-intro{padding-top:48px}.catalog-intro h1{margin:0;color:var(--green);font-size:48px;font-weight:300;line-height:58px;text-transform:uppercase}.catalog-intro p{width:min(732px,calc(100% - 108px));margin:24px 0 0 108px}.tour-list{margin-top:48px}.tour-card{display:grid;grid-template-columns:minmax(0,744px) minmax(0,624px);gap:24px;min-height:624px;margin-bottom:48px}.tour-photo{position:relative;min-width:0;height:624px;overflow:hidden}.tour-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}.tour-stats{position:absolute;left:0;bottom:55px;display:flex;max-width:100%;align-items:baseline;gap:12px;margin:0;padding:16px 40px 16px max(24px,calc((100vw - var(--container))/2));overflow:hidden;background:#fff;list-style:none;font-size:18px;font-weight:500;line-height:24px;white-space:nowrap}.tour-stats li+li:before,.stats li+li:before{content:"\2022";margin-right:12px;color:var(--red);font-family:"Caveat Brush",cursive}.tour-box{align-self:center;width:100%;padding:40px;box-shadow:var(--shadow)}.tour-box h2{margin:0;color:var(--green);font-size:30px;font-weight:300;line-height:34px;text-transform:uppercase}.tour-box h2 a:hover{color:var(--dark)}.tour-route{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.tour-route dt,.route dt{color:var(--red);font-size:12px;font-weight:500;line-height:16px;letter-spacing:.05em;text-transform:uppercase}.tour-route dd,.route dd{margin:8px 0 0;font-size:18px;font-weight:500;line-height:24px;text-transform:uppercase;overflow-wrap:anywhere}.tour-box>p{margin:0;padding:24px 26px;font-size:24px;font-weight:300;line-height:34px}.purchase{display:flex;align-items:center;justify-content:center;gap:24px;padding-block:24px}.price{display:flex;align-items:center;gap:8px;margin:0;color:var(--green);text-transform:uppercase}.price strong{font-size:48px;font-weight:100;line-height:52px}.price span{font-size:16px;line-height:24px}.page-catalog>.load-more{margin-top:52px}.page-catalog .breadcrumbs{margin-top:128px}
.hero{position:relative;min-height:624px;margin-top:48px;overflow:hidden}.hero-image{display:block;width:100%;height:624px;object-fit:cover}.hero-labels{position:absolute;top:55px;left:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.hero-labels>*{width:max-content;max-width:calc(100vw - 24px);margin:0;background:#fff}.hero-script{padding:16px 40px 16px max(24px,calc((100vw - var(--container))/2));background:var(--green)!important;color:var(--red);font-family:Caveat,"Caveat Brush",cursive;font-size:40px;line-height:60px}.hero h1{padding:16px 40px 16px max(24px,calc((100vw - var(--container))/2));color:var(--green);font-size:44px;font-weight:300;line-height:58px;text-transform:uppercase}.route{display:flex;gap:36px;padding:16px 40px 16px max(24px,calc((100vw - var(--container))/2))}.route div{min-width:177px}.hero-card{position:absolute;top:100px;left:calc(50% + 120px);width:516px;height:auto;padding:25px 32px;background:#fff;box-shadow:var(--shadow)}.stats{display:flex;align-items:baseline;gap:12px;margin:0;padding:0;list-style:none;font-size:18px;font-weight:500;line-height:24px;white-space:nowrap}.hero-copy{margin:24px 0 0;padding:24px 0 24px 76px;font-size:24px;font-weight:300;line-height:34px}
.content{display:flex;flex-direction:column;gap:64px;padding-block:64px 86px}.section h2,.must-see h2{margin-bottom:24px}.indented{margin-left:108px}.narrow{width:min(840px,calc(100% - 108px));margin-top:0;margin-bottom:0}.narrow a{color:var(--green)}.buy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,300px));gap:72px;margin-left:108px}.buy-card{position:relative}.buy-card:before{content:"\2022";position:absolute;top:-13px;left:-48px;color:var(--red);font-family:"Caveat Brush",cursive;font-size:40px;line-height:40px}.buy-card h3{margin:0 0 24px;font-size:28px;font-weight:300;line-height:34px;text-transform:uppercase}.buy-card p{margin:0;font-weight:300}.preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:24px}.preview-grid img{display:block;width:100%;aspect-ratio:300/649;border:1px solid var(--green);object-fit:cover}.overview-layout{display:grid;grid-template-columns:minmax(0,840px) 300px;gap:132px}.overview{padding-top:24px}.prose{width:min(732px,calc(100% - 108px))}.prose p{margin:0 0 24px}.must-see{align-self:start;padding:24px;box-shadow:var(--shadow)}.must-see ul{margin:0;padding:0;list-style:none;font-size:16px;line-height:22px;text-transform:uppercase}.must-see li{display:flex;gap:8px;margin-top:4px}.must-see li:before{content:"\2022";color:var(--red)}.buy-panel{display:flex;justify-content:center}.buy-box{height:auto;padding:40px;box-shadow:var(--shadow);text-align:center}.buy-box h2{margin:0;color:var(--green);font-size:34px;font-weight:300;line-height:40px;text-transform:uppercase}.how-it-works{width:min(840px,100%)}.steps{margin:0 0 0 108px;padding:0;list-style:none}.steps li{display:flex;align-items:center;gap:24px;min-height:0}.steps li span{display:grid;flex:0 0 64px;height:52px;place-items:center;background:url("assets/scribble.svg") center/54px 49px no-repeat;color:var(--green);font-size:18px}.steps p{flex:1;margin:0;padding-block:12px}main>.breadcrumbs{margin-top:78px}
@media(max-width:1300px){.intro-card,.hero-card{right:24px;left:auto}.overview-layout{grid-template-columns:minmax(0,1fr) 300px;gap:48px}.buy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px}}
@media(max-width:1000px){.header-right{gap:18px}.main-nav{gap:16px}.tour-card{grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr)}.tour-box{padding:32px}.preview-grid{overflow-x:auto;grid-template-columns:repeat(4,minmax(190px,1fr))}}
@media(max-width:860px){.site-header{height:auto;min-height:112px}.header-inner,.header-right{flex-wrap:wrap;gap:16px}.header-right{justify-content:flex-end;padding-block:16px}.split-hero,.article-hero{display:grid;min-height:0}.split-hero__image{width:100%;height:min(624px,62vw)}.intro-card{position:relative;inset:auto;width:calc(100% - 48px);margin:-48px 24px 0 auto}.article-meta{position:static;margin:24px}.stories-grid{grid-template-columns:minmax(0,1fr)}.ask-cta{flex-direction:column;align-items:stretch;gap:24px}.ask-cta>div{flex-basis:auto}.article-copy,.catalog-intro p,.narrow,.prose{width:100%;margin-left:0}.article-content h1{margin-left:-24px;padding-left:24px}.tour-card{grid-template-columns:minmax(0,1fr)}.tour-photo{height:min(624px,84vw)}.tour-box{width:calc(100% - 48px);margin:-48px 24px 0 auto}.hero{display:grid;min-height:0;overflow:visible}.hero-image{height:min(624px,62vw)}.hero-card{position:relative;inset:auto;width:calc(100% - 48px);margin:-48px 24px 0 auto}.buy-grid{grid-template-columns:minmax(0,1fr);margin-left:48px}.overview-layout{grid-template-columns:minmax(0,1fr);gap:24px}.steps{margin-left:0}.footer-main{grid-template-columns:minmax(0,1fr)}.footer-nav{justify-content:start}.stories-heading{align-items:flex-start;flex-direction:column;gap:8px}}

.main-nav>a:focus-visible{color:var(--green)}
.button--green:focus-visible{background:#fff;color:var(--green);border-color:var(--green)}
.button--green-outline:focus-visible{background:var(--green);color:#fff;border-color:var(--green)}
.button--red:focus-visible{background:var(--red);color:#fff;border-color:var(--red)}
.language-menu a:focus-visible{color:var(--dark)}
.story-card h3 a:focus-visible,.read-more:focus-visible,.tour-box h2 a:focus-visible,.breadcrumbs a:focus-visible{color:var(--dark)}
.story-excerpt:hover,.story-excerpt:focus-visible{color:inherit}
.load-more:focus-visible{background:var(--green);color:#fff}
.ask-cta__button:focus-visible{background:#fff;color:var(--green);border-color:var(--green)}
.tags a:hover,.tags a:focus-visible{background:var(--green);color:#fff}
.footer-nav a:hover,.footer-nav a:focus-visible,.footer-brand a:hover,.footer-brand a:focus-visible{color:var(--gray)}

.split-hero__labels p,.hero-script{font-family:var(--font-script);font-weight:400}.tour-stats li+li:before,.stats li+li:before,.buy-card:before,.must-see li:before{font-family:"Caveat Brush",cursive;font-weight:400}
.tags a{display:inline-flex;padding:8px 16px;border:1px solid var(--green);color:var(--green);font-size:12px;line-height:16px}

.site-header{height:var(--header-height)}
.split-hero__labels h1,.article-content h1,.catalog-intro h1{font-size:var(--h1-size);font-weight:var(--weight-light);line-height:var(--h1-leading)}
.stories>h2,.ask-cta h2,.section h2,.must-see h2{font-size:var(--h2-size);font-weight:var(--weight-light);line-height:var(--h2-leading)}
.button{padding-inline:var(--button-header-x);font-size:var(--button-header-size);font-weight:var(--weight-medium);line-height:var(--button-header-leading)}
.button--red{padding-inline:var(--button-buy-x);font-size:var(--body-size);line-height:var(--button-large-leading)}
.ask-cta__button{padding-inline:var(--button-large-x);font-size:var(--button-large-size);font-weight:var(--weight-medium);line-height:var(--button-large-leading)}
.story-card time,.article-meta{font-size:var(--meta-size);font-weight:var(--weight-regular);line-height:var(--meta-leading)}
.breadcrumbs{font-size:var(--service-size);font-weight:var(--weight-regular);line-height:var(--service-leading)}

.tour-route dt,.route dt{font-size:var(--meta-size);font-weight:var(--weight-medium);line-height:16px;letter-spacing:.05em}
.tour-route dd,.route dd{margin-top:8px;font-size:var(--body-size);font-weight:var(--weight-regular);line-height:24px}

.page-home .split-hero{display:grid;grid-template-columns:minmax(0,calc(50% + 120px)) minmax(0,516px) 1fr;align-items:center}
.page-home .split-hero__image{grid-column:1 / span 2;grid-row:1}
.page-home .intro-card{position:relative;inset:auto;z-index:2;grid-column:2;grid-row:1;align-self:center;width:516px;padding:var(--card-padding);box-shadow:var(--shadow-light);font-size:24px;font-weight:var(--weight-light);line-height:34px}

@media(min-width:1301px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr) var(--detail-hero-card-span);align-items:start}
 .hero-image{grid-column:1 / -1;grid-row:1}
 .hero-labels{grid-column:1;grid-row:1}
 .hero-card{position:relative;inset:auto;z-index:2;grid-column:2;grid-row:1;align-self:start;width:var(--detail-hero-card-span);margin-top:100px;padding:25px calc(32px + (var(--detail-hero-card-span) - var(--detail-hero-card-content))) 25px 32px;background:var(--white);box-shadow:var(--shadow-light)}
}

@media(min-width:861px) and (max-width:1300px){
 .hero-card{left:auto;right:0;width:min(var(--detail-hero-card-span),calc(100% - var(--space-double)))}
}

.article-content{display:grid;grid-template-columns:var(--step) minmax(0,840px) 1fr}
.article-content h1{grid-column:1 / -1;margin-left:calc((100vw - var(--container)) / -2);padding-left:calc((100vw - var(--container))/2)}
.article-copy{grid-column:2;width:840px;margin-left:0}

.must-see ul{display:flex;flex-direction:column;gap:6px}
.must-see li{margin-top:0;min-height:26px;align-items:center}
.steps{display:flex;flex-direction:column;gap:var(--space-half)}
.steps li{min-height:52px}
.steps p{padding-block:0}

@media(max-width:1300px){
 .page-home .split-hero{grid-template-columns:minmax(0,1fr) minmax(0,44vw) var(--space)}
 .page-home .intro-card{width:100%}
 .article-content{grid-template-columns:var(--step) minmax(0,calc(100% - var(--step))) }
 .article-content h1{margin-left:calc(var(--space) * -1);padding-left:var(--space)}
 .article-copy{width:min(840px,100%)}
}

@media(max-width:860px){
 .page-home .split-hero{display:grid;grid-template-columns:var(--space) minmax(0,1fr) var(--space);align-items:start}
 .page-home .split-hero__image{grid-column:1 / -1;grid-row:1}
 .page-home .intro-card{grid-column:2;grid-row:2;width:100%;margin:-48px 0 0}
 .article-content{display:block}
 .article-content h1{padding-left:var(--space)}
 .article-copy{width:100%}
}

.site-footer > :last-child{
 margin-bottom:0;
}
.stories-footer{position:relative;margin-top:64px}
.stories-footer .load-more{margin:0 auto}
.stories-footer .stories-newest{position:absolute;right:0;bottom:0}
.not-found{padding-block:120px}
.not-found h1{margin:0;color:var(--green);font-size:var(--h1-size);font-weight:var(--weight-light);line-height:var(--h1-leading);text-transform:uppercase}
.not-found p{max-width:600px;margin:24px 0 0;font-size:18px;line-height:28px}
.not-found__actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}
.catalog-hero{display:none}


/* =================================================
 * MOBILE NAVIGATION (bottom bar + more panel)
 * Hidden by default; shown only under 767px.
 * ================================================= */
.mobile-bottom-nav,.mobile-more-panel{display:none}

@media(max-width:767px){
    :root{--mobile-content:345px}

    .container{width:min(var(--mobile-content),calc(100% - 48px))}

    /* Header: keep language switcher, hide primary nav + action buttons */
    .header-actions,.main-nav{display:none}
    .header-right{gap:0}

    /* Footer: hide desktop footer, show bottom nav + more panel instead */
    .site-footer{display:none}
    body{padding-bottom:80px}

    .mobile-bottom-nav{
        display:flex;
        position:fixed;
        z-index:50;
        left:50%;
        bottom:0;
        transform:translateX(-50%);
        width:min(393px,100%);
        height:80px;
        padding:8px 12px 16px;
        gap:10px;
        background:#fff;
        box-shadow:var(--shadow);
    }
    .mobile-bottom-nav a,.mobile-bottom-nav button{
        flex:1 1 0;
        min-width:0;
        height:56px;
        padding:0;
        border:0;
        background:#fff;
        color:var(--green);
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:4px;
        font-family:inherit;
        font-size:12px;
        line-height:16px;
        letter-spacing:.12px;
        text-transform:uppercase;
        cursor:pointer;
    }
    .mobile-bottom-nav svg{display:block;width:24px;height:24px}
    .mobile-bottom-nav a:nth-child(3) svg{width:19px;height:21px;margin-top:1.5px}
    .mobile-bottom-nav button svg{width:26px;height:6px;margin:9px 0}

    .mobile-more-panel{
        position:fixed;
        z-index:49;
        left:50%;
        bottom:80px;
        transform:translateX(-50%);
        width:min(393px,100%);
        padding:12px 24px;
        background:rgba(255,255,255,.96);
        box-shadow:var(--shadow);
    }
    .mobile-more-panel.open{display:block}
    .mobile-more-panel .mobile-tip{width:max-content;height:auto;padding:12px 20px;font-size:12px;line-height:16px;font-weight:500}
    .mobile-more-info{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:12px}
    .mobile-more-info>div,.mobile-more-info nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
    .mobile-more-info span{font-size:12px;line-height:16px;font-weight:300}
    .mobile-more-info>div>a{font-size:16px;line-height:20px;font-weight:300}
    .mobile-more-info .social{margin:0;height:24px}
    .mobile-more-info nav a{color:var(--green);font-size:12px;line-height:16px;font-weight:300;text-transform:uppercase}

    /* Hero image + intro/hero card: matches your real Figma export —
       overlap comes from the IMAGE's own negative bottom margin, not
       from the card. Fixed 345px height keeps it predictable. */
    /* NOTE: .page-home uses a MORE SPECIFIC grid system for the hero
       (".page-home .split-hero", ".page-home .intro-card") that beats
       any plain ".split-hero"/".intro-card" rule regardless of order —
       that's why earlier attempts here had no visible effect. Targeting
       the real, winning selectors instead: */
    .page-home .split-hero__image{height:345px}
    .page-home .intro-card{width:297px;max-width:calc(100% - 48px);margin:-48px auto 0}

    /* Article page has no .page-home-style grid system — its .intro-card
       falls back to the desktop absolute-positioned rule (width:516px,
       left:calc(50% + 120px)) unless reset here. */
    .article-hero .intro-card{position:relative;inset:auto;top:auto;left:auto;z-index:2;width:297px;max-width:calc(100% - 48px);margin:-48px auto 0}
    .article-hero .split-hero__image{height:345px}

    /* Walkings catalog hero: photo + title card, same overlap pattern
       as home/article — card carries the -48px pull, not the image. */
    .catalog-hero{display:flex;flex-direction:column;align-items:center;width:100%}
    .catalog-intro{display:none}
    .catalog-hero__image{width:100%;height:345px;overflow:hidden}
    .catalog-hero__image img{width:100%;height:100%;object-fit:cover}
    .catalog-hero__card{position:relative;z-index:2;width:297px;max-width:calc(100% - 48px);margin:-48px auto 0;padding:24px;background:#fff;box-shadow:var(--shadow-light)}
    .catalog-hero__card h1{margin:0;color:var(--green);font-size:36px;font-weight:300;line-height:40px;text-transform:uppercase}
    /* hero-labels/split-hero__labels stay position:absolute (base rule)
       so they float over the photo, matching desktop — not overridden here. */
    .split-hero__labels{position:absolute;left:0;top:55px;z-index:3;display:flex;flex-direction:column;gap:24px;width:auto}
    .split-hero__labels>*{width:max-content;max-width:calc(100vw - 24px);margin:0}
    .split-hero__labels h1{padding:16px 40px 16px 24px;background:var(--green);color:#fff;font-size:36px;line-height:40px;font-weight:300;text-transform:uppercase}
    .page-home .split-hero__labels h1{font-size:36px;line-height:40px}
    .split-hero__labels p{padding:16px 24px 16px 40px;background:#fff;font-family:"Caveat","Caveat Brush",cursive;font-size:28px;font-style:normal;line-height:32px;color:var(--red)}
    /* .intro-card sizing now handled above via .page-home .intro-card
       (correct specificity — see note above). */

    /* Ask KEFI button: don't stretch full-width like the card above it. */
    .ask-cta__button{align-self:center}

    /* Left indent (108px on desktop = "end of first grid column").
       92px was the Figma-confirmed value; reduced by 24px on request
       since it felt too wide in practice on a real phone. */
    .indented{margin-left:68px}
    .buy-grid{margin-left:68px}
    .steps{margin-left:68px}
    .preview-grid{margin-left:68px;width:calc(100% - 68px);overflow-x:auto;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(140px,160px)}

    /* Article body + tags: same 68px indent, different class than .indented */
    .article-copy{margin-left:68px;width:calc(100% - 68px)}

    /* .tags is nested inside .article-copy (which already has the
       68px indent), so it doesn't need its own margin-left too. */

    /* CTA cards (Ask KEFI, Buy panel): card stays centered on the page,
       but heading text aligns left so wrapped lines line up together —
       matches your Figma mobile treatment for both cards. */
    .ask-cta h2{text-align:left}
    .buy-box{text-align:left}

    /* Stats row (highlights / must see / duration / distance) was
       forcing the whole page wider than the screen on tour pages
       (nowrap + no room to fit). Shrink it instead of wrapping. */
    /* .stats sizing now handled precisely below (Figma-verified);
       .tour-stats (Walkings list page) keeps its own compact sizing. */
    .tour-stats{gap:8px;font-size:13px;line-height:18px}
}

/* =================================================
 * TOUCH TAP FEEDBACK
 * :hover can "stick" after a tap on touch screens (no mouse to
 * move away). Reset the hover color-swap on touch devices, and
 * use a quick, light opacity dim on :active instead — closer to
 * how native mobile buttons feel.
 * ================================================= */
@media(hover:none) and (pointer:coarse){
    .button--green:hover{background:var(--green);color:#fff}
    .button--green-outline:hover{background:#fff;color:var(--green)}
    .button--red:hover{background:#fff;color:var(--red)}
    .ask-cta__button:hover{background:var(--green);color:#fff}
    .load-more:hover{background:#fff;color:var(--green)}
}
.button:active,.ask-cta__button:active,.load-more:active{opacity:.65}

/* Hide "Previous stories" / "Back to top" on mobile for now — not yet
   redesigned for small screens, was overlapping "More stories". */
@media(max-width:767px){
    .stories-newest{display:none}
}

/* Breadcrumbs: lift away from the bottom nav — top spacing now 2x
   the standard gap used elsewhere between stacked mobile sections. */
@media(max-width:767px){
    main>.breadcrumbs{margin-top:64px}
}

/* Walkings list card photo: same fixed mobile height as other hero
   images, so the stats plate (position:absolute;bottom:55px) overlaps
   the photo predictably instead of relying on the old vw-based height. */
@media(max-width:767px){
    .tour-photo{height:345px}
}

/* Author/date: desktop version sits below the image (outside the
   card); on mobile it moves inside the intro-card instead, since
   the card now overlaps the image and would otherwise cover it. */
.mobile-article-meta{display:none}
@media(max-width:767px){
    .desktop-article-meta{display:none}
    .article-hero .intro-card{display:flex;flex-direction:column;gap:15px}
    .mobile-article-meta{display:flex;width:100%;align-items:center;gap:16px;color:var(--gray);font-size:12px;line-height:20px;white-space:nowrap}
    .mobile-article-meta i{display:block;width:1px;height:20px;background:var(--gray)}
}

/* Tour list card stats plate ("N highlights • duration"): its 55px
   offset from the photo bottom was tuned for a 624px desktop photo.
   On the shorter 345px mobile photo it looked disproportionately far
   from the edge — bring it in closer. No Figma reference for this
   component exists yet, so this is a judgment call — please check. */
@media(max-width:767px){
    .tour-stats{bottom:0}
}

/* FROM/TO route labels (tour hero): each had a fixed min-width:177px
   from desktop, forcing ~390px minimum total width — wider than the
   phone screen itself. Let them shrink, wrap as a safety net. */
@media(max-width:767px){
    .route{flex-wrap:wrap;gap:16px 36px}
    .route div{min-width:0}
}

/* .narrow / .prose get width:100% at the 860px tier, but .indented
   (used together with them) adds a 68px left margin on top — without
   a matching width reduction that's a guaranteed 68px overflow to
   the right. Give them the same container treatment as .article-copy. */
@media(max-width:767px){
    .narrow,.prose{width:calc(100% - 68px)}
}

/* =================================================
 * TOUR DETAIL HERO — precise values from Figma
 * HERO/Mobile_walking (node 7214:536)
 * ================================================= */
@media(max-width:767px){
    .hero{width:100%;height:auto;margin:0;display:flex;flex-direction:column;justify-content:center;overflow:visible}

    .hero-image{width:100%;height:345px;object-fit:cover;margin-bottom:-48px}

    .hero-labels{position:absolute;left:0;top:36px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:auto}
    .hero-labels>*{width:max-content;max-width:calc(100vw - 24px)}

    .hero-script{background:var(--green);color:var(--red);padding:12px 12px 12px 24px;font-family:var(--font-script);font-weight:400;font-size:30px;line-height:34px}

    .hero h1{background:#fff;color:var(--green);padding:12px 12px 12px 40px;font-size:36px;font-weight:300;line-height:40px;text-transform:uppercase;margin:0}

    .route{background:#fff;padding:12px 12px 12px 40px;display:flex;gap:36px}
    .route div{min-width:0}
    .route dt{color:#c92f24;font-size:12px;line-height:20px;margin:0;letter-spacing:normal}
    .route dd{color:#343636;font-size:14px;line-height:16px;margin:0;font-weight:400}

    .hero-card{position:relative;inset:auto;z-index:2;width:297px;max-width:calc(100% - 48px);margin:0 auto;padding:24px}

    .hero-card .stats{flex-direction:column;align-items:flex-start;gap:12px;font-size:16px;font-weight:500;white-space:normal}
    .stats-pair{display:flex;align-items:baseline;gap:12px}
    .stats li{white-space:nowrap}

    .hero-copy{padding-block:24px;margin:0;font-size:16px;font-weight:var(--weight-light);color:#343636;line-height:24px}

    .purchase{flex-direction:column;gap:16px;padding:24px 0 0}
}

/* Desktop-safe default: the pairing wrapper is invisible outside mobile,
   so .stats keeps behaving exactly as it did before this change. */
.stats-pair{display:contents}

/* Stories archive H1 (home.php, .stories-heading) — never had a mobile
   size in the reference file, still using desktop's 48px. Matching the
   same reduced size used elsewhere on mobile (36px) for consistency. */
@media(max-width:767px){
    .stories-heading h1{font-size:36px;line-height:40px}
    .article-content h1{font-size:36px;line-height:40px}
}

/* .tour-box overlap (-48px margin-top) still didn't show visually even
   after the cache fix. Untested hypothesis: align-self:center on a grid
   item can interact oddly with negative margins in some browsers —
   removing it for mobile as a targeted test. */
@media(max-width:767px){
    .tour-box{align-self:stretch}
}

/* Inline links inside article body text (the_content()) had no
   styling at all — just inheriting the global a{color:inherit}
   reset. Restore the usual green, always (not just on hover —
   hover doesn't exist on mobile anyway). */
.article-copy a{color:var(--green)}
.article-copy a:hover{color:var(--dark)}