@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--ink:#192a24;--cream:#f6f3eb;--muted:#5b675f;--gold:#c1ad84;--line:#d8d9ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.03;letter-spacing:-.035em}h1{font-size:clamp(46px,5.2vw,86px);margin-bottom:22px}h2{font-size:clamp(40px,4.4vw,68px);margin-bottom:26px}h3{font-size:38px}em{font-weight:400}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}a,button,input,textarea,select{outline-offset:5px}button,a{touch-action:manipulation}.skip{position:fixed;top:-100px;padding:10px;background:white;z-index:99}.skip:focus{top:0}header{height:104px;padding:15px 5%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:relative;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;line-height:1.1}.brand small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:2.1px;margin-top:9px}.mark{width:42px;height:61px;position:relative;overflow:hidden;display:block}.mark img{position:absolute;width:86px;max-width:none;left:-22px;top:-6px;filter:grayscale(1);mix-blend-mode:multiply}nav{display:flex;gap:34px;align-items:center;font-size:12px}nav a:not(.nav-cta):hover{border-bottom:1px solid}.nav-cta{border:1px solid #8c9488;padding:12px 22px}.nav-cta span{margin-left:20px}.menu{display:none}.hero{position:relative;isolation:isolate;overflow:hidden;background:#23372e}.hero-photo{width:100%;height:auto}.shade{position:absolute;inset:0;background:linear-gradient(90deg,transparent 38%,rgba(19,30,25,.12) 51%,rgba(19,30,25,.74) 100%)}.hero-copy{position:absolute;left:62%;right:4%;top:50%;transform:translateY(-50%);color:#fffaf0}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:500;margin-bottom:23px;line-height:1.5}.hero .eyebrow{color:#e6d8be}.hero-intro{font-size:14px;line-height:1.7;margin-bottom:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 24px;border:1px solid transparent;font-size:11px;letter-spacing:.4px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.light{background:#f1eadb;color:#1e3128}.light:hover{background:white}.scroll{position:absolute;bottom:23px;right:5%;color:#fff7e9;font-size:8px;letter-spacing:2px;display:flex;gap:20px}.ribbon{display:flex;align-items:center;justify-content:space-evenly;gap:20px;background:#1c3027;color:#e1d6bf;padding:20px 4%;font-size:10px;letter-spacing:1px}.ribbon i{font-style:normal;color:#af9b72}.section{padding:105px 7%}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:center}.intro-text{padding-top:20px;max-width:440px;color:var(--muted)}.intro-text p:first-child{color:var(--ink);font-size:18px}.text-link{display:inline-flex;justify-content:space-between;gap:30px;font-size:11px;padding:9px 0;border-bottom:1px solid #9aa294;color:var(--ink)}.text-link:hover{opacity:.65}.section-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-title>p{font-size:13px;max-width:300px;color:var(--muted)}.training{padding-top:0}.programs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.programs article{padding:35px 35px 35px 0}.programs article+article{border-left:1px solid var(--line);padding-left:35px}.number{font-size:9px;letter-spacing:1.8px;color:#6d7566;display:block;margin-bottom:30px}.programs h3{margin-bottom:20px}.programs p{font-size:13px;color:var(--muted)}ul{list-style:none;margin:25px 0;padding:0}li{font-size:11px;margin:6px 0}li:before{content:'—';color:#9a987f;margin-right:10px}.lifestyle{position:relative;background:#dbe8e2;overflow:hidden}.lifestyle>img{width:100%}.lifestyle-copy{position:absolute;top:50%;left:7%;transform:translateY(-50%);width:29%;color:#172a23}.lifestyle-copy h2{font-size:clamp(40px,4.2vw,65px)}.lifestyle-copy p:last-child{font-size:13px;max-width:290px}.about{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.real-photo{position:relative;aspect-ratio:.80;overflow:hidden;background:#dde0d5}.real-photo img{position:absolute;width:100%;max-width:none;top:-37%}.about-copy p:not(.eyebrow){font-size:14px;color:var(--muted)}.signature{display:block;margin-top:25px;font:italic 32px 'Cormorant Garamond',Georgia,serif}.steps{background:#eaece3}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.step-grid>div{border-top:1px solid #bcc4b6;padding-top:22px}.step-grid span{color:#778471;font-size:11px}.step-grid h3{font-size:29px;margin:20px 0 15px}.step-grid p{font-size:13px;color:var(--muted)}.dog-note{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;align-items:center}.dog-note p:last-child{max-width:350px;color:var(--muted)}.dog-photo{overflow:hidden}.dog-photo img{width:100%;margin-bottom:-4%}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#1b3027;color:#f6f0e3}.contact .eyebrow{color:#c4b38e}.contact-heading>p:not(.eyebrow){color:#cad0c7;font-size:14px}.contact-phone{display:block;font:32px 'Cormorant Garamond',Georgia,serif;margin:30px 0 10px}.contact-email{font-size:13px;border-bottom:1px solid #778679;overflow-wrap:anywhere}form{padding-top:5px}label{display:block;font-size:10px;letter-spacing:1px;margin-bottom:19px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #5d7162;background:transparent;color:#fff8eb;border-radius:0;padding:9px 0;font-size:14px;letter-spacing:0;resize:vertical}input::placeholder,textarea::placeholder{color:#9eada0}select{color:#fff8eb}select option{background:#1b3027}form .button{width:100%}.form-note,#form-status{font-size:10px;color:#bec8ba;margin:12px 0 0}footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:5%;padding:45px 7%;font-size:12px}footer .footer-brand img{width:175px;filter:grayscale(1);mix-blend-mode:multiply}footer p{font:26px 'Cormorant Garamond',Georgia,serif;line-height:1.2}footer a{display:block;margin-top:8px}footer small{display:block;color:var(--muted);margin-top:25px;font-size:10px}@media(min-width:1700px){.hero-copy{left:64%}.hero-copy h1{font-size:90px}}@media(max-width:1050px){header{height:90px;padding:12px 4%}nav{gap:20px}.hero-copy{left:60%;right:3%}h1{font-size:5.1vw}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:14px}.hero-intro{font-size:12px;margin-bottom:15px}.button{padding:13px 17px;font-size:10px;gap:15px}.section{padding:75px 6%}.training{padding-top:0}.scroll{display:none}.programs article{padding-right:20px}.programs article+article{padding-left:20px}.about{gap:7%}.contact{gap:8%}}
@media(max-width:700px){html{scroll-padding-top:25px}header{height:88px;padding:12px 5%}.brand{font-size:22px}.brand small{font-size:7px;letter-spacing:1.5px}.mark{width:35px;height:52px}.mark img{width:75px;left:-20px;top:-5px}.menu{display:flex;gap:9px;align-items:center;border:0;background:none;font-size:12px;color:var(--ink);padding:10px 0}nav{display:none;position:absolute;top:88px;left:0;right:0;padding:22px 6%;background:var(--cream);border-bottom:1px solid var(--line)}nav.open{display:flex;align-items:start;flex-direction:column;gap:18px}.hero-photo{width:100%;height:auto;object-fit:contain}.shade{display:none}.hero-copy{position:relative;left:auto;right:auto;top:auto;transform:none;padding:35px 7% 42px;background:#20372b}.hero-copy h1{font-size:48px;line-height:1.02}.hero-copy .eyebrow{font-size:9px;letter-spacing:2px}.hero-intro{font-size:14px}.button{padding:16px 22px;font-size:11px}.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:8px;padding:18px 7%}.ribbon i{display:none}.section{padding:60px 7%}.intro,.about,.dog-note,.contact{grid-template-columns:1fr;gap:30px}h2{font-size:43px}.intro-text{padding-top:0}.section-title{display:block;margin-bottom:25px}.section-title>p{margin-top:20px}.training{padding-top:0}.programs{grid-template-columns:1fr}.programs article,.programs article+article{padding:30px 0;border-left:0}.programs article+article{border-top:1px solid var(--line)}.number{margin-bottom:17px}.programs h3{font-size:34px}.lifestyle>img{width:100%}.lifestyle-copy{position:relative;top:auto;left:auto;transform:none;padding:35px 7%;width:100%;background:#d8e7e0}.lifestyle-copy h2{font-size:44px}.lifestyle-copy p:last-child{max-width:none}.about{padding-top:60px}.real-photo{max-height:580px}.step-grid{grid-template-columns:1fr;gap:25px}.step-grid h3{margin:12px 0}.dog-note{gap:20px}.contact h2{font-size:48px}footer{grid-template-columns:1fr 1fr;padding:35px 7%;gap:30px}.footer-brand{grid-column:1/-1}footer .footer-brand img{width:145px}footer p{font-size:22px}footer a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Quiet, editorial movement and restrained controls. */
.button,.nav-cta{border-radius:0;transition:background-color .45s ease,color .45s ease,border-color .45s ease;transform:none!important;justify-content:center;letter-spacing:.07em}
.nav-cta{border-color:#929b8d;padding:13px 23px}.nav-cta:hover,.nav-cta:focus-visible{background:#1b3027;color:#f6f0e3;border-color:#1b3027}
.button.light{background:#f1eadb;border-color:#f1eadb}.button.light:hover,.button.light:focus-visible{background:#fffaf0;border-color:#fffaf0;color:#192a24;transform:none}
.text-link{position:relative;border-bottom:0;padding-bottom:10px;transition:color .35s ease;opacity:1!important}
.text-link:before,.text-link:after{content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor}
.text-link:before{opacity:.3}.text-link:after{transform:scaleX(.16);transform-origin:left;transition:transform .65s cubic-bezier(.22,.61,.36,1)}
.text-link:hover:after,.text-link:focus-visible:after{transform:scaleX(1)}
nav a:not(.nav-cta){position:relative;border:0!important;padding:8px 0}nav a:not(.nav-cta):after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s ease}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}
.menu-lines{display:inline-block;position:relative;width:19px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:height .3s ease}.menu[aria-expanded="true"] .menu-lines{height:5px}
.scroll{display:flex;align-items:center;gap:18px;bottom:25px;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.scroll-track{position:relative;display:block;width:1px;height:35px;background:rgba(255,250,240,.28);overflow:hidden}.scroll-track:after{content:'';display:block;width:1px;height:15px;background:#f8f0df;animation:quiet-scroll 3.6s ease-in-out infinite}

/* Typography stays fixed; only photograph reveals carry spatial motion. */
.scroll-track:after{animation:none;height:100%;opacity:.7}
.hero-photo{animation:photo-arrive 2.2s cubic-bezier(.2,.65,.3,1) both;transform-origin:45% 50%}
@keyframes photo-arrive{from{opacity:.55;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.hero-copy>*{animation:none!important;translate:none!important}
.reveal-ready{opacity:0;transition:opacity 1.15s ease;translate:none!important;transform:none}
.reveal-ready.is-visible{opacity:1}
.photo-reveal{clip-path:inset(5% 0 5% 0);transition:clip-path 1.6s cubic-bezier(.2,.65,.3,1),opacity 1.2s ease;opacity:.6}
.photo-reveal.is-visible{clip-path:inset(0);opacity:1}
@media(max-width:700px){.scroll{display:none}.button,.nav-cta{min-height:48px}.hero-copy h1{font-size:48px}.text-link{min-height:42px;align-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready,.photo-reveal{opacity:1!important;translate:none!important;clip-path:none!important}.hero-photo{transform:none!important}.text-link:after{transform:scaleX(1)}}
/* Remove decorative rules and keep every letter stationary. */
.text-link:before,.text-link:after,nav a:not(.nav-cta):after,.scroll-track{display:none!important}
.text-link,.contact-email{border:0!important;text-decoration:none}
.programs,.programs article,.programs article+article,.step-grid>div,header{border:0!important}
.hero-copy>*,.intro>div,.section-title,.programs article,.about-copy,.step-grid>div,.dog-note>div,.contact>div,.contact form{animation:none!important;transition:none!important;translate:none!important;opacity:1!important}

/* Solid controls and slow photographic changes. */
.primary,.nav-cta{background:#1b3027;color:#fffaf0;border:1px solid #1b3027}
.primary:hover,.primary:focus-visible,.nav-cta:hover{background:#304d3d;border-color:#304d3d}
.intro .text-link,.about .text-link{background:#1b3027;color:#fffaf0;padding:15px 23px;min-height:48px;align-items:center;font-size:12px}
.training-action{text-align:center;margin-top:30px}
.living-gallery{position:relative;aspect-ratio:16/9;overflow:hidden;background:#20372b}
.gallery-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2.4s ease!important}
.gallery-frame.active{opacity:1}
.gallery-toggle{position:absolute;bottom:20px;right:25px;border:0;background:#f6f3eb;color:#192a24;padding:12px 18px;cursor:pointer;font-size:11px;z-index:2}
.lifestyle-copy{position:relative;left:auto;top:auto;transform:none;width:100%;padding:45px 7%;background:#e7eae0;display:block}
.lifestyle-copy h2{font-size:clamp(38px,4vw,58px)}
.lifestyle-copy p:last-child{max-width:520px}
@media(prefers-reduced-motion:reduce){.gallery-frame{transition:none!important}.gallery-toggle{display:none}}

/* Rebuild fixes (Nov 2026): clean photo crops, working form states, clickable training cards. */
.real-photo img{position:absolute;inset:0;width:100%;height:100%;top:0;object-fit:cover;object-position:50% 60%}
.dog-photo img{height:auto;margin-bottom:0}
footer .footer-brand img{height:auto}
.mark img{height:auto}
main:focus{outline:none}
.programs article[data-interest]{cursor:pointer;transition:background-color .35s ease}
.programs article[data-interest]:hover,.programs article[data-interest]:focus-visible{background:rgba(27,48,39,.04)}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
form{position:relative}
form .button[disabled]{opacity:.6;cursor:wait}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-bottom-color:#e6a08a}
.field-error{display:block;color:#f0b9a6;font-size:11px;letter-spacing:0;margin-top:6px}
#form-status{font-size:13px;line-height:1.5;margin-top:14px;min-height:1px}
#form-status.ok{color:#d9ecd0;padding:12px 14px;border:1px solid #7f9c80}
#form-status.err{color:#ffd8cb;padding:12px 14px;border:1px solid #b97a68}
#form-status a{text-decoration:underline}
.form-note{font-size:11px}
#home{scroll-margin-top:160px}
