:root{--ink:#263329;--forest:#23382d;--paper:#fbfaf6;--line:#d7dacd;--accent:#d3bd79}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Arial,sans-serif}a{color:inherit}img{width:100%;height:auto;display:block;object-fit:cover}figure{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08;margin:0 0 24px}h1{font-size:clamp(3rem,5.8vw,6rem)}h2{font-size:clamp(2.4rem,4.2vw,4.2rem)}h3{font-size:2.7rem}p{margin:0 0 20px}header{padding:28px 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{text-decoration:none;font-family:Georgia,serif;font-size:27px;letter-spacing:4px;white-space:nowrap}.brand span{display:block;font:11px/2 Arial,sans-serif;letter-spacing:3px}nav{display:flex;gap:32px;align-items:center;font-size:15px}nav a{text-decoration:none}.navcta{border:1px solid var(--ink);padding:11px 20px}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:white;min-height:660px}.hero-copy{padding:75px 10% 34px;display:flex;flex-direction:column;align-items:flex-start}.hero-copy>p:not(.eyebrow){max-width:410px;color:#e2e7df}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:bold;margin-bottom:26px}.hero .eyebrow{color:var(--accent);font-size:13px;letter-spacing:1.3px}.button{display:inline-block;text-decoration:none;border:0;padding:16px 26px;font:15px Arial,sans-serif;cursor:pointer;text-align:center}.light{background:var(--paper);color:var(--forest)}.herofoot{margin-top:auto;padding-top:55px;font-size:11px;letter-spacing:2px;color:#ced6cb}.hero figure{position:relative;min-height:550px}.hero img{height:100%;position:absolute}.hero figcaption{position:absolute;bottom:22px;right:26px;background:#23382dde;padding:8px 15px;font-size:13px}.ribbon{display:flex;justify-content:space-around;gap:20px;padding:23px 5%;border-bottom:1px solid var(--line);font-size:14px}.wrap{max-width:1240px;margin:auto;padding:90px 5%}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:0 70px}.intro .eyebrow{grid-column:1/-1}.sectionhead{display:flex;justify-content:space-between;gap:40px;align-items:end}.sectionhead>p{max-width:320px}.stay{padding-top:10px}.rooms{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.room{border:1px solid var(--line);padding:35px 40px}.roomtop{display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;margin-bottom:35px}.room ul{padding-left:20px;line-height:2}.textlink{display:inline-block;border-bottom:1px solid;text-decoration:none;margin-top:12px;padding-bottom:4px}.roomnote{font-size:14px;margin-top:22px}.photoband{display:grid;grid-template-columns:1.2fr 1fr;background:var(--forest);color:var(--paper)}.photoband img{height:100%;min-height:490px}.photoband>div{padding:65px 12%}.photoband .eyebrow{color:var(--accent)}.setting{display:grid;grid-template-columns:1fr 1fr;gap:80px}.setting figure{align-self:center}.setting img{aspect-ratio:1/1}.setting figcaption{font-size:13px;margin-top:12px}dl{margin-top:35px}dl>div{padding:15px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:120px 1fr}dt{font-weight:bold;font-size:14px}dd{margin:0;font-size:15px}.faq{padding-top:10px;max-width:1000px}details{border-top:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:18px}details p{padding-top:15px;max-width:760px}.plan{background:var(--forest);color:white;padding:80px max(5%,calc((100% - 1120px)/2));display:grid;grid-template-columns:1fr 1fr;gap:80px}.plan .eyebrow{color:var(--accent)}form label{display:block;font-size:14px;margin:0 0 7px}input,select,textarea{font:16px Arial,sans-serif;width:100%;background:#fff;color:var(--ink);border:1px solid #bbc6b9;padding:14px;margin-bottom:18px;border-radius:0;min-height:48px}.dates{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formhint{font-size:13px;color:#d4dcd2;margin:16px 0}#message{border-top:1px solid #657568;padding-top:24px;margin-top:24px}.sendactions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.sendactions button{background:transparent;color:white;border:1px solid white;padding:15px;font-size:14px;cursor:pointer}footer{padding:40px 5%;display:flex;gap:40px;align-items:center;justify-content:space-between}footer p,footer>a:last-child{font-size:14px}footer p{margin:0}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}:focus-visible{outline:3px solid #bd913c;outline-offset:4px}@media(max-width:760px){header{padding:20px 6%;align-items:start}.brand{font-size:21px}.brand span{font-size:9px}nav{gap:0}nav a:not(.navcta){display:none}.navcta{font-size:13px;padding:10px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 7% 35px}.herofoot{padding-top:30px}.hero figure{min-height:340px}.ribbon{flex-wrap:wrap;gap:8px 18px;font-size:12px}.wrap{padding:55px 7%}.intro,.rooms,.setting,.plan,.photoband{grid-template-columns:1fr;gap:25px}.sectionhead{display:block}.sectionhead>p{max-width:none}.room{padding:28px}.photoband img{min-height:0;height:auto}.photoband>div{padding:40px 7%}.setting{gap:25px}.faq{padding-top:0}.plan{padding:50px 7%}.plan h2{margin-bottom:20px}footer{flex-wrap:wrap;padding:30px 7%;gap:22px}h3{font-size:2.3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand-logo{display:block;line-height:0;flex-shrink:0}.brand-logo img{width:210px;height:auto;object-fit:contain}header{padding-top:18px;padding-bottom:18px}footer .brand-logo img{width:180px}@media(max-width:760px){header{align-items:center}.brand-logo img{width:150px}footer .brand-logo img{width:160px}}

/* Tierra Fina: charcoal, warm white and olive. */
@font-face{font-family:Raleway;src:url('assets/raleway-light.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
:root{--ink:#f2f0e9;--forest:#101210;--paper:#191b18;--line:#3e443a;--accent:#b5bd9e}
body{color:var(--ink)}header{background:#101210;border-bottom:1px solid var(--line)}
h1,h2,h3{font-family:Raleway,'Helvetica Neue',Arial,sans-serif;font-weight:300;letter-spacing:-.025em;line-height:1.13}
h1{font-size:clamp(2.8rem,5.5vw,5.5rem)}h2{font-size:clamp(2.3rem,4vw,4rem)}
.eyebrow,.roomtop{color:var(--accent)}.hero{background:#101210}.hero-copy>p:not(.eyebrow){color:#d5d7ce}.herofoot{color:#b7bdb0}
.hero figcaption{background:#101210dc}.ribbon{background:#20241d;color:#dce0d3}.light{background:var(--accent);color:#161b13}
.button:hover{background:#c7cfb3}.navcta{border-color:var(--accent);color:var(--accent)}.navcta:hover{background:#252b20}
.room{background:#1e211c;border-color:#454d3e}.roomnote{color:#bdc3b4}.textlink{color:#c7cfb6}
.photoband{background:#101210}.photoband>div{color:var(--ink)}.plan{background:#101210}
input,select,textarea{background:#22261f;color:#f2f0e9;border-color:#68745a;color-scheme:dark}
.formhint{color:#bdc4b3}#message{border-color:#49523f}.sendactions button{color:var(--ink);border-color:#a8b392}
footer{background:#101210;border-top:1px solid var(--line)}footer p{color:#bdc4b3}.skip{background:#f2f0e9;color:#101210}
:focus-visible{outline-color:#d0d9bb}.brand-logo img{height:auto}

/* Approved colours and typography */
@font-face{font-family:'Josefin Sans';src:url('assets/josefin-light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Jost;src:url('assets/jost-light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Jost;src:url('assets/jost-regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#f2efe7;--forest:#0c120e;--paper:#111c15;--line:#354438;--accent:#a9b295;--gold:#c3a46b}
body{font-family:Jost,'Helvetica Neue',sans-serif;font-size:18px;font-weight:400;line-height:1.65}
h1,h2,h3{font-family:'Josefin Sans','Helvetica Neue',sans-serif;font-weight:300;letter-spacing:-.015em;line-height:1.15}
header,.hero,.photoband,.plan,footer{background:var(--forest)}header{border-bottom-color:var(--line)}
.hero figcaption{background:#0c120ede}.ribbon,.room{background:#1d2a22}.room{border-color:var(--line)}
.eyebrow,.hero .eyebrow,.photoband .eyebrow,.plan .eyebrow{color:var(--gold);font-weight:400}
.eyebrow{font-size:14px}.herofoot{font-size:12px;color:#bbc4b3}.ribbon{font-size:16px;color:#dce1d5}
.button,input,select,textarea,button{font-family:Jost,'Helvetica Neue',sans-serif}
.button{font-size:18px;font-weight:300;letter-spacing:.4px}.navcta{font-size:16px}.light{background:var(--accent);color:var(--forest)}
input,select,textarea{background:#1d2a22;font-size:17px;color:var(--ink);border-color:#617258}
.roomcover{aspect-ratio:4/3;width:calc(100% + 80px);max-width:none;margin:-35px -40px 30px;object-fit:cover}
.roomactions{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.gallerylink{padding:0 0 4px;background:none;border:0;border-bottom:1px solid var(--gold);color:var(--ink);font-size:17px;font-weight:300;cursor:pointer}
.outdoors{padding-top:0}.outdoorgrid{display:grid;grid-template-columns:1.3fr .8fr 1.3fr;gap:18px;margin-top:30px}
.photoopen{display:block;padding:0;background:none;border:0;cursor:pointer;width:100%}.photoopen img{aspect-ratio:4/3;height:100%;object-fit:cover}
.roomtop{font-size:13px}.roomnote,.formhint{font-size:15px}.setting figcaption{font-size:14px}.plan form label{font-size:16px}footer p,footer>a:last-child{font-size:16px}
footer{border-top:1px solid var(--gold)}:focus-visible{outline-color:var(--gold)}
#photo-dialog{background:var(--forest);color:var(--ink);border:1px solid var(--line);padding:24px;width:min(960px,calc(100% - 28px));max-height:90vh;overflow:auto}
#photo-dialog::backdrop{background:#000c}.galleryhead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.galleryhead h2{font-size:28px;margin:0}
#photo-dialog button{border:1px solid #7d8a6f;padding:10px 18px;min-height:44px;color:var(--ink);background:#1d2a22;font-size:16px;cursor:pointer}
.galleryfigure img{width:100%;height:min(58vh,600px);object-fit:contain;background:#0c120e}.galleryfigure figcaption{margin-top:12px;font-size:17px;text-align:center}.gallerycontrols{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}
@media(max-width:760px){body{font-size:17px}.roomcover{width:calc(100% + 56px);margin:-28px -28px 26px}.outdoorgrid{grid-template-columns:1fr 1fr;gap:12px}.outdoorgrid .photoopen:first-child{grid-column:1/-1}.outdoors .sectionhead .gallerylink{margin-top:6px}.herofoot{letter-spacing:1.5px}.ribbon{font-size:14px}.brand-logo img{width:150px}#photo-dialog{padding:16px}.galleryhead h2{font-size:24px}.galleryfigure img{height:48vh}.gallerycontrols{gap:8px}#photo-dialog button{padding:10px 12px}}

.harvestgrid{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:28px;align-items:center}.harvestgrid img{aspect-ratio:4/3}.harvestgrid figcaption{font-size:14px;margin-top:12px;color:#bdc4b3}.future{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-top:1px solid var(--line)}.future h2{font-size:clamp(2.3rem,3.5vw,3.6rem)}.kitchenintro{max-width:900px;min-height:70vh}.kitchenintro h1{font-size:clamp(2.7rem,5vw,5rem)}.lead{font-size:28px;color:var(--accent)}.comingnote{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin:35px 0}.comingnote h2{font-size:32px}@media(max-width:760px){.harvestgrid,.future{grid-template-columns:1fr;gap:28px}.lead{font-size:24px}}

.hero img{object-position:center}.watergrid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:28px}.watergrid img{aspect-ratio:4/3;width:100%;object-fit:cover}.watergrid .poolphoto{aspect-ratio:auto;width:110%;max-width:none;height:100%;object-position:center 70%}.watergrid .photoopen{overflow:hidden;aspect-ratio:4/3}.watergrid .poolphoto{position:relative;left:-5%}.watergrid figcaption,.oilfigure figcaption{font-size:15px;color:#bdc4b3;margin-top:12px}.oilfigure{margin-top:30px;max-width:340px}.oilfigure img{aspect-ratio:4/5;object-position:center}.water{padding-bottom:0}@media(max-width:760px){.watergrid{grid-template-columns:1fr}.watergrid .poolphoto{height:100%}.hero figure{min-height:380px}.oilfigure{max-width:100%}.oilfigure img{max-height:460px}}

/* Things to do */
.activitiesintro{padding-bottom:35px}.activitiesintro>p{max-width:850px}.activitiesphoto{margin-top:35px;aspect-ratio:2.5/1;object-position:center}.activitygrid{display:grid;grid-template-columns:1fr 1fr;gap:55px 65px;padding-top:25px}.activity{border-top:1px solid var(--line);padding-top:30px}.activity h2{font-size:clamp(2rem,3vw,3rem)}.activity .eyebrow{margin-bottom:20px}.activityend{padding-top:0;max-width:1000px}.activityend h2{font-size:clamp(2rem,3vw,3rem)}nav{gap:24px}@media(max-width:960px){nav{gap:14px}.brand-logo img{width:170px}}@media(max-width:760px){header{flex-wrap:wrap;gap:16px}nav{gap:18px}nav a.activitiesnav{display:inline-block;font-size:15px}.activitygrid{grid-template-columns:1fr;gap:32px}.activitiesphoto{aspect-ratio:4/3}.activitiesintro .lead br{display:none}}

.kitchenintro .kitchenheading{font-size:clamp(2rem,3.5vw,3rem);margin-top:44px}

/* Room photo collections */
.photointro{padding-bottom:35px}.photointro p{max-width:620px}.photonav{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.photonav a{border:1px solid var(--line);padding:10px 20px;text-decoration:none}.photocollection{padding-top:45px;scroll-margin-top:25px}.photogrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.photogrid .photoopen{width:100%;display:block}.photogrid img{aspect-ratio:4/3;object-fit:cover}.photogrid figcaption{font-size:15px;color:#bdc4b3;margin-top:10px}.photogrid figure:nth-child(3) img[src*="new-bedroom"]{object-position:center 65%}.roomactions a.gallerylink{display:inline-block;text-decoration:none}@media(max-width:760px){.photogrid{grid-template-columns:1fr;gap:26px}.photonav a{display:inline-block!important}.photocollection{padding-top:30px}}

.salphoto{margin:28px 0 30px}.salphoto img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.salphoto figcaption{margin-top:10px;font-size:15px;color:#bdc4b3}.kitchenintro .salphoto{max-width:960px}

.foodgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.foodgrid figure,.foodpreview{margin:0}.foodgrid img{width:100%;height:250px;object-fit:cover}.foodgrid figcaption,.foodpreview figcaption{font-size:14px;margin-top:8px}.foodpreview{margin-top:24px;max-width:480px}.foodpreview img{width:100%;max-height:340px;object-fit:cover}.kitchenfood{margin:48px 0}@media(max-width:650px){.foodgrid{grid-template-columns:1fr}.foodgrid img{height:auto}}

.photoband>img[src*="tierra-fina-night"]{object-position:68% center}

/* Keep all page links accessible on narrow screens. */
header nav{flex-wrap:wrap;justify-content:flex-end}
.dates>div{min-width:0}input[type="date"]{min-width:0;max-width:100%}
.datehint{font-size:14px;color:#bdc4b3;margin:-4px 0 18px}
@media(max-width:1100px){header{flex-wrap:wrap;gap:18px}header nav{gap:12px 20px}}
@media(max-width:760px){header nav{width:100%;justify-content:flex-start}header nav a:not(.navcta){display:inline-block;font-size:15px}.navcta{padding:8px 12px}}
@media(max-width:380px){.dates{grid-template-columns:1fr;gap:0}.sendactions>*{width:100%;text-align:center}}

.roomdetails{display:grid;grid-template-columns:1.15fr 1fr;gap:65px}.detailheading{font-size:2rem}.roomdetails ul{padding-left:22px;line-height:1.9}.roompictures{padding-top:0;padding-bottom:0}.room-enquire{border-top:1px solid var(--line);max-width:1000px}.room h3 a{text-decoration:none}.room h3 a:hover{text-decoration:underline}.roompictures .foodgrid img{height:300px}@media(max-width:760px){.roomdetails{grid-template-columns:1fr;gap:28px}.roompictures .foodgrid img{height:auto}}

/* Language links stay visible and wrap on narrow screens. */
header{flex-wrap:wrap;gap:18px}header .language-nav{flex-basis:100%;justify-content:flex-end;gap:10px 22px;font-size:14px;border-top:1px solid var(--line);padding-top:12px}header .language-nav a{display:inline-block!important;padding:4px 0}header .language-nav a[aria-current]{color:var(--accent);border-bottom:1px solid var(--accent)}@media(max-width:760px){header .language-nav{justify-content:flex-start;gap:8px 18px}}

/* Prominent booking action beside the logo. */
header{justify-content:flex-start;column-gap:28px}
header>.navcta{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:56px;padding:14px 24px;font-size:19px;line-height:1.25;text-decoration:none;text-align:center;background:var(--accent);color:var(--forest);border-color:var(--accent)}
header>.navcta:hover{background:#e2e8d7;color:var(--forest)}
header>nav:not(.language-nav){margin-left:auto}
@media(max-width:1100px){header{column-gap:24px}header>nav:not(.language-nav){flex:1 1 360px}}
@media(max-width:760px){header{column-gap:18px;row-gap:18px}header>.navcta{flex:0 1 auto;max-width:calc(100% - 168px);min-height:52px;padding:12px 16px;font-size:17px}header>nav:not(.language-nav){flex-basis:100%;margin-left:0}}
@media(max-width:380px){header .brand-logo img{width:125px}header>.navcta{max-width:calc(100% - 143px);padding:12px;font-size:16px}}

/* Balance the booking action in the space between logo and navigation. */
@media(min-width:1101px){header>.navcta{margin-left:auto;margin-right:auto}header>nav:not(.language-nav){margin-left:0}}
@media(min-width:761px) and (max-width:1100px){header>.navcta{margin-left:auto;margin-right:auto}header>nav:not(.language-nav){flex:0 1 auto;margin-left:0}}

/* Quiet reassurance near the introduction; clear highlights below the photograph. */
.hero-reviews{display:inline-flex;align-items:center;gap:10px;margin-top:22px;min-height:44px;color:#f2efe7;font-size:17px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#9caa94}
.hero-reviews:hover{color:#d2dbc5;text-decoration-color:currentColor}
.ribbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:30px 5%;background:#dce4d5;color:#23382d;border-bottom:1px solid #b1bda9}
.ribbon>span{display:flex;align-items:center;justify-content:center;min-height:62px;padding:8px 24px;text-align:center;font-family:Georgia,serif;font-size:clamp(19px,1.8vw,25px);line-height:1.35}
.ribbon>span+span{border-left:1px solid #a4b19b}
.tf-direct-note{font-family:Georgia,serif;font-size:22px!important;line-height:1.5;max-width:760px!important;margin-bottom:22px}
@media(max-width:600px){.ribbon{grid-template-columns:1fr;padding:16px 7%}.ribbon>span{min-height:58px;padding:14px 12px;font-size:21px}.ribbon>span+span{border-left:0;border-top:1px solid #a4b19b}.hero-reviews{font-size:16px}.tf-direct-note{font-size:20px!important}}
