:root{--color-sage: #7d8b69;--color-sage-dark: #5c6b5c;--color-navy: #1a2744;--color-navy-light: #243553;--color-cream: rgb(255, 252, 242);--color-cream-warm: #faf8f2;--color-text: #2B2B2B;--color-accent-gold: #b8a065;font-family:Montserrat,system-ui,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-cream-warm);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow-x:hidden;box-sizing:border-box}#root{width:100%}.typo-head{font-family:Lora,Georgia,serif!important;font-weight:600}.section-head,.section-label{border-bottom:2px solid var(--color-accent-gold);padding-bottom:.35em;display:inline-block}.typo-subhead,.typo-body{font-family:Montserrat,sans-serif!important}.italic{font-style:italic}.pointer{cursor:pointer}.hero{position:relative;width:100%}@media(min-width:600px)and (max-width:720px){.hero{min-height:100vh!important;height:100vh!important}.hero .content{padding:20px 24px!important}.hero .hero-logo{max-width:240px!important}}.hero .overlay-container{position:absolute;width:100%;height:100%;background-image:url(/assets/images/tff-hero.jpg);background-size:cover;background-position:center}@media(min-width:960px){.hero .overlay-container{background-size:100% 100%}}.hero .overlay-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#000c,#0000008c 40%,#0003);z-index:0}.hero .overlay-container:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#bea35d1a;pointer-events:none;z-index:1;opacity:0;transition:opacity .4s ease}.hero:has(.button:hover) .overlay-container:after{opacity:1}.hero .content{position:relative;width:100%;height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between}.hero .hero-logo{width:100%;max-width:280px;height:auto;filter:brightness(1.7) contrast(1.05)}@media(min-width:600px){.hero .hero-logo{max-width:340px}}@media(min-width:960px){.hero .hero-logo{max-width:400px}}.hero .hero-headline{font-size:3rem}@media(min-width:600px){.hero .hero-headline{font-size:4.75rem}}@media(min-width:960px){.hero .hero-headline{font-size:6rem}}.hero .hero-tagline{font-size:1rem;font-weight:500;letter-spacing:.02em;color:#fffcf2eb;margin-top:8px;margin-bottom:16px}.hero .button{background:var(--color-cream);color:var(--color-navy);border:1px solid grey}.hero .button:hover{background:transparent;color:var(--color-sage-dark);border:1px solid rgba(255,252,242,.705)}.button{background:var(--color-cream)!important;color:var(--color-navy)!important;border:1px solid var(--color-sage)!important;padding:16px 36px!important;border-radius:10px!important;font-weight:500!important}.button:hover{background:transparent!important;color:var(--color-sage-dark)!important;border:1px solid var(--color-sage)!important}.what-this-is{width:100%;box-sizing:border-box;color:var(--color-text);text-align:center;background-color:var(--color-cream);padding:80px 24px 96px}.what-this-is .section-label{color:var(--color-text);margin-bottom:40px;letter-spacing:.02em;text-align:center}.what-this-is-grid{max-width:1100px;margin:0 auto}.what-this-is-image-wrap{width:100%;max-width:280px;margin:0 auto}.what-this-is-image{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:3 / 4}.what-this-is .positioning{font-size:1.25rem;line-height:1.7;color:#3d3d3d;font-weight:400;margin:0}@media(min-width:600px){.what-this-is{padding:96px 32px 112px}}@media(min-width:960px){.what-this-is{padding:112px 48px 136px}.what-this-is-image-wrap{margin:0;max-width:300px}}.the-experience{width:100%;box-sizing:border-box;text-align:center;color:var(--color-text);background-color:var(--color-cream-warm);padding:80px 24px 96px}@media(min-width:600px){.the-experience{padding:96px 32px 112px}}@media(min-width:960px){.the-experience{padding:112px 48px 136px}}.the-experience .section-head{color:var(--color-text);text-align:center;margin-bottom:64px;letter-spacing:.02em}.the-experience .experience-grid{max-width:1200px;margin:0 auto}.the-experience .experience-card{padding:48px 32px;height:100%;min-height:160px;display:flex;flex-direction:column;justify-content:center}.the-experience .experience-card-title{font-family:Lora,Georgia,serif;font-size:1.35rem;font-weight:500;letter-spacing:.02em;color:var(--color-text);margin-bottom:12px}.the-experience .experience-card-desc{font-family:Montserrat,sans-serif;font-size:.95rem;line-height:1.6;color:var(--color-sage-dark);margin:0}.the-stays{width:100%;box-sizing:border-box;text-align:center;color:var(--color-text);background-color:var(--color-cream);padding:80px 24px 96px}.the-stays .section-head{color:var(--color-text);text-align:center;margin-bottom:56px;letter-spacing:.02em}.the-stays .stays-grid{max-width:1200px;margin:0 auto}.the-stays .stay-card{display:flex;flex-direction:column;align-items:center;text-align:center}.the-stays .stay-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;margin-bottom:24px}.the-stays .stay-name{font-family:Lora,Georgia,serif;font-size:1.35rem;font-weight:500;letter-spacing:.02em;color:var(--color-text);margin:0 0 12px}.the-stays .stay-desc{font-size:.95rem;line-height:1.5;color:var(--color-text);margin:0;max-width:320px}@media(min-width:600px){.the-stays{padding:96px 32px 112px}}@media(min-width:960px){.the-stays{padding:112px 48px 136px}}.seasonal-availability{width:100%;box-sizing:border-box;text-align:center;color:var(--color-cream);background:linear-gradient(135deg,var(--color-navy),var(--color-navy-light));padding:80px 24px 96px}.seasonal-availability .section-head{color:var(--color-cream);margin-bottom:24px;letter-spacing:.02em}.seasonal-availability .availability-intro{color:#fffcf2eb;font-size:1rem;line-height:1.6;max-width:560px;margin:0 auto 48px}.seasonal-availability .availability-content{max-width:900px;margin:0 auto}.seasonal-availability .points-grid{margin-bottom:48px}.seasonal-availability .availability-point{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:500;letter-spacing:.02em;color:#fffcf2f2;margin:0}.seasonal-availability .cta-wrap{display:flex;justify-content:center;margin-top:24px}.seasonal-availability .cta-wrap .button{background:transparent;color:var(--color-cream);border:1px solid rgba(255,252,242,.6)}.seasonal-availability .cta-wrap .button:hover{background:#fffcf214;color:var(--color-cream);border:1px solid var(--color-cream)}@media(min-width:600px){.seasonal-availability{padding:96px 32px 112px}}@media(min-width:960px){.seasonal-availability{padding:112px 48px 136px}}.inquiry-form{width:100%;box-sizing:border-box;text-align:center;color:var(--color-text);background-color:var(--color-cream-warm);padding:80px 24px 96px}.inquiry-form .section-head{color:var(--color-text);margin-bottom:24px;letter-spacing:.02em}.inquiry-form .inquiry-tone{font-family:Montserrat,sans-serif;font-size:1.05rem;line-height:1.6;color:var(--color-sage-dark);max-width:560px;margin:0 auto 28px}.inquiry-form .inquiry-form-inner{max-width:560px;margin:0 auto;text-align:left}.inquiry-form .inquiry-field .MuiOutlinedInput-root{font-family:Montserrat,sans-serif;font-size:16px}.inquiry-form .inquiry-field .MuiInputLabel-root{font-family:Montserrat,sans-serif}.inquiry-form .inquiry-field .MuiOutlinedInput-notchedOutline{border-color:#7d8b6959}.inquiry-form .inquiry-field:hover .MuiOutlinedInput-notchedOutline{border-color:#7d8b6999}.inquiry-form .inquiry-field.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--color-sage)}.inquiry-form .inquiry-notes{margin-top:0}.inquiry-form .inquiry-submit{font-family:Montserrat,sans-serif!important;padding:16px 36px!important;border-radius:10px!important;border-color:var(--color-sage);color:var(--color-sage-dark);font-weight:500!important}.inquiry-form .inquiry-submit:hover{border-color:var(--color-sage-dark);background-color:#7d8b6914;color:var(--color-sage-dark)}@media(min-width:600px){.inquiry-form{padding:96px 32px 112px}}@media(min-width:960px){.inquiry-form{padding:112px 48px 136px}}.footer{width:100%;box-sizing:border-box;color:var(--color-cream);background:linear-gradient(90deg,var(--color-navy),var(--color-navy-light),var(--color-navy-light))}.footer a{color:var(--color-cream)}.footer-contact{display:inline-block;min-height:44px;line-height:44px;padding:0 12px}
