@font-face{font-family:Savate;src:url('assets/regular.ttf')}@font-face{font-family:Savate;src:url('assets/bold.ttf');font-weight:700}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:#fcecd2;color:#283322;font-family:Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c74b2e;outline-offset:5px}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;position:absolute;top:0;width:100%;z-index:10;background:#fcecd2}.logo{font-family:Savate,sans-serif;font-size:43px;font-weight:700;letter-spacing:-3px}nav{display:flex;gap:30px;font-size:12px;text-transform:uppercase}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;border:1px solid currentColor;background:transparent;padding:17px 24px;text-transform:uppercase;font-size:12px;letter-spacing:.06em;transition:.2s}.button:hover{background:#283322;color:#fcecd2}.small{padding:13px 19px}.hero{height:900px;min-height:700px;max-height:1100px;position:relative;color:#fcecd2;padding-top:86px;overflow-x:clip}.hero>img,.hero-shade{position:absolute;top:86px;left:0;width:100%;height:calc(100% - 86px);object-fit:cover}.hero-shade{background:linear-gradient(180deg,#18211980,#18211945 22%,#18211935 45%,#182119c4)}.hero-top{position:relative;display:flex;justify-content:space-between;padding:25px 4%;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.hero-copy{position:absolute;bottom:95px;left:7%;right:7%;isolation:isolate}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:400;line-height:1.6}h1,h2,h3{font-family:Savate,sans-serif;font-weight:400;margin:0;line-height:1.03;letter-spacing:-.055em}h1{font-size:clamp(90px,11.8vw,180px)}h2{font-size:clamp(45px,6.8vw,100px)}h3{font-size:32px;line-height:1.15}em{font-weight:400}p{line-height:1.65}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.hero-bottom p{font-size:18px}.light:hover{background:#fcecd2;color:#283322}.down{position:absolute;bottom:25px;left:50%;font-size:26px}.hero-top,.hero-copy,.down{text-shadow:0 1px 3px #18211959,0 2px 18px #18211940}.ribbon{background:#b84930;color:#fcecd2;padding:22px;text-align:center;font-family:Savate;font-size:22px}.ribbon span{margin-left:30px}.intro{padding:130px 8%;display:grid;grid-template-columns:1.2fr 1fr;position:relative;gap:35px 10%}.intro>.eyebrow{grid-column:1/-1}.intro-copy{max-width:470px;font-size:18px}.intro-copy p:first-child{margin-top:0}.text-link{background:none;border:0;border-bottom:1px solid;padding:0 0 9px;text-align:left;display:inline-block;text-transform:uppercase;font-size:11px;letter-spacing:.07em;margin-top:20px;color:inherit}.flower{position:absolute;font-size:90px;bottom:60px;left:30%;color:#b84930}.experiences{background:#e6aa93;padding:100px 5%}.section-head{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:end;gap:20px}.section-head>.eyebrow{align-self:start}.section-head>p:last-child{justify-self:end;font-size:14px}.filters{display:flex;gap:10px;margin:55px 0 35px;flex-wrap:wrap}.filters button{border:1px solid #283322;background:transparent;color:inherit;border-radius:50%;padding:14px 22px;font-size:12px}.filters button.active,.filters button:hover{background:#283322;color:#fcecd2}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.cards article[hidden]{display:none}.card-image{height:380px;position:relative;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.cards article:hover img{transform:scale(1.04)}.card-image>span{position:absolute;top:17px;left:17px;background:#fcecd2;border-radius:50%;padding:12px 20px;font-family:Savate;font-size:20px}.round{position:absolute;bottom:17px;right:17px;background:#fcecd2;border:0;width:48px;height:48px;border-radius:50%;font-size:24px}.cards article>.eyebrow{margin-top:26px}.cards article>p:not(.eyebrow){max-width:350px;font-size:14px}.cards h3{font-size:35px}.note{font-size:11px;opacity:.75;line-height:1.6;margin-top:40px}.how{text-align:center;padding:110px 8%;background:#fcecd2}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin:65px 0 30px;text-align:left}.steps span{font-family:Savate;font-size:24px;display:block;border-bottom:1px solid #28332255;padding-bottom:15px;margin-bottom:25px}.steps h3{font-size:28px}.steps p{font-size:14px}.rooted{display:grid;grid-template-columns:1fr 1fr;background:#758696;color:#172d30}.rooted>img{height:680px;width:100%;object-fit:cover}.rooted>div{padding:85px 12%;align-self:center}.rooted h2{font-size:58px}.rooted p:not(.eyebrow){max-width:390px}.partners{padding:110px 8%;background:#283322;color:#fcecd2}.partners>h2{max-width:850px}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:75px}.partner-grid article{border-top:1px solid #fcecd250;padding-top:30px}.partner-grid h3{font-size:38px}.partner-grid p:not(.eyebrow){font-size:15px;max-width:450px}.symbol{float:right;font-size:45px;color:#e6aa93}.join{padding:110px 8%;background:#e6aa93;display:grid;grid-template-columns:1.2fr 1fr;gap:9%}.join form{padding-top:15px}.join label:not(.consent){display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.join input:not([type=checkbox]),.join select{width:100%;border:0;border-bottom:1px solid #28332280;border-radius:0;background:transparent;padding:12px 0 16px;color:#283322;margin-bottom:24px;font-size:16px}.consent{display:flex;align-items:start;gap:9px;font-size:12px;line-height:1.5;margin:6px 0 26px}.consent input{accent-color:#283322}.join .button{width:100%;background:#283322;color:#fcecd2}.form-note{font-size:10px;opacity:.7}.join h2{font-size:100px}footer{padding:50px 5% 25px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}footer>p,footer>a:not(.logo){font-size:12px}.footer-bottom{display:flex;justify-content:space-between;width:100%;border-top:1px solid #28332240;padding-top:25px;margin-top:30px;font-size:10px}dialog{max-width:650px;width:90%;border:0;background:#fcecd2;color:#283322;padding:55px;max-height:85vh}dialog::backdrop{background:#152519b3}#trip-meta{margin-top:26px;font-size:12px;opacity:.85}dialog h2{font-size:48px}dialog ol{padding-left:20px}dialog li{padding:10px 0;line-height:1.6}.close{position:absolute;top:10px;right:15px;border:0;background:none;font-size:32px;color:inherit}@media(min-width:1600px){.hero{height:95vh}}@media(max-width:800px){header{height:75px}.logo{font-size:34px}nav{gap:16px;font-size:10px}nav a:first-child{display:none}.small{font-size:10px;padding:12px}.hero{height:800px;min-height:700px}.hero>img,.hero-shade{top:75px;height:calc(100% - 75px)}.hero-top{font-size:9px;padding-top:15px}.hero-top>span:first-child{display:none}.hero-top{justify-content:flex-end}h1{font-size:100px}.hero-copy{left:6%;right:6%}.hero-bottom{display:block}.hero-bottom p{font-size:16px}.ribbon{font-size:15px}.ribbon span{display:block;margin:5px 0 0}.intro{padding:75px 7%;display:block}.intro h2{margin:30px 0}.intro-copy{font-size:16px}.flower{display:none}.experiences{padding:65px 6%}.section-head{display:block}.section-head h2{margin-top:30px}.section-head>p:last-child{margin-top:25px}.cards{grid-template-columns:1fr}.card-image{height:420px}.cards article{margin-bottom:25px}.filters{margin-top:35px;gap:8px}.filters button{padding:11px 15px;font-size:11px}.how{padding:70px 7%}.steps{grid-template-columns:1fr;gap:20px;margin-top:40px}.rooted{grid-template-columns:1fr}.rooted>img{height:400px}.rooted>div{padding:60px 7%}.rooted h2{font-size:49px}.partners{padding:70px 7%}.partner-grid{grid-template-columns:1fr;gap:45px;margin-top:45px}.partner-grid h3{font-size:33px}.join{padding:70px 7%;grid-template-columns:1fr;gap:35px}.join h2{font-size:80px}.footer-bottom{gap:15px;flex-wrap:wrap}footer>p{width:100%}dialog{padding:40px 25px}dialog h2{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

