:root{--green:#203c33;--cream:#f7f5ee;--gold:#aa9572;--muted:#687069}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--green);font-family:Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}header{height:108px;display:flex;align-items:center;gap:32px;padding:0 5%;border-bottom:1px solid #deddd2}.brand{font-family:Georgia,serif;font-size:23px;letter-spacing:3px;line-height:1.3}.brand small{display:block;font:8px Arial;letter-spacing:4px;text-align:center;margin-top:8px}nav{display:flex;gap:24px;margin:auto;font-size:12px}nav a{padding:8px 0}nav a[aria-current]{border-bottom:1px solid var(--gold)}.header-cta{font-size:12px;border:1px solid #c4c6bb;padding:11px 18px}.menu{display:none}.wrap{width:88%;max-width:1300px;margin:auto}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08;margin:20px 0}h1{font-size:clamp(48px,5.9vw,88px);letter-spacing:-2px}h2{font-size:clamp(34px,3.7vw,56px);letter-spacing:-1px}h3{font-size:26px}em{font-weight:400;color:#8c7958}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.hero-copy{padding:66px 11% 28px 12%}.hero-copy p{max-width:340px;color:var(--muted);margin:26px 0}.hero-photo{position:relative;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-photo span{position:absolute;bottom:25px;left:30px;background:#f7f5eedf;padding:12px 17px;font-size:9px;letter-spacing:2px}.button{display:inline-flex;gap:42px;align-items:center;background:var(--green);color:white;padding:16px 24px;font-size:12px;border:0;cursor:pointer}.button:hover{background:#355247}.button.light{background:var(--cream);color:var(--green)}.hero-foot{margin-top:52px;font-size:8px;letter-spacing:1.8px}.ribbon{background:#eae7dc;display:flex;justify-content:center;align-items:center;gap:70px;padding:23px;font-size:9px;letter-spacing:2px}.ribbon i{color:var(--gold)}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-top:100px;padding-bottom:100px}.split img{width:100%;height:510px;object-fit:cover}.split p{color:var(--muted);max-width:470px}.textlink{display:inline-block;margin-top:22px;font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:6px}.section{padding-top:60px;padding-bottom:90px}.section-top{display:flex;justify-content:space-between;align-items:end}.section-top>p{font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:35px 0}.cards article{border-top:1px solid var(--gold);padding:25px 20px 30px;background:#eeece3}.cards p{color:var(--muted);font-size:14px}.num{font-size:11px;color:#927f5f}.cta{background:var(--green);color:var(--cream);text-align:center;padding:75px 20px 85px}.cta .eyebrow{color:#c5b795}.cta h2{margin:22px 0 35px}footer{padding:65px 6% 20px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:30px;padding-bottom:45px}.footer-top p,.footer-top>div{font-size:12px;margin:0}.footer-bottom{border-top:1px solid #d8d9cd;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:.6px;color:var(--muted)}.pagehead{padding-top:70px;padding-bottom:30px}.pagehead h1{max-width:1100px}.lead{max-width:650px;color:var(--muted);font-size:17px}.steps{padding-top:25px;padding-bottom:50px}.steps article{border-top:1px solid #d4d4c6;display:grid;grid-template-columns:20% 1fr;padding:28px 0}.steps article>span{font-family:Georgia;font-size:42px;color:var(--gold)}.steps h2{font-size:34px;margin:5px 0 14px}.steps p{max-width:630px;color:var(--muted);margin:0}.faq{max-width:850px}details{border-bottom:1px solid #d2d4c8;padding:22px 0}summary{cursor:pointer;font-size:17px}details p{color:var(--muted)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:35px}.gallery figure{margin:0}.gallery figure:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#eeece3}.gallery img{width:100%;height:400px;object-fit:cover}.gallery figcaption{padding:18px 0;font-size:10px;letter-spacing:2px}.gallery figure:last-child figcaption{padding:40px}.small{font-size:11px!important;color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:40px;padding-bottom:100px}.contact-line{display:block;font:36px Georgia;margin:22px 0}.contact-email{font-size:14px;overflow-wrap:anywhere}.contact h3{margin-top:40px}form{background:#eeece3;padding:38px}form h2{font-size:36px}label{display:block;font-size:12px;margin:15px 0}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #cccdbf;background:var(--cream);border-radius:0;padding:10px;color:var(--green)}@media(min-width:1600px){.hero{min-height:760px}}@media(max-width:1050px){header{gap:18px}nav{gap:13px}.header-cta{display:none}.hero-copy{padding:55px 9%}.ribbon{gap:35px}.hero{min-height:620px}}@media(max-width:700px){header{height:85px;padding:0 6%;justify-content:space-between;position:relative;z-index:5}.brand{font-size:19px}.menu{display:block;background:none;border:1px solid #bdbfae;padding:4px 10px;color:var(--green)}nav{display:none;position:absolute;left:0;right:0;top:85px;background:var(--cream);padding:20px 6%;border-bottom:1px solid var(--gold)}nav.open{display:flex;flex-direction:column;gap:8px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 6% 35px}.hero h1{font-size:61px}.hero-foot{margin-top:30px}.hero-photo{height:370px}.ribbon{gap:15px;justify-content:space-around;padding:20px 10px;font-size:7px;letter-spacing:1px}.ribbon i{display:none}.split{grid-template-columns:1fr;gap:35px;padding-top:60px;padding-bottom:60px}.split img{height:370px}.cards{grid-template-columns:1fr;gap:12px}.cards article{padding:20px}.section-top{display:block}.section{padding:35px 0 60px}.pagehead{padding-top:45px}h1{font-size:48px;letter-spacing:-1px}.footer-top{flex-direction:column}.footer-bottom{flex-direction:column}.gallery{grid-template-columns:1fr}.gallery figure:last-child{grid-column:auto;display:block}.gallery figure:last-child figcaption{padding:18px}.gallery img{height:320px}.contact{grid-template-columns:1fr;gap:45px;padding-bottom:60px}form{padding:25px}.contact-line{font-size:30px}.steps article{grid-template-columns:18% 1fr}.steps article>span{font-size:30px}}
/* A continuous white-to-ivory transition connects navigation and content. */
header{background:#fff;border-bottom:0}
main{background:linear-gradient(to bottom,#fff 0,#fdfcf9 180px,var(--cream) 460px)}
@media(max-width:700px){nav{background:#fff;border-bottom:1px solid #e9e7de}}
.contact-website{display:block;width:fit-content;margin-top:16px;border-bottom:1px solid var(--gold);font-size:14px}
/* Seamless, gentle movement for the wellness ribbon. */
.ribbon{display:block;overflow:hidden;padding:23px 0}
.ribbon-track{display:flex;width:max-content;animation:wellness-scroll 32s linear infinite;will-change:transform}
.ribbon-group{display:flex;align-items:center;justify-content:space-around;gap:60px;min-width:100vw;padding:0 30px;flex-shrink:0;white-space:nowrap}
.ribbon:hover .ribbon-track{animation-play-state:paused}
@keyframes wellness-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.ribbon{padding:20px 0}.ribbon-group{gap:35px;min-width:700px;padding:0 20px}.ribbon i{display:inline}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none;will-change:auto;width:100%}.ribbon-group{min-width:0;width:100%;gap:12px;padding:0 10px;white-space:normal;text-align:center}.ribbon-group[aria-hidden="true"]{display:none}}
.centre-slideshow{position:relative;margin-top:10px;margin-bottom:30px}.slide-stage{height:clamp(340px,53vw,700px);background:#eae7dc;overflow:hidden}.centre-slide{display:block;width:100%;height:100%;object-fit:cover;animation:centre-fade .7s ease}.centre-slide[hidden]{display:none}.slide-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:18px;background:#eeece3}.slide-controls button{cursor:pointer;color:var(--green);background:none;border:1px solid #c8c8ba;min-width:40px;min-height:40px}.slide-dots{display:flex;gap:10px}.slide-dots button{border-radius:50%;min-width:10px;min-height:10px;width:10px;height:10px;padding:0;border:1px solid var(--green)}.slide-dots button[aria-pressed="true"]{background:var(--green)}[data-pause]{font-size:11px;padding:0 12px}@keyframes centre-fade{from{opacity:.4}to{opacity:1}}@media(prefers-reduced-motion:reduce){.centre-slide{animation:none}}
