
/* One type family, with enough size and contrast for the details. */
.royal-refreshed .btn{font-family:var(--font);font-weight:300;font-size:11px;line-height:1.6;letter-spacing:.075em}
.royal-refreshed .desktop-nav a{font-family:var(--font);font-size:11px;font-weight:300;letter-spacing:.075em}
.royal-refreshed .header-cta{font-size:10px;letter-spacing:.04em;gap:20px}
.royal-refreshed .eyebrow{font-family:var(--font);font-weight:300;line-height:1.8;letter-spacing:.13em}
.royal-refreshed .section-label .eyebrow{font-size:9px;letter-spacing:.13em}
.royal-refreshed .text-link{font-family:var(--font);font-size:10px;font-weight:300;letter-spacing:.07em;line-height:1.8}
.royal-refreshed .hero .eyebrow{font-size:10px;letter-spacing:.13em;line-height:1.9}
.royal-refreshed .hero-caption,.royal-refreshed .scroll-cue{font-family:var(--font);font-size:9px;font-weight:300;letter-spacing:.09em;line-height:1.8}
.royal-refreshed .hero-index{font-family:var(--font);font-size:9px;letter-spacing:.08em}
.royal-refreshed .values-line>span{font-family:var(--font);font-size:9px;font-weight:300;letter-spacing:.07em;line-height:1.8}
.royal-refreshed .solution-summary{font-size:12px;line-height:1.85}
.royal-refreshed .solution-detail>p{font-size:12px;line-height:1.9}
.royal-refreshed .solution-bottom .text-link{font-size:10px;letter-spacing:.035em}
.royal-refreshed .solution-bottom .eyebrow{font-size:8px;letter-spacing:.055em}
.royal-refreshed .solutions-footnote,.royal-refreshed .carriers-note{font-size:11px;line-height:1.85}
.royal-refreshed .carrier-directory>summary{font-family:var(--font);font-size:12px;font-weight:300;letter-spacing:.055em}
.royal-refreshed .carrier-toolbar .eyebrow{font-size:9px;letter-spacing:.09em}
.royal-refreshed .carrier-motion-toggle{font-family:var(--font);font-size:10px;font-weight:300;letter-spacing:.02em}
.royal-refreshed .chapter-tab{font-family:var(--font);font-size:10px;font-weight:300;letter-spacing:.09em}
.royal-refreshed .chapter-tab>span{font-family:var(--font);font-size:9px;letter-spacing:.04em}
.royal-refreshed .chapter-panel{min-height:225px}
.royal-refreshed .chapter-panel p{font-size:13px;line-height:1.9}
.royal-refreshed .chapter-panel .text-link{font-size:10px;letter-spacing:.04em}
.royal-refreshed .orbit-coordinate{font-family:var(--font);font-size:9px;font-weight:300;letter-spacing:.1em;color:#d2c8a8}
.royal-refreshed .footer-links{font-family:var(--font);font-size:11px;letter-spacing:0;line-height:1.9}
.royal-refreshed .footer-top>p{font-family:var(--font);font-size:9px;font-weight:300;letter-spacing:.1em;line-height:1.9}
.royal-refreshed .footer-top .text-link{font-size:10px;letter-spacing:.04em}
.royal-refreshed .legal-copy{font-size:10px;line-height:1.95}
.royal-refreshed .form-fields label{font-family:var(--font);font-size:10px;font-weight:300;letter-spacing:.06em;line-height:1.7}
.royal-refreshed .email-note,.royal-refreshed .career-disclosure{font-size:11px!important;line-height:1.9}
.royal-refreshed .dialog-contact{font-family:var(--font);font-size:13px;line-height:1.8;letter-spacing:0}
.royal-refreshed .dialog-back{font-family:var(--font);font-size:12px;line-height:1.8}
.royal-refreshed .dialog-top .eyebrow{font-size:9px;letter-spacing:.07em}
.royal-refreshed .dialog-footer{font-family:var(--font);font-size:9px;letter-spacing:.07em;line-height:1.8}
.royal-refreshed .careers-meta,.royal-refreshed .career-support{font-family:var(--font);font-size:10px;font-weight:300;letter-spacing:.07em;line-height:1.9}
.royal-refreshed .career-track-tabs>button>span{font-family:var(--font);font-size:9px;letter-spacing:.075em;line-height:1.8}

.royal-refreshed .contact-direct{display:flex;flex-wrap:wrap;align-items:flex-start;gap:28px 50px;margin-top:35px;font-family:var(--font);letter-spacing:0}
.royal-refreshed .contact-direct>a{display:flex;flex-direction:column;gap:10px;min-height:64px;min-width:0;padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--font);text-transform:none;letter-spacing:0;line-height:1.8}
.contact-label{font-family:var(--font);font-weight:300;font-size:10px;letter-spacing:.09em;color:var(--gold)}
.contact-value{font-family:var(--font);font-size:20px;font-weight:300;letter-spacing:0;line-height:1.8;overflow-wrap:anywhere}
.contact-value>.link-icon{margin-left:12px;color:var(--gold)}
.contact-direct a[href^="mailto:"] .contact-value{font-size:clamp(14px,1.35vw,19px)}
.royal-refreshed .dialog-contact a{padding-block:7px;overflow-wrap:anywhere}