:root{--terrain-paper:#fcecd2;--terrain-ink:#283322;--terrain-accent:#b84930;--terrain-itinerary-rule:color-mix(in srgb,var(--terrain-ink) 18%,transparent)}
/* Itinerary layout: stable bullet, time, and description columns. */
#trip{width:calc(100% - 32px);max-width:680px;max-height:calc(100dvh - 48px);padding:48px;background:var(--terrain-paper);color:var(--terrain-ink);overflow-y:auto;overscroll-behavior:contain}
#trip>.eyebrow{margin:0 44px 16px 0}
#trip h2{font-size:44px;line-height:1.12;letter-spacing:0;margin:0 20px 16px 0}
#trip-sub{font-size:13px;line-height:1.7;margin:0 0 28px}
#trip-stops{list-style:none;margin:0;padding:0;border-top:1px solid var(--terrain-itinerary-rule)}
#trip-stops li{display:grid;grid-template-columns:6px 52px minmax(0,1fr);align-items:baseline;column-gap:14px;padding:16px 0;border-bottom:1px solid var(--terrain-itinerary-rule);font-size:14px;line-height:1.65}
#trip-stops li::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;align-self:start;margin-top:9px}
#trip-stops .trip-time{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
#trip-stops .trip-detail{min-width:0;overflow-wrap:break-word}

/* Taste card: the photo is portrait, so bias the crop to keep faces and the meal in frame. */
.cards article[data-category="taste"] .card-image img{object-position:center 30%}
#trip #trip-meta{margin:24px 0 0;font-size:12px;line-height:1.7;opacity:1}
#trip>.note:not(#trip-meta){margin:16px 0 24px;font-size:11px;line-height:1.7}
#trip-join{max-width:100%;gap:20px;line-height:1.5}
#trip .close{top:12px;right:12px;width:40px;height:40px;display:grid;place-items:center;padding:0;line-height:1}
@media(max-width:800px){#trip{padding:44px 24px 28px;max-height:calc(100dvh - 32px)}#trip h2{font-size:34px;margin-right:0}#trip-stops li{column-gap:10px;grid-template-columns:5px 48px minmax(0,1fr);padding:14px 0;font-size:13px}#trip-sub{margin-bottom:22px}#trip-join{width:100%}}

.site-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;overflow:visible}.symbol .site-icon,.flower .site-icon{vertical-align:0}

/* Phone refinements */
@media(max-width:600px){header{padding:0 5%;gap:12px}nav{gap:12px;align-items:center}nav a:not(.button){display:none}.logo{font-size:32px;letter-spacing:-2px}.hero{height:auto;min-height:620px;max-height:none}.hero-copy{bottom:80px}h1{font-size:clamp(64px,19vw,84px)}h2{font-size:clamp(40px,11vw,52px)}.hero-bottom p{font-size:15px;margin:0 0 18px}.hero-bottom .button{width:100%;gap:16px}.ribbon{font-size:16px;padding:20px 6%}.intro-copy p{margin:0 0 14px}.cards h3,.partner-grid h3{font-size:30px;margin-bottom:10px}.steps h3{font-size:26px;margin-bottom:8px}.steps span{margin-bottom:18px}.rooted h2{font-size:42px;margin-bottom:14px}.rooted p:not(.eyebrow){margin:0 0 14px}.partners>h2{margin-bottom:10px}.join h2{font-size:clamp(52px,15vw,68px)}.button,.text-link,.filters button{min-height:44px}.text-link{display:inline-flex;align-items:flex-end}.footer-bottom{flex-direction:column;gap:8px}}


.hero-copy .eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;text-shadow:0 1px 2px #182119cc,0 0 16px #182119a6,0 2px 30px #18211999}
@media(min-width:1100px){.hero-copy::before{content:"";position:absolute;top:-50px;left:-10%;right:-10%;bottom:-45px;z-index:-1;pointer-events:none;filter:blur(42px);background:radial-gradient(68% 82% at 26% 52%,#182119c0,#18211966 42%,#18211900 70%)}}
@media(max-width:1100px){.hero-shade{background:linear-gradient(180deg,#18211966,#18211933 26%,#18211959 55%,#182119d9)}}
@media(max-width:600px){.hero-copy .eyebrow{font-size:12px;letter-spacing:.12em;text-shadow:0 1px 3px #182119b3,0 0 12px #1821198c}}
/* Hero "Coming Soon" highlight */
.soon{display:inline-flex;align-items:center;background:var(--terrain-accent);color:var(--terrain-paper);border-radius:999px;padding:.45em .85em;font-weight:700;letter-spacing:.14em;font-size:1.05em;line-height:1;text-shadow:none;box-shadow:0 3px 14px #1821194d;vertical-align:middle;margin:0 .18em}
@media(max-width:800px){.soon{padding:.42em .72em;font-size:1.15em;letter-spacing:.1em}}
