:root{--bg:#f8f5ef;--ink:#2f2f2f;--green:#355b47;--sage:#8faf8a;--rust:#c46a3a;--card:#fffdf9;--line:#e2dbce}*{box-sizing:border-box}html{scroll-behavior:smooth}body.rbv-body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 Outfit,Arial,sans-serif;overflow-x:hidden}h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.15;margin:0 0 20px}h1{font-size:clamp(3rem,6vw,6.2rem)}h2{font-size:clamp(2.2rem,4vw,4rem)}h3{font-size:1.5rem}p{margin:0 0 20px}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--rust);outline-offset:3px}.container{width:min(1180px,calc(100% - 32px));margin:auto}.narrow{max-width:850px}.center{text-align:center}.lead{font-size:1.15rem;color:#666}.skip-link{position:fixed;top:-100px;left:10px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:10px}.site-header{position:fixed;z-index:50;top:24px;left:0;right:0}.header-wrap{margin:auto;width:min(1240px,calc(100% - 32px));padding:12px 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(248,245,239,.83);border:1px solid rgba(53,91,71,.12);border-radius:18px;backdrop-filter:blur(14px);box-shadow:0 10px 25px #2f2f2f10}.brand{display:flex;align-items:center;gap:12px}.brand img{height:46px}.brand span{display:flex;flex-direction:column;line-height:1.1}.brand b{font:600 20px Fraunces,serif}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:#666}.primary-nav{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:500}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff!important;padding:12px 24px;border-radius:999px;font-weight:600;border:1px solid var(--green);transition:.2s}.button:hover{transform:translateY(-2px);background:#294a39}.button.outline{background:transparent;color:var(--ink)!important;border-color:var(--line)}.button.ghost{background:#ffffff14;border-color:#ffffff66}.button.accent{background:var(--rust);border-color:var(--rust)}.button.white{background:#fff;color:var(--green)!important}.nav-toggle{display:none;background:none;border:0}.hero,.page-hero{color:#fff;background-size:cover;background-position:center;position:relative}.hero{height:100svh;min-height:640px;display:flex;align-items:center}.hero-content{max-width:820px;padding-top:90px}.hero p,.page-hero p{font-size:clamp(1.1rem,2vw,1.35rem);max-width:650px}.eyebrow{color:var(--sage);display:block;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:600;margin-bottom:15px}.eyebrow.light{color:#fff;background:#ffffff20;border:1px solid #ffffff44;border-radius:999px;padding:5px 14px;width:max-content}.accent-text{color:var(--rust)}em{font-weight:400}.actions{display:flex;gap:16px;margin-top:30px}.scroll-note{position:absolute;bottom:25px;left:50%;font-size:11px;letter-spacing:2px;text-transform:uppercase}.texture{position:relative}.texture:before{content:"";position:absolute;inset:0;opacity:.16;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.trust,.bio,.services-home,.species,.testimonials,.contact,.content-section,.faq{padding:100px 0;position:relative}.trust{margin-top:-36px;border-radius:48px 48px 0 0;background:var(--bg)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:60px}.feature-grid i,.card-grid i{color:var(--rust);font-style:normal;font-size:28px;float:left;margin-right:16px}.feature-grid p{font-size:14px;color:#666}.two-col{display:grid;grid-template-columns:5fr 7fr;gap:9%;align-items:center;position:relative}.portrait{position:relative}.portrait img,.about-photo{width:100%;display:block;object-fit:cover;border-radius:48px;box-shadow:0 20px 40px #0002}.portrait img{aspect-ratio:4/5}.portrait aside{position:absolute;bottom:-28px;right:-26px;max-width:210px;background:var(--card);padding:24px;border-radius:24px;box-shadow:0 15px 35px #0002}.portrait b{display:block;font:3rem Fraunces;color:var(--rust)}blockquote{margin:25px 0;padding-left:20px;border-left:4px solid var(--rust);font:italic 500 1.2rem/1.5 Fraunces;color:#353535}.services-home{background:#fffdf9}.services-home>.container{position:relative}.inline-link{position:absolute;right:0;top:36px;color:var(--green);font-weight:600}.image-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.image-cards article{min-height:500px;padding:34px;color:#fff;display:flex;flex-direction:column;justify-content:end;background-position:center;background-size:cover;border-radius:28px;overflow:hidden}.image-cards h3{font-size:1.7rem}.image-cards p{font-size:14px}.image-cards a{background:#ffffff30;width:40px;height:40px;text-align:center;border-radius:50%;padding:6px;font-size:20px}.repro-home{background:var(--green);color:#fff}.repro-home h2{color:#fff}.repro-home .eyebrow{color:var(--rust)}.compact-list,.list-box ul{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0;list-style:none}.compact-list li:before,.list-box li:before{content:"•";color:var(--rust);margin-right:10px}.arched{width:100%;height:650px;object-fit:cover;border-radius:160px 35px 35px 35px;border:8px solid #ffffff22}.species{background:#f0ded2}.species .lead{max-width:700px;margin:0 auto}.species-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:55px}.species-grid article{background:#fff;padding:28px 12px;border-radius:25px;color:var(--green)}.species-grid h3{font:600 16px Outfit;margin:10px 0}.species-grid p{font-size:12px;color:#666}.testimonials{background:var(--card)}.testimonials header{max-width:690px;margin:0 auto 55px}.carousel{max-width:960px;margin:auto;outline:none}.slide{display:grid;grid-template-columns:5fr 7fr;background:#fff;border:1px solid var(--line);border-radius:32px;overflow:hidden;box-shadow:0 15px 35px #0002}.slide.hidden{display:none}.slide>img{width:100%;height:100%;min-height:380px;object-fit:cover}.slide>div{padding:45px}.slide h3{font-size:2.2rem;margin-bottom:3px}.story p{color:#555}.read-more{border:0;border-top:1px solid var(--line);background:none;color:var(--green);font:600 15px Outfit;padding:17px 0 0;cursor:pointer}.carousel-controls{display:flex;justify-content:center;gap:16px;margin-top:36px}.carousel-controls button{border:0;background:var(--green);color:#fff;border-radius:50%;width:42px;height:42px;font-size:20px;cursor:pointer}.dots{display:flex;gap:10px;align-items:center}.dots button{width:9px;height:9px;background:#355b4744}.dots button[aria-pressed=true]{width:32px;border-radius:8px;background:var(--green)}.contact dl{margin:35px 0}.contact dt{font:600 18px Fraunces;margin-top:20px}.contact dd{margin:3px 0;color:#666}.contact-image{position:relative}.contact-image>img{width:100%;height:650px;object-fit:cover;border-radius:48px}.contact-image aside{position:absolute;bottom:28px;left:28px;right:28px;background:#fffdf9e8;padding:20px 24px;border-radius:24px;font:22px Fraunces;display:flex;align-items:center;justify-content:space-between}.contact-image small{display:block;font:11px Outfit;text-transform:uppercase;letter-spacing:1px}.contact-image a{font:600 14px Outfit;border:1px solid var(--line);border-radius:999px;padding:9px 16px}.page-hero{height:60vh;min-height:500px;display:flex;align-items:center}.page-hero .container{padding-top:80px}.content-section{margin-top:-35px;border-radius:45px 45px 0 0;background:var(--bg)}.article-grid{display:grid;grid-template-columns:5fr 7fr;gap:8%;align-items:start}.article-grid.reverse{grid-template-columns:7fr 5fr}.article-grid article p{font-size:1.08rem;color:#555}.about-photo{position:sticky;top:120px;aspect-ratio:2/3}.list-box,.card-grid article,.cta{background:var(--card);padding:32px;border:1px solid var(--line);border-radius:28px;margin:35px 0}.cta{background:var(--green);color:#fff;position:sticky;top:120px}.cta.pale{background:var(--card);color:var(--ink)}.cta a:not(.button){display:block;font:1.6rem Fraunces}.cta hr{border:0;border-top:1px solid #ffffff44;margin:25px 0}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.card-grid article{margin:0;min-height:220px}.faq{margin-top:-35px;border-radius:45px 45px 0 0}.faq header{margin-bottom:50px}.faq article{border-bottom:1px solid var(--line)}.faq h3{margin:0}.faq button{width:100%;text-align:left;font:500 clamp(1.2rem,2vw,1.65rem) Fraunces;background:none;border:0;padding:22px 0;display:flex;justify-content:space-between;cursor:pointer;color:var(--ink)}.faq button span{color:var(--green)}.faq article>div p{padding:0 0 22px;color:#666}.legal{padding:170px 16px 100px}.legal article{background:#fff;padding:45px;max-width:800px;margin:auto;border:1px solid var(--line);border-radius:30px}.legal li{margin-bottom:18px}.legal h2{font-size:2rem;margin-top:50px}.site-footer{background:var(--ink);color:#f8f5ef;padding:90px 0 35px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px}.footer-grid h2{font-size:20px;color:#fff}.footer-grid section>a{display:block;color:#f8f5efaa;margin:9px 0;font-size:14px}.footer-grid p{color:#f8f5efaa;font-size:14px}.footer-logo{background:var(--bg);display:inline-block;border-radius:16px;padding:12px}.footer-logo img{height:74px}.social a{display:inline-flex;background:#ffffff12;border-radius:50%;width:38px;height:38px;align-items:center;justify-content:center;margin-right:10px;color:#fff;font-size:20px}.newsletter{display:flex;position:relative}.newsletter>span{position:absolute;left:-9999px}.newsletter input{width:100%;background:#fff1;border:1px solid #fff2;border-radius:12px;padding:12px;color:#fff}.newsletter button{background:var(--green);border:0;color:#fff;border-radius:8px;position:absolute;right:5px;top:5px;height:31px;width:31px}.footer-grid small{color:#f8f5ef88}.footer-bottom{border-top:1px solid #fff2;margin-top:60px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#f8f5ef88}.footer-bottom a{margin-left:18px}
@media(max-width:1050px){.primary-nav{gap:12px}.primary-nav>a:not(.button){display:none}.feature-grid{grid-template-columns:repeat(2,1fr)}.species-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.site-header{top:12px}.header-wrap{padding:10px 15px}.primary-nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:22px;background:#f8f5effa;border-radius:18px;box-shadow:0 12px 25px #0002}.primary-nav.open{display:flex;flex-direction:column;align-items:stretch}.primary-nav>a:not(.button){display:block;font-size:17px}.nav-toggle{display:block;width:38px;height:34px}.nav-toggle i{display:block;height:2px;background:var(--ink);margin:6px}.hero{min-height:620px}.hero h1{font-size:3rem}.actions{flex-direction:column;align-items:stretch}.feature-grid,.two-col,.image-cards,.article-grid,.article-grid.reverse,.footer-grid{grid-template-columns:1fr}.trust,.bio,.services-home,.species,.testimonials,.contact,.content-section,.faq{padding:70px 0}.portrait{margin-bottom:40px}.portrait aside{right:5px}.inline-link{position:static}.image-cards article{min-height:390px}.arched{height:440px;order:-1}.species-grid{grid-template-columns:repeat(2,1fr)}.slide{grid-template-columns:1fr}.slide>img{height:270px;min-height:0}.slide>div{padding:28px}.contact-image>img{height:470px}.contact-image aside{left:15px;right:15px;bottom:15px;font-size:18px}.contact-image aside a{font-size:12px}.page-hero{min-height:430px;height:55vh}.article-grid .about-photo{position:static}.compact-list,.list-box ul,.card-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}.footer-bottom a{margin:0 8px}.legal{padding-top:130px}.legal article{padding:30px 24px}}@media(prefers-reduced-motion:reduce){*,html{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.16,1,.3,1)}.reveal.shown{opacity:1;transform:none}.site-header{transition:top .3s ease}.site-header.scrolled{top:12px}.site-header.scrolled .header-wrap{box-shadow:0 14px 32px #2f2f2f22}.hero,.page-hero{background-position:center calc(50% + var(--parallax-y,0px));transition:background-position .1s linear}.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:42px}.credential-grid div{background:var(--card);padding:20px;border:1px solid var(--line);border-radius:18px;font:1.05rem Fraunces}.credential-grid span{display:block;font:600 11px Outfit;color:var(--sage);letter-spacing:1.4px;text-transform:uppercase;margin-bottom:8px}.inline-link-card{color:var(--green);font-weight:600}.final-cta{margin-top:70px;background:var(--green);color:#fff;padding:34px;border-radius:30px;display:flex;align-items:center;justify-content:space-between;gap:25px}.final-cta h2{font-size:2rem;margin-bottom:7px}.final-cta p{margin:0;color:#ffffffcc}@media(max-width:1050px){.nav-toggle{display:block;width:38px;height:34px}.nav-toggle i{display:block;height:2px;background:var(--ink);margin:6px}.primary-nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:22px;background:#f8f5effa;border-radius:18px;box-shadow:0 12px 25px #0002}.primary-nav.open{display:flex;flex-direction:column;align-items:stretch}.primary-nav>a:not(.button){display:block;font-size:17px}.primary-nav .button{text-align:center}.final-cta{flex-direction:column;align-items:flex-start}}@media(max-width:700px){.credential-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.hero,.page-hero{background-position:center!important}}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px)}.js .reveal.shown{opacity:1;transform:none}.hero,.page-hero{background:none!important;isolation:isolate}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.error404 .legal{min-height:70vh}.error404 .legal article{text-align:center;background:linear-gradient(145deg,#fff,#f4eee4)}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}
.slide.hidden{display:grid}.story[hidden],.faq [hidden]{display:block}.js .slide.hidden{display:none}.js .story[hidden],.js .faq [hidden]{display:none}
/* Reference-matched hero layers and entrance motion. Content remains readable without JavaScript. */
.hero:after,.page-hero:after{content:none}.hero-image,.hero-horizontal-grade,.hero-bottom-grade,.page-hero-image,.page-hero-overlay,.page-hero-bottom-grade{position:absolute;inset:0;pointer-events:none}.hero-image,.page-hero-image{z-index:-3;background:var(--hero-image) var(--hero-position,center)/cover no-repeat}.hero-horizontal-grade{z-index:-2;background:linear-gradient(90deg,rgba(47,47,47,.6) 0%,rgba(47,47,47,.3) 60%,transparent 100%)}.hero-bottom-grade{z-index:-1;background:linear-gradient(0deg,var(--bg) 0,transparent 8rem)}.page-hero-overlay{z-index:-2;background:rgba(47,47,47,.6);mix-blend-mode:multiply}.page-hero-bottom-grade{z-index:-1;background:linear-gradient(0deg,var(--bg) 0,rgba(248,245,239,.2) 20%,transparent 100%)}.hero-content,.page-hero-content,.scroll-note{position:relative;z-index:1}.js .hero-image,.js .page-hero-image{transform:translate3d(0,var(--hero-media-y,0%),0);opacity:var(--hero-media-opacity,1);will-change:transform,opacity}.scroll-note{display:flex;flex-direction:column;align-items:center;gap:5px}.scroll-note b{font-size:18px;line-height:1;font-weight:400}.js .site-header{animation:rbv-header-enter .8s cubic-bezier(.16,1,.3,1) both}.js .hero-badge,.js .hero-title,.js .hero-copy,.js .hero-actions,.js .page-hero-title,.js .page-hero-copy{opacity:0;transform:translateY(30px);animation:rbv-hero-enter .8s cubic-bezier(.16,1,.3,1) forwards}.js .hero-badge{animation-delay:.2s}.js .hero-title{animation-delay:.4s}.js .hero-copy{animation-delay:.6s}.js .hero-actions{animation-delay:.8s}.js .scroll-note{opacity:0;animation:rbv-scroll-fade 1s ease forwards 1.5s}.js .scroll-note b{animation:rbv-scroll-bounce 2s ease-in-out infinite 1.5s}.js .page-hero-title{animation-delay:0s}.js .page-hero-copy{animation-delay:.2s}.js .page-hero-badge{opacity:0;transform:translateY(30px);animation:rbv-hero-enter .8s cubic-bezier(.16,1,.3,1) forwards}.page-hero-badge{animation-delay:.1s}@keyframes rbv-header-enter{from{transform:translateY(-100px)}to{transform:translateY(0)}}@keyframes rbv-hero-enter{to{opacity:1;transform:translateY(0)}}@keyframes rbv-scroll-fade{to{opacity:1}}@keyframes rbv-scroll-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.hero-image,.page-hero-image{transform:none!important;opacity:1!important;will-change:auto}.js .site-header,.js .hero-badge,.js .hero-title,.js .hero-copy,.js .hero-actions,.js .page-hero-badge,.js .page-hero-title,.js .page-hero-copy,.js .scroll-note,.js .scroll-note b{animation:none!important;opacity:1!important;transform:none!important}}
/* Reference container scale: full-width foundations, responsive gutters, and Tailwind-equivalent max widths. */
.container{width:100%;max-width:none;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}.container.narrow{max-width:850px}.site-header{top:0;padding:24px 16px;transition:padding .3s ease}.site-header.scrolled{top:0;padding-top:16px;padding-bottom:16px}.header-wrap{width:100%;margin-left:auto;margin-right:auto;padding:12px 24px}.brand img{height:44px}.primary-nav{gap:24px}@media(min-width:640px){.container,.header-wrap{max-width:40rem}}@media(min-width:768px){.container{max-width:48rem;padding-left:24px;padding-right:24px}.site-header{padding-left:24px;padding-right:24px}.header-wrap{max-width:48rem}.brand img{height:48px}}@media(min-width:1024px){.container,.header-wrap{max-width:64rem}}@media(min-width:1280px){.container,.header-wrap{max-width:80rem}}@media(min-width:1536px){.container,.header-wrap{max-width:96rem}}@media(max-width:700px){.site-header{top:0;padding-top:24px;padding-bottom:24px}.site-header.scrolled{top:0;padding-top:16px;padding-bottom:16px}}
/* Deliberate, observer-driven motion. Specific variants override the generic Y transform without stacking transforms. */
.reveal{transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1)}.js .reveal{transform:translateY(30px)}.js .reveal.contact-reveal-left{transform:translateX(-30px)}.js .reveal.contact-reveal-left.shown{transform:none}.js .reveal.contact-reveal-image{transform:scale(.95);transition-duration:.9s;transition-delay:.1s}.js .reveal.contact-reveal-image.shown{transform:none}.js .reveal.reveal-delay-1{transition-delay:.1s}.js .site-header,.js .hero-badge,.js .hero-title,.js .hero-copy,.js .hero-actions,.js .page-hero-badge,.js .page-hero-title,.js .page-hero-copy{animation-duration:1s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
/* Screenshot-matched footer brand and social block. */
.footer-brand{min-width:0}.footer-logo{width:143px;height:105px;padding:14px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#f3f0e9}.footer-logo img{display:block;width:100%;height:100%;max-width:115px;max-height:77px;object-fit:contain}.site-footer .footer-description{max-width:375px;margin:26px 0 28px;color:#d1d1ce;font-size:15px;line-height:1.6}.social{display:flex;align-items:center;gap:16px;margin:0}.social a{display:inline-flex;width:40px;height:40px;margin:0;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;transition:background-color .25s ease,color .25s ease,transform .25s ease}.social a:hover,.social a:focus-visible{background:var(--green);color:#fff;transform:translateY(-2px);text-decoration:none}.social svg{display:block;width:20px;height:20px;flex:0 0 20px}@media(max-width:700px){.footer-logo{width:143px;height:105px}.site-footer .footer-description{font-size:14px}}
/* Keep this final so the mobile footer wins over the later desktop column declaration above. */
@media(max-width:700px){.footer-grid{grid-template-columns:minmax(0,1fr);gap:40px}.footer-grid>section{min-width:0}.site-footer .footer-description{width:100%;max-width:375px}.footer-grid a{overflow-wrap:anywhere}}
/* 1.1.8 component motion map; all initial states are enhancement-only. */
.js .site-header{animation-duration:.8s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.site-header.scrolled .header-wrap{transition:box-shadow .5s ease}.brand{transition:transform .3s ease}.brand:hover{transform:scale(1.05)}.button,a{transition-duration:.15s}.js [data-motion]{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1) var(--motion-delay,0s),transform .6s cubic-bezier(.22,1,.36,1) var(--motion-delay,0s)}.js [data-motion].shown{opacity:1;transform:none}.js [data-motion="trust-heading"],.js [data-motion="trust-card"]{transform:translateY(20px);transition-duration:.8s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.js [data-motion="trust-card"]{transition-delay:calc(.2s + var(--motion-delay,0s))}.feature-grid article i{transition:transform .5s ease}.feature-grid article:hover i{transform:scale(1.1)}.js [data-motion="curl-image"]{transform:translateX(-50px);transition-duration:.8s;transition-timing-function:ease-out}.js [data-motion="curl-copy"]{transform:translateY(30px);transition-duration:.6s;transition-delay:.4s}.js [data-motion="services-link"]{transition-delay:.2s}.js [data-motion="service-card"]{transform:translateY(20px)}.image-cards article{transition:box-shadow .5s ease}.image-cards article:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:background-color .3s ease}.image-cards article{position:relative}.image-cards article>*{position:relative}.image-cards article:hover{box-shadow:0 18px 38px #0003}.image-cards article:hover{background-size:auto,105%}.image-cards article a{transition:transform .15s ease}.image-cards article:hover a{transform:translateX(4px)}.js [data-motion="repro-copy"]{transform:translateX(-30px)}.js [data-motion="species-card"]{transform:translateY(30px);transition-duration:.5s}.species-grid article{transition:transform .3s ease}.species-grid article:hover{transform:translateY(-8px)}.js .reveal.contact-reveal-left{transform:translateX(-30px);transition-duration:.6s;transition-delay:0s}.js .reveal.contact-reveal-image{transform:scale(.95);transition-duration:.6s;transition-delay:0s}.js .reveal.contact-reveal-left.shown,.js .reveal.contact-reveal-image.shown{transform:none}.js .hero-badge,.js .hero-title,.js .hero-copy,.js .hero-actions,.js .page-hero-badge,.js .page-hero-title,.js .page-hero-copy{animation-duration:.8s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.social a{transition:background-color .15s ease,color .15s ease,transform .15s ease}.social a:hover,.social a:focus-visible{transform:none}.js .faq article>div{max-height:0;opacity:0;overflow:hidden;transition:max-height .2s ease-out,opacity .2s ease-out}.js .faq article>div.open{max-height:1200px;opacity:1}.js .faq button span{transition:transform .2s ease}.js .faq button[aria-expanded="true"] span{transform:rotate(45deg)}.dots button{transition:width .3s ease,background-color .3s ease}@media(max-width:1050px){.js .primary-nav{display:flex;opacity:0;visibility:hidden;transform:translateY(-20px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}.js .primary-nav.open{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}}@media(prefers-reduced-motion:reduce){.js [data-motion],.js [data-motion].shown{opacity:1!important;transform:none!important;transition:none!important}.brand,.social a,.feature-grid article i,.species-grid article,.dots button{transition:none!important}}
.js [data-motion="about-image"]{transform:translateX(-30px);transition-duration:.8s}.js [data-motion="about-copy"]{transform:translateY(30px);transition-duration:.8s;transition-delay:.2s}.js [data-motion="sidebar"]{transform:translateY(30px);transition-duration:.8s;transition-delay:.2s}.js .carousel{position:relative;min-height:520px}.js .slide{transition:opacity .5s ease,transform .5s ease}.js .slide.hidden{display:grid;position:absolute;inset:0;z-index:1;opacity:.4;transform:translateX(12px);pointer-events:none}.js .slide:not(.hidden){position:relative;z-index:2;opacity:1;transform:none}@media(max-width:700px){.js .carousel{min-height:700px}}@media(prefers-reduced-motion:reduce){.js .slide,.js .slide.hidden,.js .slide:not(.hidden){position:relative;opacity:1!important;transform:none!important;transition:none!important}}
/* Final parity corrections: composable section parallax, sliding carousel, and semantic panel motion. */
.portrait{overflow:hidden}.bio .portrait img,.repro-home .arched{transform:translateY(var(--section-parallax-y,0%));will-change:transform}.curl-stat{opacity:1;transform:none}.js .curl-stat{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1) .4s,transform .6s cubic-bezier(.22,1,.36,1) .4s}.js .curl-stat.shown{opacity:1;transform:none}.js [data-motion="curl-copy"]{transition-delay:0s}.js [data-motion="about-image"]{transform:translateY(30px)}.js [data-motion="about-copy"]{transform:translateY(30px);transition-delay:.2s}.js [data-motion="sidebar"]{transform:translateY(30px);transition-delay:.2s}.js [data-motion="faq-panel"]{transform:translateY(20px);transition-delay:.2s}.js .faq article>div.open{max-height:none}.js .faq button span{display:inline-block;transform:rotate(0deg)}.js .faq button[aria-expanded="true"] span{transform:rotate(180deg)}.species-grid article{position:relative;overflow:hidden}.species-grid article:after{content:"";position:absolute;inset:0;background:rgba(53,91,71,.12);opacity:0;transition:opacity .3s ease;pointer-events:none}.species-grid article>*{position:relative;z-index:1}.species-grid article:hover:after{opacity:1}.species-grid article:first-letter{transition:transform .3s ease}.species-grid article:hover:first-letter{transform:scale(1.1)}.js .carousel{overflow:hidden;min-height:0}.js .carousel-track{display:flex;align-items:flex-start;transition:transform .5s cubic-bezier(.22,1,.36,1);will-change:transform}.js .slide,.js .slide.hidden,.js .slide:not(.hidden){display:grid;position:relative;inset:auto;z-index:auto;flex:0 0 100%;opacity:.4;transform:none;pointer-events:none;transition:opacity .5s ease}.js .slide:not(.hidden){opacity:1;pointer-events:auto}.js .slide.hidden{opacity:.4}.js .carousel .slide .story{max-height:none}@media(max-width:1050px){html:not(.js) .primary-nav{display:flex;position:static;flex-direction:column;align-items:flex-start;padding:16px 0;background:none;box-shadow:none}html:not(.js) .primary-nav>a:not(.button){display:block}}@media(prefers-reduced-motion:reduce){.bio .portrait img,.repro-home .arched{transform:none!important;will-change:auto}.js .carousel-track{transform:none!important;transition:none!important}.js .slide,.js .slide.hidden,.js .slide:not(.hidden){position:relative;flex-basis:100%;opacity:1!important;pointer-events:auto;transition:none!important}.js .curl-stat,.js .curl-stat.shown{opacity:1!important;transform:none!important;transition:none!important}}
.portrait{overflow:visible}.species-grid .species-icon{display:inline-block;transition:transform .3s ease}.species-grid article:hover .species-icon{transform:scale(1.1)}.species-grid article:first-letter{transition:none;transform:none}
.js .reproduction-hero .page-hero-badge{animation-delay:0s}.js .reproduction-hero .page-hero-title{animation-delay:.2s}.js .reproduction-hero .page-hero-copy{animation-delay:.4s}
.image-cards article{background:none!important}.image-cards .service-card-image,.image-cards .service-card-grade{position:absolute;inset:0}.image-cards .service-card-image{background-position:center;background-size:cover;transition:transform .7s ease}.image-cards .service-card-grade{background:linear-gradient(0deg,rgba(47,47,47,.92),transparent)}.image-cards .service-card-content{position:relative;z-index:1}.image-cards article:hover .service-card-image{transform:scale(1.05)}.image-cards article:hover{background-size:cover}
.image-cards .service-card-content{margin-top:auto}
/* Final 1.1.8 review corrections. */
.portrait-media{aspect-ratio:4/5;overflow:hidden;border-radius:48px;box-shadow:0 20px 40px #0002}.portrait-media img{display:block;width:100%;height:120%;max-width:none;object-fit:cover;border-radius:0;box-shadow:none;transform:translateY(var(--section-parallax-y,-10%))}.arched-frame{width:100%;height:650px;overflow:hidden;border-radius:160px 35px 35px 35px;border:8px solid #ffffff22}.arched-frame .arched{display:block;width:100%;height:120%;max-width:none;object-fit:cover;border:0;border-radius:0;transform:translateY(var(--section-parallax-y,-10%))}.js [data-motion="intro-title"],.js [data-motion="intro-copy"]{transform:translateY(20px)}.js [data-motion="intro-copy"]{transition-delay:.1s}.js [data-motion="specialty-body"]{transform:translateY(30px);transition-duration:.8s;transition-delay:0s}.js [data-motion="faq-heading"]{transform:translateY(20px);transition-delay:0s}.js [data-motion="faq-panel"]{transform:translateY(20px);transition-delay:.2s}.js .faq article>div.open{max-height:var(--faq-height,1200px)}@media(max-width:700px){.arched-frame{height:440px;order:-1}}@media(prefers-reduced-motion:reduce){.js .carousel-track{transform:translateX(var(--carousel-x,0%))!important;transition:none!important}.portrait-media img,.arched-frame .arched{transform:none!important}}
/* Unified hero media wrappers carry photograph and grades together. */
.hero-media,.page-hero-media{position:absolute;inset:0;z-index:-1;pointer-events:none}.hero-media>div,.page-hero-media>div{position:absolute;inset:0}.hero-media .hero-image,.page-hero-media .page-hero-image{z-index:0}.hero-media .hero-horizontal-grade,.page-hero-media .page-hero-overlay{z-index:1}.hero-media .hero-bottom-grade,.page-hero-media .page-hero-bottom-grade{z-index:2}.js .hero-media,.js .page-hero-media{transform:translate3d(0,var(--hero-media-y,0%),0);opacity:var(--hero-media-opacity,1);will-change:transform,opacity}.js .hero-media .hero-image,.js .page-hero-media .page-hero-image{transform:none;opacity:1;will-change:auto}.js .carousel-clone{opacity:.4!important;pointer-events:none!important}.js .carousel-clone.loop-active{opacity:1!important}@media(prefers-reduced-motion:reduce){.js .hero-media,.js .page-hero-media{transform:none!important;opacity:1!important;will-change:auto}}

/* 1.1.9 Services Page Parity */
.services-hero{height:60vh!important;min-height:500px!important}
.js .services-hero{background:var(--ink)!important}
.services-hero .page-hero-title{font-size:36px;line-height:1.1;margin-bottom:1.5rem;text-shadow:0 4px 6px rgba(0,0,0,.1);font-weight:400}
@media(min-width:768px){.services-hero .page-hero-title{font-size:60px}}
@media(min-width:1024px){.services-hero .page-hero-title{font-size:72px}}
.services-hero .page-hero-copy{font-size:18px;line-height:1.625;font-weight:300;color:rgba(255,255,255,.9);max-width:36rem;text-shadow:0 1px 2px rgba(0,0,0,.05);margin-bottom:0}
@media(min-width:768px){.services-hero .page-hero-copy{font-size:20px}}
.services-hero .page-hero-overlay{background:rgba(47,47,47,.4);mix-blend-mode:multiply}
.services-hero .page-hero-bottom-grade{background:linear-gradient(to top,var(--bg) 0,rgba(248,245,239,.2) 50%,transparent 100%)}
.services-hero .container{padding-top:5rem}
.services-overview{padding:6rem 0;background:var(--bg);position:relative;z-index:20;margin-top:-2.5rem;border-radius:3rem 3rem 0 0;border-top:1px solid var(--line)}
.services-container{padding-left:1rem;padding-right:1rem}
@media(min-width:768px){.services-container{padding-left:1.5rem;padding-right:1.5rem}}
.services-intro{max-width:48rem;margin:0 auto 5rem;text-align:center}
.services-intro h2{font-size:30px;line-height:36px;font-family:Fraunces,serif;color:var(--ink);margin-bottom:1.5rem;font-weight:400}
@media(min-width:768px){.services-intro h2{font-size:36px;line-height:40px}}
.services-intro p{font-size:1.125rem;color:#666;font-weight:300;line-height:1.625;margin:0}
.services-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.services-grid{gap:2rem}}
.service-card{background:var(--card,#fffdf9);border-radius:1.5rem;padding:2rem;border:1px solid var(--line);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);transition:all .3s ease;display:flex;flex-direction:column;margin:0;min-height:0}
.service-card:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.sc-icon{width:3.5rem;height:3.5rem;border-radius:1rem;background:rgba(196,106,58,.1);border:1px solid rgba(196,106,58,.2);display:flex;align-items:center;justify-content:center;color:var(--rust);margin-bottom:1.5rem;transition:background-color .3s ease,color .3s ease}
.service-card:hover .sc-icon{background:var(--rust);color:#fff}
.sc-icon svg{width:1.5rem;height:1.5rem}
.service-card h3{font-size:24px;line-height:32px;font-family:Fraunces,serif;font-weight:500;color:var(--ink);margin:0 0 1rem 0;transition:color .3s ease}
.service-card:hover h3{color:var(--green)}
.service-card p{color:#666;line-height:1.625;font-weight:300;margin:0 0 1.5rem 0;flex-grow:1;font-size:1rem}
.sc-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--green);font-weight:500;margin-top:auto;transition:color .3s ease}
.sc-link svg{width:1rem;height:1rem;transition:transform .3s ease}
.sc-link:hover{color:var(--rust)}
.sc-link:hover svg{transform:translateX(.25rem)}
.services-cta-wrap{margin-top:5rem;text-align:center}
.services-cta{display:inline-flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;border-radius:2rem;background:var(--green);color:#fff;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
@media(min-width:640px){.services-cta{flex-direction:row}}
.scta-text{text-align:left;max-width:28rem}
.scta-text h4{font-family:Fraunces,serif;font-size:1.5rem;line-height:32px;margin:0 0 .5rem 0;font-weight:400;color:#fff}
.scta-text p{color:rgba(255,255,255,.8);font-weight:300;font-size:.875rem;line-height:20px;margin:0}
.services-cta .button.white{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;color:var(--green)!important;font-weight:500;height:3rem;padding:0 2rem;border-radius:9999px;background:#fff;transition:all .3s ease;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);flex-shrink:0;border:0}
.services-cta .button.white:hover{background:rgba(255,255,255,.9);transform:scale(1.05)}

/* 1.1.11 Reproduction Page Parity */
.reproduction-hero { height: 70vh !important; min-height: 600px !important; }
.reproduction-hero { background-color: var(--ink) !important; }
.reproduction-hero .page-hero-overlay { background: rgba(47, 47, 47, 0.4) !important; }
.reproduction-hero .page-hero-bottom-grade { background: linear-gradient(0deg, var(--bg) 0, rgba(248,245,239,.2) 50%, transparent 100%) !important; }

.reproduction-hero .page-hero-badge {
  background: var(--rust) !important; border-color: rgba(196, 106, 58, 0.5) !important; color: #fff !important;
  text-transform: uppercase; letter-spacing: 1.2px; font-size: 12px; font-weight: 600; padding: 6px 16px;
  margin-bottom: 24px; line-height: 16px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.reproduction-hero .page-hero-title { font-size: 36px; line-height: 1.1; margin-bottom: 1.5rem; text-shadow: 0 4px 6px rgba(0,0,0,.1); font-weight: 400; }
@media(min-width: 768px) { .reproduction-hero .page-hero-title { font-size: 60px; } }
@media(min-width: 1024px) { .reproduction-hero .page-hero-title { font-size: 72px; } }

.reproduction-hero .page-hero-copy {
  color: rgba(255, 255, 255, 0.9); font-size: 18px; line-height: 1.625; margin-bottom: 0;
  font-weight: 300; text-shadow: 0 2px 4px rgba(0,0,0,.05); max-width: 36rem;
}
@media(min-width: 768px) { .reproduction-hero .page-hero-copy { font-size: 20px; } }

.repro-content-section {
  padding-top: 96px; padding-bottom: 96px; background: var(--bg); position: relative; z-index: 20;
  margin-top: -40px; border-radius: 48px 48px 0 0; border-top: 1px solid var(--line);
}

.repro-grid { display: grid; grid-template-columns: 1fr; gap: 64px; align-items: start; }
@media(min-width: 1024px) {
  .repro-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .repro-main { grid-column: span 7 / span 7; }
  .repro-sidebar { grid-column: span 5 / span 5; position: sticky; top: 128px; }
}

.repro-main h2 { color: var(--ink); font-size: 30px; line-height: 36px; margin-bottom: 32px; }
@media(min-width: 768px) { .repro-main h2 { font-size: 36px; line-height: 40px; } }

.repro-main h3 { font-weight: 600; font-family: Fraunces, Georgia, serif; color: var(--ink); font-size: 24px; line-height: 36px; margin-top: 40px; margin-bottom: 16px; }

.repro-main p { color: rgba(47,47,47,0.8); font-weight: 300; font-size: 18px; line-height: 1.625; margin-bottom: 24px; }

.repro-services-box {
  margin: 48px 0; padding: 32px; background: var(--card); border-radius: 32px;
  border: 1px solid var(--line); box-shadow: 0px 4px 8px -2px rgba(43,41,39,.05), 0px 2px 4px -2px rgba(43,41,39,.03);
}

.repro-services-box h3 { margin-top: 0; margin-bottom: 24px; font-size: 24px; line-height: 32px; }

.repro-services-list { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 0; padding: 0; list-style: none; }
@media(min-width: 768px) { .repro-services-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.repro-services-list li {
  display: flex; align-items: center; gap: 12px; color: rgba(47,47,47,0.8);
  font-weight: 500; font-size: 18px; line-height: 32px; margin: 0; padding: 0;
}
.repro-services-list li::before { content: ""; display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--rust); flex-shrink: 0; }

.repro-sidebar-card {
  background: var(--green); color: #fff; border-radius: 48px; padding: 40px;
  box-shadow: 0px 24px 48px -12px rgba(43, 41, 39, 0.16);
}
.repro-sidebar-card h3 { font-family: Fraunces, Georgia, serif; font-size: 30px; line-height: 36px; font-weight: 400; margin-bottom: 16px; color: #fff; }
.repro-sidebar-card p { color: rgba(255,255,255,0.8); font-weight: 300; margin-bottom: 32px; line-height: 1.625; font-size: 16px; }
.repro-sidebar-card .button {
  display: inline-flex; width: 100%; align-items: center; justify-content: center; gap: 8px;
  height: 56px; padding: 0 32px; background: #fff; color: var(--green) !important;
  border-radius: 9999px; font-weight: 500; border: 1px solid #fff;
  box-shadow: 0px 16px 32px -8px rgba(43, 41, 39, 0.12); transition: all 0.2s ease; text-decoration: none;
}
.repro-sidebar-card .button:hover { background: rgba(255,255,255,0.9); transform: scale(1.05); }
.repro-sidebar-card .button svg { width: 20px; height: 20px; flex-shrink: 0; }
.repro-sidebar-card hr { margin: 32px 0; border: 0; border-top: 1px solid rgba(255,255,255,0.2); }
.repro-sidebar-card small { display: block; font-size: 14px; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255,255,255,0.6); font-weight: 700; margin-bottom: 8px; }
.repro-sidebar-card .direct-line { font-size: 24px; font-family: Fraunces, Georgia, serif; color: #fff; transition: color 0.2s ease; text-decoration: none; }
.repro-sidebar-card .direct-line:hover { color: var(--rust); }

.js [data-motion="repro-main"] { opacity: 0; transform: translateY(30px); transition: opacity 0.8s ease, transform 0.8s ease; }
.js [data-motion="repro-sidebar"] { opacity: 0; transform: translateY(30px); transition: opacity 0.8s ease 0.2s, transform 0.8s ease 0.2s; }
.js [data-motion="repro-main"].shown, .js [data-motion="repro-sidebar"].shown { opacity: 1; transform: none; }
@media(prefers-reduced-motion: reduce) {
  .js [data-motion="repro-main"], .js [data-motion="repro-sidebar"] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* 1.1.12 Exotics Parity */
.exotics-content-section {
  padding: 96px 0;
  margin-top: -40px;
  border-radius: 48px 48px 0 0;
  border-top: 1px solid var(--line);
  background: var(--bg);
  position: relative;
  z-index: 20;
}
.exotics-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 64px;
  align-items: flex-start;
}
@media(min-width: 1024px) {
  .exotics-grid {
    grid-template-columns: repeat(12, 1fr);
  }
  .exotics-main {
    grid-column: span 7 / span 7;
  }
  .exotics-sidebar {
    grid-column: span 5 / span 5;
    position: sticky;
    top: 128px;
  }
}
.exotics-main h2 {
  font-size: 30px;
  line-height: 36px;
  margin-bottom: 32px;
  color: var(--ink);
}
@media(min-width: 768px) {
  .exotics-main h2 {
    font-size: 36px;
    line-height: 40px;
  }
}
.exotics-main p {
  font-size: 1.125rem;
  color: rgba(47, 47, 47, 0.8);
  font-weight: 300;
  line-height: 1.625;
  margin-bottom: 24px;
}
.exotics-main h3 {
  font-size: 24px;
  line-height: 36px;
  font-family: Fraunces, serif;
  color: var(--ink);
  margin-top: 40px;
  margin-bottom: 16px;
  font-weight: 600;
}
.exotics-species-box {
  margin: 48px 0;
  padding: 32px;
  background: var(--card);
  border-radius: 32px;
  border: 1px solid var(--line);
  box-shadow: 0 4px 8px -2px rgba(43, 41, 39, 0.05), 0 2px 4px -2px rgba(43, 41, 39, 0.03);
}
.exotics-species-box h3 {
  margin: 0 0 24px 0;
  font-size: 24px;
  line-height: 32px;
  font-weight: 600;
}
.species-list-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media(max-width: 389px) {
  .species-list-grid {
    grid-template-columns: 1fr;
  }
}
.species-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(47, 47, 47, 0.8);
  font-weight: 500;
  font-size: 18px;
  line-height: 32px;
}
.species-bullet {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--rust);
  flex-shrink: 0;
}
.exotics-sidebar-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 48px;
  padding: 40px;
  box-shadow: 0 24px 48px -12px rgba(43, 41, 39, 0.16), 0 12px 24px -12px rgba(43, 41, 39, 0.08);
}
.exotics-sidebar-card h3 {
  font-family: Fraunces, serif;
  font-size: 30px;
  line-height: 36px;
  margin-bottom: 16px;
  color: var(--ink);
  font-weight: 400;
}
.exotics-sidebar-card p {
  color: hsl(0, 0%, 40%);
  font-weight: 300;
  margin-bottom: 32px;
  line-height: 1.625;
  font-size: 16px;
}
.exotics-cta-btn {
  display: inline-flex;
  width: 100%;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  height: 56px;
  padding: 0 32px;
  border-radius: 9999px;
  background: var(--green);
  color: #fff !important;
  box-shadow: 0 16px 32px -8px rgba(43, 41, 39, 0.12), 0 8px 16px -8px rgba(43, 41, 39, 0.06);
  transition: transform 0.2s ease, background-color 0.2s ease;
  font-size: 16px;
  text-decoration: none;
  border: none;
}
.exotics-cta-btn:hover {
  background: rgba(53, 91, 71, 0.9);
  transform: scale(1.05);
}
.exotics-hero {
  height: 60vh !important;
  min-height: 500px !important;
  background: var(--ink) !important;
}
.exotics-hero .page-hero-overlay {
  background: rgba(47, 47, 47, 0.4);
}
.exotics-hero .page-hero-bottom-grade {
  background: linear-gradient(0deg, var(--bg) 0%, rgba(248, 245, 239, 0.2) 50%, transparent 100%);
}
.exotics-hero .page-hero-title {
  font-size: 36px;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  font-weight: 400;
  text-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
@media(min-width: 768px) {
  .exotics-hero .page-hero-title {
    font-size: 60px;
  }
}
@media(min-width: 1024px) {
  .exotics-hero .page-hero-title {
    font-size: 72px;
  }
}
.exotics-hero .page-hero-copy {
  font-size: 1.125rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 300;
  line-height: 1.625;
  text-shadow: 0 1px 2px rgba(0,0,0,0.05);
  max-width: 36rem;
  margin-bottom: 0;
}
@media(min-width: 768px) {
  .exotics-hero .page-hero-copy {
    font-size: 1.25rem;
  }
}
.exotics-hero .page-hero-content {
  padding-top: 80px;
}
.js .exotics-hero .page-hero-title {
  animation-delay: 0s;
}
.js .exotics-hero .page-hero-copy {
  animation-delay: 0.2s;
}
.js [data-motion="exotics-main"] {
  transform: translateY(30px);
  transition-duration: 0.8s;
  transition-delay: 0s;
}
.js [data-motion="exotics-sidebar"] {
  transform: translateY(30px);
  transition-duration: 0.8s;
  transition-delay: 0.2s;
}

/* 1.1.12 FAQ Hero Parity */
.faq-hero{height:50vh!important;min-height:400px!important;background-color:var(--ink)!important}
.faq-hero .page-hero-media{background-color:var(--ink)}
.faq-hero .page-hero-overlay{background-color:rgba(47,47,47,0.6);mix-blend-mode:multiply}
.faq-hero .page-hero-bottom-grade{background:linear-gradient(0deg,var(--bg) 0%,rgba(248,245,239,0.2) 50%,transparent 100%)}
.faq-hero .container{padding-top:80px;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}
.faq-hero .page-hero-title{text-align:center;max-width:48rem;margin:0 auto 1.5rem;line-height:1.1;filter:drop-shadow(0 4px 3px rgba(0,0,0,0.07)) drop-shadow(0 2px 2px rgba(0,0,0,0.06));font-size:36px;font-weight:400}
@media(min-width:768px){.faq-hero .page-hero-title{font-size:48px}}
@media(min-width:1024px){.faq-hero .page-hero-title{font-size:60px}}

/* 1.1.16 homepage-only React/reference parity; inner routes remain untouched. */
body.home .site-header{padding:24px}body.home .header-wrap{min-height:72px;border-radius:16px}
body.home .home-hero{height:100dvh;min-height:0;overflow:hidden}body.home .home-hero .hero-content{padding-top:80px;padding-left:24px;padding-right:24px}body.home .home-hero .hero-content>*{max-width:768px}body.home .home-hero .hero-badge{display:inline-block;padding:6px 16px;margin-bottom:24px;font-size:14px;line-height:20px;letter-spacing:.025em;text-transform:none;font-weight:500}body.home .home-hero h1{font-size:72px;line-height:1.1;font-weight:400;margin-bottom:24px;text-shadow:0 4px 6px rgba(0,0,0,.15)}body.home .home-hero h1 span{display:block;white-space:nowrap}body.home .home-hero .hero-copy{max-width:576px;font-size:20px;line-height:1.625;font-weight:300;margin-bottom:40px}body.home .home-hero .hero-actions{margin-top:0}body.home .home-hero .hero-actions .button{height:56px;padding:0 32px;font-size:16px;font-weight:500}body.home .home-hero .scroll-note{position:absolute;z-index:10;bottom:40px;left:50%;transform:translateX(-50%);gap:8px;color:rgba(255,255,255,.6)}body.home .home-hero .scroll-note svg{width:20px;height:20px}
body.home .home-trust{padding:80px 0;margin-top:-40px;border-radius:48px 48px 0 0;border-top:1px solid rgba(255,255,255,.5);box-shadow:0 -10px 40px rgba(0,0,0,.05)}body.home .home-trust h2{font-size:36px;line-height:40px;color:var(--green);margin-bottom:64px}body.home .home-trust .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;row-gap:48px;margin-top:0}body.home .home-trust .feature-grid article{display:flex;align-items:flex-start;gap:20px}body.home .home-trust .trust-icon{display:flex;float:none;margin:0;flex:0 0 48px;width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px rgba(0,0,0,.05);color:var(--rust)}body.home .home-trust .trust-icon svg{width:20px;height:20px}body.home .home-trust h3{font-size:20px;line-height:28px;font-weight:500;margin:0 0 8px}body.home .home-trust p{font-size:14px;line-height:1.625;margin:0;color:#666}
body.home .bio{padding:96px 0}body.home .bio .two-col{grid-template-columns:5fr 7fr;gap:64px}body.home .bio .portrait-media{aspect-ratio:4/5;border-radius:48px}body.home .bio .portrait-media img{height:120%;object-fit:cover;object-position:center}body.home .bio .curl-stat{right:-32px;bottom:-32px;max-width:220px;padding:32px;border-radius:24px}body.home .bio .curl-stat b{font-size:48px;line-height:1;margin-bottom:8px}body.home .bio .curl-copy{padding-left:40px}body.home .bio .curl-copy>h2{font-size:60px;line-height:1.25;margin-bottom:32px}body.home .bio .curl-copy blockquote{font-size:20px;line-height:1.625;margin:0 0 24px;padding:8px 0 8px 24px}
body.home .services-home{padding:96px 0}body.home .services-home .image-cards{gap:32px;margin-top:64px}body.home .services-home .image-cards article{height:500px;min-height:500px;padding:32px;border-radius:24px}body.home .services-home .image-cards h3{font-size:24px;line-height:32px;margin-bottom:12px}body.home .services-home .image-cards p{font-size:14px;line-height:1.625;margin-bottom:24px;color:rgba(255,255,255,.8)}
body.home .repro-home{padding:128px 0}body.home .repro-home .two-col{grid-template-columns:repeat(12,minmax(0,1fr));gap:64px}body.home .repro-home .two-col>div:first-child{grid-column:8/span 5;order:2}body.home .repro-home .two-col>.arched-frame{grid-column:2/span 5;order:1}body.home .repro-home h2{font-size:60px;line-height:1.1;margin-bottom:32px}body.home .repro-home p{font-size:18px;line-height:1.625;font-weight:300;color:rgba(255,255,255,.8)}body.home .repro-home .arched-frame{height:700px;border-radius:160px 160px 32px 32px}
body.home .home-species{padding:96px 0}body.home .home-species .species-heading{max-width:672px;margin:0 auto 64px}body.home .home-species h2{font-size:48px;line-height:1.15;margin-bottom:24px}body.home .home-species .species-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;margin-top:0}body.home .home-species .species-grid article{padding:32px;border:1px solid rgba(226,219,206,.5);border-radius:24px;background:#fff}body.home .home-species .species-icon{display:flex;align-items:center;justify-content:center;margin:0 0 16px;color:var(--green)}body.home .home-species .species-icon svg{width:32px;height:32px}body.home .home-species .species-grid h3{margin:0 0 8px}
body.home .home-testimonials{padding:96px 0}body.home .home-testimonials .carousel{max-width:1152px}body.home .home-testimonials .slide{flex-basis:80%;grid-template-columns:5fr 7fr;border-radius:32px}body.home .home-testimonials .slide>div{padding:48px}body.home .home-testimonials .slide>img{min-height:440px}body.home .home-testimonials .carousel-controls{margin-top:48px}body.home .home-testimonials .carousel-controls>button{width:44px;height:44px}body.home .home-story-cta{text-align:center;max-width:672px;margin:80px auto 0}body.home .home-story-cta h3{font-size:36px;line-height:40px;margin-bottom:16px}body.home .home-story-cta p{color:rgba(47,47,47,.7)}body.home .home-story-cta>div{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:32px}body.home .home-story-cta .button{padding:12px 28px}
body.home .contact{padding:96px 0}body.home .contact .two-col{grid-template-columns:1fr 1fr;gap:96px}body.home .contact h2{font-size:48px;line-height:1.15;margin-bottom:32px}body.home .contact .lead{max-width:448px;font-size:18px;line-height:1.625;margin-bottom:40px}body.home .contact dl{display:grid;gap:32px;margin:0 0 40px}body.home .home-contact-item{display:flex;align-items:flex-start;gap:20px}body.home .home-contact-item>i{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--rust);font-style:normal;box-shadow:0 1px 2px rgba(0,0,0,.05)}body.home .home-contact-item>i svg{width:20px;height:20px}body.home .home-contact-item dt{margin:0 0 4px}body.home .home-contact-item dd{font-size:14px;line-height:1.625}body.home .contact-image>img{height:700px;border-radius:48px;border:4px solid rgba(255,255,255,.5)}body.home .contact-image aside{bottom:32px;left:32px;right:32px;padding:24px;border-radius:32px}
@media(min-width:1280px){body.home .header-wrap{max-width:1232px}body.home .home-hero .hero-content{max-width:1280px}}
@media(min-width:1536px){body.home .header-wrap{max-width:1488px}body.home .home-hero .hero-content{max-width:1536px}}
@media(min-width:1024px){body.home .home-testimonials header{max-width:672px;margin-bottom:64px}body.home .home-testimonials header h2,body.home .contact h2{font-size:48px;line-height:48px}body.home .home-testimonials header h2{letter-spacing:normal;white-space:nowrap}body.home .contact h2{letter-spacing:-1.2px;white-space:normal}body.home .contact .two-col>div:first-child{min-width:0}}
@media(max-width:1023px){body.home .home-hero .hero-content{padding-left:24px}body.home .home-trust .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.home .bio .two-col,body.home .repro-home .two-col,body.home .contact .two-col{grid-template-columns:1fr;gap:64px}body.home .repro-home .two-col>div:first-child,body.home .repro-home .two-col>.arched-frame{grid-column:auto}body.home .bio .curl-copy{padding-left:0}body.home .repro-home .arched-frame{height:500px;order:-1}body.home .home-species .species-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.home .home-testimonials .slide{flex-basis:90%}body.home .contact .two-col{gap:48px}body.home .contact-image>img{height:500px}}
@media(max-width:767px){body.home .site-header{padding:16px}body.home .home-hero .hero-content{padding:96px 16px 40px;transform:translateY(12px)}body.home .home-hero h1{font-size:48px;line-height:52.8px;letter-spacing:-.025em}body.home .home-hero h1 span{display:inline;white-space:normal}body.home .home-hero .hero-copy{font-size:18px}body.home .home-hero .scroll-note{bottom:24px}body.home .eyebrow{font-size:12px;line-height:16px;margin-bottom:16px}body.home .home-hero .hero-badge{line-height:20px;margin-bottom:24px}body.home .home-trust h2{font-size:30px;line-height:36px}body.home .home-trust .feature-grid{grid-template-columns:1fr}body.home .bio,body.home .services-home,body.home .home-species,body.home .home-testimonials,body.home .contact{padding:96px 0}body.home .bio .curl-stat{right:0}body.home .bio .curl-copy>h2{font-size:36px;line-height:40px}body.home .bio .curl-copy>h2 em{font-size:30px;line-height:36px}body.home .services-home h2,body.home .home-species h2,body.home .home-testimonials header h2,body.home .contact h2{font-size:36px;line-height:40px}body.home .repro-home h2{font-size:36px;line-height:39.6px}body.home .home-story-cta h3{font-size:30px;line-height:36px}body.home .services-home .image-cards{grid-template-columns:1fr}body.home .home-species .species-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.home .home-species .species-grid article{padding:24px 12px}body.home .home-testimonials .slide{flex-basis:100%;grid-template-columns:1fr}body.home .home-testimonials .slide>img{height:288px;min-height:0}body.home .home-testimonials .slide>div{padding:32px}body.home .contact-image aside{left:32px;right:32px}}
@media(max-width:767px){body.home .bio .two-col{grid-template-columns:minmax(0,1fr)}body.home .bio .two-col>*,body.home .bio .portrait,body.home .bio .curl-copy{min-width:0}}
body.home .home-hero .scroll-note svg{animation:rbv-scroll-bounce 2s ease-in-out infinite 1.5s}
@media(prefers-reduced-motion:reduce){body.home .home-hero .scroll-note svg{animation:none!important;transform:none!important}}
/* 1.1.19 final motion authority: enhancement-only states mirror route components. */
.js [data-motion]{opacity:0;transform:translateY(30px);transition:opacity .8s ease var(--motion-delay,0s),transform .8s ease var(--motion-delay,0s)}
.js [data-motion].shown{opacity:1;transform:none}
.js [data-motion="about-image"]{transform:translateY(30px);transition:opacity .8s ease 0s,transform .8s ease 0s}
.js [data-motion="about-copy"]{transform:translateY(30px);transition:opacity .8s ease .2s,transform .8s ease .2s}
.js [data-motion="repro-main"]{transform:translateY(30px);transition:opacity .8s ease 0s,transform .8s ease 0s}
.js [data-motion="repro-sidebar"]{transform:translateY(30px);transition:opacity .8s ease .2s,transform .8s ease .2s}
.js [data-motion="exotics-main"]{transform:translateX(-50px);transition:opacity .8s ease-out 0s,transform .8s ease-out 0s}
.js [data-motion="exotics-sidebar"]{transform:translateY(30px);transition:opacity .6s ease-out .4s,transform .6s ease-out .4s}
.js [data-motion="species-card"]{transform:translateY(30px);transition-duration:.5s;transition-delay:var(--motion-delay,0s)}
.js .reveal.contact-reveal-left{transform:translateX(-30px);transition:opacity .6s ease 0s,transform .6s ease 0s}
.js .reveal.contact-reveal-image{transform:scale(.95);transition:opacity .6s ease 0s,transform .6s ease 0s}

/* Standalone Contact displays the complete portrait and keeps directions out of the photograph. */
.contact-page-image{min-width:0}
.contact-page-image>img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center;border:4px solid rgba(255,255,255,.5);border-radius:48px}
.contact-page-image aside{position:static;inset:auto;width:100%;margin:18px 0 0;padding:20px 24px;border-radius:24px;box-shadow:0 12px 28px rgba(47,47,47,.1);gap:16px}
@media(max-width:700px){.contact-page-image>img{height:auto}.contact-page-image aside{position:static;inset:auto;margin-top:14px;flex-wrap:wrap}.contact-page-image aside a{margin-left:auto}}

.contact #contact-details{scroll-margin-top:140px}
@media(max-width:700px){.contact #contact-details{scroll-margin-top:112px}}
.js .about-hero .page-hero-title{animation:rbv-hero-enter .8s cubic-bezier(.16,1,.3,1) forwards 0s}
.js .about-hero .page-hero-copy{animation:rbv-hero-enter .8s cubic-bezier(.16,1,.3,1) forwards .2s}
@media(prefers-reduced-motion:reduce){.js [data-motion],.js [data-motion].shown,.js .about-hero .page-hero-title,.js .about-hero .page-hero-copy{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}
/* Keep named component variants authoritative after the generic primary reveal. */
.js [data-motion="curl-image"]{transform:translateX(-50px);transition:opacity .8s ease-out 0s,transform .8s ease-out 0s}
.js [data-motion="curl-copy"]{transform:translateY(30px);transition:opacity .6s cubic-bezier(.22,1,.36,1) .4s,transform .6s cubic-bezier(.22,1,.36,1) .4s}
.js [data-motion="trust-card"]{transform:translateY(20px);transition:opacity .8s cubic-bezier(.16,1,.3,1) calc(.2s + var(--motion-delay,0s)),transform .8s cubic-bezier(.16,1,.3,1) calc(.2s + var(--motion-delay,0s))}
.js [data-motion="services-link"]{transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1) .2s,transform .6s cubic-bezier(.22,1,.36,1) .2s}
.js [data-motion="faq-panel"]{transform:translateY(20px);transition:opacity .8s ease .2s,transform .8s ease .2s}

/* 1.1.27 standalone Contact parity; homepage Contact remains independently scoped above. */
.contact-page{padding:160px 0 96px}
.contact-page>.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.contact-page .contact-reveal-left{min-width:0;padding-top:18px}
.contact-page h1{font-size:42px;line-height:1.15;letter-spacing:-.02em;margin-bottom:24px}
.contact-page .lead{max-width:448px;font-size:18px;line-height:1.625;margin-bottom:0}
.contact-page dl{display:grid;gap:28px;margin:40px 0}
.contact-page-item{display:flex;align-items:flex-start;gap:20px;min-width:0}
.contact-page-item>i{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--rust);font-style:normal;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.contact-page-item>i svg{width:20px;height:20px}
.contact-page-item>div{min-width:0}
.contact-page .contact-page-item dt{margin:0 0 4px}
.contact-page .contact-page-item dd{font-size:14px;line-height:1.625;overflow-wrap:anywhere}
.contact-page .contact-page-image{width:100%;max-width:696px;justify-self:end}
@media(min-width:1280px){.contact-page{padding-top:195px}.contact-page>.two-col{width:calc(100% - 32px);max-width:1488px;padding:0;grid-template-columns:1fr 1fr;gap:96px}.contact-page .contact-reveal-left{padding-top:18px}.contact-page dl{gap:32px}}
@media(min-width:1536px){.contact-page h1{font-size:48px;white-space:nowrap}}
@media(max-width:767px){.contact-page{padding:128px 0 72px}.contact-page>.two-col{grid-template-columns:minmax(0,1fr);gap:48px}.contact-page .contact-reveal-left{padding-top:0}.contact-page h1{font-size:clamp(36px,10vw,42px);white-space:normal}.contact-page .contact-page-image{max-width:600px;justify-self:center}.contact-page dl{gap:24px;margin:32px 0}}

/* 1.1.28 homepage Contact uses the standalone full portrait media component. */
body.home .contact-image.contact-page-image{width:100%;max-width:696px;min-width:0;justify-self:end}
body.home .contact-image.contact-page-image>img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center;border:4px solid rgba(255,255,255,.5);border-radius:48px}
body.home .contact-image.contact-page-image aside{position:static;inset:auto;width:100%;margin:18px 0 0;padding:20px 24px;border-radius:24px;box-shadow:0 12px 28px rgba(47,47,47,.1);gap:16px}
@media(max-width:1023px){body.home .contact-image.contact-page-image{justify-self:center}}
@media(max-width:700px){body.home .contact-image.contact-page-image>img{height:auto}body.home .contact-image.contact-page-image aside{position:static;inset:auto;margin-top:14px;flex-wrap:wrap}body.home .contact-image.contact-page-image aside a{margin-left:auto}}

/* 1.1.30 opening announcements and effective-hours notices. */
.opening-banner{position:relative;z-index:2;margin-top:128px;background:var(--green);color:#fff;border-block:4px solid var(--rust);text-align:center}
.opening-banner .container{padding-top:18px;padding-bottom:18px}
.opening-banner strong{display:block;font:500 clamp(18px,2vw,24px)/1.35 Fraunces,Georgia,serif}
.opening-banner p{margin:5px 0 0;color:#fff;font-size:15px;font-weight:500}
.grand-opening{padding:72px 0 88px;background:var(--card);text-align:center}
.grand-opening .container{max-width:850px}
.grand-opening h2{margin-bottom:18px;color:var(--green);font-size:clamp(36px,4vw,54px)}
.grand-opening p{margin:0 auto 18px;max-width:720px;font-size:18px}
.grand-opening strong{display:block;padding:14px 20px;border:1px solid rgba(196,106,58,.45);border-radius:16px;background:rgba(196,106,58,.1);color:#67351f}
.hours-effective-notice{margin:6px 0 10px;padding:9px 11px;border-left:4px solid var(--rust);border-radius:0 8px 8px 0;background:rgba(196,106,58,.13);color:inherit;font-size:13px;line-height:1.45;font-weight:500}
.site-footer .footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.25fr}
.footer-hours ul{list-style:none;margin:0;padding:0;color:#f8f5efaa;font-size:14px;line-height:1.7}
.footer-hours .hours-effective-notice{color:#fff;background:rgba(255,255,255,.09)}
@media(max-width:1279px){.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.site-header:has(.primary-nav.open)+.opening-banner{margin-top:max(128px,var(--rbv-opening-menu-clearance,128px))}}
@media(min-width:1051px) and (max-width:1100px){.primary-nav{gap:8px;font-size:13px}.primary-nav .button{padding-inline:16px}}
@media(max-width:700px){.opening-banner{margin-top:122px}.opening-banner .container{padding-top:15px;padding-bottom:15px}.opening-banner strong{font-size:18px}.opening-banner p{font-size:14px}.site-header:has(.primary-nav.open)+.opening-banner{margin-top:max(122px,var(--rbv-opening-menu-clearance,122px))}.grand-opening{padding:56px 0 72px}.grand-opening p{font-size:16px}.site-footer .footer-grid{grid-template-columns:minmax(0,1fr)}}

