:root{--sage:#8a9a86;--cream:#f5f2eb;--clay:#d8a48f;--forest:#3d4a41;--pale:#e5e9df;--soft:#a3b19b;--ink:#303b34;--muted:#5c685e;--line:rgba(61,74,65,.2);--bs-body-font-family:'Tenor Sans',sans-serif;--bs-body-color:var(--ink);--bs-body-bg:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--forest)}img{display:block;max-width:100%;height:auto}svg{width:23px;height:23px;flex-shrink:0}h1,h2,h3,h4,blockquote{font-family:'Inria Serif',Georgia,serif;font-weight:400;line-height:1.12;color:var(--forest)}h1{font-size:clamp(3.5rem,5.9vw,5.6rem);letter-spacing:-.045em}h2{font-size:clamp(2.6rem,4vw,3.75rem);letter-spacing:-.035em;margin-bottom:26px}h3{font-size:1.75rem;letter-spacing:-.025em}h1 em,h2 em,h3 em{font-weight:400}p{margin-bottom:1.35rem}::selection{background:var(--clay);color:var(--forest)}:focus-visible{outline:3px solid #9b654e;outline-offset:5px}.container-xl{max-width:1312px;padding-left:36px;padding-right:36px}.section{padding:108px 0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;line-height:1.6;color:#56654f;margin-bottom:25px}.eyebrow.light{color:#d7e0d1}.lead-copy{font-family:'Inria Serif',Georgia,serif;font-size:1.6rem;line-height:1.5;color:var(--forest)}.btn{border-radius:0;padding:16px 24px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;line-height:1.5;transition:background .2s,color .2s}.btn svg{width:20px;height:20px}.btn-sage{background:var(--forest);color:var(--cream);border:1px solid var(--forest)}.btn-sage:hover,.btn-sage:focus{background:#536451;color:#fff;border-color:#536451}.btn-clay{background:var(--clay);color:var(--ink);border:1px solid var(--clay)}.btn-clay:hover{background:#e4b9a8;color:var(--ink);border-color:#e4b9a8}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;color:var(--forest);text-decoration:none;border:none;border-bottom:1px solid var(--forest);padding:7px 0;background:transparent;line-height:1.6}.text-link:hover{color:#7c4e3c;border-color:#7c4e3c}.text-link svg{width:20px}.skip-link{position:fixed;z-index:1100;top:-80px;left:12px;background:var(--forest);color:white;padding:12px 20px}.skip-link:focus{top:12px}.topline{background:var(--forest);color:var(--cream);font-size:10px;letter-spacing:.08em;padding:8px 0}.site-header{background:var(--cream);position:sticky;top:0;z-index:1020;border-bottom:1px solid var(--line)}.navbar{padding-top:17px;padding-bottom:17px}.brand{display:flex;align-items:center;gap:12px;white-space:normal;color:var(--forest);margin:0}.brand img{width:65px;height:58px;object-fit:contain}.brand b{display:block;font-family:'Inria Serif',serif;font-size:34px;letter-spacing:.15em;font-weight:400;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:.19em;margin-top:5px}.navbar-nav{gap:24px}.navbar-nav .nav-link{font-size:12px;padding:8px 0!important;position:relative;color:var(--forest)}.navbar-nav .nav-link::after{position:absolute;content:'';bottom:3px;left:0;width:0;height:1px;background:var(--forest);transition:width .2s}.navbar-nav .nav-link.active::after,.navbar-nav .nav-link:hover::after{width:100%}.nav-contact{font-size:11px;min-height:46px;padding:12px 18px;gap:20px}.navbar-toggler{border:1px solid var(--line);border-radius:0;padding:9px}.navbar-toggler-icon{width:22px;height:22px}.hero{padding:68px 0 82px;overflow:hidden}.hero h1{font-size:clamp(3.8rem,5.6vw,5.5rem);line-height:1.01;margin-bottom:28px;letter-spacing:-.045em}.hero h1 em{color:#65765f}.hero-copy{padding-right:45px}.hero-description{max-width:420px;font-size:14px;line-height:1.9}.hero .eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:25px}.tiny-line{width:25px;height:1px;background:var(--forest);display:inline-block}.hero-actions{display:flex;gap:26px;align-items:center;margin-top:30px}.hero-location{font-size:10px;letter-spacing:.07em;margin:25px 0 0;color:var(--muted)}.hero-location span{margin:0 9px}.hero-visual{position:relative;padding:8px 0 24px 20px}.hero-visual::before{content:'';position:absolute;inset:36px -22px 7px 48px;background:#ddc5b7;border-radius:240px 240px 0 0;transform:rotate(3deg);z-index:0}.hero-photo{height:604px;overflow:hidden;border-radius:260px 260px 0 0;position:relative}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:62% 50%}.hero-note{position:absolute;left:-26px;bottom:60px;background:var(--cream);padding:22px 28px 22px 15px;display:flex;align-items:center;gap:13px;box-shadow:0 7px 24px #2136280d;font-family:'Inria Serif',serif;font-size:21px;line-height:1.35}.hero-note b{font-weight:400;font-style:italic}.note-symbol{color:var(--sage)}.note-symbol svg{width:45px;height:60px}.photo-caption{position:absolute;bottom:1px;right:8px;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.care-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;background:#eceee5}.care-strip .container-xl{display:flex;justify-content:space-between;align-items:center;gap:15px}.care-strip span{font-size:12px;letter-spacing:.035em}.care-strip .strip-flower{color:#84937a;font-size:27px;line-height:1}.services-preview{background:#e6eadd}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:15px}.service-row{display:grid;grid-template-columns:45px 1fr 1fr 46px;gap:26px;align-items:center;border-top:1px solid #a6b29e;padding:35px 0;text-decoration:none}.service-row:last-child{border-bottom:1px solid #a6b29e}.service-no{font-size:11px;color:#65735e;align-self:start;margin-top:8px}.service-row h3{font-size:2.1rem;margin:0}.service-row p{font-size:13px;line-height:1.8;max-width:330px;margin:0}.round-arrow{width:44px;height:44px;border:1px solid #85967b;border-radius:50%;display:grid;place-items:center;transition:background .2s,transform .2s}.service-row:hover .round-arrow{background:var(--clay);transform:translateX(3px)}.portrait-composition{position:relative;padding:0 25px 22px 0}.portrait-composition::before{content:'';position:absolute;inset:30px 0 0 35px;background:var(--clay);z-index:-1}.portrait-photo{width:100%;height:530px;object-fit:cover;object-position:40% 50%;border-radius:2px 120px 2px 2px}.small-photo-label{position:absolute;bottom:0;left:20px;right:0;background:var(--forest);color:var(--cream);padding:18px 25px;font-family:'Inria Serif',serif;font-size:18px;font-style:italic}.quote-section{padding:76px 0 88px;text-align:center;border-top:1px solid var(--line);background:#efe6dc}.quote-section .container-xl{max-width:1030px}.quote-mark{font-family:'Inria Serif',serif;font-size:94px;color:#a67661;line-height:.9}.quote-section blockquote{font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.4;letter-spacing:-.025em;margin:0 0 25px}.quote-section p{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin:0}.quote-section p span{margin:0 10px}.footer{background:var(--forest);color:#e2e5dd}.footer-top{padding:76px 0 58px}.footer h2{color:var(--cream);font-size:clamp(2.8rem,4.5vw,4.1rem);margin:0}.footer-top .eyebrow{margin-bottom:18px}.footer-middle{padding:38px 0 44px;border-top:1px solid #ffffff30;font-size:12px;line-height:1.9}.footer-wordmark{font-family:'Inria Serif',serif;font-size:25px;text-decoration:none;color:var(--cream)}.footer-label{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#c9d2c2;margin-bottom:15px}.footer-middle a:not(.footer-wordmark){display:block;margin-bottom:6px;color:#e2e5dd;width:fit-content;text-decoration:none}.footer-middle a:hover{text-decoration:underline;color:white}.footer-bottom{padding:20px 0;border-top:1px solid #ffffff30;font-size:9px;letter-spacing:.03em;display:flex;justify-content:space-between;gap:20px}.page-intro{padding:78px 0 68px}.page-intro .eyebrow{margin-bottom:22px}.page-intro h1{margin-bottom:25px;max-width:1100px}.intro-copy{max-width:650px;font-size:16px;line-height:1.9}.about-portrait{position:relative}.about-portrait img{width:100%;height:580px;object-fit:cover;object-position:72% center;border-radius:180px 0 0 0}.image-tag{position:absolute;bottom:25px;left:0;background:var(--cream);padding:15px 24px;font-size:12px}.mission-section{background:#e4e8dd;padding:82px 0}.mission-copy{font-family:'Inria Serif',serif;font-size:2rem;line-height:1.5;color:var(--forest)}.mission-section h2{margin-bottom:0}.pet-figure{margin:0}.pet-figure img{width:100%;height:450px;object-fit:cover}.pet-figure figcaption,.travel-grid figcaption{font-size:10px;color:var(--muted);margin-top:14px;line-height:1.7}.travel-grid{display:grid;grid-template-columns:1fr .8fr 1fr;gap:28px;margin-top:96px;align-items:center}.travel-grid figure{margin:0}.travel-grid img{width:100%;height:460px;object-fit:cover}.travel-grid figure:last-child{margin-top:90px}.travel-grid figure:last-child img{object-position:38% 50%}.travel-text{padding:20px;text-align:center}.travel-text h3{font-size:2.6rem;line-height:1.25}.travel-text p{font-size:12px;margin-top:25px}.decorative-leaf{display:block;color:#809276}.decorative-leaf svg{width:75px;height:105px;margin-bottom:25px}.service-jump{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-jump a{width:33.3333%;padding:24px 20px;font-size:11px;text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:10px}.service-jump a:first-child{padding-left:0}.service-jump a+ a{border-left:1px solid var(--line)}.service-jump a:hover{background:#e5e9df}.clinical-panel{padding:45px 50px;background:#e5e9df}.clinical-panel h3{font-size:2rem;margin-bottom:27px}.procedure-list{list-style:none;padding:0;margin:0}.procedure-list li{border-top:1px solid var(--line);padding:14px 0;font-size:14px}.procedure-list li:before{content:'+';margin-right:13px;color:#65765f}.panel-note{border-top:1px solid var(--line);padding-top:20px;margin-bottom:0;font-size:11px;line-height:1.9;color:#4e5e50}.dentistry-section{background:#eee8df}.service-photo{height:500px;width:100%;object-fit:cover}.simple-list{padding-left:20px;margin:25px 0}.simple-list li{padding:7px 0;font-size:14px}.warm-panel{background:#ecded2}.care-philosophy{background:#e5e9df;padding:78px 0}.care-philosophy h2{margin:0}.practice-banner{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:var(--cream)}.practice-banner h2{color:var(--cream);font-size:3.6rem}.practice-banner p{font-size:14px}.practice-banner img{width:100%;height:100%;min-height:460px;object-fit:cover;object-position:55% center}.practice-banner-copy{padding:60px}.practice-banner .eyebrow{font-size:10px}.value-row{display:flex;gap:28px;padding:30px 0;border-top:1px solid var(--line)}.value-row:last-child{padding-bottom:0}.value-row>span{font-size:10px;margin-top:9px;color:#65765f}.value-row h3{font-size:1.9rem}.value-row p{font-size:14px;margin:15px 0 0}.process-section{background:#e7eade}.process-step{padding-right:45px}.step-no{font-family:'Inria Serif',serif;font-size:42px;display:block;border-top:1px solid #a3b19b;padding-top:18px;color:#687d60;margin-bottom:20px}.process-step h3{font-size:1.8rem}.process-step p{font-size:13px;line-height:1.9}.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-radius:0;--bs-accordion-border-color:var(--line);--bs-accordion-active-bg:transparent;--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-active-color:var(--forest)}.accordion-item{border-left:0;border-right:0}.accordion-button{font-family:'Tenor Sans',sans-serif;font-size:14px;line-height:1.6;padding:24px 4px;color:var(--forest)}.accordion-body{font-size:13px;padding:0 28px 24px 4px;line-height:1.9}.accordion-button::after{width:15px;height:15px;background-size:15px}.contact-aside>p{font-size:14px}.contact-aside h2{font-size:2.7rem}.contact-details{border-top:1px solid var(--line);margin-top:35px;padding-top:30px;font-size:13px}.contact-details>span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:9px;color:#5a6a53;margin-bottom:7px}.contact-details>a{display:flex;align-items:center;gap:10px;margin-bottom:25px;text-decoration:none;overflow-wrap:anywhere}.contact-details>a svg{width:18px}.contact-details p{margin-bottom:24px}.pet-parent-note{padding:25px;background:#e5e9df;margin-top:30px}.pet-parent-note h3{font-size:1.5rem}.pet-parent-note p{font-size:12px;margin:12px 0 0}.inquiry-panel{padding:45px 48px;background:#eeeadf}.inquiry-panel h2{font-size:2.6rem;margin-bottom:12px}.form-intro{font-size:13px;margin-bottom:35px}.form-label{font-size:11px;line-height:1.5;margin-bottom:10px}.optional{color:#606958;font-size:10px}.form-control,.form-select{border:1px solid #b8bcac;border-radius:0;background:#faf9f5;min-height:49px;font-size:13px;color:var(--forest);padding:12px 14px}.form-control::placeholder{font-size:11px;color:#6b7366;opacity:1}.form-control:focus,.form-select:focus{border-color:#677c5d;background:#fff;box-shadow:0 0 0 3px #8a9a8630}.form-note{font-size:10px;line-height:1.8;color:#5c6756;margin:26px 0 24px}.form-status{font-size:12px;margin:18px 0 0}.form-status:empty{display:none}#inquiry-fallback{font-size:12px;border-top:1px solid var(--line);margin-top:25px;padding-top:25px}#inquiry-fallback .text-link{font-size:11px}#inquiry-text{font-size:11px;line-height:1.7}.email-link{overflow-wrap:anywhere}
@media(min-width:1440px){.hero{padding-top:83px;padding-bottom:93px}.hero-photo{height:650px}}
@media(max-width:1199px){.navbar-nav{gap:18px}.hero-copy{padding-right:24px}.hero-photo{height:550px}.hero-note{left:-10px;padding:18px;font-size:19px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:11px}.service-row{grid-template-columns:30px 1fr 1fr 42px;gap:18px}.service-row h3{font-size:1.9rem}.practice-banner-copy{padding:45px}.inquiry-panel{padding:38px 30px}}
@media(max-width:991px){.container-xl{padding-left:28px;padding-right:28px}.navbar-collapse{padding:20px 0 10px}.navbar-nav{align-items:stretch;gap:10px}.navbar-nav .nav-link{font-size:14px;padding:10px 0!important;width:fit-content}.nav-contact{margin-top:10px;width:100%;font-size:13px}.hero{padding-top:45px;padding-bottom:60px}.hero-copy{padding-right:12px}.hero h1{font-size:5rem}.hero-description{max-width:540px;font-size:15px}.hero-visual{max-width:640px;margin:0 auto;padding-left:20px}.hero-photo{height:590px}.hero-note{left:-5px;bottom:60px}.hero-actions .text-link{font-size:13px}.hero-location{margin-bottom:6px}.hero-visual::before{right:0}.section{padding:75px 0}.section-heading{align-items:flex-start}.service-row{grid-template-columns:35px 1fr 1fr 44px}.portrait-photo{height:570px;object-position:45% center}.quote-section{padding:65px 0}.footer-top{padding:65px 0 40px}.page-intro{padding:60px 0 45px}.about-portrait img{height:580px}.travel-grid{gap:20px;margin-top:65px}.travel-grid img{height:350px}.travel-text{padding:0}.travel-text h3{font-size:2rem}.practice-banner{grid-template-columns:1fr 1fr}.practice-banner-copy{padding:35px}.practice-banner h2{font-size:2.8rem}.practice-banner img{min-height:470px}.clinical-panel{padding:35px}.service-jump a{font-size:10px;padding:20px 14px}.service-photo{height:470px}.inquiry-panel{padding:40px}.contact-details{display:grid;grid-template-columns:100px 1fr;gap:10px}.contact-details p,.contact-details a{margin-bottom:13px}.pet-parent-note{max-width:600px}.process-step{padding-right:25px}}
@media(max-width:767px){body{font-size:14px}.container-xl{padding-left:22px;padding-right:22px}.topline{font-size:8px}.topline span:last-child{display:none}.topline .container-xl{justify-content:center!important}.navbar{padding-top:12px;padding-bottom:12px}.brand img{width:51px;height:47px}.brand b{font-size:29px}.brand small{font-size:6.5px}.brand{gap:9px}.hero{padding:36px 0 50px}.hero h1{font-size:clamp(3.35rem,11.8vw,5.1rem);line-height:1.04;margin-bottom:25px}.hero .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:23px}.hero-description{font-size:13px;max-width:100%}.hero-actions{gap:22px;flex-wrap:wrap;margin-top:24px}.hero-actions .text-link{font-size:12px}.hero-actions .btn{font-size:12px;padding:14px 20px;min-height:51px}.hero-visual{padding:0 10px 26px 12px;margin-top:5px}.hero-photo{height:490px;border-radius:200px 200px 0 0}.hero-visual::before{inset:28px -4px 8px 27px}.hero-note{left:0;bottom:55px;padding:16px 20px 16px 10px;font-size:18px}.note-symbol svg{width:36px;height:48px}.photo-caption{font-size:8px;right:10px}.care-strip{padding:17px 0}.care-strip .container-xl{gap:9px;flex-wrap:wrap;justify-content:center}.care-strip span{font-size:9px}.care-strip .strip-flower{font-size:17px}.section{padding:62px 0}h2{font-size:2.6rem;line-height:1.13;margin-bottom:24px}.eyebrow{font-size:9px;margin-bottom:18px}.lead-copy{font-size:1.45rem}.section-heading{display:block;margin-bottom:30px}.section-heading .text-link{margin-top:22px}.service-row{grid-template-columns:24px 1fr 36px;gap:12px;padding:25px 0}.service-row h3{font-size:1.65rem}.service-row p{grid-column:2;grid-row:2;font-size:12px;max-width:100%;margin-top:0}.service-row .round-arrow{grid-column:3;grid-row:1 / span 2;width:35px;height:35px}.round-arrow svg{width:18px}.service-no{font-size:9px;margin-top:7px}.portrait-composition{padding:0 14px 22px 0}.portrait-photo{height:430px;border-radius:0 90px 0 0;object-position:42% 50%}.small-photo-label{font-size:15px;left:14px;padding:15px}.quote-section{padding:55px 0 60px}.quote-section blockquote{font-size:1.9rem;line-height:1.35}.quote-mark{font-size:75px}.quote-section p{font-size:8px}.footer h2{font-size:2.7rem}.footer-top{padding:58px 0 35px}.footer-top .eyebrow{font-size:8px}.footer-middle{font-size:10px;padding:32px 0}.footer-wordmark{font-size:24px}.footer-label{font-size:8px}.footer-bottom{flex-direction:column;gap:5px;font-size:8px}.page-intro{padding:45px 0 38px}.page-intro h1{font-size:clamp(3rem,10.3vw,4.5rem);line-height:1.08}.intro-copy{font-size:13px}.about-portrait img{height:460px;border-radius:130px 0 0 0}.mission-section{padding:60px 0}.mission-copy{font-size:1.7rem}.pet-figure img{height:300px}.pet-figure figcaption,.travel-grid figcaption{font-size:9px}.travel-grid{grid-template-columns:1fr 1fr;gap:30px 18px;margin-top:60px;align-items:start}.travel-text{grid-column:1 / -1;grid-row:1;padding-bottom:15px}.travel-text h3{font-size:2.25rem}.travel-text h3 br{display:none}.travel-text p{margin:15px 0 0}.decorative-leaf svg{width:45px;height:65px;margin-bottom:15px}.travel-grid img{height:300px}.travel-grid figure:last-child{margin-top:40px}.service-jump{flex-direction:column}.service-jump a{width:100%;font-size:12px;padding:17px 0}.service-jump a+ a{border-left:0;border-top:1px solid var(--line)}.clinical-panel{padding:28px}.clinical-panel h3{font-size:1.8rem}.procedure-list li{font-size:12px}.service-photo{height:340px}.care-philosophy{padding:60px 0}.practice-banner{display:flex;flex-direction:column}.practice-banner-copy{padding:35px 28px 40px}.practice-banner h2{font-size:2.75rem}.practice-banner img{height:300px;min-height:0}.practice-banner p{font-size:12px}.value-row{gap:20px;padding:25px 0}.value-row h3{font-size:1.8rem}.value-row p{font-size:12px}.process-step{padding-right:12px}.process-step p{font-size:12px}.step-no{font-size:35px;margin-bottom:15px}.process-section h2{margin-bottom:0}.accordion-button{font-size:12px;padding:21px 0}.accordion-body{font-size:12px}.inquiry-panel{padding:32px 22px}.inquiry-panel h2{font-size:2.2rem}.form-intro{font-size:12px}.contact-details{font-size:12px;grid-template-columns:80px 1fr}.contact-aside h2{font-size:2.6rem}.form-control,.form-select{font-size:12px}.form-note{font-size:10px}.form-status{font-size:11px}}
@media(max-width:390px){.container-xl{padding-left:18px;padding-right:18px}.hero-actions{gap:18px}.hero-photo{height:420px}.care-strip span{font-size:8px}.care-strip .container-xl{gap:7px}.hero-note{font-size:16px}.inquiry-panel{padding:28px 18px}.travel-grid img{height:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:767px){.travel-text h3 br{display:block}.travel-grid>*{min-width:0}.about-portrait img{object-position:100% center}}
/* Keep the cats’ faces at the upper right of the original hero frame. */
.hero-photo img{object-position:right top}

/* ========================================================================
   HOME HERO / SEQUENCED ENTRANCE
   1. Headline words enter from left to right, spaced 140ms apart.
   2. The terracotta backdrop rises, followed by the photo and a gentle zoom.
   3. The small reassurance box rises last; the caption fades in after it.
   All movement uses transform/opacity so the final layout does not shift.
   site.js enables these rules only when JavaScript and motion are available.
   ======================================================================== */
.hero-word {
  display: inline-block;
}
.hero-motion:not(.hero-ready) .hero-word,
.hero-motion:not(.hero-ready) .hero-photo,
.hero-motion:not(.hero-ready) .hero-visual::before,
.hero-motion:not(.hero-ready) .hero-note,
.hero-motion:not(.hero-ready) .photo-caption {
  opacity: 0;
}
.hero-ready .hero-word {
  animation: sage-word-enter 650ms cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(var(--word-index) * 140ms);
}
.hero-ready .hero-visual::before {
  animation: sage-backdrop-enter 900ms cubic-bezier(.22, 1, .36, 1) 1500ms both;
}
.hero-ready .hero-photo {
  animation: sage-photo-enter 950ms cubic-bezier(.22, 1, .36, 1) 1700ms both;
}
.hero-ready .hero-photo img {
  animation: sage-photo-settle 1100ms cubic-bezier(.22, 1, .36, 1) 1700ms both;
  transform-origin: right top;
}
.hero-ready .hero-note {
  animation: sage-note-enter 700ms cubic-bezier(.22, 1, .36, 1) 2900ms both;
}
.hero-ready .photo-caption {
  animation: sage-caption-enter 500ms ease-out 3100ms both;
}
@keyframes sage-word-enter {
  from { opacity: 0; transform: translateX(-36px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes sage-backdrop-enter {
  from { opacity: 0; transform: translateY(60px) rotate(7deg) scale(.96); }
  to   { opacity: 1; transform: translateY(0) rotate(3deg) scale(1); }
}
@keyframes sage-photo-enter {
  from { opacity: 0; transform: translateY(42px); clip-path: inset(24% 0 0 0); }
  to   { opacity: 1; transform: translateY(0); clip-path: inset(0 0 0 0); }
}
@keyframes sage-photo-settle {
  from { transform: scale(1.07); }
  to   { transform: scale(1); }
}
@keyframes sage-note-enter {
  from { opacity: 0; transform: translateY(34px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes sage-caption-enter {
  from { opacity: 0; }
  to   { opacity: 1; }
}
/* Respect the visitor’s device preference, including changes mid-animation. */
@media (prefers-reduced-motion: reduce) {
  .hero-word, .hero-photo, .hero-photo img,
  .hero-visual::before, .hero-note, .photo-caption {
    animation: none !important;
    opacity: 1 !important;
    clip-path: none !important;
  }
}
