/* Ratsamois 1.0.1. Every rule is scoped to the installed theme.
   Texts, navigation, images and block motion settings belong to the CMS. */
.theme-ratsamois{--rm-brass:#a58a57;--rm-line:color-mix(in srgb,var(--cms-text) 16%,transparent);text-rendering:optimizeLegibility}
.theme-ratsamois .container{max-width:1240px}
.theme-ratsamois h1,.theme-ratsamois h2,.theme-ratsamois h3{font-family:var(--block-font,Georgia),serif;font-weight:var(--title-weight,400);letter-spacing:-.035em;line-height:1.15}
.theme-ratsamois h2{font-size:var(--title-size,clamp(2.25rem,4.2vw,3.7rem))}
.theme-ratsamois .cms-block .block-copy{line-height:1.85}
.theme-ratsamois .rich-content p{margin-bottom:1.15em}
.theme-ratsamois .rich-content p:last-child{margin-bottom:0}
.theme-ratsamois .site-nav{background:var(--cms-bg);background:color-mix(in srgb,var(--cms-bg) 96%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--rm-line)}
.theme-ratsamois .navbar{min-height:88px;gap:24px}
.theme-ratsamois .navbar-brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:1.8rem;letter-spacing:-.035em;font-weight:400}
.theme-ratsamois .navbar-brand:not(:has(.site-logo))::before{content:"";display:block;width:29px;height:33px;flex-shrink:0;background:url('assets/hobuseraud.png') center / contain no-repeat}
.theme-ratsamois .site-logo{max-height:58px}
.theme-ratsamois .site-menu .nav-page-link{font-size:.84rem;letter-spacing:.035em}
.theme-ratsamois .site-menu .sub-menu{border-radius:2px;border-color:var(--rm-line);box-shadow:0 16px 40px #152a1717}
.theme-ratsamois .site-menu .nav-label::after{background:var(--rm-brass)}
.theme-ratsamois .nav-toggle{border-radius:2px;border-color:var(--rm-line);min-height:44px}
.theme-ratsamois .site-search summary{min-width:44px;min-height:44px;display:grid;place-items:center}
.theme-ratsamois .site-search form{border-radius:4px}
.theme-ratsamois .cms-block{position:relative;isolation:isolate}
.theme-ratsamois .cms-block:not(.block-hero):not(.block-html):not(.block-plugin)::before{content:"";position:absolute;width:36px;height:40px;right:3.5%;top:28px;background:url('assets/hobuseraud.png') center / contain no-repeat;opacity:.22;transform:rotate(18deg);pointer-events:none;z-index:-1}
.theme-ratsamois .page-section:nth-of-type(even) .cms-block::before{right:auto;left:3%;transform:rotate(-23deg)}
.theme-ratsamois .cms-block .cms-block::before{display:none}
/* Hero: the bundled pasture is the fallback; a chosen Media image covers it. */
.theme-ratsamois .block-hero .block-inner{max-width:none;padding-inline:24px}
.theme-ratsamois .hero-layout,.theme-ratsamois .hero-layout.has-image{display:grid;grid-template-columns:minmax(0,1fr);gap:0;position:relative;isolation:isolate;min-height:620px;overflow:hidden;border-radius:4px;background:#263c2c url('assets/karjamaa.png') 66% 35% / cover no-repeat}
.theme-ratsamois .hero-layout::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10281ce8 0%,#10281cbd 30%,#10281c44 62%,#10281c10 100%);z-index:1;pointer-events:none}
.theme-ratsamois .hero-layout::after{content:"";position:absolute;inset:22px;border:1px solid #f8f6ef3b;z-index:2;pointer-events:none;border-radius:2px}
.theme-ratsamois .hero-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:66% 35%;border-radius:0;z-index:0}
.theme-ratsamois .hero-copy{position:relative;z-index:3;max-width:790px;padding:72px clamp(30px,5.5vw,90px);color:#fffdf5}
.theme-ratsamois .hero-copy::before{content:"";display:block;width:34px;height:38px;background:url('assets/hobuseraud-hele.png') center / contain no-repeat;margin-bottom:28px;opacity:.8}
.theme-ratsamois .block-hero h2{font-family:var(--block-font,Georgia),serif;font-size:var(--title-size,clamp(3rem,5.4vw,4.7rem));font-weight:var(--title-weight,400);letter-spacing:-.045em;line-height:1.06;margin-bottom:25px;text-wrap:balance}
.theme-ratsamois .block-hero .block-copy{max-width:39ch;font-size:var(--body-size,1rem);line-height:1.8;color:inherit;opacity:.9}
.theme-ratsamois .cms-button{border-radius:2px;font-size:.83rem;letter-spacing:.035em;padding:15px 24px;min-height:48px;font-weight:500;transition:background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease,transform .3s ease}
.theme-ratsamois .hero-copy .cms-button{margin-top:30px!important;background:#f8f6ef;color:#233c31;border-color:#f8f6ef}
.theme-ratsamois .cms-button::after{content:"↗";display:inline-block;margin-left:18px;transition:transform .3s ease}
.theme-ratsamois .cms-button:hover::after{transform:translate(2px,-2px)}
.theme-ratsamois .hero-copy .cms-button:hover{background:#dbcaa3;border-color:#dbcaa3;color:#183b2d}
/* Breathing room, arch portraits and quiet horseshoe dividers. */
.theme-ratsamois .block-text.align-center .block-copy{max-width:62ch}
.theme-ratsamois .block-text.align-center .cms-heading::before{content:"";display:block;width:26px;height:29px;margin:0 auto 24px;background:url('assets/hobuseraud.png') center / contain no-repeat}
.theme-ratsamois .cms-split{--bs-gutter-x:6rem;--bs-gutter-y:3rem}
.theme-ratsamois .cms-split .content-image{border-radius:46% 46% 3px 3px;aspect-ratio:4/5;object-fit:cover;object-position:center 38%;max-height:570px;width:100%;box-shadow:14px 14px 0 color-mix(in srgb,var(--cms-surface) 88%,var(--rm-brass))}
.theme-ratsamois .content-image{border-radius:3px}
.theme-ratsamois .block-services{background:var(--cms-surface)}
.theme-ratsamois .block-services .block-copy{max-width:55ch}
.theme-ratsamois .service-card{border-radius:3px;padding:34px 30px;background:var(--cms-bg);border:1px solid var(--rm-line);position:relative;box-shadow:none;transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease}
.theme-ratsamois .service-card::after{content:"";position:absolute;right:26px;top:30px;width:24px;height:27px;background:url('assets/hobuseraud.png') center / contain no-repeat;opacity:.4;transition:transform .5s ease}
.theme-ratsamois .service-number{font-family:Georgia,serif;font-weight:400;color:var(--rm-brass);font-size:1.7rem;margin-bottom:35px}
.theme-ratsamois .service-card h3{font-size:1.6rem;margin-bottom:17px}
.theme-ratsamois .service-card .rich-content{font-size:.94rem;line-height:1.8}
.theme-ratsamois .cms-card{box-shadow:none;transition:transform .45s ease,box-shadow .45s ease}
.theme-ratsamois .cms-card .card-title{font-family:var(--block-font,Georgia),serif;font-size:var(--title-size,1.65rem);font-weight:var(--title-weight,400);letter-spacing:-.025em}
.theme-ratsamois .cms-card .card-copy{line-height:1.8}
.theme-ratsamois .album-cover-image{border-radius:3px;aspect-ratio:4/5;object-position:center 35%}
.theme-ratsamois .album-count{display:inline-block;letter-spacing:.04em;margin-bottom:10px}
.theme-ratsamois .gallery-image{border-radius:3px;height:320px;transition:transform .65s ease,filter .65s ease}
.theme-ratsamois .cms-gallery a{display:block;overflow:hidden;border-radius:3px}
.theme-ratsamois .block-contact .block-inner{padding:54px clamp(24px,6vw,76px);background:var(--cms-surface);border:1px solid var(--rm-line);border-radius:3px;position:relative}
.theme-ratsamois .block-contact .block-inner::after{content:"";position:absolute;right:5%;top:34px;width:68px;height:76px;background:url('assets/hobuseraud.png') center / contain no-repeat;opacity:.12;transform:rotate(16deg);pointer-events:none}
.theme-ratsamois .contact-details{font-style:normal;font-size:1.1rem;gap:12px}
.theme-ratsamois .contact-details a{text-underline-offset:5px;text-decoration-thickness:1px}
.theme-ratsamois .site-footer{font-size:.84rem;letter-spacing:.025em;text-align:center;border-color:var(--rm-line);padding:34px 20px}
.theme-ratsamois .site-footer .container::before{content:"";display:block;width:24px;height:27px;margin:0 auto 18px;background:url('assets/hobuseraud.png') center / contain no-repeat;opacity:.7}
.theme-ratsamois .back-to-top{border-radius:50%;width:54px;height:54px;padding:0;border:1px solid var(--rm-line);background:var(--cms-primary);color:white;box-shadow:0 5px 20px #172e1820}
.theme-ratsamois .back-to-top span:last-child{display:none}
.theme-ratsamois .site-cover .header-image{max-height:450px;object-fit:cover}
@media(hover:hover) and (pointer:fine){
 .theme-ratsamois .service-card:hover{transform:translateY(-8px);border-color:var(--rm-brass);box-shadow:0 18px 36px #20352812}
 .theme-ratsamois .service-card:hover::after{transform:rotate(-18deg)}
 .theme-ratsamois .cms-card:hover{transform:translateY(-7px);box-shadow:0 18px 36px #20352818}
 .theme-ratsamois .cms-gallery a:hover .gallery-image{transform:scale(1.045);filter:saturate(1.06)}
 .theme-ratsamois .cms-button:hover{box-shadow:0 6px 20px #20352814}
}
/* Native scroll timelines are progressive enhancement. The CMS's own
   selected block effects also work in browsers without this CSS feature. */
@keyframes rm-reveal{from{opacity:.4;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes rm-photo{from{transform:scale(1.06) translateY(-1%)}to{transform:scale(1.06) translateY(1%)}}
@keyframes rm-ornament{from{translate:0 14px;rotate:-8deg}to{translate:0 -14px;rotate:8deg}}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference) and (min-width:768px){
  .theme-ratsamois .cms-block[data-enter="none"]:not(.block-hero):not(.block-plugin):not(.block-html) .block-inner{animation:rm-reveal 1s linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  .theme-ratsamois .hero-image{animation:rm-photo 1s linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  .theme-ratsamois .cms-block::before{animation:rm-ornament 1s linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
 }
}
.theme-ratsamois .cms-block:focus-within .block-inner{animation:none!important;opacity:1!important;transform:none!important}
@media(min-width:768px) and (max-width:1023px){
 .theme-ratsamois h2{font-size:var(--title-tablet-size,var(--title-size,2.75rem))}
 .theme-ratsamois .hero-copy{max-width:620px;padding:64px 46px}
 .theme-ratsamois .block-hero h2{font-size:var(--title-tablet-size,var(--title-size,4.2rem))}
 .theme-ratsamois .hero-layout,.theme-ratsamois .hero-layout.has-image{min-height:580px}
 .theme-ratsamois .cms-split{--bs-gutter-x:2.5rem}
}
@media(max-width:991px){
 .theme-ratsamois .navbar{min-height:76px;gap:14px}
 .theme-ratsamois .site-menu{margin:0;padding:8px 0}
 .theme-ratsamois .navbar-brand{font-size:1.55rem}
 .theme-ratsamois .gallery-image{height:250px}
}
@media(max-width:767px){
 .theme-ratsamois .container{padding-inline:24px}
 .theme-ratsamois .navbar{padding-inline:18px;gap:10px}
 .theme-ratsamois .navbar-brand{font-size:1.4rem;gap:8px;max-width:55%}
 .theme-ratsamois .navbar-brand:not(:has(.site-logo))::before{width:23px;height:27px}
 .theme-ratsamois .site-logo{max-width:130px}
 .theme-ratsamois .block-hero .block-inner{padding-inline:12px}
 .theme-ratsamois .hero-layout,.theme-ratsamois .hero-layout.has-image{min-height:600px;align-items:end;background-position:68% center}
 .theme-ratsamois .hero-image{object-position:68% center}
 .theme-ratsamois .hero-layout::before{background:linear-gradient(0deg,#10281cf5 0%,#10281cce 40%,#10281c30 100%)}
 .theme-ratsamois .hero-layout::after{inset:12px}
 .theme-ratsamois .hero-copy{padding:120px 30px 46px;max-width:none}
 .theme-ratsamois .hero-copy::before{width:25px;height:28px;margin-bottom:18px}
 .theme-ratsamois .block-hero h2{font-size:var(--title-mobile-size,clamp(2.5rem,10.3vw,3.6rem));line-height:1.09}
 .theme-ratsamois .block-hero .block-copy{font-size:var(--body-mobile-size,1rem)}
 .theme-ratsamois h2{font-size:var(--title-mobile-size,2.2rem)}
 .theme-ratsamois .cms-split{--bs-gutter-x:1.5rem;--bs-gutter-y:2.2rem}
 .theme-ratsamois .cms-split .content-image{max-height:440px;width:calc(100% - 12px);max-width:100%;object-fit:cover;box-shadow:10px 10px 0 var(--cms-surface)}
 .theme-ratsamois .service-card{padding:28px 24px}
 .theme-ratsamois .gallery-image{height:230px}
 .theme-ratsamois .cms-card .card-title{font-size:var(--title-mobile-size,1.6rem)}
 .theme-ratsamois .block-contact .block-inner{width:calc(100% - 32px);padding:36px 26px}
 .theme-ratsamois .back-to-top{width:48px;height:48px;right:16px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){
 .theme-ratsamois *, .theme-ratsamois *::before,.theme-ratsamois *::after{animation:none!important;transition:none!important}
 .theme-ratsamois .block-inner,.theme-ratsamois .hero-image,.theme-ratsamois .service-card,.theme-ratsamois .cms-card{transform:none!important;opacity:1!important}
}

@media(max-width:767px){
 .theme-ratsamois .navbar-brand{margin-right:auto}
 .theme-ratsamois .nav-tools{flex-basis:auto;order:1;margin:0;gap:6px}
 .theme-ratsamois .nav-toggle{order:2;margin-left:0;font-size:.8rem;padding:8px;min-width:72px}
 .theme-ratsamois .site-menu{order:3}
 .theme-ratsamois .nav-tools:has(.language-switcher){flex-basis:100%;order:4}
 .theme-ratsamois .site-search summary{min-width:36px}
}

/* 1.0.1: ornaments for existing sites, including columns and plugin blocks.
   Background decoration has no DOM content and cannot intercept input. */
.theme-ratsamois #main{background-image:url('assets/hobuserauad-taust.png');background-repeat:repeat;background-size:900px 720px;background-position:center top}
.theme-ratsamois .cms-block:not(.block-hero)::before{content:"";position:absolute;width:36px;height:40px;right:3.5%;top:12px;background:url('assets/hobuseraud.png') center / contain no-repeat;opacity:.3;transform:rotate(18deg);pointer-events:none;z-index:0}
.theme-ratsamois .cms-block .cms-block::before{display:none}
.theme-ratsamois .page-section:nth-of-type(even) .cms-block::before{right:auto;left:3%}
.theme-ratsamois .navbar-brand:has(.site-logo)::after{content:"";display:block;flex-shrink:0;width:22px;height:26px;background:url('assets/hobuseraud.png') center / contain no-repeat;opacity:.65}
@media(max-width:767px){
 .theme-ratsamois #main{background-size:640px 512px;background-position:left top}
 .theme-ratsamois .navbar-brand:has(.site-logo)::after{width:18px;height:22px}
}
