/* Client adaptation layer; original layout geometry retained where content permits. */
.rs,.rs .rb,.rs *{font-family:"PingFang HK","Noto Sans TC","Microsoft JhengHei",sans-serif!important}
.rs .material-symbols-outlined{font-family:system-ui,sans-serif!important;font-size:20px}
.rs p,.rs h1,.rs h2,.rs h3,.rs a,.rs span{word-break:normal;overflow-wrap:anywhere}
.rs .l-header-logo img,.rs .l-footer-info__logo img,.rs .p-top-about__logo img{width:100%;height:100%;object-fit:contain}
.rs .l-header-logo{min-width:100px}
.rs .p-top-mv__pictures img{object-fit:cover;object-position:50% 28%}
.rs .p-top-mv__pictures figure:nth-child(2) img{object-position:50% 55%}
.rs .p-top-mv__pictures figure:nth-child(3) img{object-position:50% 22%}
.rs .p-top-mv__txt1{line-height:1.8;letter-spacing:.08em}
.rs .p-top-mv__txt2{line-height:2;letter-spacing:.05em}
.rs .p-top-about__item img,.rs .p-top-feature img,.rs .p-top-staff__pic img{object-fit:contain}
.rs .brand-link{display:inline-block;color:var(--brand-ink);font-weight:700;border-bottom:1px solid currentColor;padding:10px 0;line-height:1.8}
.rs .brand-copy-intro{max-width:800px;margin:0 auto 70px;line-height:2.1}
.rs .brand-copy-intro h2{font-size:clamp(24px,3vw,36px);margin:12px 0 24px;line-height:1.6}
.rs .brand-copy-intro p{margin:16px 0}
.rs .brand-copy-intro>img{display:block;max-width:520px;width:100%;margin:36px auto;object-fit:contain}
.rs .brand-quote-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;line-height:2}
.rs .brand-quote-row img{width:100%;max-height:300px;object-fit:contain}
.rs .brand-quote-row h3{font-size:28px;margin-bottom:16px}
.rs .brand-muted{font-size:14px;color:var(--brand-muted);line-height:1.9;margin-top:18px}
.rs .brand-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:60px 0}
.rs .brand-about-card{padding:24px;border-radius:28px;background:var(--brand-surface);line-height:2}
.rs .brand-about-card img{width:100%;aspect-ratio:1.4;object-fit:contain}
.rs .brand-about-card h3{font-size:21px;margin:20px 0 12px}
.rs .brand-faq-list{max-width:920px;margin:auto}
.rs .brand-faq{border-bottom:1px dotted var(--brand-border);padding:18px 0}
.rs .brand-faq>button{width:100%;display:flex;gap:18px;align-items:baseline;text-align:left;font:inherit;font-weight:700;font-size:18px;padding:18px 0;line-height:1.8;cursor:pointer}
.rs .brand-faq>button span{color:var(--brand-primary);white-space:nowrap}
.rs .brand-faq-answer{padding:0 0 20px 45px;line-height:2.1}
.rs .brand-detail-section{margin:60px 0;line-height:2.1}
.rs .brand-detail-section h2{font-size:28px;margin-bottom:24px}
.rs .brand-detail-section ol{list-style:decimal;padding-left:24px}
.rs .brand-detail-section li{padding:12px 0}
.rs .c-cards-service__desc{line-height:2}
.rs .c-cards-service__pic img{object-fit:contain;background:var(--brand-surface)}
.rs .p-top-news time,.rs .p-top-blog time{font-size:12px}
.rs .l-footer-credit{font-size:11px}
.rs .p-top-event img{object-fit:contain;max-height:200px;background:var(--brand-surface);border-radius:18px}
.rs .p-top-mv__target img{max-width:100%}
.rs .p-feature-point img{object-fit:contain}
.rs .p-price-list__wrap,.rs .p-staff-list__wrap{padding-top:60px;padding-bottom:80px}
.rs .p-service-detail{padding-top:60px;padding-bottom:80px}
.rs .l-footer-copyright{font-size:12px}
.preview-notice *{font-family:"PingFang HK","Microsoft JhengHei",sans-serif}
.brand-preview-strip{position:relative;z-index:10000;padding:10px 20px;background:var(--brand-cream);color:#4c554e;font:12px/1.7 system-ui;text-align:center}
@media(max-width:1023px){.rs .brand-about-grid{grid-template-columns:1fr;gap:20px}.rs .brand-about-card{display:grid;grid-template-columns:140px 1fr;column-gap:24px}.rs .brand-about-card img{grid-row:1/3}.rs .brand-about-card h3{margin:0 0 12px}.rs .brand-quote-row{gap:28px}.rs .brand-copy-intro{margin-bottom:48px}}
@media(max-width:600px){.rs .brand-quote-row{grid-template-columns:1fr;gap:20px}.rs .brand-about-card{display:block}.rs .brand-about-card img{max-height:220px}.rs .brand-faq>button{font-size:16px}.rs .brand-faq-answer{padding-left:0}.rs .p-top-mv__txt1{font-size:25px}.rs .p-top-mv__txt2{font-size:14px}.rs .p-price-section{margin-top:60px}}

/* Keep replacement images in the reference-authored boxes. */
.rs .l-header-logo{width:108px!important;min-width:0!important;height:auto!important}
.rs .l-header-logo img{width:108px!important;height:auto!important}
.rs .l-footer-info__logo{max-width:170px}
.rs .p-top-about__logo{max-width:190px;margin-left:auto;margin-right:auto}
.rs .p-top-mv__pictures img{height:25rem!important;object-fit:cover!important}
.rs .brand-preview-strip{position:relative!important;background:var(--brand-cream)!important;color:#4c554e!important;padding:8px 16px!important;font-size:12px!important;line-height:1.7!important;text-align:center!important}
.rs .l-header{top:var(--brand-header-offset,0px)}
.rs .brand-quote-row h3 small{display:block;font-size:16px;margin-top:8px}
@media(max-width:1023px){.rs .p-top-mv__pictures img{height:22rem!important}.rs .l-header-logo,.rs .l-header-logo img{width:84px!important}}

.rs>.rb{background:var(--brand-paper)!important;color:#555!important}
.rs .p-top-event{background:var(--brand-surface)!important;padding-top:40px;padding-bottom:40px}
.rs .brand-promo{display:flex;align-items:center;min-height:190px;gap:12px;background:var(--brand-paper);border-radius:22px;padding:16px;box-sizing:border-box}
.rs .brand-promo img{width:48%!important;height:150px!important;max-height:150px!important;object-fit:contain!important;background:transparent!important}
.rs .brand-promo strong{display:block;font-size:18px;line-height:1.6;color:var(--brand-ink);margin-bottom:10px}
.rs .brand-promo span{display:block;font-size:13px;line-height:1.8}
.rs .brand-hero-arch{position:absolute!important;inset:0!important;overflow:hidden!important;pointer-events:none}
.rs .brand-hero-arch::after{content:"";position:absolute;left:-12%;width:124%;top:33%;height:160%;border-radius:50% 50% 0 0;background:var(--brand-paper)}
.rs .p-top-about,.rs .p-top-feature,.rs .p-top-staff,.rs .p-top-news,.rs .p-top-blog{background-color:var(--brand-paper)!important}
.rs .p-top-about-item img{width:100%;height:100%;object-fit:contain}
.rs .l-header-logo img{filter:brightness(0) invert(1)}
.rs .is-scrolled .l-header-logo img{filter:none}
.rs .l-header-logo{top:20px!important}
@media(max-width:1023px){.rs .brand-promo{min-height:180px}.rs .brand-promo strong{font-size:16px}.rs .brand-hero-arch::after{top:29%;left:-80%;width:260%}.rs .l-header{top:var(--brand-header-offset,0px)}.rs .l-header-logo{top:18px!important}}

.rs .js-section-dark{background-color:var(--brand-primary)!important}
.rs .l-header-logo img{filter:none}
.rs .is-section-dark .l-header-logo img{filter:brightness(0) invert(1)}

.rs .brand-hero-arch{z-index:0!important}
.rs .p-top-mv__wrap{position:relative;z-index:3}

.rs .p-feature-mv__pic img{width:100%;height:540px;object-fit:cover;object-position:center 25%}
.rs .p-feature-bg__pic img{width:100%;height:420px;object-fit:cover;object-position:center 30%}
.rs .p-feature-point-item__pictures img{height:300px;object-fit:cover}
.rs .p-feature-mv__logo img{width:170px;height:auto}
.rs .p-contact-list__pic img{width:100%;height:220px;object-fit:contain;background:var(--brand-surface)}
.rs .cm-main-header .cm-main-header__bg img{height:420px;object-fit:contain}
.rs .l-footer-sns img{display:none}
.rs .cm-footer-sns__link{font-size:12px;color:var(--brand-ink)!important}
@media(max-width:1023px){.rs .p-feature-mv__pic img{height:420px}.rs .p-feature-bg__pic img{height:320px}.rs .p-feature-point-item__pictures img{height:230px}.rs .cm-main-header .cm-main-header__bg img{height:300px}}

.rs .l-aside-sns{display:none!important}
.rs .l-aside-cta-item--request .l-aside-cta-item__link{background:var(--brand-cream);color:var(--brand-ink)}
.rs .l-aside-cta-item--class .l-aside-cta-item__link{background:var(--brand-primary);color:white}
.rs .l-aside-cta-item__bg{display:none}
.rs .brand-social{display:flex;gap:24px;flex-wrap:wrap;font-size:14px;line-height:2}
.rs .brand-social a{color:var(--brand-ink);border-bottom:1px dotted currentColor}

/* Context-specific imagery, kept in the existing picture boxes. */
.rs .p-top-menu-item__picture img{object-fit:contain;background:var(--brand-surface)}
.rs .p-top-about-item img,.rs .p-top-feature__picture img,.rs .p-top-service__pic img,.rs .p-top-staff__pic img{object-fit:contain}
.rs .c-card-staff__pic img,.rs .c-card-news__pic img,.rs .c-card-blog__pic img{object-fit:cover}
.rs picture[data-illustrative]{position:relative;display:block}
.rs picture[data-illustrative]::after{content:"情境示意";position:absolute;bottom:8px;right:8px;z-index:8;background:rgba(255,255,255,.88);color:var(--brand-ink);padding:3px 7px;border-radius:4px;font:10px/1.5 system-ui;letter-spacing:.05em;pointer-events:none}
.rs img[data-illustrative]{outline:0}

.rs :is(figure,div,a):has(>img[data-illustrative]){position:relative}
.rs :is(figure,div,a):has(>img[data-illustrative])::after{content:"情境示意";position:absolute;bottom:8px;right:8px;z-index:8;background:rgba(255,255,255,.88);color:var(--brand-ink);padding:3px 7px;border-radius:4px;font:10px/1.5 system-ui;letter-spacing:.05em;pointer-events:none}

.rs .is-scrolled .l-header{background:var(--brand-paper);min-height:86px;box-shadow:0 1px 0 rgba(82,121,106,.08)}
.rs .is-scrolled .l-header-nav a{color:var(--brand-ink)!important}
.rs .is-scrolled .l-header-logo img{filter:none!important}
@media(max-width:1023px){.rs .is-scrolled .l-header{min-height:78px}}

/* Approved visual refinement: photo palette, reading rhythm and Chinese type. */
.rs img:is([src*="client-"],[src*="photo-"],[src*="dog-sheltie"],[src*="dog-cavalier"],[src*="dog-outdoors"]){filter:saturate(.88) contrast(.96) brightness(1.03) sepia(.035)}
.rs img:is([src*="park-sniff"],[src*="home-settle"],[src*="puppy-focus"],[src*="poodle-enrichment"]){filter:saturate(.82) contrast(.96) brightness(.99)}
.rs .p-top-about{padding:72px 0 80px}
.rs .p-top-about__title{font-size:clamp(22px,2.2vw,30px);line-height:1.9;text-decoration:none;letter-spacing:.03em}
.rs .p-top-about__item{margin-top:44px;gap:32px}
.rs .p-top-about-item:nth-child(1),.rs .p-top-about-item:nth-child(3){margin-top:48px}
.rs .p-top-about__txt1{font-size:clamp(18px,1.8vw,24px);line-height:2;text-decoration:none;max-width:850px;margin:32px auto 0}
.rs .p-top-about__txt2{font-size:16px;line-height:1.9;margin-top:20px}
.rs .p-top-feature{padding-top:24px}
.rs .p-top-feature__wrapA{display:block}
.rs .p-top-feature__head{writing-mode:horizontal-tb;display:block;width:auto;max-width:720px;margin-bottom:40px;padding-right:100px}
.rs .p-top-feature__title .c-heading-top--vertical{writing-mode:horizontal-tb;font-size:16px;letter-spacing:.08em}
.rs .p-top-feature__lead{margin:12px 0 0}
.rs .p-top-feature__lead .c-top-lead{display:block}
.rs .p-top-feature__lead .c-top-lead p{font-size:clamp(24px,2.6vw,34px);letter-spacing:.06em;line-height:1.7;border:0}
.rs .p-top-feature__picture{top:0;right:40px}
.rs .p-top-feature__picture img{width:150px}
.rs .p-top-feature-blockA{margin-top:0;align-items:center;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 48px}
.rs .p-top-feature-blockA__title{margin-top:0;font-size:22px;line-height:1.7}
.rs .p-top-feature-blockA__desc{font-size:16px;line-height:1.95}
.rs .p-top-feature__wrapB{margin-top:64px;gap:48px;width:auto;max-width:1050px}
.rs .p-top-feature-blockB{width:auto;flex:1;grid-template-columns:minmax(0,1fr) 45%;gap:0 24px;align-items:center}
.rs .p-top-feature-blockB:nth-child(2){margin-top:32px}
.rs .p-top-feature-blockB__title{margin-left:0}
.rs .p-top-feature-blockB__title .c-heading-top--vertical{writing-mode:horizontal-tb}
.rs .p-top-feature-blockB__title .c-heading-top__ja{writing-mode:horizontal-tb;font-size:23px;line-height:1.7;letter-spacing:.04em}
.rs .p-top-feature-blockB__title .c-heading-top__en{writing-mode:horizontal-tb;transform:none;font-size:12px;letter-spacing:.08em;margin:0 0 12px}
.rs .p-top-feature-blockB__title .u-vertical-rotate{writing-mode:horizontal-tb;transform:none}
.rs .p-top-feature-blockB__pic{margin-right:0}
.rs .p-top-feature-blockB__desc{border-top:1px solid var(--brand-border);font-size:16px;line-height:1.95;margin-top:24px;padding-top:20px}
.rs .l-header-nav a{font-size:13px!important;letter-spacing:.025em}
@media(max-width:1023px){
 .rs .p-top-about{padding:52px 0 56px}
 .rs .p-top-about__item{flex-direction:row;gap:16px;padding:0;margin-top:32px}
 .rs .p-top-about-item{flex:1;min-width:0}
 .rs .p-top-about-item:nth-child(1),.rs .p-top-about-item:nth-child(3){margin-top:32px}
 .rs .p-top-about__logo{margin-top:24px}
 .rs .p-top-feature__wrapA{padding:0 20px}
 .rs .p-top-feature__head{padding-right:100px;margin-bottom:32px}
 .rs .p-top-feature__picture{right:20px}
 .rs .p-top-feature__picture img{width:100px}
 .rs .p-top-feature-blockA__title{margin-top:24px;font-size:20px}
 .rs .p-top-feature__wrapB{margin-top:44px;gap:36px}
 .rs .p-top-feature-blockB:nth-child(2){margin-top:0}
}
@media(max-width:600px){
 .rs .p-top-about__title{font-size:21px;line-height:1.85}
 .rs .p-top-about__txt1{font-size:18px;line-height:1.95;text-wrap:pretty}
 .rs .p-top-about__txt2{font-size:15px}
 .rs .p-top-feature__head{padding-right:0;margin-bottom:24px}
 .rs .p-top-feature__title .c-heading-top--vertical{font-size:14px}
 .rs .p-top-feature__picture{position:static;display:block;text-align:right;margin:0 0 20px}
 .rs .p-top-feature__picture img{width:100px}
 .rs .p-top-feature__lead .c-top-lead p{font-size:24px;letter-spacing:.025em}
 .rs .p-top-feature-blockB__title .c-heading-top__ja{font-size:20px}
 .rs .p-top-feature-blockA__desc,.rs .p-top-feature-blockB__desc{font-size:15px;line-height:1.9}
}

/* Colours sampled from the client's Instagram logo; ink/paper are derived UI shades. */
.rs{--brand-primary:#99662D;--brand-cream:#F4F3E1;--brand-accent:#702512;--brand-ink:#58371E;--brand-muted:#78634F;--brand-border:#D8C7AA;--brand-paper:#FCFAF4;--brand-surface:#F1E9D9;--color-002:var(--brand-primary);--color-inverse-dark:var(--brand-ink)}
.rs .l-header{--nav-text:var(--brand-ink);--nav-line:var(--brand-primary)}
.rs .is-section-dark .l-header{--nav-text:#fff;--nav-line:var(--brand-cream)}
.rs .is-scrolled .l-header{--nav-text:var(--brand-ink);--nav-line:var(--brand-primary)}
.rs .l-header .l-header-nav a{color:var(--nav-text)!important;display:inline-block;padding:8px 0;min-height:32px}
.rs .l-header .l-header-nav a::before{display:none!important}
.rs .l-header .l-header-nav a::after{content:"";position:absolute;bottom:0;left:50%;width:24px;height:2px;border-radius:2px;background:var(--nav-line);opacity:0;transform:translateX(-50%) scaleX(.4);transition:opacity .18s ease,transform .18s ease}
.rs .l-header .l-header-nav :is(.is-current a,a[aria-current],a:hover,a:focus-visible)::after{opacity:1;transform:translateX(-50%) scaleX(1)}
.rs .l-header-logo{top:10px!important;width:64px!important;height:64px!important}
.rs .l-header-logo img{width:64px!important;height:64px!important;border-radius:50%;object-fit:contain;filter:none!important}
.rs .is-section-dark .l-header-logo img,.rs .is-scrolled .l-header-logo img{filter:none!important}
.rs .l-footer-info__logo img,.rs .p-top-about__logo img,.rs .p-feature-mv__logo img{border-radius:50%;object-fit:contain}
.rs .p-top-about__logo{width:160px;height:160px}
.rs .l-footer-info__logo{width:150px;height:150px}
.rs .brand-promo strong,.rs .u-color-002{color:var(--brand-ink)}
.rs .l-header-nav{top:24px}
@media(max-width:1023px){.rs .l-header-logo,.rs .l-header-logo img{width:56px!important;height:56px!important}.rs .l-header-logo{top:10px!important}}

/* Layout defects found during the live responsive audit. */
.rs .cm-main-header{position:relative;min-height:360px;height:auto;margin-bottom:0;background:var(--brand-primary)}
.rs .cm-main-header .cm-main-header__wrap{position:relative;height:auto;padding:150px 0 70px;z-index:2}
.rs .cm-main-header .cm-main-header__title{position:relative;top:auto;left:auto;transform:none;color:white;max-width:55%}
.rs .cm-main-header .cm-main-header__bg{position:absolute;inset:90px 5% auto auto;width:38%;height:240px;pointer-events:none}
.rs .cm-main-header .cm-main-header__bg img{width:100%;height:100%;object-fit:contain}
.rs .cm-main-header .cm-main-header__en{font-size:clamp(34px,4.5vw,64px);line-height:1.15;overflow-wrap:normal}
.rs .cm-main-header .cm-main-header__ja{font-size:24px;line-height:1.5;margin-top:12px}
.rs .p-service-body{margin-top:0}
.rs .p-service-cards .c-cards-service__no{position:static;font-size:12px;margin:14px 0 8px;color:var(--brand-muted)}
.rs .p-service-cards .c-cards-service__pic{display:block}
.rs .p-service-cards .c-cards-service__pic img{width:100%;height:220px;object-fit:contain;border:0}
.rs .p-top-staff::before{background:var(--brand-surface)}
.rs .cm-footer-contact__en{font-size:clamp(44px,7vw,80px);line-height:1.2;white-space:nowrap;overflow-wrap:normal;letter-spacing:-.035em}
.rs .l-footer{background:var(--brand-paper)}
.rs .l-header-logo img{box-shadow:0 0 0 2px var(--brand-cream)}
.rs [data-service="001"]{--color-service:#99662D}
.rs [data-service="002"]{--color-service:#702512}
.rs [data-service="003"]{--color-service:#B78A50}
.rs [data-service="004"]{--color-service:#C4A273}
.rs [data-service="005"]{--color-service:#9F735A}
.rs [data-service="006"]{--color-service:#AD745C}
.rs [data-service="007"]{--color-service:#836449}
.rs [data-service="008"]{--color-service:#AC985F}
@media(max-width:1023px){
 .rs .cm-main-header{min-height:300px}
 .rs .cm-main-header .cm-main-header__wrap{padding:130px 0 50px}
 .rs .cm-main-header .cm-main-header__title{max-width:60%}
 .rs .cm-main-header .cm-main-header__bg{top:105px;right:3%;width:36%;height:160px}
 .rs .cm-main-header .cm-main-header__en{font-size:36px}
 .rs .cm-main-header .cm-main-header__ja{font-size:22px}
 .rs .p-service-cards .c-cards-service__pic img{height:170px}
 .rs .l-footer{padding-bottom:80px}
 .rs .cm-footer-contact__head{width:100%;max-width:100%}
}
@media(max-width:600px){
 .rs .p-top-feature-blockB{grid-template-areas:"title" "pic" "desc";grid-template-columns:minmax(0,1fr);gap:20px}
 .rs .p-top-feature-blockB__title .c-heading-top__ja{font-size:22px;max-width:100%}
 .rs .p-top-feature-blockB__pic{width:100%}
 .rs .p-top-feature-blockB__pic img{width:100%;height:200px;object-fit:cover}
 .rs .p-top-feature-blockB__desc{margin-top:0}
}
.rs .l-header-drawer__wrap{background:var(--brand-ink)}
.rs :is(a,button,[tabindex]):focus-visible{outline:3px solid var(--brand-primary)!important;outline-offset:4px!important}
.rs .l-header :is(a,button):focus-visible{outline-color:var(--nav-line)!important}
