/* Dynamic Royal CMS presentation layer. Values are injected as CSS variables. */
.shell{max-width:var(--shell,1180px)}
.section{padding-block:var(--cms-section-space,96px)}
.button{border-radius:var(--cms-button-radius,14px)}
.site-header{background:var(--header-bg,#fff)}
.site-header.cms-static{position:relative}
.header-shell{min-height:var(--header-height,112px);column-gap:var(--header-nav-gap,28px);transform:translate(var(--header-offset-x,0),var(--header-offset-y,0))}
.brand img{width:var(--header-logo-size,64px);height:var(--header-logo-size,64px)}
.site-header .brand b{font-size:var(--header-brand-size,20px)}
.desktop-nav{gap:var(--header-nav-gap,28px)}
.desktop-nav a{font-size:var(--header-nav-size,15px)}
.site-footer{background:var(--footer-bg,#fff);color:var(--footer-text,#617886);padding-top:var(--footer-pad-top,62px)}
.footer-grid{gap:var(--footer-gap,54px)}
.site-footer h2{color:var(--footer-title,#17394b);font-size:var(--footer-title-size,16px)}
.site-footer p,.site-footer a,.site-footer small,.footer-bottom{font-size:var(--footer-text-size,13px)}
.footer-contact{transform:translate(var(--footer-contact-x,0),var(--footer-contact-y,0))}
.site-footer .footer-contact-list,.site-footer .footer-contact>h2{max-width:var(--footer-contact-width,250px)}
.footer-contact-list{gap:var(--footer-contact-gap,12px)}
.site-footer .footer-contact-item{grid-template-columns:var(--footer-contact-icon-size,25px) minmax(0,1fr)}
.site-footer .footer-contact-icon{width:var(--footer-contact-icon-size,25px);height:var(--footer-contact-icon-size,25px)}
.site-footer .footer-contact-icon svg{width:76%;height:76%}
.site-footer .footer-contact-copy{justify-items:var(--footer-contact-copy-justify,end);text-align:var(--footer-contact-copy-align,right)}
.site-footer .footer-contact-copy b,.site-footer .footer-email-item .footer-contact-copy b{font-size:var(--footer-contact-number-size,13px)}
.site-footer .footer-contact-copy small{font-size:var(--footer-contact-label-size,10px);text-align:var(--footer-contact-copy-align,right)}
.footer-contact>h2{margin-bottom:var(--footer-contact-title-margin,18px)!important;text-align:inherit!important}
.footer-bottom{padding-bottom:var(--footer-pad-bottom,22px)}

.home-product-card,.catalog-product-card{border-radius:var(--product-card-radius,24px)}
.home-product-card:hover,.catalog-product-card:hover{box-shadow:0 22px 50px rgba(27,56,72,var(--product-shadow-strength,.12))}
.home-product-media,.catalog-product-media,.gallery-media{background:var(--product-media-bg,var(--product-black-bg,#fff))!important}
.home-product-media img,.catalog-product-media img{inset:var(--product-image-padding,7%);width:var(--product-image-size,86%);height:var(--product-image-size,86%);transform:scale(var(--product-image-scale,1))}
.home-product-card:hover .home-product-media img,.catalog-product-card:hover .catalog-product-media img{transform:scale(calc(var(--product-image-scale,1) + .025))}
.home-product-body{min-height:var(--product-content-height,104px)}
.home-product-body h3,.catalog-product-content h2{font-size:var(--product-title-size,15px)}
.home-product-body p,.catalog-product-content p{font-size:var(--product-description-size,11px)}
.variant-thumb{background:var(--variant-bg,var(--product-black-bg,#fff))}

.cms-home-section{background:var(--section-bg,transparent)}
.cms-hero{background:var(--hero-bg,#f5f8f8);min-height:var(--hero-min-height,650px)}
.cms-hero .hero-copy{max-width:var(--hero-content-width,540px);transform:translate(var(--hero-content-x,0),var(--hero-content-y,0))}
.cms-hero .display-title{color:var(--hero-title-color,#17394b);font-size:clamp(2.3rem,5vw,var(--hero-title-size,58px))}
.cms-hero .lead{font-size:var(--hero-text-size,17px)}
.cms-hero .hero-stage{transform:translate(var(--hero-image-x,0),var(--hero-image-y,0)) scale(var(--hero-image-scale,1))}
.cms-hero .home-hero-copy{max-width:var(--hero-content-width,540px);transform:translate(var(--hero-content-x,0),var(--hero-content-y,0))}
.cms-hero .home-hero-title{color:var(--hero-title-color,#17394b);font-size:clamp(2.35rem,4.8vw,var(--hero-title-size,58px))}
.cms-hero .home-hero-lead{font-size:var(--hero-text-size,17px)}
.cms-hero .home-hero-media img{transform:translate(var(--hero-image-x,0),var(--hero-image-y,0)) scale(var(--hero-image-scale,1))}
.why-royal-wrap{border-radius:var(--why-radius,34px);background:var(--section-bg,#f3f7f7)}
.cms-rich-content{color:var(--ink);font-size:1rem;line-height:2.05}
.cms-rich-content>*+*{margin-top:1.1rem}
.cms-rich-content h2,.cms-rich-content h3{margin-top:2rem;color:var(--ink);line-height:1.65}
.cms-rich-content img{display:block;max-width:100%;height:auto;margin-inline:auto;border-radius:var(--cms-radius-md,20px)}
.cms-rich-content table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--cms-radius-sm,12px);overflow:hidden}
.cms-rich-content th,.cms-rich-content td{padding:.8rem;border:1px solid var(--line)}
.cms-rich-content a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:4px}

@media(max-width:1000px){
  .header-shell{min-height:var(--header-height-mobile,80px)}
  .footer-contact{transform:translate(var(--footer-mobile-contact-x,0),var(--footer-mobile-contact-y,0))!important;align-items:var(--footer-mobile-contact-align,center)!important}
}
@media(max-width:900px){
  .cms-hero.royal-home-hero{min-height:0}
  .cms-hero .home-hero-copy,.cms-hero .home-hero-media img{transform:none}
}
@media(max-width:760px){
  .section{padding-block:var(--cms-section-space-mobile,64px)}
  .site-footer:not(.mobile-contact-frame) .footer-contact{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .cms-hero .home-hero-copy,.cms-hero .home-hero-media img{transform:none}
  .cms-hero .home-hero-title{font-size:clamp(2.25rem,11vw,3.25rem)}
}
