:root{--forest:#193e34;--deep:#12352d;--rust:#ad6745;--cream:#f5f1e8;--paper:#faf8f3;--ink:#243a32;--muted:#63726a;--rule:#d8d7cc;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}.wrap{width:min(1340px,calc(100% - 112px));margin-inline:auto}.skip-link{position:absolute;z-index:100;left:16px;top:-100px;background:white;padding:12px}.skip-link:focus{top:10px}.topline{height:36px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:#e8e5d7;font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.topline-center{opacity:.75}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 56px;background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:45px;height:45px;color:var(--rust)}.brand-mark svg{width:100%;height:100%}.brand-name{font-size:17px;font-weight:700;letter-spacing:.13em;line-height:1.2;white-space:nowrap}.brand-name small{display:block;margin-top:4px;font-size:11px;letter-spacing:.46em}.site-header nav{display:flex;align-items:center;gap:42px}.site-header nav a{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:color .2s}.site-header nav a:hover{color:var(--rust)}.site-header nav .nav-cta{border:1px solid var(--ink);padding:15px 20px;display:flex;gap:20px;align-items:center}.site-header nav .nav-cta:hover{background:var(--forest);border-color:var(--forest);color:white}.menu-toggle,.mobile-menu{display:none}.hero{position:relative;min-height:700px;height:min(790px,calc(100vh - 130px));color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('assets/shepherd-creek-boer-goat.jpg') center 55%/cover no-repeat;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,31,26,.77) 0%,rgba(12,31,26,.53) 36%,rgba(12,31,26,.05) 72%),linear-gradient(0deg,rgba(8,29,22,.32),transparent 34%)}.hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;height:100%;padding:50px 0 72px}.eyebrow{display:flex;align-items:center;gap:16px;color:var(--rust);font-size:10px;font-weight:700;letter-spacing:.23em;line-height:1.5;text-transform:uppercase}.eyebrow.light{color:#eee8d9}.eyebrow-line{width:31px;height:1px;background:currentColor;flex:none}.hero h1{font:normal clamp(69px,7.2vw,124px)/.94 var(--serif);letter-spacing:-.045em;margin:32px 0 25px;max-width:760px}.hero h1 em,.program h2 em,.inquiry h2 em{font-weight:normal;color:#d9b29a}.hero-copy{font-size:16px;line-height:1.8;max-width:480px;color:#f4f1e7;margin:0}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;min-height:57px;padding:0 24px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-cream{background:var(--cream);color:var(--forest)}.button-cream:hover{background:white}.button span,.text-link span{font-size:17px;font-weight:400;line-height:1}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid var(--rust);padding-bottom:9px;color:var(--forest);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:gap .2s}.text-link:hover{gap:31px}.text-link-light{color:white;border-color:rgba(255,255,255,.65)}.hero-side-note{position:absolute;z-index:2;right:31px;top:50%;writing-mode:vertical-rl;letter-spacing:.2em;font-size:9px;font-weight:700;color:rgba(255,255,255,.8)}.hero-scroll{position:absolute;left:56px;bottom:29px;display:flex;align-items:center;gap:13px;font-size:9px;font-weight:700;letter-spacing:.18em;color:#f3ead9}.hero-scroll span{width:38px;height:1px;background:#f3ead9}.feature-strip{background:#ede9de;border-bottom:1px solid #ded8ca}.feature-strip-inner{min-height:93px;display:flex;align-items:center;justify-content:space-between;gap:24px}.feature-strip span{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#4c6155;white-space:nowrap}.feature-strip .little-star{font-size:19px;font-style:normal;color:var(--rust);vertical-align:-2px;margin-right:12px}.section-pad{padding:118px 0 115px}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.program-intro{max-width:620px}.program h2,.inquiry h2{font:normal clamp(56px,5.2vw,88px)/1.05 var(--serif);letter-spacing:-.045em;margin:30px 0 30px}.program h2 em{color:var(--rust)}.program-intro .lead{font:normal 27px/1.35 var(--serif);margin:0 0 19px;color:#38594b}.program-intro>p:not(.eyebrow):not(.lead){max-width:510px;font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 30px}.program-caption{display:flex;align-items:flex-start;gap:20px;margin-top:64px;max-width:355px;color:#78867b;font-size:11px;letter-spacing:.06em;line-height:1.65;text-transform:uppercase}.caption-rule{width:29px;height:1px;background:var(--rust);margin-top:8px;flex:none}.program-visual{position:relative;margin:0 16px 0 0}.program-visual img{width:100%;height:580px;object-fit:cover;object-position:center 43%;filter:saturate(.9)}.visual-seal{position:absolute;top:-28px;right:-29px;width:143px;height:143px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--rust);border-radius:50%;color:#fff;box-shadow:0 5px 25px rgba(28,36,25,.14);transform:rotate(10deg)}.visual-seal span{font-size:8px;letter-spacing:.14em;font-weight:700;line-height:1.3}.visual-seal strong{font:normal 34px var(--serif);margin:3px 0}.photo-credit{font-size:10px;color:#809084;margin-top:10px;letter-spacing:.04em}.offerings{display:grid;grid-template-columns:repeat(3,1fr);margin-top:96px;border-top:1px solid var(--rule)}.offering{position:relative;padding:30px 40px 20px 0;min-height:212px}.offering+.offering{padding-left:38px;border-left:1px solid var(--rule)}.offering-index{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--rust)}.offering h3{font:normal 29px/1.2 var(--serif);margin:27px 0 10px}.offering p{max-width:330px;color:var(--muted);font-size:13px;line-height:1.7;margin:0}.offering-arrow{position:absolute;right:30px;top:27px;font-size:19px;color:var(--rust)}.inquiry{position:relative;background:var(--forest);color:#fff;overflow:hidden;padding:99px 0 108px}.inquiry-pattern{position:absolute;right:-180px;top:-230px;width:750px;height:750px;border:1px solid rgba(220,233,207,.11);border-radius:50%;box-shadow:0 0 0 115px rgba(0,0,0,0),0 0 0 116px rgba(220,233,207,.08),0 0 0 250px rgba(0,0,0,0),0 0 0 251px rgba(220,233,207,.05)}.inquiry-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:12%;align-items:center}.inquiry h2{margin-bottom:0}.inquiry-right{padding-top:24px;max-width:460px}.inquiry-right p{font-size:16px;line-height:1.85;color:#d9e0d5;margin:0 0 28px}.inquiry-right .button{margin-bottom:20px}.quiet-link{display:block;width:max-content;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid #819f8e;padding-bottom:7px;color:#e6ebdf}.footer{background:#eae7dc;padding:60px 0 25px}.footer-grid{display:flex;justify-content:space-between;gap:50px;padding-bottom:68px}.footer-brand{font-size:20px;font-weight:700;letter-spacing:.11em;line-height:1.4}.footer-brand span{display:block;font-size:12px;letter-spacing:.48em}.footer-grid p{color:#627368;max-width:260px;font-size:13px;line-height:1.7;margin-top:19px}.footer-links{display:flex;align-items:flex-start;gap:36px}.footer-links a{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #a7b4a8;padding-bottom:8px}.footer-links a:hover{color:var(--rust)}.footer-bottom{border-top:1px solid #cfcfc4;padding-top:20px;display:flex;justify-content:space-between;gap:30px;color:#718176;font-size:10px;letter-spacing:.04em}
@media(max-width:1100px){.wrap{width:min(100% - 72px,1340px)}.site-header{padding:0 36px}.site-header nav{gap:22px}.program-grid{gap:6%}.program h2{font-size:64px}.program-visual img{height:520px}.hero-side-note{display:none}.hero-scroll{left:36px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.topline{height:31px;padding:0 20px;font-size:8px}.topline-center{display:none}.site-header{height:75px;padding:0 20px}.brand-mark{width:37px;height:37px}.brand-name{font-size:13px}.brand-name small{font-size:9px}.site-header nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;background:transparent;border:0;width:42px;height:42px;padding:5px}.menu-toggle span{height:2px;width:22px;background:var(--forest)}.mobile-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;z-index:19;left:0;right:0;top:106px;background:var(--paper);padding:20px 25px 25px;box-shadow:0 13px 20px rgba(14,36,23,.12)}.mobile-menu a{padding:14px 3px;border-top:1px solid var(--rule);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:12px}.hero{height:auto;min-height:680px}.hero-image{background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(10,29,23,.74),rgba(10,29,23,.32)),linear-gradient(0deg,rgba(10,29,23,.55),transparent 70%)}.hero-inner{padding:86px 0 110px;justify-content:center}.hero h1{font-size:clamp(60px,14vw,84px);margin:26px 0}.hero-copy{font-size:14px;max-width:370px}.hero-actions{align-items:flex-start;flex-direction:column;gap:26px}.hero-scroll{left:20px;bottom:22px}.feature-strip-inner{min-height:auto;padding:24px 0;display:grid;grid-template-columns:1fr;gap:14px}.feature-strip span{font-size:10px}.section-pad{padding:76px 0 70px}.program-grid{grid-template-columns:1fr;gap:60px}.program h2,.inquiry h2{font-size:clamp(54px,11vw,72px)}.program-intro .lead{font-size:23px}.program-caption{margin-top:36px}.program-visual{margin:0 18px 0 0}.program-visual img{height:510px}.visual-seal{width:120px;height:120px;right:-16px;top:-20px}.offerings{grid-template-columns:1fr;margin-top:63px}.offering,.offering+.offering{padding:24px 32px 25px 0;min-height:0;border-left:0;border-bottom:1px solid var(--rule)}.offering h3{margin:17px 0 9px}.offering-arrow{right:3px;top:23px}.inquiry{padding:75px 0 78px}.inquiry-grid{grid-template-columns:1fr;gap:22px}.inquiry-right{padding-top:0}.inquiry h2{margin-top:25px}.footer{padding-top:50px}.footer-grid{display:block;padding-bottom:46px}.footer-links{margin-top:38px;gap:20px;flex-wrap:wrap}.footer-bottom{display:block;line-height:1.8}.footer-bottom span{display:block}}
@media(max-width:390px){.brand-name{font-size:11px}.hero h1{font-size:57px}.button{gap:20px}.program-visual img{height:430px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Ranch photography from the public Shepherd Creek Ranch Facebook page. */
.hero{background:var(--deep)}
.hero-image{left:41%;background-position:center center;transform:none}
.hero-shade{background:linear-gradient(90deg,var(--deep) 0%,var(--deep) 31%,rgba(18,53,45,.94) 43%,rgba(18,53,45,.18) 67%,rgba(18,53,45,.02) 100%)}
.hero-photo-credit{position:absolute;right:31px;bottom:26px;z-index:3;color:#fff;font-size:10px;font-weight:700;letter-spacing:.06em;text-shadow:0 1px 3px rgba(0,0,0,.8);border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:5px}
.photo-credit{display:inline-block}
.photo-credit:hover,.hero-photo-credit:hover{text-decoration:underline}
@media(max-width:760px){
 .hero{min-height:0;height:auto}
 .hero-image{position:relative;inset:auto;left:auto;width:100%;height:310px;background-position:center 45%}
 .hero-shade{display:none}
 .hero-inner{height:auto;padding:52px 0 105px}
 .hero-photo-credit{top:277px;right:20px;bottom:auto}
}
@media(min-width:761px){.program-visual{max-width:460px;justify-self:end;width:100%}}

/* Original Shepherd Creek Ranch vector artwork. */
.brand-logo{display:block;width:185px;height:auto;max-height:70px;object-fit:contain}
.footer-logo{display:block;width:270px;height:auto;object-fit:contain}
@media(max-width:760px){.brand-logo{width:145px;max-height:60px}.footer-logo{width:235px}}
@media(max-width:390px){.brand-logo{width:135px}}
