@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Caveat:wght@500;600;700&family=DM+Sans:wght@400;500;700&display=swap');
:root{--orange:#ff790d;--ink:#202127;--black:#0e0f12;--cream:#f1e4ce;--paper:#f8f2e8;--muted:#777572;--script:'Caveat',cursive;--display:'Barlow Condensed',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body)}body:before{content:'';position:fixed;z-index:-1;inset:0;opacity:.22;background-image:radial-gradient(rgba(84,60,36,.16) .6px,transparent .7px);background-size:5px 5px;pointer-events:none}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.site-nav{position:absolute;z-index:5;top:0;left:0;width:100%;padding:23px 5vw;color:#fff}.nav-wrap{max-width:1380px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:112px;max-height:100px;object-fit:contain}.nav-links{display:flex;gap:clamp(14px,2vw,31px);align-items:center}.nav-links a{text-transform:uppercase;font-size:11px;letter-spacing:.15em;font-weight:700;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--orange)}.nav-cta,.button{display:inline-block;background:var(--orange);color:#fff;padding:13px 21px;text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:800;border:1px solid var(--orange);transition:.2s}.nav-cta:hover,.button:hover{background:transparent;color:var(--orange)}.menu-btn{display:none;background:transparent;border:0;color:#fff;font-size:27px}.poster-hero{min-height:700px;display:grid;grid-template-columns:minmax(390px,43%) 1fr;background:var(--cream);position:relative}.poster-hero.dark-copy{background:var(--ink);color:#fff}.poster-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(145px,14vw,190px) clamp(30px,7vw,110px) clamp(55px,7vw,105px);position:relative;z-index:2}.poster-copy .kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--orange);margin:0 0 23px}.poster-copy .script{font:600 clamp(44px,5vw,74px)/.7 var(--script);color:var(--orange);margin:0 0 8px}.poster-copy h1{font:900 clamp(76px,9.2vw,142px)/.76 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0}.poster-copy h1 .orange{color:var(--orange)}.poster-copy .lead{max-width:430px;margin:30px 0;font-size:17px}.hero-photo{position:relative;overflow:hidden;min-height:450px}.hero-photo img{height:100%;object-fit:cover;filter:saturate(.83) contrast(1.05)}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,15,18,.35),transparent 42%)}.est-mark{font:700 12px var(--display);letter-spacing:.28em;text-transform:uppercase;margin-top:20px}.section{padding:clamp(68px,9vw,132px) 5vw}.contained{max-width:1280px;margin:auto}.split-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(45px,9vw,140px);align-items:center}.section-kicker{color:var(--orange);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;margin:0 0 17px}.section-title{font:900 clamp(51px,6.6vw,90px)/.79 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0}.section-title .script-inline{font:600 1.03em/.7 var(--script);color:var(--orange);text-transform:none;letter-spacing:0}.body-large{font-size:clamp(17px,1.55vw,21px);max-width:590px}.body-large p:first-child{margin-top:0}.text-link{color:var(--orange);font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;border-bottom:2px solid var(--orange);padding-bottom:8px}.food-ribbon{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-auto-rows:240px;gap:0;margin-top:clamp(55px,8vw,105px)}.food-ribbon figure{margin:0;position:relative;overflow:hidden}.food-ribbon figure:first-child{grid-row:span 2}.food-ribbon figure:last-child{grid-column:span 2}.food-ribbon img{height:100%;object-fit:cover;transition:transform .6s}.food-ribbon figure:hover img{transform:scale(1.05)}.food-ribbon figcaption{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));padding:45px 20px 16px;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.16em}.charcoal{background:var(--ink);color:#fff}.charcoal .section-title{color:#fff}.story-stat{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid rgba(255,255,255,.25);padding-top:35px;margin-top:45px}.stat-num{font:900 78px/.7 var(--display);color:var(--orange)}.stat-label{text-transform:uppercase;letter-spacing:.13em;font-size:10px}.quiet-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quiet-grid img{height:350px;object-fit:cover}.quiet-grid img:first-child{height:460px}.page-intro{padding:170px 5vw 72px;background:var(--cream);position:relative}.page-intro .contained{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.page-intro h1{font:900 clamp(70px,9vw,130px)/.75 var(--display);margin:0;text-transform:uppercase}.page-intro .script{color:var(--orange);font:600 clamp(46px,5.4vw,78px)/.6 var(--script);margin:0}.page-intro p{max-width:390px;margin:0}.timeline{max-width:1040px;margin:0 auto}.timeline-item{display:grid;grid-template-columns:150px 1fr;gap:40px;padding:35px 0;border-top:1px solid rgba(32,33,39,.18)}.timeline-year{font:900 44px/.8 var(--display);color:var(--orange)}.timeline-item h3{font:800 35px/.9 var(--display);text-transform:uppercase;margin:0 0 10px}.image-bleed{max-width:1360px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr}.image-bleed .copy{padding:clamp(45px,7vw,95px);background:var(--cream);align-self:center}.image-bleed img{height:550px;object-fit:cover}.cottage-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.cottage-grid img{height:410px;object-fit:cover}.cottage-grid img:first-child{height:838px;grid-row:span 2}.amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d3c5ae;margin-top:70px}.amenities div{background:var(--paper);padding:34px 25px}.amenities h3{font:800 28px/.95 var(--display);text-transform:uppercase;margin:0 0 8px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:570px}.contact-details{background:var(--orange);padding:clamp(50px,7vw,100px);color:#fff}.contact-details h1{font:900 clamp(68px,8vw,110px)/.75 var(--display);text-transform:uppercase;margin:0 0 37px}.contact-details a{font-size:clamp(17px,2vw,26px);font-weight:700}.contact-details .small{font-size:13px;max-width:360px}.contact-photo{position:relative}.contact-photo img{height:100%;object-fit:cover;filter:grayscale(.2) contrast(1.1)}.contact-photo:after{content:'Caversham · KwaZulu-Natal Midlands';position:absolute;bottom:31px;right:35px;color:#fff;text-transform:uppercase;letter-spacing:.2em;font-size:10px}.hours-list{list-style:none;padding:0;margin:0}.hours-list li{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.32);font-size:14px}.book-hero{min-height:720px;padding:160px 5vw 90px;display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center;background:var(--ink);color:#fff}.book-hero .contained{display:contents}.book-title{max-width:640px}.book-title .script{font:600 74px/.6 var(--script);color:var(--orange);margin:0}.book-title h1{font:900 clamp(75px,10vw,145px)/.76 var(--display);text-transform:uppercase;margin:7px 0 26px}.book-frame{background:var(--cream);padding:16px;transform:rotate(2deg);box-shadow:22px 23px 0 rgba(255,121,13,.72)}.book-frame img{height:490px;object-fit:cover}.book-frame .cover-label{padding:16px 8px 4px;color:var(--ink);font:900 41px/.8 var(--display);text-transform:uppercase}.book-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.book-features div{padding:28px;background:#282a30}.book-features h3{font:800 27px/.9 var(--display);text-transform:uppercase;margin:0 0 7px}.wine-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:0}.wine-layout .wine-copy{padding:clamp(70px,9vw,130px) clamp(40px,7vw,100px);background:var(--cream)}.wine-copy h1{font:900 clamp(78px,10vw,144px)/.75 var(--display);text-transform:uppercase;margin:0}.wine-copy .script{font:600 68px/.5 var(--script);color:var(--orange);margin:0}.wine-layout img{height:710px;object-fit:cover;filter:brightness(.75)}.footer{background:#101115;color:#d4cec5;padding:60px 5vw 26px}.footer-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}.footer-logo{width:130px}.footer h3{color:#fff;font:800 23px var(--display);text-transform:uppercase;letter-spacing:.08em}.footer p{font-size:14px}.footer-bottom{max-width:1280px;margin:42px auto 0;padding-top:18px;border-top:1px solid #34353a;color:#95918a;font-size:11px;display:flex;justify-content:space-between}@media(max-width:800px){.site-nav{position:relative;background:var(--ink)}.nav-links{display:none}.nav-links.is-open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--ink);padding:22px 5vw;flex-direction:column;align-items:flex-start}.menu-btn{display:block}.nav-cta{display:none}.poster-hero,.split-intro,.contact-grid,.book-hero,.wine-layout,.image-bleed{grid-template-columns:1fr}.poster-copy{padding:70px 8vw}.poster-copy h1{font-size:80px}.hero-photo{min-height:420px}.food-ribbon{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.food-ribbon figure:first-child,.food-ribbon figure:last-child{grid-column:span 2;grid-row:auto}.quiet-grid,.cottage-grid{grid-template-columns:1fr}.quiet-grid img,.quiet-grid img:first-child,.cottage-grid img,.cottage-grid img:first-child{height:350px;grid-row:auto}.page-intro{padding-top:85px}.page-intro .contained{display:block}.page-intro p{margin-top:24px}.timeline-item{grid-template-columns:1fr;gap:12px}.amenities,.book-features,.footer-grid{grid-template-columns:1fr}.image-bleed img{height:390px}.book-hero{padding:80px 8vw}.book-frame img{height:400px}.wine-layout img{height:420px}.footer-bottom{display:block}.footer-bottom span{display:block;margin:7px 0}}@media(max-width:430px){.food-ribbon{grid-template-columns:1fr}.food-ribbon figure:first-child,.food-ribbon figure:last-child{grid-column:auto}.poster-copy h1{font-size:66px}.section-title{font-size:53px}}
