:root{
  --ink:#263936;
  --body:#394643;
  --sage:#657f75;
  --sage-dark:#567067;
  --line:#9fb0aa;
  --paper:#faf9f6;
  --outside:#e9e5df;
}
*{box-sizing:border-box}
html{background:var(--outside)}
body{margin:0;background:var(--outside);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
.site-shell{width:min(1140px,100%);margin:0 auto;background:var(--paper);box-shadow:0 0 0 1px rgba(38,57,54,.05)}
.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 100px;background:#fbfaf7}
.brand{text-decoration:none;color:var(--ink);line-height:1}
.brand-name{display:block;font-family:Georgia,'Times New Roman',serif;font-size:31px;font-weight:400;letter-spacing:-.65px}
.brand-sub{display:block;margin-top:8px;font-size:10px;letter-spacing:3.9px;line-height:1}
.top-nav{display:flex;align-items:center;gap:16px;font-size:12.5px;color:#34423f}
.top-nav a{text-decoration:none;padding:6px 0}
.top-nav a:hover{text-decoration:underline;text-underline-offset:3px}
.nav-sep{width:1px;height:24px;background:#9b9f9d}

.hero{height:286px;position:relative;overflow:hidden;background:linear-gradient(90deg,#ecebe5 0%,#f3f1ec 48%,#e0ded8 100%)}
.hero::before,.hero::after{content:"";position:absolute;border-radius:60% 40% 60% 45%;background:rgba(92,116,96,.34);filter:blur(11px);pointer-events:none}
.hero::before{width:96px;height:180px;left:-36px;top:122px;transform:rotate(-23deg)}
.hero::after{width:62px;height:112px;left:34px;top:186px;transform:rotate(39deg);opacity:.55}
.hero-copy{position:relative;z-index:2;width:50%;padding:40px 0 0 100px}
.hero h1{margin:0 0 13px;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:47px;line-height:1.03;letter-spacing:-1px;color:#2c413d}
.rule{height:1px;background:var(--line);width:100%}
.hero-rule{width:420px;margin-bottom:15px}
.hero p{margin:0;width:430px;font-family:Georgia,'Times New Roman',serif;font-size:18.3px;line-height:1.42;color:#334440}
.hero-enquiry{display:none}
.hero-photo{position:absolute;inset:0 0 0 46.5%;background:url('hero-photo.jpg') center center / cover no-repeat}
.hero-photo::before{content:"";position:absolute;inset:0 auto 0 0;width:13%;background:linear-gradient(90deg,rgba(242,240,234,.95),rgba(242,240,234,0));pointer-events:none}

.content-grid{display:grid;grid-template-columns:1.05fr 1fr .78fr;gap:51px;padding:28px 100px 29px;background:#fbfaf7}
.info-card h2{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:22px;line-height:1.12;white-space:nowrap;color:#2d3e3b}
.info-card .rule{margin-bottom:13px}
.info-card p{margin:0 0 14px;font-size:12px;line-height:1.48;color:var(--body)}
.appointments p{margin-bottom:18px}
.enquiry-button{display:flex;width:100%;min-height:43px;align-items:center;justify-content:center;background:var(--sage);color:#fff;text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-size:14px}
.enquiry-button:hover{background:var(--sage-dark)}
.enquiry-button:focus-visible,.top-nav a:focus-visible,.brand:focus-visible,.hero-enquiry:focus-visible{outline:2px solid #38584e;outline-offset:3px}

.site-footer{border-top:1px solid #bcc5c1;margin:0 94px;padding:12px 0 14px;text-align:center;font-size:9.2px;line-height:1.45;color:#555f5c;background:#fbfaf7}
.site-footer span{padding:0 8px}
.mobile-privacy{display:none}

@media (max-width:900px){
  .site-shell{width:100%;box-shadow:none}
  .site-header{height:72px;padding:0 44px}
  .brand-name{font-size:26px}
  .brand-sub{font-size:8px;letter-spacing:3.2px;margin-top:7px}
  .top-nav{font-size:11.5px;gap:12px}
  .nav-sep{height:21px}
  .hero{height:246px}
  .hero-copy{padding:34px 0 0 44px;width:51%}
  .hero h1{font-size:38px;margin-bottom:11px}
  .hero-rule{width:330px;margin-bottom:13px}
  .hero p{width:340px;font-size:15.2px}
  .hero-photo{left:47%}
  .content-grid{gap:29px;padding:25px 44px 24px;grid-template-columns:1.05fr 1fr .8fr}
  .info-card h2{font-size:18.5px}
  .info-card p{font-size:10px;line-height:1.46}
  .enquiry-button{min-height:38px;font-size:12.5px}
  .site-footer{margin:0 44px;font-size:8.3px}
}

@media (max-width:620px){
  html,body{background:#fbfaf7}
  .site-shell{width:100%}
  .site-header{height:76px;padding:0 18px;justify-content:center;text-align:center}
  .brand-name{font-size:23px;letter-spacing:-.45px}
  .brand-sub{font-size:7.1px;letter-spacing:2.25px;margin-top:6px}
  .top-nav{display:none}
  .hero{height:auto;display:flex;flex-direction:column;background:#fbfaf7}
  .hero::before,.hero::after{display:none}
  .hero-photo{position:relative;inset:auto;order:0;height:205px;background-size:cover;background-position:center center}
  .hero-photo::before{display:none}
  .hero-copy{order:1;width:100%;padding:22px 20px 16px;background:#fbfaf7}
  .hero h1{font-size:32px;line-height:1.05;margin-bottom:10px;letter-spacing:-.55px}
  .hero-rule{width:100%;margin-bottom:12px}
  .hero p{width:100%;font-size:14.5px;line-height:1.43}
  .hero-enquiry{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:17px;background:var(--sage);color:white;text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-size:14px}
  .content-grid{display:block;padding:0 20px 8px;background:#fbfaf7}
  .info-card{padding:20px 0 4px}
  .info-card h2{font-size:24px;white-space:normal;margin-bottom:9px}
  .info-card .rule{margin-bottom:12px}
  .info-card p{font-size:13.5px;line-height:1.52;margin-bottom:13px}
  .appointments{padding-bottom:18px}
  .appointments .enquiry-button{display:none}
  .site-footer{margin:0 20px;padding:14px 0 24px;font-size:9.2px;line-height:1.48}
  .site-footer span{padding:0 4px}
  .mobile-privacy{display:inline-block;margin-top:10px;text-underline-offset:3px}
}

@media (max-width:400px){
  .site-header{height:70px}
  .brand-name{font-size:21px}
  .brand-sub{font-size:6.5px;letter-spacing:1.9px}
  .hero-photo{height:190px}
  .hero-copy,.content-grid{padding-left:16px;padding-right:16px}
  .hero h1{font-size:30px}
  .hero p{font-size:14px}
  .info-card h2{font-size:22px}
  .info-card p{font-size:13px}
  .site-footer{margin:0 16px}
}
