
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600&display=swap');
:root{--cream:#eee9df;--ink:#29352c;--gold:#b9a17b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:6px}header{position:absolute;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;width:100%;padding:32px 5%;color:white;border-bottom:1px solid #ffffff35}.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:31px;letter-spacing:5px}.brand small{display:block;font-family:Arial;font-size:8px;letter-spacing:4px;text-align:center;margin-top:3px}nav{display:flex;gap:26px;font-size:11px}nav a:hover{color:#ddc5a0}.button{display:inline-block;padding:17px 24px;border:1px solid #ffffff70;text-transform:uppercase;font-size:10px;letter-spacing:2px;background:transparent;color:inherit;cursor:pointer}.button:hover{background:#ffffff20}.menu{display:none}.hero{height:100svh;min-height:720px;position:relative;color:white;background:#394235 url('assets/hero.jpg') center/cover}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101b17b0,#17241b15),linear-gradient(0deg,#15221bc9,transparent 60%)}.hero-content{position:absolute;top:31%;left:9%;max-width:820px}.eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;line-height:1.8}.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(60px,7.4vw,114px);line-height:.98;letter-spacing:-2px;margin:26px 0}.hero h1 em{font-weight:400;color:#e4d6b9}.hero p{font-size:13px;line-height:1.8;max-width:405px;color:#eee6da}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:35px}.story-link{font-size:11px;border:0;background:none;color:white;cursor:pointer}.hero-foot{position:absolute;bottom:35px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.intro{padding:110px 9% 100px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.intro h2,.section-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(43px,4.5vw,68px);line-height:1.05;margin:24px 0}.intro h2 em{color:#7a8268}.body-copy{font-size:13px;line-height:1.95;max-width:470px;color:#687063}.intro-right{padding-top:35px}.text-link{display:inline-block;margin-top:25px;padding-bottom:10px;border-bottom:1px solid #9b9c8b;font-size:10px;letter-spacing:2px;text-transform:uppercase}.facts{display:flex;gap:50px;padding-top:30px;margin-top:25px;border-top:1px solid #d0d0c2}.facts strong{font-family:Georgia;font-weight:400;font-size:30px;display:block}.facts span{display:block;font-size:9px;letter-spacing:1px;margin-top:10px}.land{display:grid;grid-template-columns:1.15fr 1fr;background:#263a2e;color:var(--cream);min-height:690px}.land-image{background:url('assets/land.jpg') center/cover;min-height:550px}.land-text{padding:85px 14%}.land .body-copy{color:#bbc3b5}.land .section-title{font-size:58px}.land .text-link{color:#dfd5c1}.experiences{padding:100px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading .body-copy{max-width:300px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{display:block}.card-img{height:410px;overflow:hidden;background:#5a624f}.card img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.card:hover img{transform:scale(1.04)}.card .number{font-size:9px;color:#8c8c78;letter-spacing:2px;margin-top:25px}.card h3{font-family:Georgia;font-weight:400;font-size:28px;margin:14px 0}.card p{font-size:12px;line-height:1.8;color:#687063;max-width:310px}.card .arrow{float:right;font:25px Georgia}.lodge{position:relative;min-height:680px;background:#34372e url('assets/stay.jpg') center/cover;color:white;display:flex;align-items:end;padding:65px 9%}.lodge:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101c18d9,transparent 90%)}.lodge>div{position:relative;max-width:600px}.lodge p{color:#e0dfd2}.values{padding:95px 9%;display:grid;grid-template-columns:1fr 1fr;gap:90px}.values article{border-top:1px solid #aaa996;padding-top:30px}.values h3{font:36px 'Cormorant Garamond',Georgia;margin:22px 0}.quote{background:#dcd9cc;text-align:center;padding:75px 20%;font:italic 43px 'Cormorant Garamond',Georgia;line-height:1.25}.quote span{display:block;font:9px Arial;letter-spacing:3px;margin-top:25px}.enquire{background:#25372d;color:var(--cream);padding:90px 9%;display:grid;grid-template-columns:1fr 1fr;gap:90px}.enquire .body-copy{color:#bbc3b5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;display:block}input,select,textarea{width:100%;border:0;border-bottom:1px solid #788275;background:transparent;color:var(--cream);padding:14px 0;border-radius:0}select option{color:#25372d}.wide{grid-column:1/-1}.form-note{font-size:10px;line-height:1.8;color:#b9bfaf}.form-grid button{justify-self:start}.status{font-size:12px;line-height:1.6}footer{padding:45px 6%;background:#1d2c24;color:#bdc3b6;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px}dialog{max-width:650px;background:var(--cream);border:0;padding:45px;color:var(--ink)}dialog::backdrop{background:#102119bb}dialog h2{font:42px Georgia}dialog button{background:#25372d;color:white;margin-top:20px} .concept{position:fixed;bottom:14px;right:14px;padding:9px 13px;background:#ede8dfed;color:#354534;font-size:8px;letter-spacing:1.5px;z-index:9;border:1px solid #a7ad9d}
@media(max-width:900px){nav{gap:14px}header{padding:22px 5%}header>.button{display:none}.intro,.values,.enquire{gap:40px;padding:75px 7%}.land-text{padding:60px 10%}.cards{gap:16px}.card-img{height:300px}.hero-content{left:7%}.quote{padding:65px 10%}}@media(max-width:650px){.menu{display:block;border:1px solid #ffffff70;background:none;color:white;padding:10px}nav{display:none;position:absolute;top:87px;left:0;right:0;padding:25px;background:#23392c;flex-direction:column;font-size:14px}nav.open{display:flex}.hero{min-height:690px}.hero-content{top:28%;right:7%}.hero h1{font-size:62px}.hero-actions{gap:20px}.hero-foot{font-size:8px}.intro,.values,.enquire,.land{grid-template-columns:1fr}.intro{gap:0}.intro-right{padding-top:0}.facts{gap:30px}.land-image{min-height:470px}.land-text{padding:55px 8%}.cards{grid-template-columns:1fr}.card-img{height:410px}.section-heading{display:block}.experiences{padding:65px 7%}.card{margin-bottom:20px}.lodge{min-height:600px;padding:45px 7%}.values,.enquire{gap:40px}.quote{font-size:34px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}footer{gap:25px;align-items:start;flex-direction:column}.concept{font-size:7px}}

.inner-hero{min-height:620px;height:78svh}.inner-hero .hero-content{top:35%}.inner-hero h1{font-size:clamp(56px,7vw,98px)}.page-nav{display:flex;gap:22px;font-size:10px}.page-nav a[aria-current=page]{color:#dcc5a0}.feature-row{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.feature-row img{width:100%;height:100%;max-height:680px;object-fit:cover}.feature-copy{padding:80px 14%;align-self:center}.dark{background:#293e30;color:#eee9df}.dark .body-copy{color:#c0c6b8}.editorial{padding:85px 9%}.editorial.narrow{max-width:1000px;margin:auto}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.detail-grid article{border-top:1px solid #a5aa95;padding-top:20px}.detail-grid h3{font:32px 'Cormorant Garamond',Georgia}.detail-grid p{font-size:12px;line-height:1.9;color:#697261}.dark .detail-grid p{color:#bec4b7}.page-cta{padding:70px 9%;display:flex;justify-content:space-between;align-items:center;background:#dcd9cc}.page-cta h2{font:45px 'Cormorant Garamond',Georgia;margin:0 0 15px}.page-cta .button{color:#eee9df;background:#293e30}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.gallery button{border:0;padding:0;background:none;cursor:zoom-in}.gallery img{width:100%;height:340px;object-fit:cover}.filters{display:flex;gap:10px;margin:35px 0;flex-wrap:wrap}.filters button{background:none;border:1px solid #9ca38f;padding:12px 20px;cursor:pointer;font-size:10px;letter-spacing:1px}.filters .active{background:#293e30;color:#eee9df}.species-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.species{padding:30px;background:#e4e0d5;border-top:1px solid #c0c4b3}.species h3{font:32px 'Cormorant Garamond',Georgia;margin:12px 0}.species p{font-size:12px;line-height:1.7}.species small{font-size:8px;letter-spacing:2px;color:#7d866e}.species[hidden]{display:none}details{border-bottom:1px solid #b5baa8;padding:22px 0}summary{cursor:pointer;list-style:none;font:24px 'Cormorant Garamond',Georgia;display:flex;justify-content:space-between}summary:after{content:'+';font-family:Arial}details[open] summary:after{content:'−'}.lightbox{max-width:95vw;padding:10px;background:#eee9df}.lightbox img{max-width:85vw;max-height:75svh;object-fit:contain}.lightbox button{display:block;margin:10px auto;padding:10px 20px}.timeline{border-left:1px solid #9bA18e;padding-left:35px;margin-top:40px}.timeline article{margin:0 0 40px}.timeline h3{font:30px Georgia}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0;list-style:none}.amenities li{border-bottom:1px solid #bbc1af;padding-bottom:15px;font-size:12px}.plan-form{padding:70px 9%;background:#293e30;color:#eee9df}.plan-form form{max-width:900px;margin:auto}.plan-form .form-grid{gap:28px}.plan-form .section-title{max-width:900px;margin:0 auto 40px}header .brand{font-size:27px}header nav{gap:19px}#form-summary{white-space:pre-line}.page-hero-foot{letter-spacing:2px;font-size:9px}.lead{font:italic 29px 'Cormorant Garamond',Georgia;line-height:1.5}.credit{font-size:9px;color:#727b66}dialog .button{color:#fff}.section-title em{color:#7c876e}@media(max-width:1000px){header nav{gap:12px;font-size:10px}.detail-grid{gap:20px}}@media(max-width:750px){header>.button{display:none}header .menu{display:block}header nav{display:none;position:absolute;top:87px;left:0;right:0;background:#23392c;padding:25px;flex-direction:column;font-size:14px}header nav.open{display:flex}.feature-row,.detail-grid{grid-template-columns:1fr}.feature-row img{height:440px}.feature-copy{padding:55px 8%}.inner-hero{min-height:590px}.species-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery button:first-child{grid-column:1/-1}.gallery img{height:260px}.page-cta{display:block}.page-cta .button{margin-top:25px}.editorial{padding:60px 7%}}@media(max-width:480px){.species-grid,.amenities{grid-template-columns:1fr}.inner-hero h1{font-size:58px}}

/* Official Langkloof identity and prominent landing-page photographs. */
.logo-brand{display:block;flex-shrink:0;width:190px;line-height:0;background:#fff;padding:7px 9px;border-radius:1px}.logo-brand img{display:block;width:100%;height:auto}header{padding-top:19px;padding-bottom:19px;gap:24px}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:before{z-index:1}.hero-content,.hero-foot{z-index:2}.card-img{height:440px;position:relative}.card-img img{display:block;min-height:100%;max-width:100%;object-fit:cover}.hero-content{top:32%}footer .logo-brand{width:185px}header nav{flex-wrap:wrap;justify-content:center}header>.button{white-space:nowrap}@media(max-width:1000px){header nav{gap:12px}.logo-brand{width:160px}}@media(max-width:750px){.logo-brand{width:155px}header{padding-top:16px;padding-bottom:16px;gap:16px}.hero-content{top:30%}.card-img{height:380px}header nav{top:98px}}

/* Keep hero copy in document flow so it cannot spill into the next section. */
.hero,.inner-hero{height:auto;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:155px 9% 0;isolation:isolate}
.hero-content,.inner-hero .hero-content{position:relative;top:auto;left:auto;right:auto;max-width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:25px}
.hero h1,.inner-hero h1{line-height:1.06;margin:22px 0;font-size:clamp(54px,7vw,104px);overflow-wrap:normal}
.hero-content .eyebrow{flex-shrink:0}.hero-content p{margin:12px 0;max-width:440px}.hero-actions{flex-wrap:wrap;gap:22px 32px;margin-top:25px;margin-bottom:10px}
.hero-foot{position:relative;bottom:auto;left:auto;right:auto;flex-shrink:0;gap:25px;align-items:center;margin-top:55px;padding:22px 0 30px;border-top:1px solid #ffffff45;line-height:1.8;z-index:2}
.hero-foot span{max-width:80%}.hero-foot a{white-space:nowrap}
.hero:before{background:linear-gradient(90deg,rgba(14,28,20,.48),rgba(14,28,20,.06)),linear-gradient(0deg,rgba(14,28,20,.40),transparent 35%);pointer-events:none}
.hero-content h1,.hero-content p,.hero-content .eyebrow,.hero-foot{text-shadow:0 2px 12px #14261d80}
.hero-photo{filter:brightness(1.10) saturate(1.03)}
.lodge:before{background:linear-gradient(0deg,rgba(16,28,24,.65),rgba(16,28,24,.05) 80%)}
.card-img img,.gallery img,.feature-row>img{filter:brightness(1.06)}
header .brand{flex-shrink:0;line-height:1.1}header nav{line-height:1.6}header{min-height:100px}
@media(max-width:1100px){header nav{gap:10px;font-size:10px}header .brand{font-size:25px;letter-spacing:3px}header>.button{padding:14px 16px;font-size:9px}}
@media(max-width:850px){header>.button{display:none}header .menu{display:block}header nav{display:none;position:absolute;top:99px;left:0;right:0;padding:25px;background:#23392c;flex-direction:column;font-size:14px;align-items:flex-start}header nav.open{display:flex}}
@media(max-width:650px){.hero,.inner-hero{min-height:100svh;padding:130px 7% 0}.hero-content,.inner-hero .hero-content{padding-top:18px}.hero h1,.inner-hero h1{font-size:clamp(39px,9vw,62px);letter-spacing:-1px;line-height:1.08}.hero-actions{gap:20px}.hero-foot{margin-top:42px;font-size:8px;align-items:flex-start;gap:15px}.hero-foot span{max-width:72%}.hero p{font-size:12px}.hero-content .eyebrow{font-size:9px}.hero-actions .button{padding:15px 18px;font-size:9px}}
@media(max-height:650px) and (min-width:651px){.hero,.inner-hero{padding-top:125px}.hero h1,.inner-hero h1{font-size:clamp(50px,6vw,82px)}.hero-content{padding-top:15px}.hero-foot{margin-top:28px}.hero-actions{margin-top:18px}}

.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.photo-grid button{border:0;padding:0;background:transparent;text-align:left;color:var(--ink);cursor:zoom-in}.photo-grid img{display:block;width:100%;height:350px;object-fit:cover;filter:brightness(1.06)}.photo-grid span{display:block;font:24px 'Cormorant Garamond',Georgia;padding:16px 0}.footer-links{display:flex;flex-wrap:wrap;gap:16px}footer{flex-wrap:wrap;gap:25px}@media(max-width:850px){.photo-grid{grid-template-columns:1fr 1fr}.photo-grid img{height:300px}}@media(max-width:500px){.photo-grid{grid-template-columns:1fr}.photo-grid img{height:360px}}

@media(max-width:1250px){header>.button{display:none}header .menu{display:block}header nav{display:none;position:absolute;top:99px;left:0;right:0;padding:25px 5%;background:#23392c;flex-direction:column;font-size:14px;align-items:flex-start}header nav.open{display:flex}}

.document-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}.document-grid>a{display:block;padding:28px 22px;background:#e4e0d5;border-top:1px solid #a5ae98}.document-grid h3{font:29px 'Cormorant Garamond',Georgia;line-height:1.15}.document-grid p{font-size:12px;line-height:1.7}.document-grid>a:hover{background:#dcd8ca}.social-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.social-links .eyebrow{font-size:8px}.social-links a{border-bottom:1px solid #7a8b76;padding:9px 0}@media(max-width:900px){.document-grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.document-grid{grid-template-columns:1fr}}

.shows-hero{background-position:center right}.shows-gallery button:first-child img{object-position:center right;height:440px}.shows-gallery img{height:440px}@media(max-width:650px){.shows-hero{background-position:72% center}.shows-hero h1{max-width:75%}.shows-gallery button:first-child img{height:auto;object-fit:contain}}

header .brand{font-weight:600}header .brand small{font-weight:600;letter-spacing:3.3px}.contact-footer{background:#231f20;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:60px;padding:55px 7%;align-items:start;letter-spacing:.4px;color:#e0ded4;font-size:12px}.contact-footer .logo-brand{background:transparent;padding:0;width:260px;max-width:100%}.contact-footer .logo-brand img{width:100%;height:155px;object-fit:cover;object-position:center}.footer-identity>p{font-size:8px;letter-spacing:2px;margin-top:20px}.contact-footer h2{font:27px 'Cormorant Garamond',Georgia;color:#eee9df;margin:0 0 22px}.contact-footer strong{font-size:14px;font-weight:500}.contact-footer p{font-size:11px;line-height:1.8;margin:9px 0 15px;color:#b8b6ab}.footer-contact>a,.footer-follow>a{display:block;line-height:1.7;margin:9px 0;overflow-wrap:anywhere}.contact-footer a:hover{color:#dcc5a0}.contact-footer .footer-links{margin-top:25px;gap:12px;font-size:10px}.footer-contact{padding-top:15px}.footer-follow{padding-top:15px}@media(max-width:850px){.contact-footer{grid-template-columns:1fr 1fr;gap:35px}.footer-identity{grid-column:1/-1}}@media(max-width:500px){.contact-footer{grid-template-columns:1fr;gap:25px}.footer-identity{grid-column:auto}.footer-contact,.footer-follow{padding-top:0}}

.imported-gallery button[hidden]{display:none}.imported-gallery img{height:310px;object-fit:contain;background:#e4e0d5;filter:none}.gallery-controls{text-align:center;margin:40px 0}.gallery-controls .button{background:#293e30;color:#eee9df}.gallery-controls p{font-size:11px;color:#707b67}@media(max-width:500px){.imported-gallery img{height:360px}}

.document-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.document-grid>a{display:flex;flex-direction:column}.document-grid .text-link{margin-top:auto;align-self:flex-start}.document-grid h3{font-size:27px;overflow-wrap:anywhere}.document-grid p{flex:1}@media(max-width:1150px){.document-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.document-grid{grid-template-columns:1fr}}

.species{position:relative;isolation:isolate;overflow:hidden;min-height:245px;padding-bottom:100px}.species-watermark{position:absolute;right:5px;bottom:0;width:78%;height:165px;object-fit:contain;opacity:.19;z-index:-1;pointer-events:none}.species h3,.species p,.species small{position:relative;z-index:1}.species p{max-width:85%}@media(max-width:500px){.species-watermark{width:70%;height:160px}}

.wild-invitation{padding:85px 9%;background:#dcd9cc;display:grid;grid-template-columns:1fr 1.25fr;gap:25px 70px}.wild-invitation>.eyebrow{grid-column:1/-1}.wild-invitation .section-title{margin-top:0}.wild-invitation .lead{margin-top:0;font-size:29px}.wild-invitation .body-copy{max-width:none}.wild-invitation .button{background:#293e30;color:#eee9df;margin-top:20px}.invitation-question{font-weight:500;color:#344634}.conservation-intro .intro-right{padding-top:0}@media(max-width:700px){.wild-invitation{grid-template-columns:1fr;padding:65px 7%;gap:20px}.wild-invitation>.eyebrow{grid-column:auto}}

.stay-quote{margin:25px 0 35px;padding:0;max-width:480px}.stay-quote p{font:italic 27px/1.4 'Cormorant Garamond',Georgia;color:#707d65;margin:0 0 15px}.stay-quote cite{font:10px 'DM Sans',Arial;letter-spacing:1.4px;color:#727b66;font-style:normal}

.footer-contact .secondary-contact{display:block;margin-top:20px;font-size:12px;}

.status[data-state]{font-size:13px;line-height:1.7;padding:14px 16px;border:1px solid #9eac90;background:#1c2d23;color:#f4f0e7}.status[data-state=error]{border-color:#dfb6a0;background:#45342b}.status[data-state=success]{border-color:#b5d09e}.enquiry-email-fallback{display:block;grid-column:1/-1;color:#eee9df;text-decoration:underline;font-size:13px;padding:10px 0}.enquiry-email-fallback[hidden]{display:none}input[aria-invalid=true]{border-bottom:2px solid #efc2a9}.button:disabled{opacity:.65;cursor:wait}
