@font-face{font-family:Heebo;src:url('assets/fonts/heebo-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Frank Ruhl Libre';src:url('assets/fonts/frank-ruhl-libre-variable.ttf') format('truetype');font-weight:300 900;font-display:swap}
:root{--cream:#f8f6ef;--paper:#eeece2;--ink:#28362b;--olive:#344438;--muted:#697064;--sand:#e9d9b8;--line:#d6d8cb;--serif:'Frank Ruhl Libre',Georgia,serif;--sans:Heebo,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b08945;outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #657758;outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-1.5px}h2{font-size:clamp(38px,4vw,60px)}h1 em,h2 em{font-weight:400;font-style:normal;color:#76806a}h3{font-family:var(--serif);font-weight:500;font-size:29px;line-height:1.25}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.section-space{padding-block:108px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:1px;margin-bottom:20px;color:#59644e}.eyebrow.light{color:#e2e6d5}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 25px;background:var(--olive);color:#fff;border:1px solid transparent;font-size:14px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#445944;transform:translateY(-2px)}.button-small{padding:11px 20px;font-size:13px;gap:25px}.button-sand{background:var(--sand);color:var(--ink)}.button-sand:hover{background:#f1e4c9}.button-outline{border:1px solid var(--line);color:var(--ink);background:transparent}.button-outline:hover{background:var(--paper)}.inline-link{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid #9b9e87;padding-bottom:7px;font-size:14px;font-weight:500}.small-note{font-size:12px;line-height:1.8;color:var(--muted)}.skip-link{position:fixed;z-index:100;top:-100px;right:20px;background:#fff;padding:12px 25px}.skip-link:focus{top:15px}.demo-banner{min-height:30px;background:#eae7db;color:#566049;text-align:center;font-size:10px;padding:5px 15px;letter-spacing:.25px}.demo-banner span{margin-inline:5px}.site-header{background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid #34443810}.header-inner{max-width:1440px;margin:auto;min-height:90px;padding:16px 46px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:42px;height:42px}.brand strong{display:block;font-family:var(--serif);font-size:26px;line-height:1.2;font-weight:500}.brand small{display:block;font-size:10px;letter-spacing:.3px;margin-top:3px;color:var(--muted)}#main-nav{display:flex;align-items:center;gap:30px}#main-nav a{font-size:13px;padding:8px 0;position:relative}#main-nav a:after{content:'';position:absolute;bottom:2px;right:0;width:0;height:1px;background:var(--olive);transition:width .2s}#main-nav a:hover:after{width:100%}.menu-toggle{display:none}
.hero{min-height:630px;height:min(770px,calc(100svh - 120px));position:relative;background:#546b58;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;height:100%;width:100%}.hero-image{object-position:50% 61%}.hero-shade{background:linear-gradient(270deg,rgba(13,28,20,.76) 0%,rgba(15,30,23,.44) 50%,rgba(10,27,21,.06) 100%),linear-gradient(0deg,rgba(7,22,16,.48),transparent 40%)}.hero-inner{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center}.hero-copy{padding-top:40px}.hero .eyebrow{display:flex;gap:12px;align-items:center;font-size:12px}.tiny-sun{font-size:25px;font-weight:300}.hero h1{font-size:clamp(60px,6.5vw,94px);line-height:1.08;letter-spacing:-2px;max-width:850px}.hero h1 em{color:#ddd6b5}.hero-description{font-size:16px;line-height:1.9;font-weight:300;margin-top:24px;color:#f1f1e8}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:34px}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:13px;border-bottom:1px solid #d9dec480;padding-bottom:6px}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#ecefe3}.hero-bottom p{display:flex;gap:14px;align-items:center}.hero-bottom p>span{font-size:24px;color:#d4d5ad}.hero-bottom a{display:flex;align-items:center;gap:15px}.scroll-arrow{border:1px solid #ffffff60;width:32px;height:42px;display:grid;place-items:center;border-radius:25px;font-size:18px}.image-disclaimer{position:absolute;left:20px;top:20px;font-size:9px;letter-spacing:.2px;padding:4px 8px;border:1px solid #ffffff45;background:#1a2c2166}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.intro-copy{max-width:480px;padding-top:16px;color:#697064;font-size:15px;line-height:1.9}.intro-copy p+p{margin-top:16px}.intro-copy .inline-link{margin-top:28px;color:var(--ink)}.pool-section{background:#e9ecdf;padding-block:60px}.pool-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;direction:ltr}.pool-photo{position:relative;height:570px;direction:rtl}.pool-photo img{height:100%;object-position:center 60%}.photo-label{position:absolute;bottom:26px;left:24px;font-size:9px;letter-spacing:2px;color:white;text-shadow:0 1px 5px #0008}.pool-copy{direction:rtl;padding-block:20px}.section-number{display:block;font-size:11px;color:#6b755c;letter-spacing:.7px;margin-bottom:40px}.pool-copy .eyebrow{margin-bottom:18px}.pool-copy>p:not(.eyebrow):not(.small-note){font-size:15px;color:#626e5a;margin-top:25px;max-width:395px}.pool-notes{display:flex;gap:35px;margin-block:30px;align-items:center}.pool-notes span{display:flex;gap:10px;align-items:center;font-size:12px}.pool-notes svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.2}.pool-copy .small-note{max-width:350px;font-size:11px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-heading>p{font-size:14px;color:var(--muted);padding-bottom:5px}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.card-image{height:310px;position:relative;overflow:hidden}.card-image img{height:100%;transition:transform .7s}.experience-card a:hover img{transform:scale(1.045)}.card-image>span{position:absolute;top:15px;right:17px;width:30px;height:30px;border:1px solid #fff9;border-radius:50%;display:grid;place-items:center;font-size:10px;color:#fff;background:#243c3645}.card-caption{display:flex;align-items:center;justify-content:space-between;margin-top:21px;gap:12px}.card-caption p{font-size:11px;color:var(--muted);margin-bottom:5px}.round-arrow{border:1px solid #b7bdac;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:21px;transition:background .2s}.experience-card a:hover .round-arrow{background:var(--paper)}.card-description{font-size:13px;line-height:1.85;margin-top:14px;max-width:310px;color:var(--muted)}.section-note{font-size:11px;text-align:center;color:var(--muted);border-top:1px solid var(--line);margin-top:40px;padding-top:22px}.gallery-section{background:#edece4}.gallery-grid{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:230px 230px;gap:18px}.gallery-item{border:0;padding:0;position:relative;overflow:hidden;background:#74856c;text-align:right}.gallery-main{grid-row:span 2}.gallery-item img{height:100%;width:100%;transition:transform .7s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#10241ab3)}.gallery-item>span{position:absolute;bottom:23px;right:25px;left:25px;z-index:1;color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:14px}.gallery-item b{font-size:22px;font-weight:300}.questions{display:grid;grid-template-columns:1fr 1.5fr;gap:12%}.questions>div>p:last-child{font-size:14px;color:var(--muted);margin-top:25px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;list-style:none;justify-content:space-between;align-items:center;gap:20px;padding:23px 0;cursor:pointer;font-size:15px}summary::-webkit-details-marker{display:none}summary>span{font-size:23px;color:#77816c;font-weight:300;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:13px;color:var(--muted);max-width:95%;line-height:1.9;padding-bottom:22px}
.enquiry-section{background:var(--olive);color:var(--cream)}.enquiry-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:start}.enquiry-copy{padding-top:22px}.enquiry-copy h2{font-size:clamp(39px,4.1vw,61px)}.enquiry-copy h2 em{color:#d3d1ad}.enquiry-copy>p:not(.eyebrow){font-size:15px;font-weight:300;color:#d3dbcb;margin-top:28px;line-height:1.9}.demo-explainer{border-top:1px solid #ffffff26;padding-top:30px;margin-top:50px;display:flex;align-items:start;gap:20px;max-width:370px}.demo-explainer>span{font-size:30px;line-height:1.4;color:#c4c99d}.demo-explainer p{font-size:11px;color:#d2d9c9;line-height:1.85}.demo-explainer strong{font-size:13px;display:block;margin-bottom:8px;color:#f4f2e5;font-weight:500}.enquiry-form{background:var(--cream);color:var(--ink);padding:34px}.form-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:25px}.form-heading h3{font-size:27px}.form-heading>span{font-size:10px;color:#6f785f;border:1px solid var(--line);padding:3px 8px}.field{margin-bottom:18px;min-width:0}.field label{display:block;font-size:12px;font-weight:500;margin-bottom:6px}.field label span{font-size:10px;font-weight:400;color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:0;background:#fdfcf8;color:var(--ink);padding:11px 12px;font-size:13px;min-height:46px}.field textarea{resize:vertical;display:block;min-height:76px}.field input[type=date]{direction:rtl;min-height:46px}.field input::placeholder,.field textarea::placeholder{color:#7b8174;font-size:12px}.form-submit{width:100%;justify-content:space-between;margin-top:2px}.form-footnote{font-size:10px;color:var(--muted);text-align:center;margin-top:12px}.form-error{font-size:12px;color:#923c2c;background:#f7e7dd;padding:10px;margin-bottom:15px}.site-footer{padding:45px 0 22px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-top .brand strong{font-size:25px}.footer-top .inline-link{font-size:12px;border:0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-top:22px;font-size:10px;color:var(--muted)}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
dialog{border:0;padding:0;max-height:90svh;overflow:auto;color:var(--ink);background:var(--cream)}dialog::backdrop{background:#112218d9;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:13px;left:13px;z-index:2;border:1px solid #c7cbb8;background:var(--cream);color:var(--ink);width:40px;height:40px;font-size:28px;line-height:1;display:grid;place-items:center}.lightbox{max-width:1000px;width:calc(100% - 50px);background:#1d2c23;color:#fff}.lightbox-content{position:relative}.lightbox img{height:65svh;min-height:230px;object-fit:contain;background:#15241c}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;gap:20px}.lightbox-bottom button{border:1px solid #ffffff50;color:#fff;background:transparent;width:40px;height:40px;font-size:22px}.lightbox-bottom p{font-size:14px}.lightbox-note{font-size:10px;text-align:center;padding-bottom:16px;color:#b5c4ad}.summary-dialog{width:min(600px,calc(100% - 32px));padding:44px;position:fixed}.summary-dialog h2{font-size:40px}.summary-dialog .eyebrow{padding-left:30px}.summary-notice{font-size:12px;color:#626e55;margin-top:20px}.summary-dialog pre{font:14px/1.9 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);padding:22px;margin:25px 0;unicode-bidi:plaintext}.summary-actions{display:flex;gap:12px;flex-wrap:wrap}.copy-status{min-height:24px;font-size:12px;color:var(--muted);margin-top:12px}[hidden]{display:none!important}
@media(min-width:1600px){.hero{height:790px;max-height:none}.hero-copy{padding-top:0}}
@media(max-width:1100px){.header-inner{padding-inline:30px;gap:20px}#main-nav{gap:20px}.brand strong{font-size:23px}.brand small{font-size:9px}.wrap{width:calc(100% - 72px)}.hero h1{font-size:75px}.section-space{padding-block:85px}.pool-layout{gap:7%}.pool-photo{height:510px}.card-image{height:270px}.experience-grid{gap:22px}.enquiry-layout{gap:7%}.enquiry-form{padding:27px}.footer-bottom{flex-wrap:wrap;gap:8px 25px}}
@media(max-width:850px){.header-inner{min-height:78px;padding-inline:24px}.header-cta{margin-inline-start:auto}.menu-toggle{display:flex;order:3;border:1px solid var(--line);background:transparent;width:43px;height:43px;flex-direction:column;align-items:center;justify-content:center;gap:6px}.menu-toggle span{display:block;background:var(--olive);width:18px;height:1px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}#main-nav{display:none;position:absolute;top:100%;right:0;left:0;background:var(--cream);border-bottom:1px solid var(--line);padding:18px 30px 24px;align-items:stretch;gap:0;box-shadow:0 15px 20px #26362b12}#main-nav.is-open{display:flex;flex-direction:column}#main-nav a{padding:12px 0;font-size:15px}.hero{min-height:620px;height:700px;max-height:calc(100svh - 110px)}.hero h1{font-size:67px}.hero-shade{background:linear-gradient(270deg,#0d1c14c4,#0f1e1745),linear-gradient(0deg,#07161080,transparent 50%)}.intro{gap:8%}.intro h2{font-size:43px}.pool-photo{height:470px}.pool-copy h2{font-size:49px}.pool-notes{gap:20px;flex-wrap:wrap}.section-heading h2{font-size:43px}.experience-grid{gap:18px}.card-image{height:240px}.card-caption h3{font-size:25px}.round-arrow{width:32px;height:32px;flex-shrink:0}.card-description{font-size:12px}.questions{gap:7%;grid-template-columns:1fr 1.7fr}.enquiry-layout{gap:5%;grid-template-columns:.9fr 1.1fr}.enquiry-copy h2{font-size:44px}.enquiry-form{padding:23px}.form-heading{align-items:start;flex-wrap:wrap}.form-heading h3{font-size:25px}.field-row{gap:10px}.demo-explainer{gap:12px}}
@media(max-width:650px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.demo-banner{font-size:9px;padding-block:5px;min-height:26px}.demo-banner-extra{display:none}.header-inner{padding:12px 20px;min-height:76px;gap:12px}.brand{gap:8px}.brand img{width:33px;height:38px}.brand strong{font-size:22px}.brand small{font-size:8px;margin-top:2px}.header-cta{font-size:10px;gap:10px;padding:10px 12px}.menu-toggle{width:36px;height:36px;flex-shrink:0}.hero{min-height:610px;height:calc(100svh - 102px);max-height:800px}.hero-image{object-position:42% center}.hero-shade{background:linear-gradient(270deg,#10251bc4,#152c2070),linear-gradient(0deg,#071610a6,transparent 45%)}.hero-copy{padding-top:5px}.hero .eyebrow{font-size:10px;margin-bottom:22px;letter-spacing:.6px}.tiny-sun{font-size:23px}.hero h1{font-size:clamp(46px,10.5vw,65px);letter-spacing:-1.2px;line-height:1.15}.hero-description{font-size:13px;margin-top:22px;line-height:2}.hero-actions{margin-top:30px;gap:22px;flex-wrap:wrap}.hero-actions .button{font-size:12px;padding:14px 18px;gap:20px}.text-link{font-size:11px;gap:14px}.hero-bottom{bottom:22px;font-size:9px}.hero-bottom p{gap:7px}.hero-bottom p>span{font-size:20px}.hero-bottom a{gap:8px}.scroll-arrow{width:27px;height:36px}.image-disclaimer{font-size:8px;left:20px;top:14px}.section-space{padding-block:64px}.eyebrow{font-size:10px;letter-spacing:.5px;margin-bottom:16px}h2{font-size:40px}.intro{grid-template-columns:1fr;gap:25px}.intro h2{font-size:43px}.intro-copy{padding:0;font-size:14px;max-width:none}.intro-copy p+p{margin-top:12px}.intro-copy .inline-link{margin-top:23px}.pool-section{padding-block:30px 54px}.pool-layout{display:flex;flex-direction:column;gap:32px}.pool-photo{height:370px;width:100%}.pool-photo img{object-position:center 55%}.pool-copy{width:100%;padding:0}.section-number{margin-bottom:22px}.pool-copy h2{font-size:48px}.pool-copy>p:not(.eyebrow):not(.small-note){max-width:100%;font-size:14px;margin-top:22px}.pool-notes{margin-block:25px;gap:30px}.pool-copy .small-note{max-width:100%}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:39px}.section-heading>p{margin-top:20px;font-size:13px}.experience-grid{grid-template-columns:1fr;gap:37px}.card-image{height:320px}.card-caption{margin-top:18px}.card-caption h3{font-size:29px}.card-caption p{font-size:11px}.round-arrow{width:40px;height:40px}.card-description{font-size:13px;max-width:100%;margin-top:10px}.section-note{margin-top:30px;text-align:right;font-size:10px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 215px;gap:12px}.gallery-main{grid-column:span 2;grid-row:auto}.gallery-item>span{bottom:15px;right:15px;left:15px;font-size:11px}.gallery-item b{font-size:18px}.questions{grid-template-columns:1fr;gap:30px}.questions>div>p:last-child{margin-top:17px;font-size:13px}.questions h2{font-size:44px}summary{font-size:14px;padding-block:20px}details>p{font-size:12px}.enquiry-layout{grid-template-columns:1fr;gap:35px}.enquiry-copy{padding-top:0}.enquiry-copy h2{font-size:46px}.enquiry-copy>p:not(.eyebrow){font-size:14px;margin-top:23px}.demo-explainer{margin-top:27px;padding-top:22px;max-width:100%;gap:17px}.demo-explainer p{font-size:11px}.enquiry-form{padding:25px 22px}.form-heading{align-items:center;margin-bottom:23px}.field-row{gap:13px}.form-heading h3{font-size:27px}.field label{font-size:11px}.field label span{font-size:9px}.field input,.field select,.field textarea{font-size:13px;padding-inline:9px}.form-submit{font-size:13px}.site-footer{padding:32px 0 23px}.footer-top{padding-bottom:26px;gap:20px;align-items:center}.footer-top .brand strong{font-size:23px}.footer-top .brand small{font-size:8px}.footer-top .inline-link{font-size:10px;white-space:nowrap}.footer-bottom{flex-direction:column;font-size:9px;gap:8px;padding-top:20px}.summary-dialog{padding:40px 24px 24px}.summary-dialog h2{font-size:34px}.summary-dialog pre{font-size:13px;padding:18px}.summary-actions .button{padding:12px 16px;font-size:12px}.lightbox{width:calc(100% - 24px)}.lightbox img{height:57svh}.lightbox-bottom{padding:12px 15px;gap:12px}.lightbox-bottom p{font-size:12px}.lightbox-note{font-size:9px}.lightbox-bottom button{width:36px;height:36px}}
@media(max-width:370px){.header-inner{padding-inline:14px;gap:9px}.brand strong{font-size:20px}.header-cta{font-size:9px;padding-inline:10px}.hero h1{font-size:44px}.hero-actions{gap:17px}.hero-actions .button{padding-inline:14px;font-size:11px}.hero-bottom a>span:first-child{display:none}.field-row{grid-template-columns:1fr}.card-image{height:270px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
