:root{--paper:#fffcf3;--ink:#2345a3;--muted:#626b7e;--accent:#2548ad;--on-accent:#fffcf3;--soft:#f7eabd;--line:#d4d7d8;--focus:#bd6425}.sunnap .brand-mark{border:0;color:#b0611b;font-size:2.6rem}.sunnap .brand-title{font-size:1.4rem;font-weight:750;letter-spacing:.07em}.sunnap .brand small{font-size:.75rem}.sunnap .btn{border-radius:50px}.sunnap h1{font-weight:650;letter-spacing:-.05em}.sunnap h2{font-weight:550}.sunnap .site-header{background:#fffcf3}.cat-hero{padding:65px 0 75px}.cat-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.cat-hero h1{font-size:clamp(3.3rem,4.9vw,5.2rem);line-height:1.42}.cat-hero h1 span{position:relative}.cat-hero .eyebrow{font-size:.75rem}.cat-hero .intro{color:var(--muted);font-size:1.03rem}.cat-hero-photo{position:relative}.cat-hero-photo img{height:570px;object-fit:cover;object-position:58% center;border-radius:180px 180px 22px 22px}.sun-label{position:absolute;right:-14px;top:30px;display:grid;place-items:center;text-align:center;width:102px;height:102px;border-radius:50%;background:#f6d676;color:#2849a0;font:600 .8rem/1.5 Georgia,serif;transform:rotate(12deg);border:5px solid #fffcf3}.photo-caption{position:absolute;bottom:28px;left:-22px;background:#fff8df;padding:18px 24px;box-shadow:0 5px 20px #59491e10;border-radius:8px;transform:rotate(-4deg);font-size:.85rem;color:#725732}.photo-caption strong{font-size:1.2rem;font-weight:550}.cat-hero-note{margin-top:55px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:20px;align-items:center}.cat-hero-note>span{font:600 .78rem Georgia,serif;letter-spacing:.1em}.cat-hero-note p{font-size:.8rem;color:var(--muted)}.cat-ribbon{background:#f5dfa0;padding:22px 0;color:#694b1d}.cat-ribbon .wrap{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.9rem}.cat-ribbon b{font-size:1.4rem;font-weight:400}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.care-grid article{padding-top:28px;border-top:1px solid var(--line)}.care-grid article>span{display:grid;place-items:center;background:#e5eaf6;color:#2548ad;width:46px;height:46px;border-radius:50%;font:.95rem Georgia,serif;margin-bottom:27px}.care-grid h3{font-size:1.2rem;margin-bottom:17px}.care-grid p{color:var(--muted);font-size:.97rem}.cat-rooms{background:#edf1f8}.room-card{border-radius:18px;background:#fffcf3;padding:30px 26px;color:#2b4290;display:flex;flex-direction:column;border:1px solid #d7dce5}.room-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:34px}.room-index{font:1.4rem Georgia,serif}.room-card .pill{font-size:.75rem}.room-card .eyebrow{font-size:.75rem;margin-bottom:8px}.room-card h3{font-size:2rem;font-weight:550}.room-for{font-size:.85rem;margin-top:10px;color:var(--muted)}.room-desc{font-size:.9rem;line-height:1.9;color:var(--muted);margin-top:20px!important}.room-card ul{list-style:none;padding:0;margin:25px 0;line-height:2.1;font-size:.9rem}.room-card li:before{content:'✓';margin-right:10px}.room-price{margin-top:auto;padding-top:12px;margin-bottom:22px;display:flex;gap:5px;align-items:baseline}.room-price strong{font:2rem Georgia,serif}.room-price span{font-size:.8rem;color:var(--muted)}.room-card .btn{background:transparent;border-color:#9caacb;color:var(--ink);width:100%;font-size:.94rem}.room-card.sun{background:#fff2c6}.room-card.sun .btn{background:var(--ink);color:#fffaf0;border-color:var(--ink)}.room-card.loft{background:#f9e3d9}.cat-story{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center}.cat-story-photo img{aspect-ratio:1.05;object-fit:cover;object-position:60% center;border-radius:18px 150px 18px 18px}.cat-story p{color:var(--muted)}.cat-story .text-link{margin-top:30px}.cat-cta{background:#f6dfa0;border-radius:24px;padding:55px 65px;display:flex;justify-content:space-between;gap:40px;align-items:center}.cat-cta .eyebrow{font-size:.75rem}.cat-cta h2{line-height:1.5}.sunnap .site-footer{background:#2345a3;color:#fffcf3;--muted:#d2dbf6;--line:#667ec2}.room-list{padding-top:38px}.room-filter{display:flex;gap:12px;margin-bottom:30px}.room-filter button{border:1px solid #abb5cb;border-radius:30px;color:var(--ink);background:none;padding:12px 22px}.room-filter button[aria-pressed=true]{background:var(--ink);color:#fffcf3}.sunnap table{min-width:680px}.sunnap table th{background:#edf1f8}.sunnap table caption{text-align:left}.stay-photo img{height:100%;max-height:700px;object-fit:cover;border-radius:200px 200px 18px 18px;object-position:60% center}.packing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.packing-grid article{padding:25px;border:1px solid #b9c4d8;border-radius:12px}.packing-grid span{font:1.5rem Georgia,serif;display:block;margin-bottom:25px}.packing-grid h3{font-size:1.1rem;margin-bottom:16px}.packing-grid p{color:var(--muted);font-size:.9rem}.booking-section{padding-top:15px}.booking-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px}.booking-grid>div:first-child{background:white;border:1px solid var(--line);border-radius:18px;padding:38px}.booking-summary{position:sticky;top:110px;align-self:start;border-radius:18px;overflow:hidden;background:#f7e8b7}.booking-summary img{height:210px;object-fit:cover;object-position:center 55%}.booking-summary-inner{padding:30px}.booking-summary h2{font-size:2rem;margin-bottom:12px}.booking-total{padding:25px 0;margin-top:20px;border-top:1px solid #c9b97f;border-bottom:1px solid #c9b97f}.booking-total span{font-size:.9rem;display:block}.booking-total strong{font:2.8rem Georgia,serif;display:block;margin-top:8px}.booking-summary .text-link{margin-top:24px;font-size:.88rem}.booking-step{margin-top:35px;padding-top:30px;border-top:1px solid var(--line)}.booking-error{color:#aa3529;font-size:.85rem;margin-top:12px;min-height:20px}.booking-grid .check-label{margin-top:22px}.sunnap .field input,.sunnap .field textarea,.sunnap .field select{border-radius:8px;background:white}.sunnap .summary-box{background:#f7e8b7;border-radius:12px}.sunnap .summary-box .text-link{background:none;border:0;border-bottom:1px solid currentColor;color:inherit}
@media(max-width:1000px){.cat-hero-grid{gap:30px}.cat-hero h1{font-size:3.5rem}.cat-hero-photo img{height:490px}.cat-hero-note{gap:12px;flex-direction:column;align-items:start;margin-top:35px}.cat-story{gap:45px}.room-card{padding:25px 20px}.packing-grid{grid-template-columns:1fr 1fr}.booking-grid{gap:35px}.booking-grid>div:first-child{padding:25px}.cat-cta{padding:40px}}@media(max-width:760px){.cat-hero{padding:32px 0 45px}.cat-hero-grid{grid-template-columns:1fr;gap:35px}.cat-hero h1{font-size:3rem}.cat-hero-copy .eyebrow{font-size:.75rem}.cat-hero .intro{font-size:.96rem}.cat-hero-note{flex-direction:row;gap:15px;margin-top:28px}.cat-hero-note p{font-size:.75rem}.cat-hero-photo{margin:0 15px}.cat-hero-photo img{height:380px;border-radius:150px 150px 18px 18px}.sun-label{width:88px;height:88px;font-size:.75rem;right:-15px;top:20px}.photo-caption{left:-14px;padding:14px 18px}.cat-ribbon .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.8rem;text-align:center}.cat-ribbon b{display:none}.care-grid{grid-template-columns:1fr;gap:28px}.care-grid article>span{margin-bottom:20px}.cat-story{grid-template-columns:1fr;gap:35px}.cat-story-photo img{aspect-ratio:1.12}.cat-cta{display:block;padding:30px 25px}.cat-cta .btn{margin-top:25px}.cat-cta h2{font-size:2rem}.room-card{padding:28px}.room-top{margin-bottom:25px}.room-filter button{font-size:.85rem;padding:10px 18px}.stay-photo img{height:360px;width:100%;border-radius:150px 150px 18px 18px}.packing-grid{gap:15px}.packing-grid article{padding:20px}.booking-grid{grid-template-columns:1fr}.booking-summary{position:static;grid-row:1}.booking-summary img{height:170px}.booking-summary-inner{padding:25px}.booking-total{padding:15px 0;margin-top:15px}.booking-total strong{font-size:2.2rem}.booking-summary .text-link{margin-top:15px}.booking-grid>div:first-child{padding:25px 20px}.sunnap .subhero h1{font-size:2.7rem}}

/* Keep the resting cat centered in the refreshed photograph at every crop. */
.cat-hero-photo img,.cat-story-photo img,.stay-photo img{object-position:50% center}