/* A continuous clock-driven orbit: no easing dead points, scroll seeking or resets. */
.royal-refreshed .orbit-scene{aspect-ratio:1/1;min-width:0;contain:layout;isolation:isolate}
.royal-orbits{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;fill:none;stroke:none;pointer-events:none}
.royal-orbit{transform-origin:300px 300px;transform-box:view-box;animation:royal-gold-orbit var(--orbit-duration) linear infinite;animation-play-state:running}
.royal-orbit-one{--orbit-from:-32deg;--orbit-to:328deg;--orbit-duration:120s}
.royal-orbit-two{--orbit-from:36deg;--orbit-to:-324deg;--orbit-duration:160s}
.royal-orbit-three{--orbit-from:84deg;--orbit-to:444deg;--orbit-duration:200s}
.royal-orbit-band{stroke-width:3;fill:none;opacity:.9}
.royal-orbit-edge{stroke:#fff0c1;stroke-width:.65;fill:none;opacity:.24}
.orbit-scene.motion-paused .royal-orbit{animation-play-state:paused}
.royal-refreshed .orbit-core{width:62%;height:62%;z-index:3;pointer-events:none}
.royal-refreshed .orbit-logo{inset:8%}
.royal-refreshed .orbit-logo img{width:100%;height:100%;object-fit:contain}
.royal-refreshed .orbit-mark{opacity:.35;font-size:17px}
@keyframes royal-gold-orbit{from{transform:rotate(var(--orbit-from))}to{transform:rotate(var(--orbit-to))}}

@media(max-width:1000px){.royal-refreshed .desktop-nav{gap:18px}.royal-refreshed .desktop-nav a{font-size:10px;letter-spacing:.055em}.royal-refreshed .header-cta{gap:14px}.royal-refreshed .contact-direct{gap:25px}}
@media(max-width:850px){.royal-refreshed .mobile-menu>a{font-family:var(--font);font-size:24px;letter-spacing:.045em}.royal-refreshed .mobile-menu .eyebrow{font-size:10px;letter-spacing:.075em}.royal-refreshed .orbit-coordinate{font-size:8px}.royal-refreshed .chapter-panel p{font-size:12px}}
.royal-refreshed .mobile-menu{clip-path:none;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility 0s .18s}
.royal-refreshed.menu-open .mobile-menu{clip-path:none;opacity:1;transform:none;pointer-events:auto;visibility:visible;transition-delay:0s}
@media(max-width:600px){
  .royal-refreshed .header,.royal-refreshed .header.scrolled{height:104px;gap:12px}
  .royal-refreshed .header .brand-logo,.royal-refreshed .header.scrolled .brand-logo{width:88px;height:88px;transition:none}
  .royal-refreshed .header-cta{font-size:10px;min-height:44px;padding:12px;gap:9px;letter-spacing:.025em}
  .royal-refreshed .header-cta svg{width:15px;height:15px}
  .royal-refreshed .menu-toggle{width:40px;height:44px;padding:7px;flex-shrink:0}
  .royal-refreshed .mobile-menu{padding-top:135px;padding-bottom:35px;overflow-y:auto;justify-content:flex-start;gap:0}
  .royal-refreshed .mobile-menu>a,.royal-refreshed .mobile-menu>.btn{flex-shrink:0}
  .royal-refreshed .hero{min-height:750px}
  .royal-refreshed .hero-content{padding-top:185px;padding-bottom:145px}
  .royal-refreshed .hero h1{font-size:clamp(25px,7.25vw,42px);line-height:1.3;letter-spacing:.05em}
  .royal-refreshed .hero .eyebrow{font-size:9px;letter-spacing:.1em;gap:10px;margin-bottom:26px}
  .royal-refreshed .hero-copy{font-size:13px;line-height:1.9;max-width:350px}
  .royal-refreshed .hero-actions .btn{font-size:10px;letter-spacing:.045em;min-height:54px;gap:20px}
  .royal-refreshed .hero-caption,.royal-refreshed .scroll-cue{font-size:8px;letter-spacing:.07em;line-height:1.9}
  .royal-refreshed .section-label .eyebrow{font-size:9px;letter-spacing:.09em}
  .royal-refreshed .audience-grid .eyebrow{font-size:9px;letter-spacing:.08em}
  .royal-refreshed .audience-grid p,.royal-refreshed .intro-copy>p:not(.lead),.royal-refreshed .solutions-heading>p,.royal-refreshed .process-heading>p{font-size:13px;line-height:1.9}
  .royal-refreshed .audience-grid .text-link{font-size:10px;letter-spacing:.035em}
  .royal-refreshed .values-line>span{font-size:10px;letter-spacing:.055em}
  .royal-refreshed .solutions-footnote,.royal-refreshed .carriers-note{font-size:10px}
  .royal-refreshed .carriers-heading>p{font-size:13px}
  .royal-refreshed .carrier-toolbar .eyebrow{font-size:8px;letter-spacing:.03em}
  .royal-refreshed .carrier-motion-toggle{font-size:10px;letter-spacing:0}
  .royal-refreshed .carrier-directory>summary{font-size:11px;letter-spacing:.045em}
  .royal-refreshed .royal-about-band .legacy-sticky{padding:65px 24px}
  .royal-refreshed .royal-about-band .legacy-grid{gap:10px}
  .royal-refreshed .royal-about-band .orbit-scene{width:min(100%,360px);max-height:none;margin:0 auto}
  .royal-refreshed .orbit-core{width:64%;height:64%}
  .royal-refreshed .chapter-tab{font-size:10px;letter-spacing:.065em;padding-bottom:15px}
  .royal-refreshed .chapter-panel{min-height:205px;padding-top:24px}
  .royal-refreshed .chapter-panel h3{font-size:14px;line-height:1.75}
  .royal-refreshed .chapter-panel p{font-size:12px;line-height:1.9;margin-top:11px}
  .royal-refreshed .chapter-panel .text-link{font-size:10px;margin-top:15px}
  .royal-refreshed .orbit-coordinate{font-size:8px;letter-spacing:.075em}
  .royal-refreshed .contact-direct{display:grid;grid-template-columns:minmax(0,1fr);gap:25px;margin-top:30px}
  .royal-refreshed .contact-direct>a{width:100%;max-width:100%;gap:7px;padding-bottom:14px;min-height:60px}
  .royal-refreshed .contact-value{font-size:19px}
  .royal-refreshed .contact-direct a[href^="mailto:"] .contact-value{font-size:14px;line-height:1.9}
  .royal-refreshed .contact-label{font-size:10px}
  .royal-refreshed .contact-bottom>p{font-size:13px;line-height:1.9}
  .royal-refreshed .footer-top .text-link{font-size:9px;letter-spacing:.02em;gap:8px}
  .royal-refreshed .footer-links{font-size:11px;gap:19px}
  .royal-refreshed .legal-copy{font-size:10px;line-height:1.95}
  .royal-refreshed .careers-meta,.royal-refreshed .career-support{font-size:9px;letter-spacing:.04em}
  .royal-refreshed .career-track-tabs>button>span{font-size:8px;letter-spacing:.04em}
  .royal-refreshed .dialog-title{font-size:22px;line-height:1.4}
  .royal-refreshed .dialog-top .eyebrow{font-size:8px;letter-spacing:.045em}
  .royal-refreshed .dialog-contact{font-size:12px}
  .royal-refreshed .dialog-footer{font-size:8px;letter-spacing:.04em}
}
@media(min-width:380px) and (max-width:600px){.royal-refreshed .hero-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;max-width:400px;width:100%}.royal-refreshed .hero-actions .btn{min-width:0;width:100%;padding:15px 12px;gap:10px;font-size:9px;letter-spacing:.025em}.royal-refreshed .hero-actions svg{width:16px;height:16px;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.royal-orbit{animation:none;transform:rotate(var(--orbit-from))}}

/* Drawn line icons keep the same appearance on desktop and phone emoji fonts. */
.link-icon{display:inline-block;width:16px;height:16px;flex:0 0 16px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.text-link>.link-icon{width:17px;height:17px;flex-basis:17px;transition:transform .3s var(--ease)}
.text-link:hover>.link-icon{transform:translate(3px,-3px)}
.text-link:hover>.icon-down{transform:translateY(3px)}
.text-link:hover>.icon-up{transform:translateY(-3px)}
.dialog-back{display:inline-flex;align-items:center;gap:8px}
.dialog-contact a,.footer-links a{display:inline-flex;align-items:center;gap:8px}
@media(prefers-reduced-motion:reduce){.text-link>.link-icon{transition:none}.text-link:hover>.link-icon{transform:none}}


/* Useful footer navigation, with the same type and drawn icons as the main site. */
.royal-refreshed .footer{padding-top:55px;padding-bottom:30px}
.footer-main{display:grid;grid-template-columns:1.05fr .75fr .9fr 1.25fr;gap:35px;align-items:start;padding-bottom:40px;border-bottom:1px solid var(--line)}
.footer-brand-block{min-width:0}
.footer-brand-block .brand{display:inline-flex}
.footer-brand-block .brand-logo{width:165px;height:165px}
.footer-brand-block>p{max-width:235px;margin-top:12px;font-size:12px;line-height:1.9;color:var(--muted)}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding-top:14px;gap:0}
.footer-heading{font:300 11px/1.8 var(--font);letter-spacing:.1em;color:var(--gold);margin:0 0 16px}
.footer-column>a{display:inline-flex;align-items:center;gap:12px;min-height:40px;padding-block:8px;font-size:12px;line-height:1.7;color:var(--ink);transition:color .2s}
.footer-column>a:hover{color:var(--gold)}
.footer-column>.footer-quote{font-size:10px;letter-spacing:.055em;min-height:46px;max-width:210px;width:100%;padding:12px 17px;margin:2px 0 9px;gap:20px}
.footer-column>.footer-quote svg{width:17px;height:17px;flex:0 0 17px}
.footer-column>.footer-phone{font-size:17px;letter-spacing:0;white-space:nowrap}
.footer-column>.footer-email{display:block;max-width:100%;font-size:11px;overflow-wrap:anywhere;line-height:1.9;padding-block:6px}
.footer-contact>p{font-size:11px;line-height:1.9;color:var(--muted);margin-top:15px;max-width:270px}
.footer-base{display:flex;justify-content:space-between;align-items:center;gap:28px;padding-top:24px}
.footer-base .footer-links{display:flex;justify-content:flex-start;flex-wrap:wrap;align-items:center;gap:16px 30px;padding:0}
.footer-base .footer-links>div{flex-wrap:wrap;gap:16px 24px}
.royal-refreshed .footer-base .back-top{font-size:9px;letter-spacing:.04em;gap:12px;flex-shrink:0}
.royal-refreshed .footer .legal-copy{margin-top:26px}
@media(max-width:1000px){.footer-main{grid-template-columns:1fr 1fr;gap:32px 65px}.footer-contact{grid-column:1;grid-row:2}.footer-brand-block{grid-row:1}.footer-contact>p{max-width:310px}.footer-column>.footer-quote{max-width:225px}}
@media(max-width:600px){
  .royal-refreshed .footer{padding-top:34px}
  .footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 24px;padding-bottom:30px}
  .footer-brand-block{grid-column:1/-1;display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--line)}
  .footer-brand-block .brand-logo{width:130px;height:130px}
  .footer-brand-block>p{font-size:11px;line-height:1.9;margin-top:0;max-width:230px}
  .footer-column{padding-top:0}
  .footer-heading{font-size:10px;margin-bottom:12px;letter-spacing:.075em}
  .footer-column>a{font-size:11px;min-height:44px;gap:8px}
  .footer-column>.footer-quote{font-size:9px;letter-spacing:.02em;min-height:46px;padding:12px;gap:10px;margin-top:0;margin-bottom:0}
  .footer-start .link-icon{width:15px;height:15px;flex-basis:15px}
  .footer-contact{grid-column:1/-1;grid-row:auto;border-top:1px solid var(--line);padding-top:27px}
  .footer-column>.footer-phone{font-size:18px}
  .footer-column>.footer-email{font-size:12px;min-height:44px;line-height:1.9}
  .footer-contact>p{font-size:11px;margin-top:8px;max-width:330px}
  .footer-base{align-items:flex-start;flex-direction:column;gap:20px;padding-top:24px}
  .footer-base .footer-links{font-size:10px;flex-direction:column;align-items:flex-start;gap:17px}
  .footer-base .footer-links>div{gap:14px 20px}
  .footer-base .footer-links button,.footer-base .footer-links a{min-height:36px;display:inline-flex;align-items:center}
  .royal-refreshed .footer-base .back-top{font-size:10px;min-height:40px}
}
@media(max-width:350px){.footer-brand-block{grid-template-columns:110px minmax(0,1fr);gap:16px}.footer-brand-block .brand-logo{width:110px;height:110px}.footer-main{column-gap:18px}}

/* Keep privacy notices recognizable beside inquiry forms. */
.email-note a{text-decoration:underline;text-underline-offset:3px}
