*{box-sizing:border-box}body{margin:0;background:#f3f0e8;color:#111411;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}nav{display:flex;justify-content:space-between;align-items:center;padding:24px 5vw;border-bottom:1px solid #c9c7bf}.brand{font-weight:800;letter-spacing:.12em}.navlinks{display:flex;gap:18px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.hero,.pagehead{padding:7vw 5vw}.hero{min-height:72vh;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(5,8,6,.72),rgba(5,8,6,.15)),url('hero.jpg') center/cover;color:white}.hero h1,.pagehead h1{font-size:clamp(55px,9vw,140px);line-height:.82;margin:0;letter-spacing:-.055em}.pagehead{background:#151815;color:white}.pagehead p,.hero p{max-width:760px;font-size:19px;line-height:1.6}.kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.btn{display:inline-block;border:1px solid currentColor;padding:14px 20px;margin:10px 8px 0 0;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.strip{display:flex;gap:4vw;padding:22px 5vw;border-bottom:1px solid #c9c7bf;font-size:11px;letter-spacing:.14em;text-transform:uppercase;overflow:auto}.strip a{white-space:nowrap;transition:opacity .15s ease}.strip a:hover{opacity:.55}section{padding:7vw 5vw}.two{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.big{font-size:clamp(38px,6vw,82px);line-height:.95;letter-spacing:-.045em;margin:12px 0}.copy{font-size:17px;line-height:1.75;max-width:700px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#c9c7bf;border:1px solid #c9c7bf}.card{background:#f3f0e8;padding:40px;min-height:300px}.dark,.band{background:#171a17;color:white}.card h2{font-size:34px}.band{padding:7vw 5vw}.price{font-size:clamp(55px,8vw,110px);font-weight:800;letter-spacing:-.06em}.formmock{display:grid;gap:12px}.field{border:1px solid #c9c7bf;padding:18px;background:white;color:#777}.message{min-height:150px}footer{padding:5vw;background:#0e100e;color:white}.footer-title{font-size:clamp(42px,7vw,100px);letter-spacing:-.05em;margin:10px 0}@media(max-width:850px){.navlinks{display:none}.two,.grid{grid-template-columns:1fr}}
.photo-panel{min-height:62vh;background-position:center;background-size:cover;position:relative}
.photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,10,8,.50),rgba(8,10,8,.04))}
.photo-caption{position:absolute;left:5vw;bottom:4vw;z-index:1;color:#fff}
.photo-caption .big{margin-bottom:0}

footer a{color:inherit;text-decoration:none} footer a:hover{text-decoration:underline}


/* Final mobile pass */
html{scroll-behavior:smooth}
img{max-width:100%;height:auto}
@media (max-width: 820px){
  body{overflow-x:hidden}
  nav{padding:16px 20px;gap:14px;flex-wrap:wrap}
  nav .links{width:100%;display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  nav .links::-webkit-scrollbar{display:none}
  nav .links a{white-space:nowrap}
  .hero{min-height:72vh;padding:88px 22px 46px;background-position:center}
  .hero h1,.pagehead h1{font-size:clamp(3rem,14vw,5.4rem);line-height:.88;overflow-wrap:anywhere}
  .pagehead{padding:96px 22px 46px}
  section,.section{padding-left:22px;padding-right:22px}
  .grid,.cards,.two,.split{grid-template-columns:1fr!important}
  .photo-panel{min-height:48vh}
  .photo-caption{left:22px;right:22px;bottom:26px}
  .big{font-size:clamp(2rem,10vw,3.4rem);line-height:.95}
  .btn{display:inline-flex;max-width:100%;white-space:normal;text-align:left}
  form{width:100%}
  input,select,textarea,button{font-size:16px;max-width:100%}
  footer{padding-left:22px;padding-right:22px}
}
@media (max-width: 480px){
  .hero{min-height:68vh}
  .photo-panel{min-height:42vh}
  .kicker{letter-spacing:.12em}
}

/* Desktop photo framing: preserve substantially more of the original 3:2 photographs. */
@media (min-width: 821px){
  .photo-panel{
    min-height:0;
    height:58vw;
    max-height:900px;
    background-size:cover;
    background-position:center center;
  }
  .hero{
    min-height:0;
    height:min(78vh, 58vw);
    background-position:center center;
  }
  /* Keep people / horses higher in frame where the original subject sits above center. */
  body:has(.photo-panel[style*="training.jpg"]) .photo-panel{background-position:center 38%}
  body:has(.photo-panel[style*="lessons.jpg"]) .photo-panel{background-position:center 34%}
  body:has(.photo-panel[style*="barrel.jpg"]) .photo-panel{background-position:center 38%}
  body:has(.photo-panel[style*="aussies.jpg"]) .photo-panel{background-position:center 42%}
}

/* Functional contact form */
.contact-form{display:grid;gap:16px}.contact-form label{display:grid;gap:7px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.contact-form .field{width:100%;font:inherit;font-size:16px;letter-spacing:0;text-transform:none;color:#111411;border:1px solid #c9c7bf;padding:16px 18px;background:#fff;border-radius:0}.contact-form textarea.field{resize:vertical;min-height:150px}.contact-form select.field{appearance:auto}.contact-form .btn{background:transparent;color:inherit;cursor:pointer;justify-self:start}.contact-form .btn:disabled{opacity:.5;cursor:wait}.form-status{min-height:1.5em;margin:0;font-size:14px;line-height:1.5}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Riding lesson inquiry */
#lesson-inquiry{border-top:1px solid #c9c7bf}.contact-form .short-message{min-height:100px}.contact-form .optional{font-weight:400;opacity:.6;letter-spacing:.06em}
