@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');

:root{--ink:#171717;--cream:#fbf8f3;--sand:#efdcc8;--ocean:#149b9d;--deep:#08777b;--white:#fff;--gold:#d4b06a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 5vw;color:white;border-bottom:1px solid rgba(255,255,255,.28)}.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.03em}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;font-family:"Playfair Display";font-size:1.4rem;font-style:italic}.brand small{display:block;font-size:.65rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:28px;font-size:.9rem}.site-header nav a{border-bottom:1px solid transparent}.site-header nav a:hover{border-color:currentColor}.nav-cta{padding:10px 16px;border:1px solid rgba(255,255,255,.6)!important}.language{border:0;background:transparent;color:white;font:inherit;cursor:pointer;padding:8px}.hero{position:relative;min-height:94vh;color:white;display:flex;align-items:flex-end}.hero>img,.hero>video,.hero-shade{position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,rgba(5,25,25,.72) 0%,rgba(5,25,25,.18) 58%,rgba(5,25,25,.08)),linear-gradient(0deg,rgba(3,20,22,.65),transparent 45%)}.hero-content{position:relative;z-index:1;max-width:830px;padding:180px 7vw 155px}.eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.eyebrow.dark{color:var(--ocean)}h1,h2,h3{font-family:"Playfair Display",serif;font-weight:500;line-height:1.07;margin:0}h1{font-size:clamp(3.4rem,7.4vw,7.4rem);letter-spacing:-.04em;max-width:900px}.hero-content>p:not(.eyebrow){font-size:1.16rem;max-width:620px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-block;padding:15px 22px;font-weight:600;font-size:.9rem;transition:.2s}.button-light{background:white;color:var(--deep)}.button:hover{transform:translateY(-2px)}.text-link{font-weight:600;border-bottom:1px solid rgba(255,255,255,.55)}.quick-facts{position:absolute;z-index:2;right:5vw;bottom:-45px;background:var(--white);color:var(--ink);display:grid;grid-template-columns:repeat(4,1fr);width:min(680px,70vw);box-shadow:0 20px 60px rgba(0,0,0,.16)}.quick-facts span{display:flex;flex-direction:column;padding:23px 28px;border-right:1px solid #dedbd4}.quick-facts span:last-child{border:0}.quick-facts strong{font-family:"Playfair Display";font-size:1.65rem;font-weight:500}.quick-facts small{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em}.section{padding:140px 8vw}.section-tight{margin:0 5vw}.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;align-items:start}.intro h2,.amenities h2,.gallery h2,.story h2{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.035em}.intro-copy{font-size:1.05rem;color:#46514d;padding-top:22px}.feature-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:440px 360px}.feature-photo{overflow:hidden}.feature-photo.tall{grid-row:span 1}.feature-copy{padding:60px;display:flex;flex-direction:column;justify-content:center}.feature-copy span{font-size:.75rem;letter-spacing:.2em}.feature-copy h3{font-size:3.1rem;margin:18px 0}.feature-copy p{max-width:440px}.ocean-card{background:var(--deep);color:white}.wood-card{background:var(--sand)}.amenities{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.amenity-list{border-top:1px solid #aaa79f}.amenity-list div{display:grid;grid-template-columns:55px 1fr;padding:20px 0;border-bottom:1px solid #c8c4bb;align-items:center}.amenity-list span{font-size:.73rem;color:var(--ocean)}.amenity-list strong{font-weight:500;font-size:1.02rem}.section-title{margin-bottom:50px}.gallery{padding-top:20px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.gallery-grid figure{margin:0;height:520px;position:relative;overflow:hidden}.gallery-grid figure.wide{grid-column:span 2;height:650px}.gallery-grid img{transition:transform .8s ease}.gallery-grid figure:hover img{transform:scale(1.025)}figcaption{position:absolute;left:20px;bottom:18px;background:rgba(8,35,35,.82);color:white;padding:8px 13px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.location{display:grid;grid-template-columns:1.15fr .85fr;background:var(--deep);color:white}.location-photo{min-height:720px}.location-copy{padding:90px 7vw;align-self:center}.location h2,.contact h2{font-size:clamp(2.8rem,5vw,5.3rem);margin:18px 0 28px}.location-copy ul{padding-left:20px;margin:28px 0}.location-copy li{margin:9px 0}.note{padding-top:22px;border-top:1px solid rgba(255,255,255,.25);font-size:.86rem;opacity:.78}.story{display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw;align-items:center}.story-word{font-family:"Playfair Display";font-size:clamp(5rem,12vw,12rem);line-height:.7;color:var(--sand);letter-spacing:-.08em}.story-copy{max-width:720px}.story-copy>p:last-child{font-size:1.08rem;color:#46514d}.contact{padding:110px 8vw;background:var(--ocean);color:white;display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.contact-actions{display:flex;align-items:flex-start;flex-direction:column;gap:18px}.contact-actions span{font-size:.84rem;opacity:.72}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 5vw;background:#0a272b;color:white;font-size:.76rem}.footer-brand{font-size:.9rem}
@media(max-width:900px){.site-header nav>a:not(.nav-cta){display:none}.site-header{padding:18px 22px}.site-header nav{gap:10px}.nav-cta{padding:8px 10px!important}.hero{min-height:820px}.hero-content{padding:160px 24px 185px}.hero-content>p:not(.eyebrow){font-size:1rem}.quick-facts{left:20px;right:20px;bottom:-65px;width:auto}.quick-facts span{padding:16px 10px}.quick-facts small{font-size:.58rem}.section{padding:110px 24px}.intro,.amenities,.story,.contact{grid-template-columns:1fr}.intro{gap:25px}.feature-grid{margin:0;grid-template-columns:1fr;grid-template-rows:420px auto auto 380px}.feature-copy{padding:45px 28px}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure,.gallery-grid figure.wide{grid-column:auto;height:410px}.location{grid-template-columns:1fr}.location-photo{min-height:480px}.location-copy{padding:75px 24px}.story{gap:60px}.story-word{font-size:7rem}.contact{padding:80px 24px}.contact h2{font-size:3.4rem}footer{flex-direction:column;text-align:center}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}}
@media(max-width:500px){h1{font-size:3.55rem}.site-header .brand small{display:none}.nav-cta{font-size:.7rem}.quick-facts{grid-template-columns:repeat(2,1fr);bottom:-95px}.quick-facts span:nth-child(2){border-right:0}.quick-facts span:nth-child(-n+2){border-bottom:1px solid #dedbd4}.intro{padding-top:150px}.gallery-grid figure,.gallery-grid figure.wide{height:330px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-grid img,.button{transition:none}}
.contact-buttons{display:flex;align-items:flex-start;flex-direction:column;gap:14px}.social-link{font-weight:600;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:2px}.social-link:hover{border-color:white}.services{background:#e4d8c4}.services-heading{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:8vw;align-items:end;margin-bottom:60px}.services-heading .eyebrow{grid-column:1}.services-heading h2{grid-column:1;font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.035em}.services-heading>p:last-child{grid-column:2;grid-row:1 / span 2;font-size:1.05rem;color:#46514d}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(23,38,33,.25);border-left:1px solid rgba(23,38,33,.25)}.service-grid article{padding:36px 30px;min-height:240px;border-right:1px solid rgba(23,38,33,.25);border-bottom:1px solid rgba(23,38,33,.25)}.service-grid span{font-size:.72rem;color:#0e5f68;letter-spacing:.14em}.service-grid h3{font-family:"DM Sans",sans-serif;font-size:1.12rem;font-weight:600;margin:36px 0 10px}.service-grid p{font-size:.92rem;color:#46514d;margin:0}.service-note{font-size:.82rem;color:#5f655f;margin:24px 0 0}@media(max-width:900px){.services-heading{grid-template-columns:1fr;gap:22px}.services-heading .eyebrow,.services-heading h2,.services-heading>p:last-child{grid-column:1;grid-row:auto}.service-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.service-grid{grid-template-columns:1fr}.service-grid article{min-height:auto}.contact-buttons{width:100%}}
.brand{display:flex;align-items:center;flex:0 0 auto}.brand-logo{width:250px;height:auto;object-fit:contain}.site-header{padding-top:18px;padding-bottom:18px}.footer-brand .brand-logo{width:220px}.stay-details{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--deep);color:white;margin-bottom:140px}.stay-details-intro{padding:75px 55px}.stay-details-intro h2{font-size:clamp(2.2rem,4vw,4rem);margin-top:18px}.stay-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid rgba(255,255,255,.18)}.stay-detail-grid article{padding:75px 30px;border-right:1px solid rgba(255,255,255,.18)}.stay-detail-grid span{font-size:.72rem;letter-spacing:.14em;color:#b9d9d8}.stay-detail-grid h3{font-family:"DM Sans",sans-serif;font-size:1.1rem;font-weight:600;margin:35px 0 15px}.stay-detail-grid p{font-size:.9rem;line-height:1.7;color:rgba(255,255,255,.78)}
@media(max-width:900px){.brand-logo{width:205px}.footer-brand .brand-logo{width:220px}.stay-details{grid-template-columns:1fr;margin:0 0 100px}.stay-details-intro{padding:55px 28px}.stay-detail-grid{border-left:0;border-top:1px solid rgba(255,255,255,.18)}.stay-detail-grid article{padding:45px 25px}}
@media(max-width:620px){.brand-logo{width:155px}.stay-detail-grid{grid-template-columns:1fr}.stay-detail-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.footer-brand .brand-logo{width:200px}}
.local-roots{padding-top:0}.local-roots-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:end;margin-bottom:55px}.local-roots-heading h2{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.035em}.local-roots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.local-roots-grid article{background:white;padding:55px}.local-roots-grid h3{font-size:2.2rem;margin:18px 0}.local-roots-grid article>p:last-child{color:#46514d}
.local-roots-grid .family-card{position:relative;isolation:isolate;min-height:610px;padding:0;overflow:hidden;color:white;display:flex;align-items:flex-end}.family-card-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.family-aida .family-card-image{object-position:58% center}.family-fishing .family-card-image{object-position:52% center}.family-card-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(3,20,22,.06) 18%,rgba(3,20,22,.9) 88%)}.family-card-copy{padding:42px 36px}.local-roots-grid .family-card .eyebrow{color:#c9e2df}.local-roots-grid .family-card h3{font-size:clamp(1.8rem,2.5vw,2.45rem);text-shadow:0 2px 18px rgba(0,0,0,.35)}.local-roots-grid .family-card .family-card-copy>p:last-child{color:rgba(255,255,255,.9);text-shadow:0 1px 8px rgba(0,0,0,.5)}
@media(max-width:900px){.local-roots-heading,.local-roots-grid{grid-template-columns:1fr}.local-roots-heading{gap:20px}.local-roots-grid article{padding:38px 28px}.local-roots-grid .family-card{padding:0;min-height:560px}.family-card-copy{padding:38px 28px}}

/* Keep the Fargo's name together, matching the logo. */
.story{grid-template-columns:.9fr 1.1fr;gap:7vw}
.story-word{font-size:clamp(4rem,7.5vw,8rem);line-height:.9;letter-spacing:-.06em;white-space:nowrap}
@media(max-width:900px){.story-word{font-size:clamp(3.5rem,15vw,7rem)}}

/* Turquoise, white and warm beige palette inspired by the house. */
.services{background:var(--sand)}
.service-grid span{color:var(--ocean)}
figcaption{background:rgba(8,119,123,.9)}
footer{background:#075d61}
.quick-facts{grid-template-columns:repeat(3,1fr);width:min(520px,70vw);left:7vw;right:auto;bottom:35px;background:transparent;color:white;box-shadow:none}.quick-facts span{padding:14px 24px;border-right:1px solid rgba(255,255,255,.4)}.quick-facts small{color:rgba(255,255,255,.8)}
@media(max-width:900px){.quick-facts{left:24px;right:24px;bottom:30px;width:auto}.quick-facts span{padding:12px 8px}}
@media(max-width:500px){.quick-facts{grid-template-columns:repeat(3,1fr);bottom:24px}.quick-facts span:nth-child(2){border-right:1px solid rgba(255,255,255,.4)}.quick-facts span:nth-child(-n+2){border-bottom:0}}
.maps-link{display:inline-flex;align-items:center;gap:11px;margin:4px 0 28px;padding:13px 18px;background:white;color:var(--deep);font-weight:600;transition:transform .2s}.maps-link:hover{transform:translateY(-2px)}.maps-pin{display:grid;place-items:center;width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,#4285f4 0 38%,#34a853 38% 61%,#fbbc05 61% 79%,#ea4335 79%);color:white;font-size:8px}

.reviews{background:#f2e8da}.reviews h2{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.035em}.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.review-card{background:#fff;padding:36px 38px;border-top:3px solid var(--deep);box-shadow:0 14px 35px rgba(33,43,37,.05)}.review-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.review-heading strong{font-size:1.15rem}.review-stars{color:#a67829;letter-spacing:.12em;white-space:nowrap}.review-card blockquote{margin:0;color:#34423d;font-size:1rem;line-height:1.7}.review-card p{margin:0 0 1em}.review-card p:last-child{margin-bottom:0}@media(max-width:800px){.reviews-grid{grid-template-columns:1fr}.review-card{padding:28px}}@media(max-width:620px){.site-header nav>a[href="#reviews"]{display:none}}

.hero-video{width:100%;height:100%;object-fit:cover}.video-toggle{position:absolute;right:24px;bottom:105px;z-index:2;background:rgba(5,25,25,.7);color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:4px;padding:8px 12px;font:inherit;font-size:.875rem;cursor:pointer}.video-toggle:focus-visible{outline:3px solid white;outline-offset:3px}

.booking{scroll-margin-top:24px;background:var(--cream)}.booking h2{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.035em}.booking .section-title{max-width:850px;margin-bottom:36px}.booking-widget{background:white;padding:24px;min-width:0;border-top:3px solid var(--ocean);box-shadow:0 14px 35px rgba(33,43,37,.05)}.booking-widget iframe{width:100%;max-width:100%;border:0;min-height:650px}.booking-help{font-size:.9rem;color:var(--deep)}.booking-help a{text-decoration:underline;text-underline-offset:4px}@media(max-width:620px){.booking-widget{padding:8px}.booking{padding-left:16px;padding-right:16px}}
