/* R7: independent, responsive hero compositions (not one shared banner). */
.premium-r4 .rb-hero{background:#eef0ec;color:#20303a;isolation:isolate;position:relative;min-height:0!important;overflow:hidden}
.premium-r4 .rb-hero .p-hero-photo{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;height:auto;border-radius:0;box-shadow:none;overflow:hidden}
.premium-r4 .rb-hero .rb-picture,.premium-r4 .rb-hero .rb-picture img{display:block;width:100%;height:100%;object-fit:cover}
.premium-r4 .rb-hero .rb-hero-copy{min-width:0;position:relative;z-index:2}
.premium-r4 .rb-hero .rb-hero-copy h1,.premium-r4 .rb-hero .rb-hero-copy h2{color:inherit;font:600 clamp(3.2rem,6vw,7.7rem)/1 var(--rb-sans);letter-spacing:-.07em;margin:0 0 26px;max-width:880px}
.premium-r4 .rb-hero .rb-eyebrow{display:flex;align-items:center;gap:13px;font-size:.67rem!important;letter-spacing:.17em;font-weight:790;text-transform:uppercase;margin:0 0 25px;color:inherit!important}
.premium-r4 .rb-eyebrow-rule{width:27px;height:1px;background:currentColor;flex:0 0 27px}
.premium-r4 .rb-hero-lead{font-size:clamp(1rem,1.4vw,1.2rem);max-width:580px;line-height:1.76;color:inherit!important;opacity:.82;margin:0 0 36px}
.premium-r4 .rb-hero-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.premium-r4 .rb-button{display:inline-flex;justify-content:space-between;align-items:center;gap:23px;padding:15px 21px;min-height:53px;font-size:.84rem;font-weight:730;transition:transform .18s}
.premium-r4 .rb-button:hover{transform:translateY(-2px)}
.premium-r4 .rb-button-main{background:#192f3b;color:#fff}
.premium-r4 .rb-button-secondary{background:transparent;color:inherit;border:1px solid currentColor}
.premium-r4[data-r7-align=center] .rb-hero-copy{text-align:center;margin-inline:auto}
.premium-r4[data-r7-align=center] .rb-eyebrow,.premium-r4[data-r7-align=center] .rb-hero-actions{justify-content:center}
.premium-r4[data-r7-align=right] .rb-hero-copy{text-align:right;margin-left:auto}
.premium-r4[data-r7-align=right] .rb-eyebrow,.premium-r4[data-r7-align=right] .rb-hero-actions{justify-content:flex-end}
/* Photo cover */
.premium-r4 [data-r7-hero=immersive],.premium-r4 [data-r7-hero=story]{background:#101c24;color:#fff}
.premium-r4 .rb-immersive-photo,.premium-r4 .rb-story-photo{position:absolute!important;inset:0!important;z-index:-3;height:100%!important;width:100%!important}
.premium-r4 .rb-immersive-scrim,.premium-r4 .rb-story-scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#091824d4,#0918243b 80%),linear-gradient(0deg,#101b277d,transparent 60%)}
.premium-r4 .rb-immersive-inner{min-height:clamp(660px,85svh,940px);display:flex;align-items:center;position:relative;padding-block:112px}
.premium-r4 .rb-immersive-inner .rb-hero-copy{max-width:730px}
.premium-r4 .rb-immersive-caption{position:absolute;bottom:29px;left:var(--rb-gutter);font-size:.63rem;font-weight:780;letter-spacing:.17em}
.premium-r4 .rb-immersive-caption span{opacity:.66}
.premium-r4 [data-r7-hero=immersive] .rb-button-main,.premium-r4 [data-r7-hero=story] .rb-button-main{background:#fff;color:#172838}
/* Classic editorial split */
.premium-r4 [data-r7-hero=split]{background:#f5f5f1}
.premium-r4 .rb-split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:750px}
.premium-r4 .rb-split-text{display:flex;flex-direction:column;justify-content:center;padding:85px clamp(30px,4vw,82px) 80px 0;min-width:0}
.premium-r4 .rb-split-photo{height:100%;margin-right:calc(-1*var(--rb-gutter))}
.premium-r4 .rb-split-overline,.premium-r4 .rb-issue-number{font-size:.66rem;font-weight:790;letter-spacing:.2em;color:#617783}
.premium-r4 .rb-issue-number{margin-bottom:45px}
.premium-r4 .rb-split-overline{margin-top:65px}
/* Asymmetrical art-directed photo mosaic */
.premium-r4 [data-r7-hero=mosaic]{background:#f5f1ea}
.premium-r4 .rb-mosaic-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(33px,5vw,85px);min-height:780px;padding-block:80px}
.premium-r4 .rb-mosaic-text{min-width:0}
.premium-r4 .rb-mosaic-media{height:640px;display:grid;grid-template-columns:1.08fr .92fr;grid-template-rows:1fr 1fr;gap:12px;min-width:0}
.premium-r4 .rb-mosaic-main{grid-column:1;grid-row:1/3}
.premium-r4 .rb-mosaic-tile{overflow:hidden}
.premium-r4 .rb-mosaic-tile img{width:100%;height:100%;object-fit:cover}
.premium-r4 .rb-mosaic-note{font-size:.65rem;letter-spacing:.15em;font-weight:730;color:#5b6d74;margin:52px 0 0}
.premium-r4 [data-r7-hero=mosaic] .rb-hero-copy h1{font:400 clamp(4rem,6.8vw,8.5rem)/.9 var(--rb-serif);letter-spacing:-.042em}
/* Typography-led, with photo as punctuation */
.premium-r4 [data-r7-hero=typographic]{background:#142432;color:#fff}
.premium-r4 .rb-type-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-template-rows:auto 1fr auto;min-height:760px;gap:0 35px;padding-block:70px}
.premium-r4 .rb-type-index{grid-column:1/-1;font-size:.68rem;letter-spacing:.18em;font-weight:780;color:#b5c5d5}
.premium-r4 .rb-type-copy{grid-column:1;align-self:center;padding-block:36px}
.premium-r4 .rb-type-copy .rb-hero-copy h1{font-size:clamp(4rem,7vw,9rem);letter-spacing:-.092em}
.premium-r4 .rb-type-photo{grid-column:2;height:470px;align-self:end}
.premium-r4 .rb-type-footer{grid-column:1/-1;font-size:.67rem;letter-spacing:.16em;border-top:1px solid #ffffff67;padding-top:24px;color:#c1cbd4}
.premium-r4 [data-r7-hero=typographic] .rb-button-main{background:#fff;color:#142432}
/* Image project canvas with floating briefing card */
.premium-r4 [data-r7-hero=project]{background:#e8ecec;min-height:760px!important}
.premium-r4 .rb-project-image{position:absolute!important;inset:0 0 auto!important;height:650px!important;width:100%!important;z-index:-2}
.premium-r4 .rb-project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d1a2480,transparent 65%)}
.premium-r4 .rb-project-label{position:absolute;top:55px;left:var(--rb-gutter);font-size:.68rem;letter-spacing:.18em;font-weight:790;color:#fff;z-index:2}
.premium-r4 .rb-project-wrap{display:flex;align-items:flex-end;justify-content:flex-end;min-height:790px;padding-block:105px 63px}
.premium-r4 .rb-project-card{background:#fff;width:min(820px,70vw);padding:clamp(35px,5vw,95px);box-shadow:0 35px 70px #1b32461d}
.premium-r4 .rb-project-underscore{display:block;width:57px;height:3px;background:#2a546b;margin-top:35px}
/* Product and service spotlight */
.premium-r4 [data-r7-hero=spotlight]{background:#eef2ef}
.premium-r4 .rb-spotlight-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:750px}
.premium-r4 .rb-spotlight-image{height:100%;margin-left:calc(-1*var(--rb-gutter))}
.premium-r4 .rb-spotlight-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 0 80px clamp(40px,6vw,105px)}
.premium-r4 .rb-spotlight-marker{display:flex;align-items:center;justify-content:space-between;margin-bottom:65px;font-size:.66rem;font-weight:780;letter-spacing:.16em}
.premium-r4 .rb-spotlight-marker span{font-size:2rem;color:#7a9da7}
.premium-r4 .rb-spotlight-bottom{font-size:.66rem;letter-spacing:.16em;color:#5a747d;font-weight:760;margin-top:60px}
/* Service directory hero; links are actual published pages */
.premium-r4 [data-r7-hero=directory]{background:#edf3f8;color:#153552}
.premium-r4 .rb-directory-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,5vw,90px);min-height:750px;padding-block:95px}
.premium-r4 .rb-directory-side{background:#fff;box-shadow:0 22px 45px #133e5b13;min-width:0}
.premium-r4 .rb-directory-image{height:310px}
.premium-r4 .rb-directory-links{display:grid;grid-template-columns:1fr 1fr}
.premium-r4 .rb-directory-links a{min-height:60px;padding:14px 12px;display:flex;align-items:center;gap:10px;border:1px solid #e3eaef;font-size:.79rem;font-weight:700;color:#244d72}
.premium-r4 .rb-directory-links a span:first-child{font-size:.65rem;font-weight:750;color:#6d8599}
.premium-r4 .rb-directory-links a span:last-child{margin-left:auto}
.premium-r4 .rb-directory-links a:hover{background:#edf5f9}
.premium-r4 .rb-directory-note{font-size:.65rem;letter-spacing:.17em;font-weight:760;margin-top:63px;color:#486778}
/* Destination and immersive story */
.premium-r4 .rb-story-scrim{background:linear-gradient(180deg,#14212673,#142126a8)}
.premium-r4 .rb-story-inner{min-height:790px;display:flex;justify-content:center;align-items:center;text-align:center;flex-direction:column;position:relative;padding-block:125px}
.premium-r4 .rb-story-issue{position:absolute;top:72px;font-size:.68rem;letter-spacing:.17em;font-weight:760}
.premium-r4 .rb-story-inner .rb-hero-copy{max-width:940px}
.premium-r4 .rb-story-inner .rb-hero-copy h1{font:400 clamp(4.9rem,8.5vw,10rem)/.87 var(--rb-serif);letter-spacing:-.035em}
.premium-r4 .rb-story-inner .rb-eyebrow,.premium-r4 .rb-story-inner .rb-hero-actions{justify-content:center}
.premium-r4 .rb-story-inner .rb-hero-lead{margin-inline:auto}
.premium-r4 .rb-story-next{position:absolute;bottom:39px;font-size:.64rem;letter-spacing:.18em}
@media(max-width:900px){
 .premium-r4 .rb-split-grid,.premium-r4 .rb-mosaic-grid,.premium-r4 .rb-spotlight-grid,.premium-r4 .rb-directory-grid{grid-template-columns:1fr;min-height:0}
 .premium-r4 .rb-split-text{padding:75px 0}
 .premium-r4 .rb-split-photo,.premium-r4 .rb-spotlight-image{height:420px;margin:0}
 .premium-r4 .rb-mosaic-grid{padding-block:70px;gap:38px}
 .premium-r4 .rb-mosaic-media{height:540px}
 .premium-r4 .rb-type-grid{grid-template-columns:1fr;min-height:0}
 .premium-r4 .rb-type-copy,.premium-r4 .rb-type-photo,.premium-r4 .rb-type-footer{grid-column:1}
 .premium-r4 .rb-type-photo{height:300px;align-self:auto;margin-bottom:30px}
 .premium-r4 .rb-directory-grid{padding-block:70px}
 .premium-r4 .rb-directory-side{margin-top:20px}
 .premium-r4 .rb-spotlight-copy{padding:65px 0}
}
@media(max-width:760px){
 .premium-r4 .rb-hero .rb-hero-copy h1{font-size:clamp(2.9rem,9.5vw,5.2rem)}
 .premium-r4 .rb-immersive-photo,.premium-r4 .rb-story-photo{position:relative!important;inset:auto!important;width:100%!important;height:clamp(330px,55svh,540px)!important;z-index:auto}
 .premium-r4 .rb-immersive-scrim,.premium-r4 .rb-story-scrim{display:none}
 .premium-r4 [data-r7-hero=immersive],.premium-r4 [data-r7-hero=story]{background:#f3f2ee;color:#172c35}
 .premium-r4 .rb-immersive-inner,.premium-r4 .rb-story-inner{min-height:0;padding-block:55px 65px;display:block;text-align:left}
 .premium-r4 .rb-immersive-caption,.premium-r4 .rb-story-issue{position:static;display:block;margin:0 0 22px;color:#59717a}
 .premium-r4 .rb-immersive-caption{margin:36px 0 0}
 .premium-r4 .rb-story-inner .rb-hero-copy h1{font-size:clamp(4rem,11vw,5.8rem)}
 .premium-r4 .rb-story-inner .rb-eyebrow,.premium-r4 .rb-story-inner .rb-hero-actions{justify-content:flex-start}
 .premium-r4 .rb-story-next{display:none}
 .premium-r4 .rb-split-photo{height:360px}
 .premium-r4 .rb-split-overline{margin-top:35px}
 .premium-r4 .rb-issue-number{margin-bottom:25px}
 .premium-r4 .rb-mosaic-media{height:420px}
 .premium-r4 .rb-type-grid{padding-block:67px}
 .premium-r4 .rb-project-image{position:relative!important;inset:auto!important;width:100%!important;height:350px!important;z-index:auto}
 .premium-r4 .rb-project-wrap{min-height:0;display:block;padding:0}
 .premium-r4 .rb-project-card{width:auto;margin:0 calc(-1*var(--rb-gutter));padding:55px var(--rb-gutter);box-shadow:none}
 .premium-r4 .rb-project-label{top:40px}
 .premium-r4 .rb-spotlight-image{height:350px}
 .premium-r4 .rb-directory-image{height:270px}
 .premium-r4 .rb-directory-note{margin-top:32px}
}
@media(max-width:480px){
 .premium-r4 .rb-hero .rb-hero-copy h1{font-size:clamp(2.8rem,10.9vw,4.5rem)}
 .premium-r4 .rb-hero-actions{flex-direction:column;align-items:stretch}
 .premium-r4 .rb-button{width:100%}
 .premium-r4 .rb-mosaic-media{height:315px;gap:7px}
 .premium-r4 .rb-split-photo,.premium-r4 .rb-spotlight-image{height:300px}
 .premium-r4 .rb-type-photo{height:245px}
 .premium-r4 .rb-directory-links{grid-template-columns:1fr}
 .premium-r4 .rb-directory-image{height:240px}
 .premium-r4 .rb-story-inner .rb-hero-copy h1{font-size:clamp(3.6rem,11vw,4.9rem)}
}
@media(prefers-reduced-motion:reduce){.premium-r4 .rb-button{transition:none!important}}
/* Saved per-section presentation variants; no arbitrary user-controlled CSS. */
.premium-r4 main section[data-section-style=contrast]:not(.rb-hero){background:#e8eef1}
.premium-r4 main section[data-section-style=inset]:not(.rb-hero){margin:clamp(12px,2vw,35px);border:1px solid #dbe3e6;border-radius:14px;overflow:hidden}
.premium-r4 main section[data-section-style=contained]:not(.rb-hero){max-width:1250px;margin-left:auto;margin-right:auto}
.premium-r4 main section[data-section-style=edge-to-edge]:not(.rb-hero)>div.p-container{max-width:none;width:100%;padding-inline:0}
.premium-r4 main section[data-content-width=narrow]:not(.rb-hero)>div.p-container{max-width:900px}
.premium-r4 main section[data-content-width=regular]:not(.rb-hero)>div.p-container{max-width:1150px}
.premium-r4 main section[data-content-width=wide]:not(.rb-hero)>div.p-container{max-width:1500px}
/* Correct legacy R4 negative-z layering for media inside new structural grids. */
.premium-r4 .rb-hero[data-r7-hero=split] .p-hero-photo,
.premium-r4 .rb-hero[data-r7-hero=mosaic] .p-hero-photo,
.premium-r4 .rb-hero[data-r7-hero=typographic] .p-hero-photo,
.premium-r4 .rb-hero[data-r7-hero=spotlight] .p-hero-photo,
.premium-r4 .rb-hero[data-r7-hero=project] .p-hero-photo,
.premium-r4 .rb-hero[data-r7-hero=directory] .p-hero-photo{z-index:0!important}
/* Automated WCAG contrast corrections in split, directory and spotlight text. */
.premium-r4 .rb-issue-number,.premium-r4 .rb-split-overline{color:#415d6d}
.premium-r4 .rb-directory-links a span:first-child{color:#425c72}
.premium-r4 .rb-spotlight-bottom{color:#425a65}
/* R7.2 one-page secondary hero contrast for light editorial presets. */
body.premium-r4.preset-atelier.single-page .p-hero-inner .p-hero-copy h2,
body.premium-r4.preset-escape.single-page .p-hero-inner .p-hero-copy h2,
body.premium-r4.preset-spaces.single-page .p-hero-inner .p-hero-copy h2 {color:#152330!important}
body.premium-r4.preset-atelier.single-page .p-hero-inner .p-hero-kicker,
body.premium-r4.preset-atelier.single-page .p-hero-inner .p-hero-description,
body.premium-r4.preset-escape.single-page .p-hero-inner .p-hero-kicker,
body.premium-r4.preset-escape.single-page .p-hero-inner .p-hero-description,
body.premium-r4.preset-spaces.single-page .p-hero-inner .p-hero-kicker,
body.premium-r4.preset-spaces.single-page .p-hero-inner .p-hero-description {color:#253748!important;opacity:1!important}
