/* Royal's finishing layer: cloth dissolves, enclosed arrow marks and shared threads. */
.royal-brand-mark{position:relative;display:inline-grid;place-items:center;flex:none;isolation:isolate}.royal-brand-mark:before{content:"";position:absolute;inset:-13% -28%;background:url('https://www.royalspvf.co.za/wp-content/uploads/2026/10/Royal-Blue-Silk-%E2%80%94-Website-Artwork.png') 62% 46%/cover;z-index:-1;opacity:.95;-webkit-mask-image:radial-gradient(ellipse,#000 22%,#000b 45%,transparent 73%);mask-image:radial-gradient(ellipse,#000 22%,#000b 45%,transparent 73%);pointer-events:none}.royal-page-ready .royal-brand-mark:before{animation:royal-banner-dissolve var(--royal-banner-fade,8s) cubic-bezier(.2,.6,.2,1) both}@keyframes royal-banner-dissolve{0%,18%{opacity:.95;transform:scale(1)}100%{opacity:0;transform:scale(1.13)}}
.royal-brand-intro .brand-ident{isolation:isolate}.royal-brand-intro .brand-ident:before{content:"";position:absolute;inset:-12% -14% 8%;z-index:-1;background:url('https://www.royalspvf.co.za/wp-content/uploads/2026/10/Royal-Blue-Silk-%E2%80%94-Website-Artwork.png') 56% 48%/cover;border:0;border-radius:0;transform:none;opacity:0;-webkit-mask-image:radial-gradient(ellipse,#0009 16%,#0005 43%,transparent 70%);mask-image:radial-gradient(ellipse,#0009 16%,#0005 43%,transparent 70%)}
.royal-brand-intro.is-playing .brand-ident{animation:royal-ident-slow-dissolve 3.05s both}.royal-brand-intro.is-playing .brand-ident:before{animation:royal-ident-cloth-dissolve 3.05s both}.royal-brand-intro.is-playing .brand-curtain{animation-duration:1.95s;animation-delay:1.45s}@keyframes royal-ident-slow-dissolve{0%{opacity:0;transform:translateY(6px) scale(.98)}15%,47%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-5px) scale(1.012)}}@keyframes royal-ident-cloth-dissolve{0%{opacity:0}15%,33%{opacity:1}100%{opacity:0}}
.royal-ui-icon{stroke-width:1.65;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.btn .arrow,.audience-arrow,.priority-row .more>span{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-size:15px;line-height:1;flex:none;opacity:.9;transition:background .3s,color .3s,border-color .3s,transform .4s}.btn .arrow .royal-ui-icon,.audience-arrow .royal-ui-icon,.priority-row .more>span .royal-ui-icon{width:17px;height:17px}.btn .arrow{margin:-5px -7px -5px 0;border-color:currentColor}.btn-gold .arrow{background:#142a4b0d;border-color:#142a4b66}.btn-outline-light .arrow{border-color:#dfc28c88;background:#dfc28c0b}.btn:hover .royal-ui-icon--ne,.text-link:hover .royal-ui-icon--ne,.priority-row:hover .royal-ui-icon--ne{transform:translate(2px,-2px)}.btn:focus-visible,.text-link:focus-visible{outline:2px solid #dfc28c;outline-offset:5px}.text-link>.royal-ui-icon{box-sizing:content-box;width:16px;height:16px;padding:7px;border:1px solid #c6a66c88;border-radius:50%}.audience-choice{grid-template-columns:30px minmax(0,1fr) 38px}.audience-arrow{color:#e5c98f;border-color:#d4b37166;background:#03143b33;width:36px;height:36px}.audience-choice[aria-pressed=true] .audience-arrow{background:#e2c38b;border-color:#e2c38b;color:#09235b;transform:rotate(45deg)}.audience-choice:hover:not([aria-pressed=true]) .audience-arrow{transform:translate(2px,-2px);background:#dfc28c18}.priority-row .more>span{width:36px;height:36px;font-size:14px;border-color:#ad864466}.brand-skip>.royal-ui-icon{width:17px;height:17px}.motion-cue .royal-ui-icon{width:18px;height:18px}
.royal-convergence{padding:92px 0 52px;color:#f5eddd;background:radial-gradient(ellipse at 50% 50%,#153b7b 0,#082052 45%,#041444 85%);overflow:clip}.convergence-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}.convergence-heading h2{font:normal clamp(42px,5vw,72px)/1.08 var(--serif);letter-spacing:-.045em;margin:22px 0 0}.convergence-heading h2 em{color:#dfc28c}.convergence-heading>p{font-size:15px;line-height:1.85;color:#c5d2eb;max-width:400px;margin:0 0 4px}.convergence-stage{max-width:800px;margin:8px auto 0;position:relative}.convergence-stage svg{display:block;width:100%;height:auto;overflow:visible}.convergence-thread{fill:none;stroke:#dabe82;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}.convergence-node{opacity:0;transform-box:fill-box;transform-origin:center}.convergence-node circle{fill:#dabe82;stroke:#f8e8c6;stroke-width:1}.convergence-node text{fill:#d1dded;font:11px var(--sans);letter-spacing:.045em}.convergence-crest{opacity:0;transform-box:fill-box;transform-origin:center}.convergence-crest circle{fill:#071c4977;stroke:#dabe8255;stroke-width:1;stroke-dasharray:3 10}.convergence-crest image{filter:drop-shadow(0 12px 18px #0005)}.royal-convergence.is-unfolding .convergence-thread{animation:royal-thread-arrival 2s calc(var(--thread)*.09s) cubic-bezier(.2,.65,.2,1) both}.royal-convergence.is-unfolding .convergence-node{animation:royal-node-arrival .9s calc(.25s + var(--thread)*.1s) both}.royal-convergence.is-unfolding .convergence-crest{animation:royal-crest-arrival 1.4s .8s both}@keyframes royal-thread-arrival{0%{stroke-dashoffset:1;opacity:0}12%{opacity:.9}100%{stroke-dashoffset:0;opacity:.7}}@keyframes royal-node-arrival{0%{opacity:0;transform:translateY(7px)}100%{opacity:1;transform:translateY(0)}}@keyframes royal-crest-arrival{0%{opacity:0;transform:scale(.88)}100%{opacity:1;transform:scale(1)}}.convergence-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #dfc28c33;padding-top:22px}.convergence-bottom>p{font-size:10px;line-height:1.7;color:#9dacc6;max-width:400px;margin:0}.convergence-bottom .text-link{font-size:11px;color:#e7cc98;white-space:nowrap}
.royal-editable-section{position:relative;min-width:0}.royal-section-extra{padding:56px 0;background:#f7f3e9;color:#15284b}.royal-section-extra:empty{display:none}.royal-section-extra .wp-block-image img{max-width:100%;height:auto}.royal-section-extra .wp-block-columns{gap:clamp(20px,4vw,60px)}.royal-section-extra p{line-height:1.8}.royal-section-extra h2,.royal-section-extra h3{font-family:var(--serif);font-weight:normal}.royal-width-narrow{--max:900px}.royal-width-wide{--max:1320px}.royal-tone-blue>.royal-section-extra{background:#09235b;color:#f5eddd}.royal-tone-ivory>.royal-section-extra{background:#f7f3e9;color:#15284b}.royal-spacing-compact:not(.royal-protected-scene)>section,.royal-spacing-compact>.royal-section-extra{padding-block:48px}.royal-spacing-generous:not(.royal-protected-scene)>section,.royal-spacing-generous>.royal-section-extra{padding-block:120px}.royal-section-extra .alignwide{max-width:1320px}.royal-section-extra .alignfull{width:100%;max-width:none}.royal-native-menu{display:flex;gap:22px;list-style:none;padding:0;margin:0;align-items:center}.royal-native-menu li{list-style:none;position:relative}.royal-native-menu a{display:block;font-size:12px;color:inherit;padding:12px 0}.royal-native-menu .sub-menu{display:none;position:absolute;right:0;top:100%;padding:12px 20px;background:#f7f3e9;color:#15284b;min-width:230px;box-shadow:0 15px 35px #0002}.royal-native-menu li:hover>.sub-menu,.royal-native-menu li:focus-within>.sub-menu{display:block}.royal-native-menu .current-menu-item>a{color:#dabc82}.royal-native-menu .sub-menu a{padding:9px 0;font-size:12px}.royal-feature h2 em{color:#d9ba80}
@media(max-width:800px){.convergence-heading{gap:30px;grid-template-columns:1fr}.convergence-heading>p{max-width:520px}.convergence-stage{margin-block:30px 8px}.convergence-node text{font-size:12px;letter-spacing:0}.convergence-bottom{gap:20px}.royal-native-menu{gap:12px}.royal-native-menu a{font-size:11px}}
@media(max-width:600px){.royal-convergence{padding:62px 0 34px}.convergence-heading h2{font-size:43px}.convergence-heading>p{font-size:14px}.convergence-stage{margin:36px -8px 26px}.convergence-node text{font-size:15px}.convergence-bottom{align-items:flex-start;flex-direction:column;gap:10px}.convergence-bottom>p{font-size:10px}.convergence-crest image{transform:scale(1.05);transform-origin:400px 200px}.audience-choice{grid-template-columns:27px minmax(0,1fr) 36px;gap:12px}.audience-choice[aria-pressed=true]{padding-right:10px}.btn .arrow{width:29px;height:29px;margin:-4px -4px -4px 0}.royal-section-extra{padding-block:36px}.royal-spacing-generous:not(.royal-protected-scene)>section,.royal-spacing-generous>.royal-section-extra{padding-block:72px}.royal-native-menu{display:block;width:100%}.mobile-nav .royal-native-menu>li{border-bottom:1px solid #c6b89566}.mobile-nav .royal-native-menu .sub-menu{display:block;position:static;box-shadow:none;background:transparent;padding:0 0 12px 20px}.mobile-nav .royal-native-menu a{padding:11px 0;font-size:14px}.mobile-nav{max-height:calc(100svh - 82px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.royal-brand-mark:before{animation:none!important;opacity:0}.convergence-thread{stroke-dashoffset:0;opacity:.7}.convergence-node,.convergence-crest{opacity:1;transform:none}.royal-convergence *{animation:none!important;transition:none!important}.royal-ui-icon,.audience-arrow{transition:none!important}}

.royal-page-content>p,.royal-page-content>h1,.royal-page-content>h2,.royal-page-content>h3,.royal-page-content>h4,.royal-page-content>ul,.royal-page-content>ol,.royal-page-content>figure,.royal-page-content>.wp-block-group,.royal-page-content>.wp-block-columns,.royal-page-content>.wp-block-buttons{width:min(var(--max),calc(100% - 48px));margin:36px auto}.royal-page-content>.alignfull{width:100%;max-width:none}.royal-page-content>.wp-block-columns{gap:32px}.royal-page-content>.wp-block-image img{max-width:100%;height:auto}.royal-page-content>h2,.royal-page-content>h3{font-family:var(--serif);font-weight:normal}

.convergence-legend{display:none}@media(max-width:600px){.convergence-node text{display:none}.convergence-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;list-style:none;margin:0 0 30px;padding:0;color:#c5d2eb;font-size:11px;line-height:1.5}.convergence-legend li{display:flex;align-items:center;gap:9px}.convergence-legend li:before{content:"";width:4px;height:4px;background:#dfc28c;border-radius:50%;flex:none}}

.convergence-thread{vector-effect:non-scaling-stroke;stroke-width:1.1}.text-link>.arrow,.enterprise-card>b,.dossier summary>b,.collaboration summary>span[aria-hidden],.careers-portal button>span[aria-hidden]{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid currentColor;border-radius:50%;font-size:15px;line-height:1;flex:none}.text-link>.arrow .royal-ui-icon,.enterprise-card>b .royal-ui-icon,.dossier summary>b .royal-ui-icon,.collaboration summary>span .royal-ui-icon,.careers-portal button>span .royal-ui-icon{width:17px;height:17px}.enterprise-card:hover .royal-ui-icon--ne,.careers-portal button:hover .royal-ui-icon--ne{transform:translate(2px,-2px)}.wp-block-button__link>.royal-ui-icon{box-sizing:content-box;width:16px;height:16px;padding:7px;border:1px solid currentColor;border-radius:50%;margin-left:12px}

/* Revision 7: the curtain fills the viewport; copy keeps the header's grid. */
.home-hero .hero-inner{position:static}
.home-hero .hero-art{inset:-24px;max-width:none;width:auto;margin:0;opacity:1}
.home-hero .hero-art:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#041444ed 0%,#041444ce 30%,#04144455 60%,#04144400 84%);pointer-events:none}
.home-hero .hero-copy:before{display:none}
.home-hero .silk-study{object-position:center;filter:none}
.home-hero .silk-label{z-index:2;right:max(64px,calc((100% - var(--max))/2 + 24px));bottom:68px}
.home-hero .hero-note{position:relative;z-index:3}

/* UI glyphs stay small even inside a full-size illustration or gallery. */
svg.royal-ui-icon{display:inline-block;box-sizing:border-box;width:20px;height:20px;max-width:20px;max-height:20px;aspect-ratio:1;flex:none;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;filter:none;vertical-align:middle}
.btn .arrow,.audience-arrow,.priority-row .more>span,.text-link>.arrow,.enterprise-card>b,.dossier summary>b,.collaboration summary>span[aria-hidden],.careers-portal button>span[aria-hidden]{width:28px;height:28px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;opacity:1}
.text-link>svg.royal-ui-icon,.wp-block-button__link>svg.royal-ui-icon{box-sizing:border-box;width:20px;height:20px;padding:0;border:0;border-radius:0;margin-left:10px;filter:none}
.btn .arrow{margin:-2px -3px -2px 5px}
.btn-gold .arrow,.btn-outline-light .arrow{border:0;background:transparent}
.audience-arrow{color:#d6ba83}
.audience-choice[aria-pressed=true] .audience-arrow{background:transparent;border:0;color:#f2d69f;transform:rotate(45deg)}
.audience-choice:hover:not([aria-pressed=true]) .audience-arrow{background:transparent;transform:translate(2px,-2px)}
.priority-row .more>span{color:#9e7943}
.text-link:hover,.text-link:focus-visible{color:#b28d52}
.royal-feature .text-link:hover,.royal-feature .text-link:focus-visible,.story-section .text-link:hover{color:#f0d29b}

/* A moving point of light suggests scrolling without covering the artwork. */
.royal-scroll-marker{display:inline-block;position:relative;width:12px;height:26px;max-width:12px;max-height:26px;flex:0 0 12px;vertical-align:middle;animation:none!important}
.royal-scroll-marker:before{content:"";position:absolute;left:5.5px;top:2px;bottom:2px;width:1px;background:linear-gradient(transparent,currentColor 20%,currentColor 80%,transparent);opacity:.35}
.royal-scroll-marker:after{content:"";position:absolute;left:3.5px;top:3px;width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 9px currentColor;animation:royal-scroll-light 2.2s cubic-bezier(.35,0,.35,1) infinite}
.story-scroll-cue{display:flex;justify-content:center;align-items:center;gap:10px;bottom:54px;min-height:26px;font-size:10px;letter-spacing:.025em;color:#b8c8e3}
.motion-cue{gap:12px}.motion-cue>span{animation:none}
@keyframes royal-scroll-light{0%{transform:translateY(0);opacity:0}20%{opacity:.9}75%{opacity:.8}100%{transform:translateY(15px);opacity:0}}
@media(max-width:850px){.home-hero .hero-art:after{background:linear-gradient(90deg,#041444e8,#041444a6 56%,#04144422)}.home-hero .silk-study{object-position:65% center}.story-scroll-cue{display:none}}
@media(max-width:600px){.home-hero .silk-label{right:44px;bottom:80px;max-width:210px;font-size:12px}.home-hero .hero-copy .body-large{background:transparent}.btn .arrow{width:24px;height:24px;margin:-1px -2px -1px 3px}}
@media(prefers-reduced-motion:reduce){.royal-scroll-marker:after{animation:none;transform:translateY(7px);opacity:.8}.royal-scroll-marker{animation:none}.motion-cue,.story-scroll-cue{display:none}}
.evidence-divider:after{content:"";width:48px;height:32px;border:0;border-radius:3px;background:#dfc28c url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2032%22%20fill%3D%22none%22%20stroke%3D%22%23102447%22%20stroke-width%3D%221.45%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M17%2010l-6%206%206%206M31%2010l6%206-6%206%22%2F%3E%3Cpath%20d%3D%22M24%2011v10%22%20opacity%3D%22.3%22%2F%3E%3C%2Fsvg%3E") center/48px 32px no-repeat;box-shadow:0 3px 12px #04144422}


