/* GGB Royal reference presentation. Images remain editable WELS/WordPress fields. */
body.ggb-royal-reference { --royal-navy:#0c2648; --royal-gold:#966a20; --royal-cream:#faf8f3; color:#26374a; font-family:Arial,'Segoe UI',sans-serif; background:#fff; }
.royal-container { width:min(1400px,calc(100% - 64px)); margin-inline:auto; }
.ggb-royal-reference .wels-site-header { background:#fff; border-bottom:1px solid #ebedf0; box-shadow:0 2px 18px #0c26480a; }
.ggb-royal-reference .wels-header-inner { width:min(1400px,calc(100% - 64px)); max-width:none; padding:10px 0; gap:20px; }
.ggb-royal-reference .wels-site-header .wels-branding { gap:9px; flex-shrink:0; }
.ggb-royal-reference .wels-site-header .custom-logo { width:48px; height:48px; max-width:48px; }
.royal-brand-main { display:block; text-transform:uppercase; font:700 24px/1.05 Georgia,serif; color:var(--royal-navy); }
.royal-brand-sub { display:block; text-transform:uppercase; font:11px/1.35 Georgia,serif; letter-spacing:.06em; color:var(--royal-navy); }
.ggb-royal-reference .wels-site-header .wels-site-sub,.ggb-royal-reference .ggb-header-motto { display:none; }
.ggb-royal-reference .wels-primary-nav { margin-left:auto; }
.ggb-royal-reference .wels-primary-nav > .wels-menu { width:auto; gap:5px; }
.ggb-royal-reference .wels-primary-nav > .wels-menu > .wels-menu-item { flex:0 0 auto; }
.ggb-royal-reference .wels-primary-nav > .wels-menu > .wels-menu-item > a { min-height:48px; padding:14px 17px; color:var(--royal-navy); border-radius:0; font-size:13px; font-weight:600; }
.ggb-royal-reference .wels-primary-nav > .wels-menu > .menu-item-has-children > a { padding-right:36px; }
.ggb-royal-reference .wels-primary-nav .menu-item-has-children > .wels-submenu-toggle { min-width:30px; width:30px; top:0; color:var(--royal-navy); }
.ggb-royal-reference .wels-primary-nav > .wels-menu > .wels-menu-item:hover > a,.ggb-royal-reference .wels-primary-nav > .wels-menu > .wels-menu-item:focus-within > a { color:var(--royal-navy); background:#f8f6f0; }
.ggb-royal-reference .wels-primary-nav > .wels-menu > .wels-menu-item > a::after { height:2px; left:17px; right:17px; bottom:9px; background:var(--royal-gold); }
.ggb-royal-reference .wels-primary-nav > .wels-menu > .wels-menu-item > a[href*="#"]::after { transform:scaleX(0); }
.ggb-royal-reference .wels-sub-menu { border-top-color:var(--royal-gold); }
.ggb-royal-reference .wels-header-actions .wels-btn { background:var(--royal-gold); border-color:var(--royal-gold); border-radius:2px; min-height:44px; color:#fff; font-size:12px; padding:12px 24px; }
.ggb-royal-reference .wels-header-actions-header { display:flex; }
.ggb-royal-reference .wels-home { display:grid; grid-template-columns:1fr 1fr; padding:0; }
.ggb-royal-reference .wels-home > * { grid-column:1/-1; }
.royal-hero { position:relative; min-height:360px; background:var(--royal-navy); overflow:hidden; display:flex; align-items:center; }
.royal-hero-media { position:absolute; inset:0; width:100%; height:100%; }
.royal-media img { width:100%; height:100%; object-fit:cover; display:block; }
.royal-media { overflow:hidden; border-radius:3px; }
.royal-placeholder { background:linear-gradient(135deg,#e8edf1,#f4f5f4); display:grid; place-items:center; border:1px solid #dfe5e9; color:#6c7d8f; }
.royal-placeholder > span { text-align:center; display:grid; justify-items:center; gap:8px; }
.royal-placeholder svg { width:32px; height:32px; opacity:.65; }
.royal-placeholder small { font-size:11px; letter-spacing:.04em; }
.royal-hero .royal-placeholder { border:0; background:radial-gradient(ellipse at 80% 65%,#3c5369,transparent 55%),linear-gradient(115deg,#071c2c,#233a52); color:#a7bacb; }
.royal-hero .royal-placeholder > span { position:absolute; left:74%; top:47%; transform:translate(-50%,-50%); opacity:.7; }
.royal-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#071c2ce8,transparent 78%); pointer-events:none; }
.royal-hero-copy { position:relative; z-index:1; padding:34px 0 52px; }
.royal-eyebrow { color:var(--royal-gold); text-transform:uppercase; letter-spacing:.22em; font-size:10px; font-weight:700; margin:0 0 10px; line-height:1.5; }
.royal-hero .royal-eyebrow { color:#e8bb66; }
.royal-hero h2 { color:#fff; font:700 clamp(40px,4.1vw,62px)/.98 Georgia,serif; letter-spacing:-.025em; margin:0 0 16px; max-width:8ch; white-space:pre-line; }
.royal-hero-copy > p:not(.royal-eyebrow) { max-width:420px; font-size:15px; line-height:1.5; color:#fff; margin-bottom:20px; }
.royal-actions { display:flex; gap:14px; flex-wrap:wrap; }
.royal-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 25px; border-radius:2px; border:1px solid var(--royal-gold); background:var(--royal-gold); color:#fff; font-size:12px; font-weight:600; text-decoration:none; transition:background-color .18s ease,transform .18s ease; }
.royal-button:hover { background:#82591c; color:#fff; text-decoration:none; transform:translateY(-1px); }
.royal-button-outline { border-color:#fff; background:transparent; color:#fff; }
.royal-button-outline:hover { background:#ffffff18; }
.royal-button-small { min-height:36px; padding:8px 16px; font-size:11px; }
.royal-quicklinks { position:relative; z-index:2; margin-top:-25px; margin-bottom:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:#fffdf9; border:1px solid #ece7dd; box-shadow:0 5px 18px #18344b0d; border-radius:6px; padding:12px 6px; }
.royal-quicklinks a { display:flex; align-items:center; justify-content:center; gap:13px; padding:7px 14px; min-height:52px; color:var(--royal-navy); border-right:1px solid #e8e4dc; text-decoration:none; }
.royal-quicklinks a:last-child { border:0; }
.royal-quicklinks a:hover { background:#f4f0e7; }
.royal-quicklinks svg { width:31px; height:31px; flex-shrink:0; }
.royal-quick-image { width:31px; height:31px; object-fit:contain; flex-shrink:0; }
.royal-quicklinks strong,.royal-quicklinks small { display:block; }
.royal-quicklinks strong { font-size:12px; margin-bottom:3px; }
.royal-quicklinks small { color:#607086; font-size:11px; }
.royal-about { position:relative; padding:24px 0; overflow:hidden; }
.royal-about::after { content:''; position:absolute; width:220px; height:300px; right:-50px; bottom:-90px; background:url('../images/royal-leaves.svg') center/contain no-repeat; opacity:.5; pointer-events:none; }
.royal-welcome-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:44px; align-items:center; }
.royal-welcome-grid > .royal-media { aspect-ratio:2.6; }
.royal-about h2 { font:700 clamp(27px,2.5vw,38px)/1.06 Georgia,serif; color:var(--royal-navy); letter-spacing:-.02em; margin:0 0 12px; max-width:23ch; }
.royal-about p:not(.royal-eyebrow) { font-size:13px; line-height:1.6; max-width:600px; margin:0 0 13px; }
.royal-experience { padding:20px 0 25px; background:var(--royal-cream); }
.royal-section-heading { text-align:center; margin-bottom:16px; }
.royal-section-heading .royal-eyebrow { margin-bottom:5px; }
.royal-section-heading h2 { margin:0; font:700 29px/1.1 Georgia,serif; color:var(--royal-navy); }
.royal-experience-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.royal-experience-card { background:#fff; box-shadow:0 3px 12px #112b4006; border-radius:4px; overflow:hidden; }
.royal-experience-card > .royal-media { height:130px; border-radius:3px 3px 0 0; }
.royal-experience-copy { position:relative; display:flex; align-items:flex-start; gap:12px; padding:16px 12px 16px 16px; min-height:94px; }
.royal-round-icon { display:grid; place-items:center; flex:0 0 39px; height:39px; margin-top:-31px; background:var(--royal-navy); color:#fff; border:3px solid #fff; border-radius:50%; }
.royal-round-icon svg { width:23px; height:23px; }
.royal-experience-copy h3 { font-size:12px; color:var(--royal-navy); margin:0 0 5px; }
.royal-experience-copy h3,.royal-leader-card h3,.royal-update-card h3 { font-family:Arial,'Segoe UI',sans-serif; }
.royal-experience-copy p { font-size:11px; line-height:1.35; margin:0; color:#536174; }
.ggb-royal-reference .wels-home > .royal-leadership { grid-column:1; }
.ggb-royal-reference .wels-home > .royal-gallery { grid-column:2; }
.royal-leadership,.royal-gallery { background:var(--royal-cream); padding-top:6px; padding-bottom:18px; min-width:0; }
.royal-half-inner { width:calc(100% - max(32px,(100vw - 1400px)/2)); margin-left:auto; padding-right:22px; }
.royal-gallery .royal-half-inner { margin-left:0; margin-right:auto; padding-left:12px; padding-right:0; }
.royal-leaders-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.royal-leader-card { display:grid; grid-template-columns:96px 1fr; background:#fff; border-radius:3px; overflow:hidden; min-height:160px; }
.royal-leader-card > .royal-media { height:100%; min-height:160px; border-radius:0; }
.royal-leader-card .royal-placeholder small { font-size:9px; padding:0 8px; }
.royal-leader-card > div:last-child { padding:15px 12px; }
.royal-leader-card h3 { font-size:12px; color:var(--royal-navy); margin:0 0 9px; }
.royal-leader-card p { font-size:11px; line-height:1.5; color:#607086; margin:0 0 12px; }
.royal-leader-card a { color:#94691e; font-size:10px; text-decoration:none; }
.royal-gallery-inner { display:grid; grid-template-columns:.85fr 1.4fr; gap:16px; align-items:start; }
.royal-gallery h2 { color:var(--royal-navy); font:700 26px/1.04 Georgia,serif; margin:0 0 9px; }
.royal-gallery p:not(.royal-eyebrow) { font-size:11px; line-height:1.5; margin-bottom:12px; }
.royal-gallery-mosaic { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.royal-gallery-mosaic .royal-media { aspect-ratio:1.45; }
.royal-gallery-mosaic small { font-size:8px; max-width:70px; }
.royal-gallery-mosaic svg { width:21px; height:21px; }
.royal-updates { padding:15px 0; background:#fffdf9; }
.royal-updates-grid { display:grid; grid-template-columns:.85fr repeat(3,1fr) 1.05fr; gap:14px; align-items:stretch; }
.royal-updates h2 { font:700 27px/1 Georgia,serif; color:var(--royal-navy); margin:0; }
.royal-update-card { display:flex; gap:13px; padding:10px; background:#fff; box-shadow:0 2px 14px #0c264808; }
.royal-update-date { flex:0 0 35px; color:var(--royal-navy); display:grid; align-content:center; justify-items:center; }
.royal-update-date svg { width:28px; height:28px; color:var(--royal-gold); }
.royal-update-date strong { font:700 28px Georgia,serif; }
.royal-update-date small { font-size:9px; text-transform:uppercase; }
.royal-update-card h3 { color:var(--royal-navy); font-size:11px; margin:0 0 4px; }
.royal-update-card p { font-size:10px; color:#657489; margin:0; line-height:1.35; }
.royal-update-card a { font-size:10px; color:#94691e; text-decoration:none; }
.royal-notice-link { display:flex; gap:13px; padding:10px; align-items:center; color:var(--royal-navy); background:#fff; text-decoration:none; }
.royal-notice-link svg { width:27px; height:32px; color:var(--royal-gold); flex-shrink:0; }
.royal-notice-link strong,.royal-notice-link small { display:block; font-size:11px; }
.royal-notice-link small { color:#94691e; margin-top:7px; }
.royal-admissions { background:linear-gradient(110deg,#071c2e,#153650); color:#fff; padding:22px 0; }
.royal-admissions-inner { display:grid; grid-template-columns:1.2fr 1fr; gap:30px; align-items:center; }
.royal-admissions h2 { color:#fff; font:700 28px/1.05 Georgia,serif; margin:0 0 7px; }
.royal-admissions p { font-size:12px; margin:0 0 12px; }
.royal-admissions .royal-button { min-height:36px; padding:8px 24px; font-size:11px; }
.royal-promises { display:grid; grid-template-columns:repeat(3,1fr); text-align:center; }
.royal-promises > div { display:flex; flex-direction:column; align-items:center; gap:12px; padding:0 10px; border-right:1px solid #ffffff25; }
.royal-promises > div:last-child { border:0; }
.royal-promises svg { color:#d4a647; width:35px; height:35px; }
.royal-promises span { font-size:11px; }
.royal-footer { padding:12px 0; background:#fff; border-top:1px solid #eee; }
.royal-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap; }
.royal-footer-brand .custom-logo { width:30px; height:30px; max-width:30px; }
.royal-footer-brand .wels-site-sub { display:none; }
.royal-footer-brand .wels-branding { gap:6px; }
.royal-footer-brand .royal-brand-main { font-size:13px; }
.royal-footer-brand .royal-brand-sub { font-size:7px; }
.royal-footer nav { display:flex; gap:13px; flex-wrap:wrap; }
.royal-footer nav a { color:var(--royal-navy); font-size:10px; text-decoration:none; }
.royal-footer-meta { display:flex; gap:14px; flex-wrap:wrap; font-size:8px; color:#607086; }
.royal-footer-meta a { color:var(--royal-navy); }
.ggb-royal-reference :focus-visible { outline:3px solid #b98c38; outline-offset:3px; }
@media (max-width:1200px) {
 .ggb-royal-reference .wels-header-actions-header { display:none; }
 .royal-experience-grid { gap:14px; }
 .royal-experience-copy { gap:8px; padding-inline:10px; }
 .royal-leader-card { grid-template-columns:76px 1fr; }
 .royal-updates-grid { grid-template-columns:.8fr repeat(3,1fr); }
 .royal-notice-link { grid-column:1/-1; justify-content:flex-end; padding:4px 0; }
}
@media (max-width:1080px) {
 .royal-button,.royal-button-small,.royal-admissions .royal-button { min-height:48px; }
 .royal-experience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ggb-royal-reference .wels-header-inner { gap:12px; }
 .ggb-royal-reference .wels-primary-nav { display:none; }
 .ggb-royal-reference .wels-home > .royal-leadership,.ggb-royal-reference .wels-home > .royal-gallery { grid-column:1/-1; }
 .royal-half-inner,.royal-gallery .royal-half-inner { width:calc(100% - 64px); margin-inline:auto; padding:0; }
 .royal-leader-card { grid-template-columns:110px 1fr; }
 .royal-gallery-inner { grid-template-columns:1fr 1.5fr; }
 .royal-gallery-mosaic .royal-media { aspect-ratio:1.7; }
}
@media (max-width:760px) {
 .royal-container,.ggb-royal-reference .wels-header-inner,.royal-half-inner,.royal-gallery .royal-half-inner { width:calc(100% - 36px); }
 .ggb-royal-reference .wels-site-header .custom-logo { width:44px; height:44px; max-width:44px; }
 .royal-brand-main { font-size:21px; }
 .royal-brand-sub { font-size:10px; }
 .royal-hero { min-height:390px; }
 .royal-hero-copy { padding:35px 0 65px; }
 .royal-hero h2 { font-size:49px; }
 .royal-hero-copy > p:not(.royal-eyebrow) { max-width:280px; font-size:13px; }
 .royal-hero .royal-placeholder > span { left:83%; top:32%; opacity:.32; width:90px; }
 .royal-quicklinks { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:-27px; padding:8px; }
 .royal-quicklinks a { justify-content:flex-start; border-right:0; border-bottom:1px solid #eee; min-height:66px; gap:9px; padding:9px; }
 .royal-quicklinks a:last-child { grid-column:1/-1; border:0; }
 .royal-quicklinks strong { font-size:11px; }
 .royal-quicklinks small { font-size:10px; }
 .royal-quicklinks svg { width:27px; height:27px; }
 .royal-welcome-grid { grid-template-columns:1fr; gap:23px; }
 .royal-welcome-grid > .royal-media { aspect-ratio:1.7; }
 .royal-about { padding:24px 0 30px; }
 .royal-about h2 { font-size:32px; }
 .royal-experience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .royal-experience-copy { padding:18px 12px 12px; flex-wrap:wrap; }
 .royal-experience-copy > div { flex:1 1 100%; }
 .royal-round-icon { position:absolute; top:15px; }
 .royal-leaders-grid { grid-template-columns:1fr; }
 .royal-leader-card { grid-template-columns:105px 1fr; }
 .royal-leader-card a { display:inline-flex; min-height:48px; align-items:center; font-size:12px; }
 .royal-gallery-inner { grid-template-columns:1fr; gap:20px; }
 .royal-gallery-mosaic .royal-media { aspect-ratio:1.15; }
 .royal-gallery h2 { font-size:29px; }
 .royal-gallery p:not(.royal-eyebrow) { font-size:13px; }
 .royal-updates-grid { grid-template-columns:1fr; }
 .royal-update-card { min-height:90px; padding:14px; }
 .royal-update-card h3 { font-size:13px; }
 .royal-update-card p { font-size:12px; }
 .royal-update-card a { display:inline-flex; min-height:48px; align-items:center; font-size:12px; }
 .royal-notice-link { justify-content:flex-start; min-height:70px; }
 .royal-admissions-inner { grid-template-columns:1fr; gap:26px; }
 .royal-admissions h2 { font-size:29px; }
 .royal-promises { gap:8px; }
 .royal-promises span { font-size:10px; }
 .royal-button,.royal-button-small,.royal-admissions .royal-button { min-height:48px; }
 .royal-footer-inner { gap:14px; }
 .royal-footer nav { gap:8px 14px; }
 .royal-footer nav a { font-size:11px; display:inline-flex; min-height:48px; align-items:center; }
 .royal-footer-meta { font-size:9px; line-height:1.6; }
}
@media (max-width:360px) { .royal-brand-main { font-size:18px; } .royal-brand-sub { font-size:9px; } .royal-experience-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .royal-button { transition:none; } .royal-button:hover { transform:none; } }

/* Readability pass: generous sections and comfortable reading sizes. */
.ggb-about-content { font-size:16px; line-height:1.8; color:#314156; padding:10px 0 24px; }
.ggb-about-intro { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:44px; align-items:start; }
.ggb-about-photo { min-height:390px; width:100%; }
.ggb-about-photo img { height:auto; min-height:390px; object-fit:cover; }
.ggb-about-copy h2,.ggb-about-purpose h2 { font:700 34px/1.15 Georgia,serif; color:var(--royal-navy); margin:0 0 20px; }
.ggb-about-content p { margin:0 0 22px; }
.ggb-about-location { color:#627084; }
.ggb-about-blessing { color:#795a26; font-style:italic; }
.ggb-about-purpose { border-top:1px solid #e8e3d9; margin-top:42px; padding-top:38px; }
.ggb-about-purpose h3 { font:600 20px/1.4 Arial,sans-serif; color:var(--royal-navy); margin:28px 0 12px; }
@media (max-width:900px) { .ggb-about-intro { grid-template-columns:1fr; gap:30px; } .ggb-about-photo,.ggb-about-photo img { min-height:260px; } }
@media (max-width:600px) { .ggb-about-copy h2,.ggb-about-purpose h2 { font-size:28px; } .ggb-about-content { font-size:16px; } }
.royal-container,.ggb-royal-reference .wels-header-inner { width:min(1240px,calc(100% - 64px)); }
.royal-eyebrow { font-size:12px; letter-spacing:.17em; margin-bottom:14px; }
.royal-hero { min-height:450px; }
.royal-hero-copy { padding:58px 0 76px; }
.royal-hero h2 { font-size:clamp(52px,4.8vw,72px); margin-bottom:22px; }
.royal-hero-copy > p:not(.royal-eyebrow) { font-size:18px; line-height:1.6; max-width:470px; margin-bottom:26px; }
.royal-button,.royal-button-small,.royal-admissions .royal-button { min-height:48px; font-size:14px; padding:12px 25px; }
.ggb-royal-reference .wels-primary-nav > .wels-menu > .wels-menu-item > a { font-size:15px; }
.ggb-royal-reference .wels-header-actions .wels-btn { font-size:14px; min-height:48px; }
.royal-quicklinks { padding:14px 8px; margin-top:-30px; }
.royal-quicklinks a { min-height:68px; gap:12px; padding:10px 14px; }
.royal-quicklinks strong { font-size:14px; line-height:1.4; }
.royal-quicklinks small { font-size:12px; line-height:1.5; }
.royal-about { padding:56px 0 62px; }
.royal-welcome-grid { gap:54px; }
.royal-welcome-grid > .royal-media { aspect-ratio:1.85; }
.royal-about h2 { font-size:clamp(32px,3vw,43px); line-height:1.12; margin-bottom:20px; }
.royal-about p:not(.royal-eyebrow) { font-size:16px; line-height:1.7; margin-bottom:24px; }
.royal-experience { padding:48px 0 58px; }
.royal-section-heading { margin-bottom:30px; }
.royal-section-heading h2 { font-size:36px; line-height:1.15; }
.royal-experience-grid { gap:24px; }
.royal-experience-card > .royal-media { height:185px; }
.royal-experience-copy { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; padding:31px 20px 22px; min-height:184px; }
.royal-round-icon { position:absolute; top:-24px; left:18px; margin:0; width:48px; height:48px; }
.royal-experience-copy > div { min-width:0; grid-column:1; }
.royal-experience-copy h3 { font-size:17px; line-height:1.3; margin-bottom:10px; }
.royal-experience-copy p { font-size:15px; line-height:1.6; }
.ggb-royal-reference .wels-home > .royal-leadership,.ggb-royal-reference .wels-home > .royal-gallery { grid-column:1/-1; }
.royal-leadership { padding:50px 0 56px; background:#fff; }
.royal-gallery { padding:50px 0 56px; background:var(--royal-cream); }
.royal-leadership .royal-half-inner,.royal-gallery .royal-half-inner { width:min(1240px,calc(100% - 64px)); margin-inline:auto; padding:0; }
.royal-leaders-grid { gap:28px; margin-top:22px; }
.royal-leader-card { grid-template-columns:170px minmax(0,1fr); min-height:245px; border:1px solid #eceef0; }
.royal-leader-card > .royal-media { min-height:245px; }
.royal-leader-card > div:last-child { padding:30px 26px; }
.royal-leader-card h3 { font-size:21px; line-height:1.3; margin-bottom:14px; }
.royal-leader-card p { font-size:16px; line-height:1.65; margin-bottom:18px; }
.royal-leader-card a { font-size:14px; min-height:48px; display:inline-flex; align-items:center; }
.royal-leader-card .royal-placeholder small { font-size:12px; }
.royal-gallery-inner { grid-template-columns:1fr 1.55fr; gap:50px; align-items:center; }
.royal-gallery h2 { font-size:40px; line-height:1.12; margin-bottom:20px; max-width:16ch; }
.royal-gallery p:not(.royal-eyebrow) { font-size:16px; line-height:1.7; margin-bottom:22px; max-width:40ch; }
.royal-gallery-mosaic { gap:12px; }
.royal-gallery-mosaic .royal-media { aspect-ratio:1.5; }
.royal-gallery-mosaic small { font-size:12px; max-width:130px; line-height:1.4; }
.royal-gallery-mosaic svg { width:28px; height:28px; }
.royal-updates { padding:50px 0 56px; background:#fff; }
.royal-updates-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.royal-updates-grid > div:first-child { grid-column:1/-1; margin-bottom:5px; }
.royal-updates h2 { font-size:36px; line-height:1.15; }
.royal-update-card { padding:24px; gap:20px; min-height:170px; background:#faf8f3; border:1px solid #eee9df; box-shadow:none; }
.royal-update-date { flex-basis:42px; align-content:start; padding-top:3px; }
.royal-update-date svg { width:35px; height:35px; }
.royal-update-card h3 { font-size:18px; line-height:1.3; margin-bottom:10px; }
.royal-update-card p { font-size:15px; line-height:1.6; margin-bottom:10px; }
.royal-update-card a { font-size:14px; min-height:48px; display:inline-flex; align-items:center; }
.royal-notice-link { grid-column:1/-1; justify-content:flex-start; padding:16px 0 0; gap:16px; min-height:70px; }
.royal-notice-link strong { font-size:16px; }
.royal-notice-link small { font-size:14px; }
.royal-admissions { padding:48px 0; }
.royal-admissions h2 { font-size:36px; line-height:1.13; margin-bottom:14px; max-width:25ch; }
.royal-admissions p { font-size:16px; line-height:1.5; margin-bottom:22px; }
.royal-promises { gap:14px; }
.royal-promises > div { gap:18px; padding-inline:14px; }
.royal-promises svg { width:42px; height:42px; }
.royal-promises span { font-size:14px; line-height:1.5; }
.royal-footer { padding:27px 0 22px; }
.royal-footer-inner { gap:22px; }
.royal-footer-brand .custom-logo { width:42px; height:42px; max-width:42px; }
.royal-footer-brand .royal-brand-main { font-size:18px; }
.royal-footer-brand .royal-brand-sub { font-size:9px; }
.royal-footer nav { gap:20px; }
.royal-footer nav a { font-size:13px; min-height:48px; display:inline-flex; align-items:center; }
.royal-footer-meta { width:100%; justify-content:space-between; padding-top:18px; border-top:1px solid #eceef0; font-size:12px; line-height:1.6; }
@media (max-width:1200px) {
 .royal-experience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .royal-leader-card { grid-template-columns:125px minmax(0,1fr); }
 .royal-leader-card > div:last-child { padding:25px 20px; }
}
@media (max-width:900px) {
 .royal-welcome-grid { gap:32px; }
 .royal-leaders-grid { grid-template-columns:1fr; }
 .royal-leader-card { grid-template-columns:180px minmax(0,1fr); }
 .royal-gallery-inner { grid-template-columns:1fr; gap:28px; }
 .royal-gallery h2 { max-width:none; }
 .royal-updates-grid { grid-template-columns:1fr; }
 .royal-admissions-inner { grid-template-columns:1fr; gap:35px; }
}
@media (max-width:760px) {
 .royal-container,.ggb-royal-reference .wels-header-inner,.royal-leadership .royal-half-inner,.royal-gallery .royal-half-inner { width:calc(100% - 36px); }
 .royal-hero { min-height:430px; }
 .royal-hero-copy { padding:40px 0 70px; }
 .royal-hero h2 { font-size:49px; }
 .royal-hero-copy > p:not(.royal-eyebrow) { font-size:16px; max-width:300px; }
 .royal-quicklinks { padding:8px; }
 .royal-quicklinks a { padding:10px 8px; gap:9px; }
 .royal-quicklinks strong { font-size:13px; }
 .royal-quicklinks small { font-size:12px; }
 .royal-about,.royal-experience,.royal-leadership,.royal-gallery,.royal-updates { padding-top:38px; padding-bottom:42px; }
 .royal-about h2,.royal-gallery h2 { font-size:33px; }
 .royal-section-heading h2,.royal-updates h2 { font-size:31px; }
 .royal-experience-grid { grid-template-columns:1fr; }
 .royal-experience-card > .royal-media { height:200px; }
 .royal-experience-copy { min-height:158px; padding:32px 20px 20px; }
 .royal-leader-card { grid-template-columns:100px minmax(0,1fr); }
 .royal-leader-card > div:last-child { padding:22px 18px; }
 .royal-leader-card h3 { font-size:19px; }
 .royal-gallery-mosaic { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .royal-update-card { padding:22px 18px; }
 .royal-admissions { padding:36px 0; }
 .royal-admissions h2 { font-size:32px; }
 .royal-promises { gap:4px; }
 .royal-promises > div { padding-inline:7px; }
 .royal-promises span { font-size:12px; }
 .royal-footer nav { gap:8px 18px; }
 .royal-footer-meta { gap:12px; }
}
/* Text-only desktop dropdown headings; mobile accordions retain large targets. */
.ggb-royal-reference .wels-caret { display:none; }
.ggb-royal-reference .wels-primary-nav .wels-submenu-toggle:not(.wels-menu-label) { display:none; }
.ggb-royal-reference .wels-primary-nav > .wels-menu > .menu-item-has-children > a { padding-right:14px; }
.ggb-royal-reference .wels-primary-nav .menu-item-has-children > .wels-menu-label,
.ggb-royal-reference .wels-mobile-nav .menu-item-has-children > .wels-menu-label {
 position:static; width:auto; min-height:48px; padding:12px 14px; font:inherit; font-weight:600; color:var(--royal-navy); border-radius:0; text-align:left;
}
.ggb-royal-reference .wels-mobile-nav .menu-item-has-children > .wels-menu-label { display:flex; width:100%; padding:14px 16px; }
.ggb-royal-reference .wels-mobile-nav .wels-submenu-toggle:not(.wels-menu-label)::after { content:'+'; font-size:22px; }
.ggb-royal-reference .wels-mobile-nav .is-expanded > .wels-submenu-toggle:not(.wels-menu-label)::after { content:'−'; }
/* School affiliation strip above the main header. */
.royal-affiliation-bar { background:#082344; color:#fff; font-size:13px; line-height:1.5; }
.royal-affiliation-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 0; padding-top:9px; padding-bottom:9px; }
.royal-affiliation-inner > span { padding:0 18px; }
.royal-affiliation-inner > span + span { border-left:1px solid #c2943e; }
.royal-affiliation-inner strong { font-weight:600; }
@media (max-width:600px) {
 .royal-affiliation-bar { font-size:12px; }
 .royal-affiliation-inner { gap:4px 0; }
 .royal-affiliation-inner > span { padding:0 10px; }
 .royal-affiliation-inner > span:first-child { flex-basis:100%; text-align:center; }
 .royal-affiliation-inner > span:nth-child(2) { border-left:0; }
}
.royal-footer-contact { display:flex; align-items:center; flex-wrap:wrap; gap:8px 24px; width:100%; color:var(--royal-navy); font-size:15px; }
.royal-footer-contact a { display:inline-flex; align-items:center; min-height:48px; color:var(--royal-navy); text-decoration:none; }
.royal-footer-contact a:hover { color:var(--royal-gold); }
/* Match dropdown labels to the adjacent desktop navigation links. */
.ggb-royal-reference .wels-primary-nav > .wels-menu > .menu-item-has-children > .wels-menu-label {
 display:flex; align-items:center; justify-content:center; box-sizing:border-box; height:auto; min-height:48px; padding:14px 17px; font-size:15px; line-height:1.65; font-weight:600;
}
.ggb-contact-map { margin-top:40px; }
.ggb-contact-map h2 { font-family:Georgia,serif; color:var(--royal-navy); }
.ggb-contact-map iframe { display:block; width:100%; height:450px; border:0; border-radius:8px; }
@media (max-width:600px) { .ggb-contact-map iframe { height:320px; } }
.ggb-facilities-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; margin-top:24px; }
.ggb-facility .ggb-facility-photo { height:260px; border-radius:8px; }
.ggb-facility h3 { margin-top:20px; }
@media(max-width:700px) { .ggb-facilities-grid { grid-template-columns:1fr; gap:28px; } .ggb-facility .ggb-facility-photo { height:220px; } }
/* Keep the complete faculty group visible in its wide photograph. */
.ggb-facility:has(.ggb-facility-photo img[alt="Teaching Staff"]) { grid-column:1 / -1; }
.ggb-facility .ggb-facility-photo:has(img[alt="Teaching Staff"]) { height:auto; }
.ggb-facility .ggb-facility-photo img[alt="Teaching Staff"] { width:100%; height:auto; object-fit:contain; display:block; }
/* Preserve the complete student group beside the banner copy. */
.ggb-royal-reference .royal-hero { display:grid; grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr); height:auto; min-height:400px; background:#082344; align-items:center; }
.ggb-royal-reference .royal-hero::after { display:none; }
.ggb-royal-reference .royal-hero .royal-hero-media { position:static; grid-column:2; grid-row:1; width:100%; height:auto; min-height:0; }
.ggb-royal-reference .royal-hero .royal-hero-media img { display:block; width:100%; height:auto; object-fit:contain; }
.ggb-royal-reference .royal-hero .royal-hero-copy { grid-column:1; grid-row:1; width:100%; max-width:none; margin:0; padding:44px clamp(24px,4vw,70px); }
@media(max-width:800px) {
 .ggb-royal-reference .royal-hero { grid-template-columns:1fr; min-height:0; }
 .ggb-royal-reference .royal-hero .royal-hero-copy { grid-column:1; grid-row:1; padding:32px 24px; }
 .ggb-royal-reference .royal-hero .royal-hero-media { grid-column:1; grid-row:2; }
}
/* Four smaller photographs beside the homepage introduction. */
.ggb-royal-reference .royal-hero { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); }
.royal-hero-photo-grid { grid-column:2; grid-row:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:24px 28px 24px 0; }
.royal-hero-photo-grid figure { margin:0; min-width:0; overflow:hidden; border-radius:8px; background:#fff; }
.royal-hero-photo-grid .royal-hero-tile { height:auto; aspect-ratio:1.65; }
.royal-hero-photo-grid .royal-hero-tile img { width:100%; height:100%; object-fit:contain; display:block; }
.royal-hero-photo-grid figcaption { padding:9px 12px; color:#082344; background:#fff; font-size:13px; font-weight:600; line-height:1.4; }
@media(max-width:800px) {
 .ggb-royal-reference .royal-hero { grid-template-columns:1fr; }
 .royal-hero-photo-grid { grid-column:1; grid-row:2; padding:0 20px 28px; gap:10px; }
 .royal-hero-photo-grid figcaption { font-size:12px; padding:8px; }
}

/* Display the complete Rules and Regulations graphic. */
.page-id-283 .ggb-about-photo img { height:auto; min-height:0; object-fit:contain; }

/* Keep the Admissions logo and title completely visible. */
.ggb-admissions-content .ggb-about-photo img { height:auto; min-height:0; object-fit:contain; }

/* Preserve the full Academic Excellence award group. */
.royal-experience-card img[alt='Academic Excellence photograph'] { object-fit:contain; background:#f8f5ee; }
/* Half-width homepage photo slider beside the introductory copy. */
.ggb-royal-reference .royal-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.royal-hero-slider { grid-column:2; grid-row:1; min-width:0; padding:24px 28px 24px 0; }
.royal-slider-viewport { overflow:hidden; border-radius:8px; background:#fff; }
.royal-slider-slide { margin:0; }
.royal-slider-slide[hidden], .royal-slider-controls[hidden] { display:none; }
.royal-slider-photo { aspect-ratio:4 / 3; background:#082344; }
.royal-slider-photo img { width:100%; height:100%; object-fit:contain; display:block; }
.royal-slider-slide figcaption { padding:12px 16px; background:#fff; color:#082344; font-size:14px; font-weight:600; }
.royal-slider-controls { display:flex; align-items:center; justify-content:center; gap:4px; margin-top:8px; }
.royal-slider-controls button { min-width:48px; min-height:48px; border:1px solid transparent; border-radius:5px; background:transparent; color:#fff; cursor:pointer; font:inherit; }
.royal-slider-controls button:hover { background:#ffffff18; }
.royal-slider-controls button:focus-visible { outline:2px solid #e8bb66; outline-offset:2px; }
.royal-slider-dots { display:flex; }
.royal-slider-dots button { display:grid; place-items:center; min-width:32px; }
.royal-slider-dots span { width:8px; height:8px; border:1px solid #e8bb66; border-radius:50%; }
.royal-slider-dots [aria-current="true"] span { background:#e8bb66; }
.royal-slider-controls [data-royal-pause] { padding:0 10px; font-size:13px; }
@media(max-width:800px) {
 .ggb-royal-reference .royal-hero { grid-template-columns:1fr; }
 .royal-hero-slider { grid-column:1; grid-row:2; padding:0 20px 20px; }
}
.royal-slider-dots button { min-width:48px; }
@media(max-width:800px) {
 .royal-slider-controls { display:grid; grid-template-columns:48px 1fr 48px; gap:0; }
 .royal-slider-controls [data-royal-prev] { grid-column:1; grid-row:1; }
 .royal-slider-controls [data-royal-next] { grid-column:3; grid-row:1; }
 .royal-slider-controls [data-royal-pause] { grid-column:2; grid-row:1; }
 .royal-slider-dots { grid-column:1 / -1; grid-row:2; justify-content:center; }
}

/* Full-width image banners, with clear calls to action underneath. */
.ggb-royal-reference .royal-hero.royal-hero-full { display:block; min-height:0; }
.royal-hero-full .royal-hero-slider { padding:0; width:100%; }
.royal-hero-full .royal-slider-viewport { border-radius:0; background:#082344; }
.royal-hero-full .royal-slider-photo { aspect-ratio:16 / 9; border-radius:0; }
.royal-hero-full .royal-slider-photo img { width:100%; height:100%; object-fit:contain; }
.royal-hero-full .royal-slider-slide figcaption { display:none; }
.royal-hero-full .royal-slider-controls { margin:0; padding:6px 16px; }
.ggb-royal-reference .royal-hero-full .royal-hero-copy { padding:18px 24px 44px; }
.royal-hero-full .royal-actions { justify-content:center; }
@media(max-width:800px) {
 .royal-hero-full .royal-slider-controls { display:flex; flex-wrap:wrap; }
 .royal-hero-full .royal-slider-dots { order:0; }
 .royal-hero-full .royal-slider-controls [data-royal-pause] { width:auto; }
 .ggb-royal-reference .royal-hero-full .royal-hero-copy { padding:16px 20px 40px; }
}
/* Keep leadership portraits at their original height as message previews grow. */
.royal-leader-card > .royal-media { height:245px; min-height:245px; align-self:start; }
/* Dedicated homepage Principal's message. */
.royal-principal-section { background:#f8f5ee; padding:56px 0; border-top:1px solid #e9e1d1; border-bottom:1px solid #e9e1d1; }
.royal-principal-section h2 { margin:0 0 28px; color:var(--royal-navy); font:700 clamp(28px,3vw,40px)/1.2 Georgia,serif; }
.royal-principal-card { display:grid; grid-template-columns:170px minmax(0,1fr); gap:36px; max-width:1000px; margin:auto; padding:32px; background:#fff; border:1px solid #e9e1d1; border-top:4px solid var(--royal-gold); border-radius:8px; }
.royal-principal-portrait { width:170px; height:245px; align-self:start; }
.royal-principal-copy .royal-principal-message { margin:0 0 22px; color:#405063; font-size:18px; line-height:1.8; }
.royal-principal-copy h3 { margin:0 0 4px; color:var(--royal-navy); font:700 23px/1.3 Georgia,serif; }
.royal-principal-role { margin:0 0 20px; color:#66717c; font-size:14px; }
.royal-principal-copy .royal-button { min-height:48px; font-size:14px; }
@media(max-width:600px) {
 .royal-principal-section { padding:36px 0; }
 .royal-principal-card { grid-template-columns:1fr; gap:24px; padding:24px 20px; }
 .royal-principal-portrait { justify-self:center; }
 .royal-principal-copy .royal-principal-message { font-size:16px; }
}

/* ------------------------------------------------------------------ */
/* UX + accessibility pass, 20 Oct 2026                               */
/* Contrast: gold and grey TEXT darkened to clear WCAG AA 4.5:1 on     */
/* white and cream (#86601c = 5.3:1, #5a6779 = 5.4:1). The gold token  */
/* itself is untouched, so buttons and rules keep the brand colour.    */
/* ------------------------------------------------------------------ */
.royal-eyebrow { color:#86601c; font-size:13px; letter-spacing:.14em; }
.royal-hero .royal-eyebrow { color:#e8bb66; }
.royal-leader-card a, .royal-update-card a { color:#86601c; }
.royal-update-card p, .royal-quicklinks small { color:#5a6779; }
/* Readable sizes: the "International School" line under the name. */
.royal-brand-sub, .royal-footer-brand .royal-brand-sub { font-size:12px; }
@media (max-width:360px) { .royal-brand-sub { font-size:11px; } }
/* Footer links: a tappable height, not a 13px sliver. */
.royal-footer-meta a, .royal-footer nav a { display:inline-flex; align-items:center; min-height:24px; }

/* Dead ends (404, empty search): a short list of useful pages. */
.wels-helpful-links { margin:28px auto 8px; max-width:640px; }
.wels-helpful-links p { margin:0 0 10px; font-weight:600; }
.wels-helpful-links ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.wels-helpful-links a { display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid #d9dde3; border-radius:2px; color:var(--royal-navy); text-decoration:none; background:#fff; }
.wels-helpful-links a:hover, .wels-helpful-links a:focus-visible { border-color:var(--royal-gold); color:#86601c; }
.wels-search-hint { margin:24px 0 8px; }
.wels-archive .wels-helpful-links { margin-left:0; }
.wels-archive .wels-helpful-links ul { justify-content:flex-start; }
/* Footer address line. */
.royal-footer-contact address { font-style:normal; }

/* ------------------------------------------------------------------ */
/* Footer v2, 21 Oct 2026 — navy band, four columns, bottom bar.       */
/* Text on #0c2648: links #dfe6ef 12:1, body #c9d2de 9.9:1,            */
/* headings #e8bb66 8.5:1, small print #aab6c6 7.4:1.                  */
/* ------------------------------------------------------------------ */
.ggb-footer { background:#0c2648; color:#c9d2de; font-size:15px; line-height:1.6; margin-top:0; border-top:4px solid var(--royal-gold); }
.ggb-footer a { color:#dfe6ef; text-decoration:none; }
.ggb-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.ggb-footer a:focus-visible { outline:2px solid #e8bb66; outline-offset:2px; border-radius:2px; }
.royal-container.ggb-footer-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr 1.3fr; gap:40px; padding-top:56px; padding-bottom:44px; }
.ggb-footer h2 { font-family:Georgia,'Times New Roman',serif; font-size:18px; font-weight:700; color:#e8bb66; margin:0 0 18px; letter-spacing:.01em; line-height:1.3; }
.ggb-footer h2::after { content:''; display:block; width:36px; height:2px; background:var(--royal-gold); margin-top:10px; }
.ggb-footer ul { list-style:none; margin:0; padding:0; }

/* School column */
.ggb-footer .wels-branding { display:flex; align-items:center; gap:12px; }
.ggb-footer .custom-logo-link { flex:0 0 auto; display:block; background:#fff; border-radius:50%; padding:4px; line-height:0; }
.ggb-footer .custom-logo { width:60px; height:60px; max-width:none; border-radius:50%; object-fit:contain; }
.ggb-footer .wels-site-name { display:block; color:#fff; text-decoration:none; }
.ggb-footer .wels-site-name:hover { text-decoration:none; color:#fff; }
.ggb-footer .royal-brand-main { display:block; font:700 22px/1.15 Georgia,'Times New Roman',serif; color:#fff; text-transform:uppercase; letter-spacing:.02em; }
.ggb-footer .royal-brand-sub { display:block; font:12px/1.4 Georgia,serif; text-transform:uppercase; letter-spacing:.08em; color:#e8bb66; margin-top:2px; }
.ggb-footer .wels-site-sub { display:block; font-size:13px; color:#aab6c6; margin-top:2px; }
.ggb-footer-motto { margin:18px 0 10px; font:italic 17px/1.4 Georgia,serif; color:#fff; letter-spacing:.04em; }
.ggb-footer-affil { margin:0; display:flex; flex-direction:column; gap:2px; font-size:13px; color:#aab6c6; }
.ggb-footer-affil strong { color:#dfe6ef; font-weight:600; }
.ggb-footer-social { margin-top:18px; }
.ggb-footer-social a { color:#fff; }

/* Link columns */
.ggb-footer-col li + li { margin-top:2px; }
.ggb-footer-col a { display:inline-flex; align-items:center; gap:8px; min-height:34px; }
.ggb-footer-col a::before { content:''; width:6px; height:6px; border-top:1.5px solid #e8bb66; border-right:1.5px solid #e8bb66; transform:rotate(45deg); flex:0 0 auto; transition:transform .15s ease; }
.ggb-footer-col a:hover::before { transform:translateX(2px) rotate(45deg); }

/* Contact column */
.ggb-footer-contact li { display:flex; gap:12px; align-items:flex-start; }
.ggb-footer-contact li + li { margin-top:14px; }
.ggb-footer-ico { width:20px; height:20px; flex:0 0 20px; color:#e8bb66; margin-top:3px; }
.ggb-footer-contact address { font-style:normal; color:#dfe6ef; }
.ggb-footer-contact li a { display:inline-block; padding:2px 0; }
.ggb-footer-directions { margin-top:4px; font-size:13px; color:#e8bb66 !important; font-weight:600; }
.ggb-footer-sep { color:#aab6c6; }

/* Bottom bar */
.ggb-footer-bottom { background:#081c37; font-size:13px; color:#aab6c6; }
.royal-container.ggb-footer-bottom-inner { display:flex; justify-content:space-between; align-items:center; gap:8px 24px; flex-wrap:wrap; padding-top:14px; padding-bottom:14px; }
.ggb-footer-bottom a { display:inline-flex; align-items:center; min-height:32px; color:#dfe6ef; }

/* Tablet: two by two */
@media (max-width:1000px) {
	.royal-container.ggb-footer-grid { grid-template-columns:1fr 1fr; gap:36px 32px; padding-top:44px; padding-bottom:36px; }
}
/* Phone: school, contact, then the two link lists side by side */
@media (max-width:620px) {
	.ggb-footer { font-size:15px; }
	.royal-container.ggb-footer-grid { grid-template-columns:1fr 1fr; gap:32px 20px; padding-top:36px; padding-bottom:28px; }
	.ggb-footer-about, .ggb-footer-contact { grid-column:1 / -1; }
	.ggb-footer-contact { order:2; }
	.ggb-footer-col { order:3; }
	.ggb-footer-col a { min-height:40px; }
	.ggb-footer .royal-brand-main { font-size:20px; }
	.royal-container.ggb-footer-bottom-inner { flex-direction:column; align-items:flex-start; gap:2px; }
}
@media (prefers-reduced-motion:reduce) { .ggb-footer-col a::before { transition:none; } }

/* Sports photo on Infrastructure & Facilities: the frame is wide and short,
   so centring it cut off the boxers' and referee's heads. Anchor it higher. */
.ggb-facility-photo img[src*="ggb-sports-physical-health"] { object-position:50% 28%; }

/* Staff Login in the footer bottom strip */
.ggb-footer-bottom-end { display:inline-flex; align-items:center; flex-wrap:wrap; gap:6px 20px; }
.ggb-footer-login { display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:0 12px; border:1px solid rgba(232,187,102,.6); border-radius:2px; color:#e8bb66 !important; font-weight:600; }
.ggb-footer-login:hover { background:#e8bb66; color:#0c2648 !important; text-decoration:none !important; }
@media (max-width:620px) { .ggb-footer-bottom-end { flex-direction:column; align-items:flex-start; gap:8px; margin-top:6px; } }

/* Call Admissions: phones see "Call Admissions" and dial; computers (a fine
   pointer that can hover) see the number itself. */
.ggb-adm-desk { display:none; }
@media (hover:hover) and (pointer:fine) {
	.ggb-adm-touch { display:none; }
	.ggb-adm-desk { display:inline; white-space:nowrap; }
}

/* Social icons on the navy footer (the default tint is for white grounds). */
.ggb-footer-social .wels-social-row { display:flex; flex-wrap:wrap; gap:10px; }
.ggb-footer .ggb-footer-social a.wels-social { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(232,187,102,.55); color:#fff; transition:background-color .15s ease,color .15s ease,border-color .15s ease; }
.ggb-footer .ggb-footer-social a.wels-social:hover, .ggb-footer .ggb-footer-social a.wels-social:focus-visible { background:#e8bb66; border-color:#e8bb66; color:#0c2648; text-decoration:none; }
.ggb-footer .ggb-footer-social a.wels-social svg { width:20px; height:20px; }
@media (prefers-reduced-motion:reduce) { .ggb-footer .ggb-footer-social a.wels-social { transition:none; } }

/* Facebook feed section, matched to the GGB Royal homepage: cream band,
   centred Georgia heading with a gold rule, gold outline button. */
.ggb-royal-reference .wels-fbfeed { background:var(--royal-cream); padding:56px 0; }
.ggb-royal-reference .wels-fbfeed .wels-container { width:min(1240px,calc(100% - 64px)); }
.ggb-royal-reference .wels-fbfeed .wels-section-head { text-align:center; margin-bottom:32px; }
.ggb-royal-reference .wels-fbfeed .wels-section-title { font:700 clamp(28px,2.6vw,38px)/1.1 Georgia,serif; color:var(--royal-navy); letter-spacing:-.02em; margin:0; }
.ggb-royal-reference .wels-fbfeed .wels-section-title::after { content:''; display:block; width:56px; height:3px; background:var(--royal-gold); margin:14px auto 0; }
.ggb-royal-reference .wels-fbfeed .wels-btn-outline { border:1px solid var(--royal-gold); border-radius:2px; color:#86601c; background:#fff; min-height:44px; }
.ggb-royal-reference .wels-fbfeed .wels-btn-outline:hover, .ggb-royal-reference .wels-fbfeed .wels-btn-outline:focus-visible { background:var(--royal-gold); color:#fff; }
.ggb-royal-reference .wels-fbfeed .wels-fbfeed-collage img { border-radius:2px; }
.ggb-royal-reference .wels-fbfeed .wels-fbfeed-embed { background:#fff; border:1px solid #ebe4d6; border-radius:2px; }
.ggb-royal-reference .wels-fbfeed .wels-social { color:var(--royal-navy); background:#fff; border:1px solid #e4dccb; }
.ggb-royal-reference .wels-fbfeed .wels-social:hover { background:var(--royal-navy); color:#fff; border-color:var(--royal-navy); }
@media (max-width:620px) { .ggb-royal-reference .wels-fbfeed { padding:40px 0; } .ggb-royal-reference .wels-fbfeed .wels-container { width:calc(100% - 32px); } }
