/* Espaçamento consistente para aproveitar a largura disponível. */
.public-container{max-width:1440px;padding-left:36px;padding-right:36px}
.login-page{grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);min-height:0}
.login-story{min-height:0;padding:30px 38px 28px}
.company-brand{margin-bottom:22px;gap:12px}.company-brand img{width:54px;height:54px}
.login-story h1{font-size:clamp(34px,3.4vw,49px);letter-spacing:-1.6px;margin:0 0 14px;max-width:600px}
.login-story p{max-width:560px;font-size:15px;line-height:1.65;margin:0}
.hero-photo-button{max-width:none;margin:20px 0 14px;border-radius:18px}
.hero-photo-button .hero-dog{height:275px;object-position:center 43%}
.login-story .story-foot{margin-top:0}.hero-story-links{gap:18px}
.login-entry{max-width:600px;justify-self:center;padding:78px 38px 30px}
.login-entry h2{font-size:30px;margin:16px 0 12px}.login-entry>p{margin-bottom:22px;line-height:1.7}
.login-entry input{margin-bottom:12px;padding:12px}.login-entry details{margin-top:16px}
.login-access-header{top:18px;right:28px;gap:12px}.login-access-header>span{display:none}
.company-about{padding-top:42px;padding-bottom:38px}.company-section-heading{gap:36px;margin-bottom:22px}
.company-section-heading h2,.company-contact h2{font-size:clamp(26px,2.3vw,33px)}
.company-section-heading p{font-size:14px;line-height:1.75}.company-eyebrow{margin-bottom:12px}
.company-services{margin-top:24px;gap:26px}.company-services article{padding-top:18px}
.company-services h3{margin:13px 0 9px;font-size:20px}.company-services p{min-height:0;margin-bottom:16px;font-size:13px;line-height:1.7}
.company-public .business-section,.business-section{padding-top:36px;padding-bottom:36px}
.business-heading{gap:32px;margin-bottom:24px;grid-template-columns:1fr 1fr}.business-heading>p{max-width:none;font-size:14px}
.business-heading h2{font-size:32px}.daycare-panel{padding:22px}.pricing-intro{margin-bottom:18px}
.pricing-intro h3{font-size:21px}.pricing-intro .price-size{width:310px}.price-table th,.price-table td{padding:12px 16px}
.price-table caption{padding:13px 16px}.pricing-footnote{margin-top:12px}
.hotel-prices{padding:24px 26px;margin:20px 0;gap:32px}.hotel-prices h3{font-size:24px;margin:10px 0 12px}
.hotel-rate{padding:12px 0}.hotel-rate b{font-size:22px}.business-notes{gap:18px}.business-notes article{padding:22px}
.stay-conditions h3{font-size:21px;margin-bottom:15px}.stay-times{margin-bottom:14px}.stay-conditions p{margin-top:12px}
.preparation-cards h3{margin:12px 0 16px;font-size:22px}.care-requirements li{padding-bottom:11px;line-height:1.6}
.business-note{padding-top:14px;margin-top:5px}.company-gallery-section{padding:38px 0}
.company-gallery{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:24px}
.company-gallery-item,.company-gallery-item.photo-0,.company-gallery-item.photo-1{grid-column:auto}
.company-gallery-item img,.company-gallery-item.photo-0 img,.company-gallery-item.photo-1 img{height:235px}
.company-gallery-item figcaption{padding-top:12px}.company-gallery-item figcaption strong{font-size:14px}
.company-gallery-item figcaption span{font-size:11px}.company-instagram-row{margin-top:24px;padding-top:18px}
.company-contact{padding-top:40px;padding-bottom:40px;gap:50px}.company-contact p{margin-top:16px;line-height:1.7}
.company-contact-line{margin-bottom:20px}.company-footer{padding:24px 0}
#workspace{max-width:none;padding:24px 28px}.top{padding-bottom:16px}.intro{margin:24px 0 18px}
.stats{gap:14px}.stat,.box{padding:20px}.stat strong{font-size:30px;margin:10px 0 4px}
.grid{gap:18px;margin-top:20px}.pet{padding:14px 0;gap:12px}.task{padding:13px 0}.banner{padding:20px;margin-top:20px}
.health-card,.birthday-card,.reminder-card{padding:18px;margin-bottom:12px}.reminders-strip{padding:15px 18px;margin:18px 0}
.mini-stats{gap:12px}.mini-stat{padding:17px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
@media(min-width:1100px){#sidebar{width:224px;padding:26px 18px}#workspace{margin-left:224px}#sidebar nav button{padding:10px 11px;font-size:13px;margin:3px 0}.sidefoot{margin-top:24px}}
@media(min-width:1500px){.login-story{padding-left:max(38px,calc((100vw - 1368px)/2));padding-right:44px}.hero-photo-button .hero-dog{height:290px}.login-entry{max-width:650px}}
@media(max-width:1050px){.public-container{padding-left:26px;padding-right:26px}.login-story{padding:28px}.login-entry{padding-left:28px;padding-right:28px}.hero-photo-button .hero-dog{height:250px}.company-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.company-gallery-item img,.company-gallery-item.photo-0 img,.company-gallery-item.photo-1 img{height:225px}.company-section-heading{gap:25px}.pricing-intro{flex-direction:row}.pricing-intro .price-size{width:260px}}
@media(max-width:750px){.login-page{grid-template-columns:1fr}.login-access-header{padding:13px 22px}.login-entry{padding:25px 24px;max-width:none}.login-entry h2{font-size:28px}.login-story{padding:26px 24px}.login-story h1{font-size:34px}.company-brand{margin-bottom:20px}.hero-photo-button .hero-dog{height:280px}.public-container{padding-left:22px;padding-right:22px}.company-section-heading,.business-heading{grid-template-columns:1fr;gap:15px}.company-services{gap:21px;margin-top:22px}.company-about{padding-top:32px;padding-bottom:30px}.company-services h3{font-size:20px}.company-public .business-section,.business-section{padding:30px 0}.business-heading h2{font-size:29px}.pricing-intro{flex-direction:column;gap:16px}.pricing-intro .price-size{width:100%;max-width:none}.hotel-prices{gap:18px;padding:22px}.business-notes article{padding:21px}.company-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.company-gallery-item img,.company-gallery-item.photo-0 img,.company-gallery-item.photo-1 img{height:230px}.company-gallery-item.photo-0{grid-column:1/-1}.company-gallery-item.photo-0 img{height:300px}.company-contact{padding-top:32px;padding-bottom:32px;gap:26px}.company-gallery-section{padding:32px 0}.company-footer{padding:22px 0}.business-heading{margin-bottom:20px}.care-requirements li{font-size:13px}.daycare-panel{padding:19px 15px}}
@media(max-width:600px){#workspace{margin-left:0;padding:18px}#sidebar{padding:18px}.intro{margin:20px 0 16px}.stat,.box{padding:17px}.stats{gap:10px}.grid{gap:14px}.company-gallery-item img,.company-gallery-item.photo-1 img{height:205px}.price-table tbody{gap:10px}.price-table td{padding:7px 13px}.price-table tbody th{padding:11px 13px}.price-table td.monthly-price{padding:11px 13px}.login-story .company-brand img{width:48px;height:48px}.company-footer>.public-container{gap:18px}}
/* Cursor nativo em forma de patinha; sem rastreamento ou animação sobre a página. */
@media(hover:hover) and (pointer:fine){
 html,body,body *{cursor:url('paw-cursor.png?v=2') 15 15,auto!important}
 input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,[contenteditable=true]{cursor:text!important}
 button:disabled,[disabled]{cursor:not-allowed!important}
}
.company-login-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:8px}
.tutor-access{display:block;text-align:center;text-decoration:none;margin:24px 0 14px}
@media(max-width:700px){
 .login-page{display:grid;grid-template-columns:minmax(0,1fr)}
 .login-access-header{position:static;grid-row:1;width:100%;box-sizing:border-box;padding:10px 16px;flex-wrap:wrap;justify-content:space-between}
 .login-entry{grid-row:2;width:100%;max-width:none;box-sizing:border-box;padding:18px 16px 24px;min-width:0}
 .login-story{grid-row:3;padding:20px 16px}
 .login-story h1{font-size:clamp(30px,8vw,42px)}
 .login-entry h2{font-size:26px}
 .login-entry input{font-size:16px}
 .login-entry button,.login-entry .tutor-access,.login-access-header button{min-height:44px}
}
.login-entry a.tutor-access{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;box-sizing:border-box;background:#24594b;color:#fff;font-size:16px;font-weight:700;line-height:1.25;text-indent:0;opacity:1;text-decoration:none}
.login-entry a.tutor-access{gap:12px;border-radius:12px;background:#24594b;transition:background .15s}.login-entry a.tutor-access:hover,.login-entry a.tutor-access:focus-visible{background:#183e34}.login-entry a.tutor-access span:last-child{font-size:20px;line-height:1}
.login-entry>p,.access-card>p,.public-details p,.public-details li,.company-section p,.company-section li{color:#34483f}.login-entry label,.access-card label{color:#233a31;font-weight:600}.login-story p{color:#f3f8f4}
.home-carousel{min-width:0;width:100%}.home-carousel .hero-photo-button{width:100%;display:block}.home-carousel .hero-dog{width:100%;height:auto;aspect-ratio:16/9;max-height:360px;object-fit:cover;object-position:50% 55%;background:#173d34}.home-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px;color:#fff;font-size:13px}.home-carousel-controls button,.home-photo-dialog button{background:#214e42;color:#fff;border:1px solid #b8d5c6;min-height:42px}.home-photo-dialog{background:transparent;border:0;padding:8px;color:#fff;max-width:calc(100vw - 20px);max-height:96dvh}.home-photo-dialog::backdrop{background:#08120ff0}.home-photo-dialog button{display:block;margin:0 0 8px auto}.home-photo-dialog img{display:block;max-width:100%;max-height:83dvh;object-fit:contain;margin:auto}@media(max-width:700px){.home-carousel .hero-dog{max-height:none;aspect-ratio:4/3}.login-story,.login-entry{min-width:0}.login-story .hero-photo-label{flex-wrap:wrap;gap:4px}}
