/* Direção de movimento: revelação de fotografias e composição editorial.
   O conteúdo permanece visível mesmo sem JavaScript. */
:root{--ease-in-out:cubic-bezier(.77,0,.175,1)}
html{scroll-padding-top:112px}
.header{position:sticky;top:0;z-index:15;background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}
.header:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);opacity:0;transition:opacity 200ms ease}
.header.is-scrolled:after{opacity:1}
.hero-copy{animation:none}
.hero h1{overflow:clip}
.hero-line{display:block;overflow:clip;padding-bottom:.08em;margin-bottom:-.08em}
.hero-line-inner{display:block}
.hero-visual{isolation:isolate}
.hero-cutout{transform-origin:center bottom}
.welcome{display:grid;grid-template-columns:1.1fr .9fr;column-gap:90px;align-items:end;text-align:left;padding-block:110px}
.welcome>.section-label{grid-column:1/-1;margin-bottom:25px}
.welcome h2{font-size:clamp(37px,4.2vw,62px);margin:0;line-height:1.1}
.welcome>p:last-child{max-width:420px;margin:0 0 4px;font-size:16px;line-height:1.9}
.care-section{border-radius:0;background:#f6f8f3;padding-top:90px}
.section-heading h2{max-width:620px}
.care-category:has(.featured){background:var(--deep);padding:36px;margin-inline:-36px;border-radius:24px}
.care-category:has(.featured) .category-heading h3{color:#fff}
.care-category:has(.featured) .category-heading p{color:#c7d6bd}
.care-category:has(.featured) .service-card{border-color:#6a805b;background:#344b32}
.care-category:has(.featured) .service-card h4{color:#fff}
.care-category:has(.featured) .service-media{background:#40583c;color:#d3dfc9}
.care-category:has(.featured) .service-media:before{border-color:#819770}
.care-category:has(.featured) .service-media .media-mark{color:#b4c7a4}
.service-card{transition:border-color 160ms ease,transform 220ms var(--ease-out)}
.service-card .service-media{overflow:hidden}
.service-card h4>span{transform-origin:center}
.root-section{margin:36px 24px;border-radius:32px}
.root-copy h2{font-size:clamp(40px,4.3vw,64px)}
.root-media{min-height:410px;border-radius:110px 20px 20px 20px}
.root-media:before{border-radius:95px 12px 12px 12px}
.profile-portrait{isolation:isolate;overflow:hidden}
.profile-portrait img{height:108%;max-width:none;position:relative;top:-4%;transform-origin:center}
.profile-copy .profile-name{font-size:clamp(40px,4.2vw,58px)}
.profile-reverse{border-radius:22px 100px 22px 22px}
.values-grid{padding-block:12px}
.diary-preview{padding-block:110px;gap:100px}
.diary-preview .video-media{border-radius:22px 22px 100px 22px;min-height:330px}
.booking{border-radius:100px 24px 24px 24px;padding-block:85px 65px}
.booking h2{font-size:clamp(36px,4.2vw,60px)}
.contact{transition:background 160ms ease,transform 200ms var(--ease-out)}
.button>span{transition:transform 200ms var(--ease-out),background 160ms ease}
.header nav a{position:relative}
.header nav a:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease-out)}
.questions summary>span{transition:transform 200ms var(--ease-out)}
.motion-paused .care-track{animation-play-state:paused}
.keyboard-motion{scroll-behavior:auto}
.keyboard-motion .button,.keyboard-motion .button>span,.keyboard-motion .contact,.keyboard-motion .service-card,.keyboard-motion .header nav a:after{transition:none}
@media(hover:hover) and (pointer:fine){.service-card:hover{transform:translateY(-5px)}.service-card:hover h4>span{transform:translate(3px,-3px)}.button:hover>span{transform:rotate(8deg);background:#ffffff12}.contact:hover{transform:translateY(-3px)}.header nav a:hover:after{transform:scaleX(1)}}
@media(max-width:1100px){.welcome{gap:30px 45px}.care-category:has(.featured){padding:27px;margin-inline:-12px}.diary-preview{gap:45px}.root-media{min-height:350px}}
@media(max-width:760px){html{scroll-padding-top:150px}.header{top:0;padding-block:12px;gap:9px}.header nav{padding-top:5px}.header nav a{min-height:32px}.welcome{grid-template-columns:1fr;gap:0;padding-block:65px}.welcome>.section-label{margin-bottom:20px}.welcome h2{font-size:39px}.welcome>p:last-child{margin-top:24px;font-size:14px;line-height:1.85}.care-section{padding-top:55px}.care-category:has(.featured){padding:25px 15px;margin-inline:-8px;border-radius:20px}.care-category:has(.featured) .category-heading p{max-width:270px}.root-section{margin:20px 12px;border-radius:24px}.root-copy h2{font-size:41px}.root-media{min-height:300px;border-radius:75px 16px 16px 16px}.root-media:before{border-radius:61px 9px 9px 9px}.profile-copy .profile-name{font-size:40px}.profile-reverse{border-radius:22px 60px 22px 22px}.diary-preview{padding-block:65px;gap:30px}.diary-preview .video-media{min-height:260px;border-radius:18px 18px 65px 18px}.booking{padding-block:55px 40px;border-radius:60px 18px 18px 18px}.booking h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card,.button>span,.contact,.header nav a:after,.questions summary>span{transition:none}.profile-portrait img{height:100%;top:0;transform:none!important}.hero-cutout{transform:none!important}}
