/* lookout-template.css */
:root{--navy:#2c3a55;--lake:#818ca2;--ink:#28364e;--paper:#f7f7f4;--line:#dcdedc;--body:#55606d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Outfit,Arial,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;line-height:1.12}h2{font-size:clamp(2rem,3.7vw,3.5rem);letter-spacing:-.045em}h3{font-size:1.9rem;letter-spacing:-.025em}p{color:var(--body)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}a,button{transition:background .2s,color .2s,opacity .2s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b48244;outline-offset:4px}.wrap{max-width:1240px;padding-left:48px;padding-right:48px;margin:auto}header{height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 40px;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:inline-flex}.brand img{width:225px;height:auto}nav{display:flex;gap:29px;font-size:14px;font-weight:600}nav a:hover,.textlink:hover{color:#687d95}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:var(--navy);color:#fff;border:1px solid var(--navy);padding:15px 24px;font-size:14px;font-weight:700;min-height:50px;border-radius:3px}.button:hover{background:#435570}.button.light{background:var(--paper);border-color:var(--paper);color:var(--navy)}.button.light:hover{background:#dfe5e8}.button.small{padding:11px 20px;gap:25px}.menu{display:none}.hero{height:min(760px,75vw);min-height:560px;position:relative;color:white;overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 52%;position:absolute}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,20,29,.74),rgba(9,20,29,.20) 65%,rgba(9,20,29,.08)),linear-gradient(0deg,rgba(9,20,29,.45),transparent 30%)}.hero-copy{position:relative;padding:105px max(48px,calc((100vw - 1144px)/2));max-width:1200px}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:700;color:#56677c;margin-bottom:22px}.hero .eyebrow{color:#e1e5e6}.hero h1{font-size:clamp(3.5rem,6.4vw,6rem);letter-spacing:-.05em;line-height:1.03}.hero-copy>p:not(.eyebrow){color:#f1f2f0;margin:28px 0 32px;font-size:18px;line-height:1.65}.hero-bottom{position:absolute;bottom:24px;left:48px;right:48px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.06em;color:#f1f2f0}.hero-bottom span:last-child{letter-spacing:0}.factbar{display:grid;grid-template-columns:repeat(4,1fr);padding:31px 48px;border-bottom:1px solid var(--line);background:#eef0ee}.factbar div{display:flex;flex-direction:column;align-items:center;border-right:1px solid #d1d7d8;gap:4px}.factbar div:last-child{border:0}.factbar strong{font-size:16px;font-weight:600}.factbar span{font-size:13px;color:var(--body)}.intro{padding-top:96px;padding-bottom:90px;display:grid;grid-template-columns:1fr 1fr;gap:85px}.intro .lead{font-family:"Cormorant Garamond",Georgia,serif;font-size:25px;line-height:1.4;color:var(--ink);margin:5px 0 22px}.textlink{font-weight:700;font-size:14px;display:inline-block;border-bottom:1px solid var(--lake);padding-bottom:7px;margin-top:24px}.textlink span{margin-left:30px}.section-line{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-line .eyebrow{margin-bottom:12px}.outline{background:transparent;border:1px solid #aeb6bf;padding:11px 18px;color:var(--ink);font-size:14px;border-radius:3px;white-space:nowrap}.outline:hover{background:#e9eceb}.photo-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:235px 235px;gap:12px}.photo{padding:0;border:0;position:relative;overflow:hidden;background:#d1d7d8;display:block}.photo.tall{grid-row:span 2}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.photo:hover img{transform:scale(1.035)}.photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#122235ab)}.photo span{position:absolute;bottom:18px;left:20px;right:14px;z-index:1;color:white;font-size:14px;text-align:left}.caption{font-size:12px;color:#67717c;line-height:1.6;margin-top:14px}.spaces{padding-top:95px;padding-bottom:95px}.space-tabs{display:flex;border-bottom:1px solid #cdd3d8;margin-bottom:32px}.space-tabs button{flex:1;text-align:left;padding:15px 12px 17px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--body);font-weight:600}.space-tabs button[aria-selected=true]{border-bottom-color:var(--navy);color:var(--navy)}.space-content{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.space-content>img{width:100%;height:390px;object-fit:cover}.space-content h3{margin-bottom:22px}.space-content .eyebrow{font-size:11px}.space-content ul{list-style:none;padding:0;margin:22px 0 0}.space-content li{font-size:14px;padding:7px 0;border-bottom:1px solid var(--line)}.space-content li:before{content:'✓';margin-right:14px;color:#667e81}.amenities{background:var(--navy);padding:72px 0;color:#fff}.amenities .eyebrow,.amenities .caption{color:#c1cbda}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:46px}.amenity-grid .number{font-size:11px;letter-spacing:.13em;color:#c1cbda}.amenity-grid h3{font-size:24px;margin:17px 0}.amenity-grid p{color:#dce1e8;font-size:14px;line-height:1.9}.amenities .caption{margin-top:38px}.lake{padding-top:96px;padding-bottom:96px;display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.lake-photo{position:relative;height:530px}.lake-photo img{width:100%;height:100%;object-fit:cover}.lake-photo span{position:absolute;bottom:20px;left:20px;right:20px;color:white;background:#203349ba;padding:12px;font-size:11px;letter-spacing:.15em;text-align:center}.lake h2{margin-bottom:28px}.local-row{border-bottom:1px solid var(--line);padding:17px 0;font-size:14px;display:flex;flex-direction:column}.local-row:first-of-type{margin-top:20px}.local-row span{font-size:12px;color:var(--body)}.local-row strong{font-weight:500}.booking{background:#e6eaee;padding:84px 0}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.booking h2{font-size:clamp(2.8rem,4.6vw,4.3rem);margin-bottom:25px}.opening{padding:20px 0 0;margin-top:30px;border-top:1px solid #bdc6d1}.opening p{font-size:14px;margin-top:8px}.booking-note{font-size:13px;margin-top:18px}.stay-card{background:#fff;padding:32px;border:1px solid #d4dbe2;box-shadow:0 10px 35px #25365308;border-radius:5px}.stay-card .eyebrow{margin-bottom:12px}.stay-card h3{font-size:28px;margin-bottom:25px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:13px;font-weight:700}input,select{display:block;width:100%;min-width:0;border:1px solid #b9c3ce;border-radius:3px;background:white;color:var(--ink);padding:11px 10px;font-size:14px;margin-top:8px;height:47px}.guest-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px 0}.guest-row strong{display:block;font-size:14px}.guest-row span{display:block;font-size:12px;color:var(--body)}.stepper{display:flex;align-items:center;gap:14px}.stepper button{border:1px solid #b9c3ce;background:white;color:var(--ink);width:32px;height:32px;border-radius:50%;line-height:1}.stay-summary{font-size:14px;background:#f2f4f5;margin:22px 0 15px;padding:13px}.full{width:100%;justify-content:space-between}.center{text-align:center}#form-error{font-size:13px;color:#943c33;margin-bottom:12px}.story{text-align:center;padding-top:100px;padding-bottom:85px;max-width:990px}.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;text-align:left;margin-top:35px}.signature{font:italic 27px "Cormorant Garamond",Georgia,serif;margin-top:38px;color:var(--navy)}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding-top:70px;padding-bottom:85px}.faq details{border-bottom:1px solid #d3d8da}.faq summary{padding:21px 28px 21px 0;cursor:pointer;font-size:15px;font-weight:600;list-style:none;position:relative}.faq summary:after{content:'+';position:absolute;right:0;font-size:20px;top:17px}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;padding:0 15px 22px 0}.closing{background:var(--navy);text-align:center;color:white;padding:70px 24px}.closing .eyebrow{color:#c0ccdc}.closing h2{font-size:clamp(2rem,3.4vw,3rem);margin-bottom:30px}footer{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:45px 48px}footer p{font-size:13px}footer>div{display:flex;gap:9px;flex-direction:column;align-items:flex-end;font-size:13px}footer>div>span{color:var(--body);font-size:12px;margin-top:10px}.skip{position:fixed;top:-80px;left:20px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}dialog{width:min(1120px,94vw);max-height:94vh;border:0;border-radius:6px;padding:28px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#101c2ddc}.dialog-top{display:flex;justify-content:space-between;gap:20px}.dialog-top h2{font-size:30px}.dialog-top .caption{margin-top:6px}.dialog-top button{width:44px;height:44px;background:transparent;border:1px solid var(--line);font-size:20px;flex-shrink:0}#gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}#gallery-filters button{padding:7px 12px;background:transparent;border:1px solid #bcc6d1;font-size:13px;border-radius:3px}#gallery-filters button[aria-pressed=true]{background:var(--navy);color:white}.gallery-view{position:relative;display:flex;align-items:center;justify-content:center;background:#e5e7e7}.gallery-view img{display:block;width:100%;height:51vh;object-fit:contain}.gallery-view button{position:absolute;z-index:1;left:10px;background:white;border:0;border-radius:50%;width:42px;height:42px;font-size:20px}.gallery-view button:last-child{left:auto;right:10px}#viewer-caption{font-size:14px;margin-top:12px}#thumbnails{display:flex;overflow:auto;gap:9px;margin-top:14px;padding-bottom:8px}#thumbnails button{border:2px solid transparent;padding:0;flex:0 0 85px;height:64px;background:transparent}#thumbnails button[aria-pressed=true]{border-color:var(--navy)}#thumbnails img{width:100%;height:100%;object-fit:cover}@media(min-width:1500px){.hero{height:790px}.hero-copy{padding-top:150px}}@media(max-width:1000px){header{padding:0 24px;gap:18px}nav{gap:18px}.brand img{width:190px}.wrap{padding-left:30px;padding-right:30px}.hero-copy{padding-left:40px}.intro,.lake,.booking-grid,.faq{gap:40px}.space-content{gap:30px}.amenity-grid{grid-template-columns:1fr 1fr;gap:32px}.hero{height:660px}.hero-bottom{left:30px;right:30px}.photo-grid{grid-template-rows:190px 190px}.space-content>img{height:360px}.factbar{padding:25px 20px}footer{padding:35px 30px}}@media(max-width:760px){header{height:76px;padding:0 18px;gap:12px}.brand img{width:175px}header>.button{font-size:12px;min-height:40px;padding:8px 12px;gap:9px}.menu{display:block;background:transparent;border:0;font-size:22px;color:var(--navy);padding:4px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:20px;box-shadow:0 10px 15px #0001}nav.open{display:flex;flex-direction:column;gap:0}nav a{padding:10px}.hero{height:625px;min-height:0}.hero-photo{object-position:61% center}.hero-copy{padding:88px 25px 80px}.hero h1{font-size:60px}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-bottom{left:25px;right:25px;bottom:18px;flex-direction:column;gap:6px;font-size:11px}.factbar{grid-template-columns:1fr 1fr;padding:20px 10px;gap:20px 0}.factbar div:nth-child(2){border:0}.factbar strong{font-size:14px}.factbar span{font-size:11px}.wrap{padding-left:24px;padding-right:24px}.intro,.lake,.booking-grid,.faq{grid-template-columns:1fr;gap:28px}.intro{padding-top:55px;padding-bottom:50px}.intro .lead{font-size:23px}h2{font-size:38px}.section-line{align-items:start;flex-direction:column;gap:20px}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:310px 185px 185px;gap:8px}.photo.tall{grid-column:span 2;grid-row:auto}.photo.tall img{object-position:center 52%}.photo span{font-size:12px;left:12px;bottom:12px}.spaces{padding-top:55px;padding-bottom:55px}.space-tabs button{font-size:12px;padding:14px 5px}.space-content{grid-template-columns:1fr;gap:28px}.space-content>img{height:280px}.space-content .eyebrow{margin-bottom:15px}.amenities{padding:50px 0}.amenity-grid{gap:28px 24px;margin-top:30px}.amenity-grid h3{font-size:23px}.amenity-grid p{font-size:13px}.amenity-grid .number{font-size:10px}.lake{padding-top:55px;padding-bottom:55px;gap:36px}.lake-photo{height:370px}.booking{padding:55px 0}.stay-card{padding:25px 20px}.booking-grid{gap:30px}.booking h2{font-size:48px}.story{padding-top:60px;padding-bottom:55px}.story-columns{grid-template-columns:1fr;gap:18px;margin-top:25px}.faq{padding-top:48px;padding-bottom:55px}.closing{padding:55px 24px}footer{flex-direction:column;text-align:center;padding:35px 24px}footer>div{align-items:center}dialog{padding:18px}.dialog-top h2{font-size:25px}.gallery-view img{height:42vh}#gallery-filters button{font-size:12px}.hero .eyebrow{font-size:11px}}@media(max-width:375px){header .brand img{width:140px}header>.button{font-size:11px}.hero h1{font-size:51px}.date-fields{grid-template-columns:1fr}.guest-row{flex-wrap:wrap}.amenity-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
label{font-size:14px}.space-content .eyebrow{font-size:12px}#stay-summary{white-space:pre-line}@media(max-width:760px){.space-tabs button{font-size:14px}.amenity-grid p{font-size:14px}#gallery-filters button{font-size:14px}}
.hero-photo{opacity:0;transition:opacity 1.3s ease;pointer-events:none}.hero-photo.active{opacity:1}.hero-controls{position:absolute;bottom:75px;right:48px;display:flex;align-items:center;gap:8px;z-index:3;padding:5px;border-radius:4px;background:#142338a6}.hero-controls button{color:white;background:transparent;border:0;min-width:40px;min-height:40px;font-size:17px}.hero-controls #hero-pause{font-size:13px;padding:0 12px;border-left:1px solid #ffffff55}.hero-dots{display:flex;gap:0}.hero-dots button{min-width:28px}.hero-dots span{display:block;width:7px;height:7px;background:#ffffff70;border-radius:50%;margin:auto}.hero-dots button[aria-pressed=true] span{background:white;box-shadow:0 0 0 3px #ffffff33}.lake-contours{background:#2c3a55 ;text-align:center;color:white;padding:90px 24px}.lake-contours .wrap{max-width:1050px}.lake-contours .eyebrow{color:#c4cfdf}.lake-contours h2{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.025em}.lake-contours .contour-copy{color:#d8e0ea;font-size:19px;line-height:1.85;max-width:840px;margin:28px auto 0}.contour-ending{font:italic 23px "Cormorant Garamond",Georgia,serif;color:#edf0f5;margin-top:20px}.journal-preview{padding-top:80px;padding-bottom:70px}.journal-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.journal-preview .post-media{display:block;height:220px;background-size:cover;background-position:center;position:relative}.journal-preview .media-tag{position:absolute;left:15px;bottom:15px;background:var(--paper);padding:4px 12px;font-size:12px}.journal-preview .avatar{display:none}.journal-preview .post-meta{display:flex;gap:8px;font-size:12px;color:var(--body);margin:18px 0 12px}.journal-preview h2{font-size:25px;letter-spacing:-.02em;line-height:1.3}.journal-preview .post-body>p{font-size:14px;margin:14px 0}.journal-preview .readlink{font-size:14px;border-bottom:1px solid var(--lake);padding-bottom:4px}.journal-preview .post-foot{margin-top:16px}@media(max-width:1000px){header nav{gap:16px;font-size:13px}.hero-controls{right:30px}}@media(max-width:760px){.hero-controls{bottom:75px;right:24px}.hero-copy{padding-top:70px}.lake-contours{padding:65px 0;background-size:auto 100%}.lake-contours .contour-copy{font-size:17px}.journal-preview{padding-top:55px;padding-bottom:45px}.journal-preview-grid{grid-template-columns:1fr;gap:35px}.journal-preview .post-media{height:250px}}
@media(min-width:761px) and (max-width:940px){.menu{display:block;background:transparent;border:0;font-size:22px;color:var(--navy)}header nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--paper);padding:20px;box-shadow:0 10px 15px #0001}header nav.open{display:flex;flex-direction:column}header nav a{padding:8px}}

.journal-preview-grid>.post{min-width:0}
.journal-preview .post-media{overflow:hidden}
.journal-preview .post-media>img{display:block;width:100%;height:100%;object-fit:cover}

/* Distinct transitions between the journal, family story, and practical details. */
.story-band{background:#e6eaee;border-top:1px solid #cbd3dc;border-bottom:1px solid #cbd3dc}.story-band .story{padding-top:72px;padding-bottom:68px}.story-band+.faq{border-top:0;padding-top:75px}.journal-preview{padding-bottom:80px}@media(max-width:760px){.story-band .story{padding-top:52px;padding-bottom:48px}.story-band+.faq{padding-top:48px}.journal-preview{padding-bottom:50px}}

/* Approved background rhythm: pale gallery and lake bands, quiet house/amenities sequence. */
.gallery-band,.lake-band{background:#e6eaee}
.gallery-band .gallery{padding-top:72px;padding-bottom:64px}
.amenities{background:var(--paper);color:var(--ink);padding-top:0}
.amenities>.wrap{position:relative;padding-top:64px}
.amenities>.wrap::before{content:"";position:absolute;top:0;left:48px;right:48px;height:1px;background:var(--line)}
.amenities .eyebrow{color:#56677c}
.amenities .number{color:#56677c}
.amenities .amenity-grid p{color:var(--body)}
.amenities .caption{color:#67717c}
.booking{background:var(--paper)}
.journal-preview{position:relative}
.journal-preview::before{content:"";position:absolute;top:0;left:48px;right:48px;height:1px;background:var(--line)}
@media(max-width:1000px){.amenities>.wrap::before,.journal-preview::before{left:30px;right:30px}}
@media(max-width:760px){.gallery-band .gallery{padding-top:50px;padding-bottom:45px}.amenities>.wrap{padding-top:45px}.amenities>.wrap::before,.journal-preview::before{left:24px;right:24px}}

.fine-print{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding-top:65px;padding-bottom:80px;border-top:1px solid var(--line)}.fine-print h2{margin-bottom:20px}.fine-print em{font-weight:400}.fine-print>div>p:not(.eyebrow){max-width:300px}.rules-list{margin:0}.rules-list>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.rules-list>div:first-child{padding-top:0}.rules-list dt{font-size:14px;font-weight:700}.rules-list dd{margin:0;font-size:15px;color:var(--body)}.inline-link{text-decoration:underline;text-underline-offset:3px}.terms-page{max-width:950px;padding-top:35px;padding-bottom:80px}.terms-page>.eyebrow{margin-top:48px}.terms-page h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.04em}.terms-intro{font-size:19px;margin:22px 0}.terms-status{background:#e6eaee;padding:25px;margin:30px 0 45px;border-left:3px solid var(--lake)}.terms-status p{margin-top:8px}.terms-page section{margin:38px 0}.terms-page h2{font-size:30px;margin-bottom:22px}.terms-page section p{line-height:1.85}.terms-page .rules-list{max-width:750px}.terms-page>.button{margin-top:15px}@media(max-width:760px){.fine-print{grid-template-columns:1fr;gap:35px;padding-top:45px;padding-bottom:55px}.rules-list>div{grid-template-columns:95px 1fr;gap:15px}.terms-page{padding-bottom:55px}}
.opening-form{margin-top:20px}.opening-fields{display:flex;gap:8px;margin-top:8px}.opening-fields input{margin:0;flex:1;height:50px;min-width:0}.opening-fields .button{white-space:nowrap;padding:12px 18px}.opening-consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.6;margin-top:16px;font-size:13px}.opening-consent input{width:18px;height:18px;min-width:18px;margin:2px 0 0;accent-color:var(--navy)}.opening-form .caption{font-size:12px}.signup-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#opening-result{font-size:14px;margin-top:14px}#opening-result.error{color:#943c33}#opening-result.success{color:#285e4b}@media(max-width:375px){.opening-fields{flex-direction:column}}

.payment-schedule{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.payment-schedule article{background:#e6eaee;padding:24px}.payment-percent{font-family:"Cormorant Garamond",serif;font-size:3rem;font-weight:400}.payment-schedule h3{font-size:1.25rem}.terms-page li{line-height:1.85;margin-bottom:12px}.terms-page section>h3{margin-top:24px}@media(max-width:650px){.payment-schedule{grid-template-columns:1fr}}

/* Cancellation policy heading hierarchy */
.cancellation-page section{margin:48px 0}
.cancellation-page section+section{border-top:1px solid #c6cdd5;padding-top:40px}
.cancellation-page section>h2{font-size:clamp(1.875rem,3vw,2.25rem);line-height:1.2;margin:0 0 24px}
.cancellation-page section>h3{font-family:Outfit,sans-serif;font-size:1.125rem;font-weight:700;line-height:1.5;letter-spacing:0;margin:28px 0 8px}
.cancellation-page section>h2+h3{margin-top:0}
.cancellation-page section>ul{padding-left:24px;margin:0}

.amenities-link{display:inline-block;margin:20px 0 8px}.amenities-page{max-width:1120px}.amenities-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px}.amenities-categories section{border-top:1px solid #c6cdd5;padding-top:28px;margin:24px 0}.amenities-categories h2{font-size:1.875rem;line-height:1.2}.amenities-categories ul{padding-left:20px;margin:0}.amenities-categories li{padding-left:4px}@media(max-width:700px){.amenities-categories{grid-template-columns:1fr;gap:0}}

.hero-copy{max-width:none;padding-right:40px}.hero h1{font-size:clamp(2.5rem,6.4vw,6rem)}.hero-copy>p.hero-tradition{font-size:14px;line-height:1.6;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:26px 0 32px}@media(max-width:760px){.hero-copy{padding-left:25px;padding-right:25px}.hero h1{font-size:clamp(1.75rem,8vw,3.75rem)}.hero-copy>p.hero-tradition{font-size:12px;letter-spacing:.12em}}

footer{flex-wrap:wrap}footer .social-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 24px;flex-basis:100%;width:100%;grid-column:1/-1;padding-top:18px;border-top:1px solid #818ca255;margin-top:8px}footer .social-links a{font-size:14px;line-height:1.5;text-decoration:underline;text-underline-offset:4px}

/* seven-hills.css */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/cormorant-garamond-regular.woff") format("woff")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/cormorant-garamond-medium.woff") format("woff")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/cormorant-garamond-semibold.woff") format("woff")}
@font-face{font-family:Outfit;src:url('/assets/outfit-300.woff');font-weight:300;font-display:swap}@font-face{font-family:Outfit;src:url('/assets/outfit-400.woff');font-weight:400;font-display:swap}@font-face{font-family:Outfit;src:url('/assets/outfit-500.woff');font-weight:500 700;font-display:swap}
:root{--navy:#30373b;--lake:#b2905c;--ink:#30373b;--paper:#f8f5f2;--line:#d5ccbf;--body:#55534f;--gold:#7a6230}body{font-family:Outfit,sans-serif}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;letter-spacing:-.025em}h2{line-height:1.15}header{background:#30373b;color:#f8f5f2;border-color:#ffffff1f}.brand img{width:250px}header nav{font-weight:400;font-size:15px;gap:22px}header nav a:hover,footer a:hover{color:#dfc394;text-decoration:underline;text-underline-offset:6px}.button{background:#b2905c;border-color:#b2905c;color:#20272b;font-size:15px;font-weight:500;border-radius:4px}.button:hover{background:#dfc394;border-color:#dfc394;color:#20272b}.button.light{background:#f8f5f2;color:#30373b}.button.light:hover{background:#dfc394;border-color:#dfc394}.outline{border-color:#7a6230;color:#594821;border-radius:4px}.outline:hover{background:#30373b;color:#f8f5f2}.textlink{color:#705a30;font-size:16px}.textlink:hover{color:#30373b;text-decoration:underline;text-underline-offset:6px}.eyebrow,.amenities .eyebrow,.amenities .number{font:500 13px/1.5 Outfit,sans-serif;letter-spacing:.2em;color:#7a6230;text-transform:uppercase}.hero{height:min(760px,77vh);min-height:600px}.hero h1{font-size:clamp(3rem,6.4vw,6rem);letter-spacing:-.035em}.hero-copy{padding-top:105px}.hero .eyebrow{color:#dfc394}.hero-shade{background:linear-gradient(90deg,#161b20c9, #161b2066 60%,#161b2029),linear-gradient(0deg,#161b2066,transparent 45%)}.hero-controls{background:#30373bcc;border-radius:4px;padding:7px 10px}.hero-controls button{border-radius:4px;color:#f8f5f2;background:transparent}.hero-controls button:hover{background:#b2905c;color:#20272b}.hero-dots button span{background:#f8f5f255}.hero-dots button[aria-pressed=true] span{background:#dfc394}.hero-bottom{font-size:12px}.factbar{background:#e8e0d3}.factbar strong{font-weight:500;font-size:17px}.factbar span{font-size:14px;color:#59564f}.intro{padding-block:72px;gap:75px}.intro .lead{font-size:22px}.program-band{background:#f8f5f2;padding-bottom:72px}.program-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.program-grid article{display:flex;flex-direction:column;border-top:1px solid #c8b99f;padding-top:25px}.program-grid h3{font-size:27px;margin:12px 0 18px}.program-grid p{flex:1;margin-bottom:20px}.gallery-band{background:#e5dccd}.gallery-band .gallery{padding-block:65px}.facility-intro{padding:0 0 36px;max-width:none}.gallery .section-line .eyebrow{margin-bottom:0}.photo{border-radius:4px}.photo span{font-size:15px}.photo:hover img{transform:scale(1.025)}.photo img{transition:transform .3s}.spaces{padding-block:75px}.space-tabs{border-color:#b8ab96}.space-tabs button{color:#696052;font-size:16px}.space-tabs button[aria-selected=true]{color:#594821;border-color:#7a6230}.space-tabs button:hover{background:#e8e0d3}.space-content img{border-radius:4px;object-fit:cover;aspect-ratio:4/3;width:100%}.space-content h3{font-size:38px}.space-content p{margin:22px 0}.vet-band{background:#d3c4ad}.vet-band .lake{padding-top:72px;padding-bottom:40px}.vet-band .lake img{border-radius:4px}.vet-band .lake p{margin-bottom:22px}.vet-quote{margin:0 auto;padding-top:32px;padding-bottom:65px;text-align:center}.vet-quote blockquote{font:400 clamp(24px,2.5vw,34px)/1.4 "Cormorant Garamond",Georgia,serif;max-width:880px;margin:0 auto 20px}.vet-quote figcaption{font-size:14px;letter-spacing:.05em;color:#584929}.amenities{padding-top:0;padding-bottom:70px;background:#f8f5f2}.amenities>.wrap::before{display:none}.amenity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 45px}.amenity-grid h3{font:400 26px/1.2 "Cormorant Garamond",Georgia,serif;margin-bottom:16px}.amenity-grid article{border-color:#c8b99f}.story-band{background:#30373b;border:0;color:#f8f5f2}.story-band .story{padding-block:68px}.story-band .eyebrow{color:#dfc394}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:40px}.testimonial-grid h3{font-size:27px}.testimonial-grid blockquote{margin:20px 0;color:#e6e0d7;font-size:16px;line-height:1.75}.journal-preview{padding-block:70px;background:#f8f5f2}.journal-preview::before{display:none}.journal-preview .post-media{border-radius:4px;height:230px}.journal-preview .post-body{padding-top:22px}.post-body .eyebrow{margin-bottom:14px}.post-body h3{font-size:27px;line-height:1.2;margin-bottom:22px}.closing{background:#e5dccd;color:#30373b;padding:65px 24px}.closing .eyebrow{color:#7a6230}.closing p:not(.eyebrow){color:#55534f;margin:22px 0 28px}.closing h2{font-size:clamp(2rem,4vw,3.5rem)}footer{background:#30373b;color:#f8f5f2;padding:40px;gap:28px;align-items:start}footer p,footer span{color:#e5dccd;font-size:14px}.footer-links{display:flex;flex-wrap:wrap;gap:10px 20px;max-width:380px}footer .footer-links a{font-size:14px}footer .footer-links span{flex-basis:100%;margin-top:12px}dialog{background:#f8f5f2;color:#30373b;border:0;border-radius:6px;max-width:1000px;width:94vw}dialog::backdrop{background:#171c21dc}.dialog-top button,.gallery-view button{border-radius:4px;background:#30373b;color:#f8f5f2}.dialog-top button:hover,.gallery-view button:hover{background:#b2905c;color:#20272b}#thumbnails button{border-radius:4px}#thumbnails button img{width:85px;height:60px;object-fit:cover}#thumbnails{display:flex;overflow-x:auto;gap:8px}#viewer-caption{text-align:center;margin:15px 0}.menu{color:#f8f5f2!important}
@media(max-width:1100px){header{padding-inline:24px;gap:15px}.brand img{width:200px}header nav{gap:14px}.button.small{padding-inline:14px;white-space:nowrap}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-bottom span:last-child{display:none}}
@media(max-width:940px){header nav{background:#30373b!important}.testimonial-grid{grid-template-columns:1fr;gap:30px}.testimonial-grid article{border-top:1px solid #ffffff33;padding-top:24px}.amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){header{height:80px;padding-inline:18px}.brand img{width:180px}header>.button{display:none}header nav{top:80px}.hero{height:650px;min-height:0}.hero-copy{padding-top:95px}.hero h1{font-size:clamp(3rem,9vw,4.5rem)}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-controls{bottom:70px;right:24px}.hero-bottom{left:24px;right:24px;bottom:24px;font-size:11px}.factbar{padding:24px 16px;gap:20px 0}.factbar strong{font-size:15px}.factbar span{font-size:13px}.intro{padding-block:48px;gap:24px}.program-band{padding-bottom:48px}.program-grid{gap:28px}.program-grid h3{font-size:24px}.gallery-band .gallery{padding-block:48px}.facility-intro{padding:0 0 32px}.gallery .section-line{align-items:start;gap:20px}.spaces{padding-block:48px}.space-tabs{overflow:auto;white-space:nowrap;display:flex}.space-tabs button{padding:14px 18px}.space-content h3{font-size:32px}.vet-band .lake{padding-block:48px 30px}.vet-quote{padding-bottom:45px}.amenity-grid{gap:28px}.story-band .story,.journal-preview{padding-block:48px}.closing{padding-block:48px}footer{padding:32px 24px}.footer-links{max-width:none}.gallery-view{grid-template-columns:40px minmax(0,1fr) 40px;gap:8px}}
@media(max-width:420px){.program-grid,.amenity-grid{grid-template-columns:1fr}.gallery .section-line{flex-direction:column}.hero h1{font-size:2.9rem}}

/* September 2026 interaction, amenities, testimonials and footer refinements */
a:hover, a:focus-visible { text-decoration: none !important; }
/* Keep link contrast on the surface beneath it; underline identifies interaction. */
a:not(.button):not(.outline):hover,
a:not(.button):not(.outline):focus-visible {
  color: inherit;
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}
.textlink:hover, .textlink:focus-visible { color: #30373b; }
.amenity-grid article { position: relative; padding-top: 104px; }
.amenity-grid .amenity-icon { position: absolute; top: 0; left: 0; width: 84px; height: 84px; object-fit: contain; filter: brightness(.69) saturate(1.12); }
.amenity-grid h3 { color: #7a6230; font: 400 15px/1.35 Outfit, sans-serif; letter-spacing: .13em; text-transform: uppercase; margin: 0 0 16px; }
.testimonial-grid { display: block; max-width: 850px; margin: 40px auto 0; min-height: 390px; }
.testimonial-grid article { display: none; }
.testimonial-grid article.active { display: block; animation: testimonial-fade .35s ease; }
.testimonial-grid blockquote { font-size: clamp(17px, 1.7vw, 20px); }
.testimonial-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 28px; }
.testimonial-controls button { width: 44px; height: 44px; border: 1px solid #dfc394; border-radius: 50%; background: transparent; color: #f8f5f2; font: 400 20px/1 Outfit, sans-serif; }
.testimonial-controls button:hover { background: #b2905c; color: #20272b; }
.testimonial-status { min-width: 54px; color: #e5dccd; font: 400 13px/1 Outfit, sans-serif; letter-spacing: .12em; }
footer { align-items: flex-start; }
.footer-identity { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.footer-identity address { color: #e5dccd; font: normal 400 14px/1.6 Outfit, sans-serif; }
.footer-links { max-width: 470px; }
@keyframes testimonial-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@media(max-width:940px){.testimonial-grid{min-height:430px}.testimonial-grid article{border-top:0;padding-top:0}}
@media(max-width:760px){footer{flex-direction:column}.footer-identity{gap:14px}.testimonial-grid{min-height:520px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

header .brand img,footer .brand img{filter:brightness(0) invert(94%) sepia(9%) saturate(307%) hue-rotate(344deg) brightness(104%) contrast(94%)}

/* September 2026 homepage content refinements */
.factbar div { border-right-color: #c4b8a5; }
.facility-intro .facility-closing { color: #30373b; font-weight: 500; font-style: italic; margin-top: 26px; }

/* Brand typography, contrast and footer contact details */
header nav a,
.button,
.outline {
  font-family: Outfit, sans-serif;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.nav-dropdown,
.nav-submenu { position: relative; }
.nav-trigger,
.nav-submenu-trigger {
  background: transparent;
  border: 0;
  color: inherit;
  font-family: Outfit, sans-serif;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: .08em;
  padding: 0;
  text-transform: uppercase;
}
.nav-trigger::after { content: "⌄"; display: inline-block; font-size: 12px; margin-left: 7px; transform: translateY(-1px); }
.nav-dropdown-menu,
.nav-submenu-menu {
  background: #30373b;
  border: 1px solid #ffffff24;
  box-shadow: 0 14px 28px #14191d38;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 230px;
  opacity: 0;
  padding: 9px 0;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 16px);
  transform: translateY(-5px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  visibility: hidden;
  z-index: 30;
}
.nav-dropdown-menu { left: -18px; }
.nav-dropdown-menu a,
.nav-submenu-menu a { color: #f8f5f2; padding: 10px 18px; white-space: nowrap; }
.nav-dropdown.open > .nav-dropdown-menu,
.nav-dropdown:hover > .nav-dropdown-menu,
.nav-dropdown:focus-within > .nav-dropdown-menu,
.nav-submenu.open .nav-submenu-menu,
.nav-submenu:hover .nav-submenu-menu,
.nav-submenu:focus-within .nav-submenu-menu {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  visibility: visible;
}
.nav-submenu-heading { align-items: center; display: flex; }
.nav-submenu-heading > a { flex: 1; }
.nav-submenu-trigger { color: #dfc394; font-size: 21px; padding: 5px 16px 5px 8px; }
.nav-submenu-menu { left: calc(100% - 4px); top: -9px; }
.button,
.button:hover {
  color: #f8f5f2;
}
.button.light {
  color: #30373b;
}
.testimonial-grid h3 {
  color: #dfc394;
}
.footer-contact {
  margin-top: 18px;
  color: #e5dccd;
  font: normal 400 14px/1.7 Outfit, sans-serif;
}
.footer-contact a {
  display: inline;
  color: inherit;
}
.footer-contact .social-links {
  margin-top: 2px;
}
.footer-navigation {
  align-items: start;
  display: grid;
  grid-template-columns: repeat(2, minmax(190px, 1fr));
  gap: 34px 56px;
  width: min(100%, 620px);
}
.footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}
.footer-column h3 {
  color: #dfc394;
  font: 400 13px/1.4 Outfit, sans-serif;
  letter-spacing: .13em;
  margin: 0 0 9px;
  text-transform: uppercase;
}
.footer-column a {
  color: #f8f5f2;
  font-size: 14px;
}
.footer-legal {
  border-top: 1px solid #ffffff2e;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  grid-column: 1 / -1;
  padding-top: 18px;
  white-space: nowrap;
}
.footer-legal a,
.footer-legal span {
  color: #e5dccd;
  font-size: 12px;
}
.footer-legal .footer-separator { color: #9d9f9d; }
@media(max-width:760px) {
  footer { text-align: left; }
  .footer-identity {
    align-items: flex-start;
    align-self: stretch;
    text-align: left;
  }
  .footer-identity address,
  .footer-contact { width: 100%; text-align: left; }
  .footer-navigation { width: 100%; }
  .footer-legal { flex-wrap: wrap; white-space: normal; }
}
@media(max-width:940px) {
  .nav-dropdown { width: 100%; }
  .nav-trigger { padding: 8px; text-align: left; width: 100%; }
  .nav-dropdown-menu,
  .nav-submenu-menu {
    background: #272e32;
    border: 0;
    box-shadow: none;
    display: none;
    min-width: 0;
    opacity: 1;
    padding: 4px 0 6px 15px;
    pointer-events: auto;
    position: static;
    transform: none;
    visibility: visible;
  }
  .nav-dropdown.open > .nav-dropdown-menu,
  .nav-submenu.open .nav-submenu-menu { display: flex; }
  .nav-dropdown:not(.open):hover > .nav-dropdown-menu,
  .nav-dropdown:not(.open):focus-within > .nav-dropdown-menu,
  .nav-submenu:not(.open):hover .nav-submenu-menu,
  .nav-submenu:not(.open):focus-within .nav-submenu-menu { display: none; }
  .nav-dropdown-menu a,
  .nav-submenu-menu a { padding: 8px 10px; white-space: normal; }
  .nav-submenu-heading > a { padding-left: 10px; }
  .nav-submenu-trigger { padding-right: 14px; }
}

/* Availability panel and standalone fallback */
.availability-dialog {
  background: #f8f5f2;
  border: 0;
  border-radius: 6px;
  color: #30373b;
  max-width: 980px;
  padding: clamp(28px, 5vw, 58px);
  width: min(92vw, 980px);
}
.availability-dialog::backdrop { background: #151b1fd9; backdrop-filter: blur(3px); }
.availability-dialog-top { align-items: flex-start; display: flex; gap: 25px; justify-content: space-between; }
.availability-dialog-top h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); }
.availability-close { background: transparent; border: 1px solid #c8b99f; border-radius: 50%; color: #30373b; flex: 0 0 44px; height: 44px; }
.availability-intro { font-size: 17px; margin: 22px 0 30px; max-width: 760px; }
.availability-card-grid,
.availability-page-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.availability-card { background: #fff; border-top: 3px solid #7a6230; padding: 25px 23px; }
.availability-card .eyebrow { margin-bottom: 13px; }
.availability-card h3 { font-size: 25px; margin-bottom: 12px; }
.availability-card p:not(.eyebrow) { font-size: 15px; }
.availability-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.availability-actions .outline { min-height: 50px; align-items: center; display: inline-flex; }
.availability-page { background: #f8f5f2; }
.availability-hero { background: #e5dccd; padding: 90px 0 75px; }
.availability-hero h1 { font: 400 clamp(3.2rem, 6vw, 5.6rem)/1.02 "Cormorant Garamond", Georgia, serif; }
.availability-hero p:not(.eyebrow) { font-size: 19px; margin-top: 24px; max-width: 720px; }
.availability-page-grid { padding-bottom: 80px; padding-top: 70px; }
.availability-page-grid .availability-card { box-shadow: 0 12px 30px #30373b0b; }
.availability-page-grid .textlink { margin-top: 24px; }
.availability-page-note { background: #30373b; color: #f8f5f2; padding: 72px 0; text-align: center; }
.availability-page-note .eyebrow { color: #dfc394; }
.availability-page-note p:not(.eyebrow) { color: #e5dccd; margin: 20px auto 28px; }
.availability-page-note .outline.light { border-color: #f8f5f2; color: #f8f5f2; }
.availability-page-note .outline.light:hover { background: #dfc394; border-color: #dfc394; color: #20272b; }
@media(max-width:760px) {
  .availability-card-grid,
  .availability-page-grid { grid-template-columns: 1fr; }
  .availability-dialog { padding: 26px 20px; }
  .availability-dialog-top h2 { font-size: 2.25rem; }
  .availability-actions { align-items: stretch; flex-direction: column; }
  .availability-actions .button,
  .availability-actions .outline { width: 100%; }
  .availability-hero { padding: 58px 0 48px; }
  .availability-page-grid { padding-bottom: 50px; padding-top: 45px; }
}
@media(max-width:520px) {
  .footer-navigation { grid-template-columns: 1fr; }
  .footer-legal { grid-column: 1; }
}

/* Keep the post-hero feature band consistent across the site. */
.factbar div { text-align: center; }
.factbar strong {
  font-family: Outfit, sans-serif;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.factbar span { font-family: Outfit, sans-serif; text-align: center; }

/* Keep the program introduction visually connected to the interactive chooser. */
.programs-intro { padding-bottom: 52px; }
.programs-intro + .spaces { padding-top: 0; }
@media(max-width:760px) {
  .programs-intro { padding-bottom: 36px; }
}

/* Give "Cormorant Garamond" Classico display headings a little more breathing room sitewide. */
body h1,
body h2,
body h3 {
  letter-spacing: 0 !important;
}

#gallery-dialog .dialog-top {
  justify-content: flex-end;
}

.program-image-frame {
  height: 390px;
  overflow: hidden;
  border-radius: 4px;
}

.program-image-frame .program-image {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
  object-fit: cover;
  transition: transform .3s ease;
}

.program-image-frame .program-image[src*="kyra_fraser_dressage_trainer_snohomish_wa"] {
  transform: scale(1.1);
}

@media(max-width: 1000px) {
  .program-image-frame { height: 360px; }
}

@media(max-width: 760px) {
  .program-image-frame { height: 280px; }
}

.programs-intro .lead {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.2;
}

@media(max-width: 680px) {
  .programs-intro .lead { font-size: 38px; }
}

.hero-copy > p:not(.eyebrow) { white-space: nowrap; }

@media(max-width: 680px) {
  .hero-copy > p:not(.eyebrow) { white-space: normal; }
}

/* Text links on slate and photographic sections need a light hover color. */
:where(header,footer,.story-band,.image-statement,.service-hero,.vet-band .dark) a:not(.button):not(.outline):hover,
:where(header,footer,.story-band,.image-statement,.service-hero,.vet-band .dark) a:not(.button):not(.outline):focus-visible {
  color:#f8f5f2;
  opacity:1;
  text-decoration:underline;
  text-underline-offset:5px;
}

/* Keep footer interactions visible against the slate background. */
footer a:not(.brand):hover,
footer a:not(.brand):focus-visible {
  color: #dfc394;
  opacity: 1;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
footer a:focus-visible {
  outline: 2px solid #dfc394;
  outline-offset: 4px;
}

/* Keep every program visible without a horizontal swipe on phones. */
@media (max-width:760px){
  #programs .space-tabs,.spaces .space-tabs{display:flex;flex-wrap:wrap;gap:8px;overflow:visible;white-space:normal;border:0;margin-bottom:24px}
  .spaces .space-tabs button{flex:1 1 calc(50% - 8px);min-width:0;min-height:48px;padding:12px 10px;border:1px solid #b8ab96;border-radius:4px;text-align:center;white-space:normal;font-size:14px;line-height:1.35;font-weight:500;background:#f7f5f0;color:#514a3f}
  .spaces .space-tabs button[aria-selected=true]{background:#30383b;color:#fffaf1;border-color:#30383b}
  .spaces .space-tabs button:focus-visible{outline:2px solid #7a6230;outline-offset:3px}
}

/* Program introduction: distinguish the section heading from supporting copy. */
.programs-intro .lead{font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;font-weight:400;letter-spacing:0;line-height:1.45;color:#55534f;margin-bottom:22px}
@media(max-width:760px){.programs-intro .lead{font-size:26px;line-height:1.45;margin-bottom:18px}}

/* Insights section heading must lead the article titles below it. */
.journal-preview .section-line h2{font-size:42px;line-height:1.15;letter-spacing:-.025em}
@media(max-width:760px){.journal-preview .section-line h2{font-size:34px;line-height:1.18}}

/* Match the veterinary collaboration title to the standard section headings. */
.vet-band .lake h2{font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.15}
@media(max-width:760px){.vet-band .lake h2{font-size:38px}}



/* dressage-training.css */
:root{--slate:#30383a;--slate-deep:#252d2f;--ivory:#f6f2eb;--oat:#e8dfd0;--gold:#b88c4b;--ink:#31383a;--display:"Cormorant Garamond",Georgia,serif;--sans:Outfit,sans-serif}.service-page{background:var(--ivory);color:var(--ink)}.service-page header{background:var(--slate-deep);border-bottom:1px solid rgba(232,223,208,.2)}.service-page header nav a,.service-page header .brand,.service-page header .menu{color:var(--ivory)}.service-page header .brand img{filter:brightness(0) invert(1)}.page-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.service-hero{min-height:480px;display:grid;grid-template-columns:47% 53%;background:var(--slate);color:var(--ivory)}.service-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:72px max(48px,8vw)}.service-hero-copy h1{font-family:var(--display);font-size:clamp(3rem,4.8vw,4.9rem);font-weight:400;line-height:.94;letter-spacing:-.035em;margin:22px 0 28px}.service-hero-copy>p:not(.eyebrow){font-size:1.15rem;line-height:1.7;max-width:32rem;color:rgba(246,242,235,.82);margin:0 0 34px}.service-hero-copy .button{align-self:flex-start}.service-hero-image{min-height:360px;overflow:hidden}.service-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.service-facts{display:grid;grid-template-columns:repeat(3,1fr);background:var(--oat);border-top:1px solid rgba(48,56,58,.2);border-bottom:1px solid rgba(48,56,58,.2)}.service-facts div{padding:30px 7vw;border-right:1px solid rgba(48,56,58,.18)}.service-facts div:last-child{border:0}.service-facts strong,.service-facts span{display:block}.service-facts strong{font-family:var(--sans);font-size:.9rem;text-transform:uppercase;letter-spacing:.11em;font-weight:500}.service-facts span{margin-top:8px;font-size:.95rem;color:#5f6463}.editorial-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;padding-block:120px}.editorial-intro h2,.approach-grid h2,.training-options h2{font-family:var(--display);font-size:clamp(3rem,5vw,5.4rem);font-weight:400;line-height:1.02;letter-spacing:-.025em;margin:22px 0 0}.editorial-intro .lead{font-family:var(--display);font-size:2rem;line-height:1.25;margin:0 0 30px}.editorial-intro p:not(.lead){font-size:1.08rem;line-height:1.8}.image-statement{display:grid;grid-template-columns:58% 42%;min-height:640px;background:var(--slate-deep);color:var(--ivory)}.image-statement>img{width:100%;height:100%;object-fit:cover}.image-statement>div{display:flex;flex-direction:column;justify-content:center;padding:80px 7vw}.image-statement h2{font-family:var(--display);font-size:clamp(3rem,4.5vw,5rem);font-weight:400;line-height:1;margin:20px 0 28px}.image-statement p{font-size:1.05rem;line-height:1.75;color:rgba(246,242,235,.8)}.image-statement .statement{font-family:var(--display);font-size:1.9rem;color:var(--ivory);margin-top:24px}.approach-band{background:#eee8de;padding:120px 0}.approach-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.principles article{display:grid;grid-template-columns:52px 1fr;column-gap:18px;padding:28px 0;border-top:1px solid rgba(48,56,58,.24)}.principles span{grid-row:1/3;color:var(--gold);font-family:var(--sans);letter-spacing:.1em}.principles h3{font-family:var(--display);font-size:1.8rem;font-weight:400;margin:0 0 8px}.principles p{margin:0;line-height:1.7}.training-options{padding-block:120px}.section-heading{max-width:760px}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:58px}.option-grid article{padding:52px;background:#eee8de}.option-grid .featured-option{background:var(--slate);color:var(--ivory)}.option-grid h3{font-family:var(--display);font-size:2.4rem;font-weight:400;line-height:1.1;margin:18px 0}.option-grid p,.option-grid li{line-height:1.7}.option-grid ul{padding-left:20px;margin:26px 0 34px}.featured-option p,.featured-option li{color:rgba(246,242,235,.82)}.service-closing{text-align:center;background:var(--gold);color:var(--ivory);padding:110px 24px}.service-closing h2{font-family:var(--display);font-size:clamp(3rem,5vw,5.5rem);font-weight:400;line-height:1;margin:20px 0 28px}.service-closing>p:not(.eyebrow){font-size:1.1rem;margin-bottom:34px}.service-page footer{margin-top:0}@media(max-width:900px){.service-hero,.image-statement,.editorial-intro,.approach-grid{grid-template-columns:1fr}.service-hero{min-height:0}.service-hero-copy{padding:64px 32px 56px}.service-hero-image{min-height:480px}.service-facts{grid-template-columns:1fr}.service-facts div{border-right:0;border-bottom:1px solid rgba(48,56,58,.18);padding:24px}.editorial-intro,.approach-grid{gap:48px}.image-statement>img{min-height:460px}.image-statement>div{padding:70px 32px}.option-grid{grid-template-columns:1fr}}@media(max-width:600px){.page-wrap{width:min(100% - 32px,1180px)}.service-hero-copy h1{font-size:3.3rem}.editorial-intro,.approach-band,.training-options{padding-block:80px}.service-hero-image{min-height:380px}.image-statement>img{min-height:350px}.option-grid article{padding:36px 26px}}
.service-hero{position:relative;display:block;height:480px;min-height:480px;overflow:hidden;background:var(--slate-deep)}
.service-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(22,27,32,.88) 0%,rgba(22,27,32,.68) 42%,rgba(22,27,32,.22) 76%,rgba(22,27,32,.08) 100%),linear-gradient(0deg,rgba(22,27,32,.38),transparent 48%)}
.service-hero-image{position:absolute;inset:0;min-height:0}
.service-hero-image img{object-position:58% 42%}
.service-hero-copy{position:relative;z-index:2;width:min(1180px,calc(100% - 48px));height:100%;margin-inline:auto;padding:58px 0;justify-content:center}
.service-hero-copy h1{max-width:760px}
.service-hero-copy>p:not(.eyebrow){max-width:620px}
.service-closing{background:#e5dccd;color:var(--slate)}
.service-closing .eyebrow{color:#7a6230}
.service-closing>p:not(.eyebrow){color:#55534f}
.service-closing .button.light{background:var(--slate);border-color:var(--slate);color:var(--ivory)}
.service-closing .button.light:hover{background:#7a6230;border-color:#7a6230;color:var(--ivory)}
@media(max-width:900px){.service-hero{height:420px;min-height:420px}.service-hero-image{min-height:0}.service-hero-copy{width:min(100% - 48px,1180px);padding:48px 0}.service-hero::after{background:linear-gradient(90deg,rgba(22,27,32,.88),rgba(22,27,32,.38)),linear-gradient(0deg,rgba(22,27,32,.35),transparent 50%)}}
@media(max-width:600px){.service-hero{height:380px;min-height:380px}.service-hero-image{min-height:0}.service-hero-copy{width:min(100% - 32px,1180px);padding:38px 0}.service-hero-copy h1{font-size:clamp(2.75rem,13vw,3.4rem);margin:15px 0 18px}.service-hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.5;margin-bottom:24px}}

/* Keep interior-page sections open and image-led, consistent with the homepage. */
.image-statement{position:relative;display:block;min-height:400px;background:var(--slate-deep);overflow:hidden}
.image-statement::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,27,32,0) 0%,rgba(22,27,32,.04) 42%,rgba(37,45,47,.38) 56%,rgba(37,45,47,.68) 72%,rgba(37,45,47,.78) 100%),linear-gradient(0deg,rgba(22,27,32,.22) 0%,transparent 38%)}
.image-statement>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left bottom;transform:none}
.image-statement>div{position:relative;z-index:1;min-height:400px;width:min(1600px,calc(100% - 64px));margin-inline:auto;padding:38px 0 38px 56%}
.approach-band{background:transparent;border-bottom:1px solid rgba(48,56,58,.16)}
.option-grid{gap:0;border-top:1px solid rgba(48,56,58,.24);border-bottom:1px solid rgba(48,56,58,.24)}
.option-grid article{background:transparent;padding:52px 52px 52px 0}
.option-grid article+article{padding-left:52px;border-left:1px solid rgba(48,56,58,.24)}
.option-grid .featured-option{background:transparent;color:var(--ink)}
.featured-option p,.featured-option li{color:inherit}
.option-grid p.eyebrow{color:#7a6230;font:500 13px/1.5 Outfit,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.service-closing{background:transparent;border-top:1px solid rgba(48,56,58,.16)}
@media(max-width:900px){.image-statement{min-height:0}.image-statement::after{display:none}.image-statement>img{position:relative;width:100%;height:420px;min-height:0;object-position:center 46%;transform:none}.image-statement>div{width:100%;min-height:0;margin:0;padding:56px 32px;background:var(--slate-deep)}.option-grid article,.option-grid article+article{padding:42px 0;border-left:0}.option-grid article+article{border-top:1px solid rgba(48,56,58,.24)}}
@media(max-width:600px){.image-statement>img{height:320px}.image-statement>div{width:100%;padding:48px 16px}}

.service-hero-copy h1{max-width:850px;font-size:clamp(2.9rem,4.4vw,4.55rem);line-height:.98}
.hero-title-line{display:block;white-space:nowrap}
.editorial-intro{grid-template-columns:1fr 1fr;gap:8vw}
.editorial-intro h2{font-size:clamp(2.8rem,4.1vw,4.6rem)}
.keep-together{white-space:nowrap}
.approach-band{background:#eee8de}
.training-options{padding-top:120px;padding-bottom:78px}
.training-options .section-heading{max-width:none}
.training-options .section-heading h2{white-space:nowrap}
.featured-option li{white-space:nowrap;font-size:15px}
.service-closing{background:var(--oat);padding:88px 24px}
@media(max-width:1100px){.option-grid{grid-template-columns:1fr}.option-grid article,.option-grid article+article{padding:42px 0;border-left:0}.option-grid article+article{border-top:1px solid rgba(48,56,58,.24)}.featured-option li{white-space:normal;font-size:inherit}}
@media(max-width:900px){.editorial-intro{grid-template-columns:1fr}.training-options{padding-top:90px;padding-bottom:64px}}
@media(max-width:600px){.keep-together{white-space:normal}.training-options{padding-top:72px;padding-bottom:52px}.service-closing{padding:72px 24px}}
@media(max-width:600px){.hero-title-line{display:inline;white-space:normal}}

/* Match secondary-page section headings to the homepage heading scale. */
.editorial-intro h2,
.image-statement h2,
.approach-grid h2,
.training-options h2,
.service-closing h2 {
  font-size: clamp(2rem,3.7vw,3.5rem);
  line-height: 1.15;
}
@media(max-width:760px) {
  .editorial-intro h2,
  .image-statement h2,
  .approach-grid h2,
  .training-options h2,
  .service-closing h2 { font-size: 38px; }
  .training-options .section-heading h2 { white-space: normal; }
}

.editorial-intro .lead {
  font-family: var(--display);
  font-size: 38px;
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.2;
}

.editorial-intro p:not(.lead) + p:not(.lead) {
  margin-top: 1.35rem;
}

.image-statement .statement {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  font-style: italic;
  letter-spacing: normal;
  line-height: 1.75;
  margin-top: 26px;
}

/* Match the homepage feature bar's inset vertical dividers. */
.service-facts{padding:30px 0}
.service-facts div{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 7vw;text-align:center}
.service-facts strong{font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.service-facts span{font-family:Outfit,sans-serif;text-align:center}
@media(max-width:900px){.service-facts{padding:0}.service-facts div{padding:24px}}
.editorial-intro-band{background:var(--ivory)}

/* Search-intent sections and visible FAQs */
.search-pathways,.service-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding-block:100px}
.search-pathways h2,.service-faq h2{font-family:var(--display);font-size:clamp(2.6rem,4.2vw,4.6rem);font-weight:400;line-height:1.05;margin:18px 0 0}
.search-pathways p{font-size:1.05rem;line-height:1.8}
.service-faq{border-top:1px solid rgba(48,56,58,.16)}
.service-faq-list details{border-bottom:1px solid rgba(48,56,58,.2);padding:22px 0}
.service-faq-list summary{cursor:pointer;font-weight:600;list-style:none;padding-right:32px;position:relative}
.service-faq-list summary:after{content:'+';position:absolute;right:0}
.service-faq-list details[open] summary:after{content:'−'}
.service-faq-list p{line-height:1.75;margin:15px 0 0}
@media(max-width:900px){.search-pathways,.service-faq{grid-template-columns:1fr;gap:38px;padding-block:76px}}

/* Remove the detached divider above FAQs on the training and lessons pages. */
.dressage-page .service-faq,.lessons-page .service-faq{border-top:0}

/* lessons.css */
.lessons-page .service-hero-image picture{display:block;width:100%;height:100%}
.lessons-page .service-hero-image img{object-fit:cover;object-position:center center}
.lessons-page .image-statement::after{background:linear-gradient(90deg,rgba(22,27,32,0) 0%,rgba(22,27,32,.04) 42%,rgba(37,45,47,.38) 57%,rgba(37,45,47,.68) 72%,rgba(37,45,47,.78) 100%),linear-gradient(0deg,rgba(22,27,32,.22) 0%,transparent 38%)}
.lessons-page .image-statement>img{object-position:center center}
.lessons-page .image-statement>div{padding-left:56%;padding-right:0}
.lessons-page .option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.lessons-page .option-grid article{min-width:0}
.lessons-page .option-grid li{white-space:normal}
@media(max-width:1100px){.lessons-page .option-grid{grid-template-columns:1fr}}
@media(max-width:900px){.lessons-page .service-hero-image img{object-position:center center}.lessons-page .image-statement>img{object-position:left center}.lessons-page .image-statement>div{padding:56px 32px}}
@media(max-width:600px){.lessons-page .image-statement>div{padding:48px 16px}}

/* eyebrows.css */
/* Authoritative eyebrow treatment, loaded after every page stylesheet. */
.eyebrow {
  font-family: Outfit, sans-serif !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: #7a6230;
}

.hero .eyebrow,
.service-hero .eyebrow,
.image-statement .eyebrow,
.story-band .eyebrow {
  color: #dfc394;
}

/* typography.css */
/* Site-wide typography normalization.
   "Cormorant Garamond" is reserved for display headings; Outfit carries readable copy. */
:root{
  --sh-copy:#55534f;
  --sh-heading:#30373b;
  --sh-copy-size:17px;
  --sh-copy-leading:1.75;
}

body,
button,
input,
select,
textarea{
  font-family:Outfit,Arial,sans-serif;
}

h1,h2,h3,
.article-heading h1,
.article-body>h2,
.article-body>h3{
  font-family:"Cormorant Garamond",Georgia,serif;
}

/* Standard editorial copy on light page surfaces. */
.service-page :where(.editorial-intro,.condition-observations,.condition-components,.referral-grid,.related-condition,.approach-grid,.training-options) :where(p:not(.eyebrow),li),
.about-page :where(.profile-copy,.about-approach,.about-principles) :where(p:not(.eyebrow),li),
.clinics-page main :where(p:not(.eyebrow),li),
.faq-page main :where(p:not(.eyebrow),li),
.insight-article-page .article-body>p,
.insight-article-page .article-body>ul,
.insight-article-page .article-body>ol,
.insight-article-page .article-body>ul li,
.insight-article-page .article-body>ol li,
.legal-content :where(p:not(.legal-updated),li){
  color:var(--sh-copy);
  font-family:Outfit,Arial,sans-serif;
  font-size:var(--sh-copy-size);
  font-weight:400;
  line-height:var(--sh-copy-leading);
}

/* Lists formerly inherited the darker heading color on service pages. */
.service-page :where(.option-grid,.virtual-option-grid,.condition-observations,.condition-components,.approach-grid) li{
  color:var(--sh-copy);
}

/* Preserve intentionally larger "Cormorant Garamond" lead copy. */
.service-page .editorial-intro .lead{
  color:var(--sh-heading);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:38px;
  line-height:1.2;
}

/* Dark photographic and closing bands need their designed light contrast. */
.service-page :where(.service-hero-copy,.image-statement) p:not(.eyebrow){
  color:rgba(246,242,235,.82);
}
.service-page .image-statement .statement{
  color:#f6f2eb;
  font-family:"Cormorant Garamond",Georgia,serif;
}

/* Keep small supporting text deliberately subordinate, but on-brand. */
:where(figcaption,.article-meta,.caption,.form-field small,.form-note){
  font-family:Outfit,Arial,sans-serif;
}

/* Article copy must not inherit bold or dark color overrides from imported markup. */
.insight-article-page .article-body :where(h2,h3,h4){
  font-family:"Cormorant Garamond",Georgia,serif!important;
}
.insight-article-page .article-body>p,
.insight-article-page .article-body>ul,
.insight-article-page .article-body>ol,
.insight-article-page .article-body>ul li,
.insight-article-page .article-body>ol li{
  color:#55534f;
  font-family:Outfit,Arial,sans-serif;
  font-weight:300;
}
.insight-article-page .article-body :where(p,li),
.insight-article-page .article-body :where(p,li) *,
.insight-article-page .article-body figcaption,
.insight-article-page .article-body figcaption *{
  font-family:Outfit,Arial,sans-serif!important;
}
.insight-article-page .article-body strong,
.insight-article-page .article-body strong em{
  color:#55534f!important;
  font-family:Outfit,Arial,sans-serif!important;
  font-style:normal;
  font-weight:500!important;
}
.insight-article-page .article-body :where(p,li,em,strong) a,
.insight-article-page .article-body :where(p,li,em,strong) a strong,
.insight-article-page .article-body :where(p,li,em,strong) a strong em,
.insight-article-page .article-body :where(p,li,em) strong a{
  color:#705a30!important;
  font-family:Outfit,Arial,sans-serif!important;
  font-style:normal;
  font-weight:400!important;
  text-decoration-color:#b2905c;
  text-decoration-line:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

@media(max-width:600px){
  .service-page .editorial-intro .lead{font-size:32px}
}

/* Keep links in service introductions visible within body copy. */
.service-page .editorial-intro p a:not(.button):not(.textlink){
  color:#705a30;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.service-page .editorial-intro p a:not(.button):not(.textlink):hover,
.service-page .editorial-intro p a:not(.button):not(.textlink):focus-visible{
  color:#30373b;
  text-decoration-thickness:2px;
}

/* Numbered steps and closing labels must remain legible on their backgrounds. */
.service-page .principles article>span{color:#7a6230}
.service-page .service-closing .eyebrow{color:#232222}

/* Darker text on the homepage’s toffee bands. */
.gallery-band .eyebrow,.vet-band .eyebrow,.closing .eyebrow{color:#594821}
.vet-band .lake p:not(.eyebrow){color:#3e3d39}
.vet-band .lake a{color:#594821}
.closing .button{color:#20272b}

.rehab-page .support-grid h3{color:#7a6230}

.vet-band .lake p a{text-decoration:underline;text-underline-offset:4px}

/* Paint the initial hero immediately; fade later slides after interaction. */
.hero:not(.hero-interacted) .hero-photo{transition:none}
