:root{
  --ivory:#f7f4ee;
  --paper:#fffefd;
  --sand:#d9ccba;
  --sand-soft:#ebe2d5;
  --blue:#abc5d2;
  --blue-deep:#7ea2b4;
  --ink:#2f302f;
  --muted:#77736d;
  --dark:#303637;
  --line:rgba(47,48,47,.14);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(22px,4vw,68px);background:rgba(247,244,238,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(47,48,47,.08)}
.brand img{width:152px;height:auto}
.site-nav{display:flex;align-items:center;gap:28px;font-size:14px}
.site-nav a{transition:.25s ease}.site-nav a:hover{opacity:.55}
.nav-cta{padding:11px 18px;border:1px solid var(--ink);border-radius:999px}
.menu-toggle{display:none;background:none;border:0;font:inherit}
.hero{min-height:calc(100vh - 85px);display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:clamp(48px,7vw,110px) clamp(22px,5.5vw,88px) 80px;align-items:center}
.hero-copy{max-width:720px}.eyebrow{margin:0 0 18px;font-size:12px;letter-spacing:.19em;text-transform:uppercase;font-weight:600;color:var(--blue-deep)}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:.98;margin:0}
h1{font-size:clamp(58px,7.5vw,128px);letter-spacing:-.045em}h1 em{font-weight:500;color:var(--blue-deep)}
.hero-lead{max-width:570px;font-size:18px;color:#55534f;margin:32px 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:500;border:1px solid var(--ink);transition:.25s ease;cursor:pointer}.button.primary{background:var(--ink);color:white}.button.primary:hover{background:var(--blue-deep);border-color:var(--blue-deep)}.button.ghost:hover{background:white}
.hero-visual{position:relative;min-height:650px}.photo-placeholder{height:100%;min-height:250px;background:linear-gradient(145deg,var(--sand-soft),#f4ede4);border-radius:var(--radius);display:grid;place-items:center;overflow:hidden;position:relative}.photo-placeholder:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.8),transparent 35%),linear-gradient(120deg,transparent 50%,rgba(171,197,210,.22))}.photo-placeholder span{font-size:11px;letter-spacing:.14em;color:#80786f;z-index:1}.photo-placeholder.large{min-height:650px}.monogram-card{position:absolute;right:-18px;bottom:34px;width:180px;aspect-ratio:1;background:var(--ivory);border-radius:50%;display:grid;place-items:center;box-shadow:0 18px 60px rgba(46,45,42,.13)}.monogram-card img{width:86px}
.section-pad{padding:clamp(80px,9vw,150px) clamp(22px,6vw,96px)}
.manifesto{text-align:center;max-width:1200px;margin:0 auto}.manifesto h2,.section-heading h2,.support-intro h2{font-size:clamp(48px,6vw,92px);letter-spacing:-.035em}.manifesto p:last-child{max-width:720px;margin:34px auto 0;font-size:19px;color:var(--muted)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,120px);align-items:center}.photo-placeholder.portrait{min-height:720px}.split-copy h2{font-size:clamp(42px,5vw,76px);margin-bottom:30px}.split-copy>p:not(.eyebrow){font-size:17px;color:#605d58;max-width:650px}.text-link{display:inline-block;margin-top:24px;border-bottom:1px solid currentColor;padding-bottom:3px}.text-link span{margin-left:8px}
.work{background:var(--paper)}.section-heading{max-width:1000px;margin-bottom:60px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.work-card{min-height:350px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column}.card-index{font-size:12px;color:var(--blue-deep)}.work-card h3{font-size:39px;margin:58px 0 20px;min-height:2em;display:flex;align-items:flex-start}.work-card p{color:var(--muted);margin:0}
.project{background:var(--paper);padding-top:0}.project-card{background:var(--dark);color:white;border-radius:36px;padding:clamp(30px,4vw,60px);display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}.project-copy h2{font-size:clamp(48px,6vw,88px)}.project-copy>p:not(.eyebrow):not(.location){color:rgba(255,255,255,.7);max-width:600px}.location{font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin:22px 0}.text-link.light{color:white}.photo-placeholder.landscape{min-height:560px}.photo-placeholder.dark{background:linear-gradient(145deg,#515958,#6e716b)}.photo-placeholder.dark span{color:rgba(255,255,255,.55)}
.support{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.support-list{border-top:1px solid var(--line)}.support-row{display:flex;justify-content:space-between;gap:20px;padding:26px 4px;border-bottom:1px solid var(--line);font-size:20px;transition:.2s}.support-row:hover{padding-left:10px;color:var(--blue-deep)}.support-note{grid-column:2;color:var(--muted);font-size:14px;max-width:700px}
.stories{background:var(--sand-soft)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.photo-placeholder.story{aspect-ratio:4/3;min-height:0}.story-meta{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue-deep);margin:20px 0 9px}.story-card h3{font-size:34px}.story-card p:last-child{color:var(--muted);max-width:540px}
.transparency{display:grid;grid-template-columns:240px 1fr;gap:60px;align-items:center;background:var(--blue);margin:0 clamp(22px,6vw,96px);padding-left:clamp(34px,5vw,70px);padding-right:clamp(34px,5vw,70px);border-radius:36px}.transparency-mark{width:150px;margin:auto}.transparency h2{font-size:clamp(42px,5vw,72px)}.transparency p:last-child{max-width:760px;color:#455157}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.contact h2{font-size:clamp(55px,7vw,104px)}.contact-copy>p:not(.eyebrow){max-width:500px;color:var(--muted)}.placeholder-contact{margin-top:34px!important;color:var(--ink)!important}.contact-form{display:grid;gap:24px}.contact-form label{display:grid;gap:7px;font-size:13px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;font:inherit;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue-deep)}.contact-form .button{justify-self:start}.contact-form small{color:var(--muted)}
.site-footer{padding:50px clamp(22px,6vw,96px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;border-top:1px solid var(--line)}.site-footer img{width:160px}.site-footer p{margin:0}.footer-small{text-align:right;font-size:12px;color:var(--muted)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:76px;left:18px;right:18px;flex-direction:column;align-items:stretch;background:var(--paper);padding:24px;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.12)}.site-nav.open{display:flex}.nav-cta{text-align:center}.hero,.split,.support,.contact,.project-card{grid-template-columns:1fr}.hero{padding-top:60px}.hero-visual{min-height:500px}.photo-placeholder.large{min-height:500px}.split-media{order:2}.photo-placeholder.portrait{min-height:500px}.work-grid{grid-template-columns:1fr}.work-card{min-height:260px}.support-note{grid-column:auto}.story-grid{grid-template-columns:1fr}.transparency{grid-template-columns:1fr;text-align:left;margin:0 20px}.transparency-mark{width:95px;margin:0}.site-footer{grid-template-columns:1fr;gap:18px}.footer-small{text-align:left}}
@media(max-width:560px){.brand img{width:125px}.hero{min-height:auto}.hero-visual{min-height:420px}.photo-placeholder.large{min-height:420px}.monogram-card{width:120px;right:10px;bottom:20px}.monogram-card img{width:60px}.project-card{border-radius:26px}.photo-placeholder.landscape{min-height:380px}.support-row{font-size:17px}.transparency{border-radius:26px}.site-footer{padding-bottom:80px}}

.hero-photo{height:100%;min-height:250px;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--sand-soft)}.hero-photo.large{min-height:650px}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;display:block}@media(max-width:900px){.hero-photo.large{min-height:500px}}@media(max-width:560px){.hero-photo.large{min-height:420px}}

/* Chi siamo — foto reale e fondatrici */
.team-photo{margin:0;position:relative;overflow:hidden;border-radius:var(--radius);background:var(--sand-soft)}
.team-photo.portrait{min-height:720px}
.team-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}
.team-photo figcaption{position:absolute;left:22px;bottom:20px;padding:9px 13px;border-radius:999px;background:rgba(247,244,238,.88);backdrop-filter:blur(10px);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.split-copy strong{font-weight:600;color:var(--ink)}
.founders{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0 2px;max-width:650px}
.founder{padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.36)}
.founder span{display:block;font-family:"Playfair Display",Georgia,serif;font-size:24px;line-height:1.1}
.founder small{display:block;margin-top:6px;color:var(--muted);font-size:12px;letter-spacing:.05em}
@media(max-width:900px){.team-photo.portrait{min-height:560px}.split-media{order:2}}
@media(max-width:560px){.team-photo.portrait{min-height:500px}.founders{grid-template-columns:1fr}.team-photo figcaption{left:14px;bottom:14px}}
/* V8: use the logo pixels directly from the original artwork supplied by Rafiki. */
.brand img,.monogram-card img{image-rendering:auto;filter:none;opacity:1;transform:none}

.project-photo{width:100%;height:560px;object-fit:cover;object-position:center 58%;display:block;border-radius:24px}
@media(max-width:560px){.project-photo{height:430px}}

.story-photo { width:100%; aspect-ratio: 4 / 5; object-fit:cover; object-position:center 58%; display:block; border-radius:inherit; }

.contact-topic{display:none;margin-top:3px;font-family:"DM Sans",Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-deep)}
.contact-topic.active{display:block}

.photo-strip{background:var(--paper)}
.photo-strip-head{max-width:720px;margin-bottom:28px}
.photo-strip-head h2{margin-bottom:0}
.photo-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-slot{aspect-ratio:4/3;border-radius:22px;background:var(--sand-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.photo-slot span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.photo-slot img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.photo-strip-grid{grid-template-columns:1fr 1fr}.photo-slot:last-child{display:none}}
/* Gallery carousel — 9 photos, 3 per page */
.gallery-carousel{position:relative;padding:0 48px 26px}
.gallery-viewport{overflow:hidden;border-radius:22px}
.gallery-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.gallery-page{min-width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gallery-page img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center center;border-radius:22px;background:var(--sand-soft)}
.gallery-arrow{position:absolute;top:calc(50% - 24px);width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--dark);font-size:27px;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:2;transition:transform .2s ease,background .2s ease}
.gallery-arrow:hover{transform:scale(1.05);background:var(--ivory)}
.gallery-prev{left:0}.gallery-next{right:0}
.gallery-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.gallery-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--sand);cursor:pointer;transition:width .2s ease,background .2s ease}
.gallery-dots button.active{width:22px;border-radius:999px;background:var(--blue-deep)}
@media(max-width:760px){.gallery-carousel{padding:0 36px 24px}.gallery-page{gap:9px}.gallery-page img{border-radius:14px;aspect-ratio:3/4}.gallery-arrow{width:30px;height:30px;font-size:22px}.gallery-prev{left:0}.gallery-next{right:0}}

/* Subject-aware centering inside gallery frames */
.gallery-page img[src$="gallery-01.jpg"]{object-position:50% 64%}
.gallery-page img[src$="gallery-02.jpg"]{object-position:50% 46%}
.gallery-page img[src$="gallery-03.jpg"]{object-position:50% 62%}
.gallery-page img[src$="gallery-04.jpg"]{object-position:50% 54%}
.gallery-page img[src$="gallery-05.jpg"]{object-position:44% 54%}
.gallery-page img[src$="gallery-06.jpg"]{object-position:50% 58%}
.gallery-page img[src$="gallery-07.jpg"]{object-position:50% 48%}
.gallery-page img[src$="gallery-08.jpg"]{object-position:50% 52%}
.gallery-page img[src$="gallery-09.jpg"]{object-position:50% 55%}

/* V34: center the girl holding the mouth drawing inside her existing gallery frame */
.photo-slot img.gallery-focus-girl,
.gallery-focus-girl {
  object-position: 50% 38% !important;
}

/* V35: reposition gallery-02 within its existing frame */
.photo-slot img.gallery-focus-girl,
.gallery-focus-girl {
  object-position: 50% 56% !important;
}

.whatsapp-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:12px;
  min-height:48px;
  padding:12px 18px;
  border:1px solid var(--dark);
  border-radius:999px;
  background:transparent;
  color:var(--dark);
  font-family:"DM Sans",Arial,sans-serif;
  font-size:.92rem;
  font-weight:600;
  text-decoration:none;
  transition:.2s ease;
}
.whatsapp-button:hover{
  background:var(--dark);
  color:var(--paper);
}

.contact-instagram{
  display:block;
  margin-top:8px;
  color:inherit;
  text-decoration:none;
}
.contact-instagram:hover{
  text-decoration:underline;
}
.photo-slot img.gallery-new-first{
  object-position:50% 42% !important;
}

/* V38 — show the complete first gallery photo without cropping */
.photo-slot img.gallery-new-first{
  object-fit:contain !important;
  object-position:center center !important;
  width:100%;
  height:100%;
  background:var(--sand-soft);
}

/* Minimal monochrome contact icons */
.contact-icon{
  width:15px;
  height:15px;
  flex:0 0 15px;
  margin-right:8px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  vertical-align:-2px;
}
.contact-icon .icon-dot{
  fill:currentColor;
  stroke:none;
}
.contact-instagram{
  display:flex;
  align-items:center;
  width:max-content;
}

/* V39 — larger, matching monochrome contact icons */
.contact-icon{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
  margin-right:10px !important;
  stroke-width:1.5 !important;
}

/* V39 — make the first carousel image visibly smaller so the whole head remains inside frame */
.photo-slot img.gallery-new-first{
  object-fit:contain !important;
  object-position:center center !important;
  width:88% !important;
  height:88% !important;
  margin:auto !important;
  display:block !important;
}

/* V40 — contact details: matching visible monochrome icons */
.contact-detail,
.contact-instagram{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:max-content;
}
.contact-detail .contact-icon,
.contact-instagram .contact-icon{
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
  margin:0 !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.5 !important;
}

/* V40 — actual first carousel image: show the entire portrait, including the top of her head */
.photo-slot img[src="assets/gallery/gallery-new-first.png"],
.photo-slot img.gallery-new-first{
  object-fit:contain !important;
  object-position:center center !important;
  width:78% !important;
  height:78% !important;
  max-width:78% !important;
  max-height:78% !important;
  margin:auto !important;
  display:block !important;
}

/* V41 — lower the first carousel portrait to leave clear space above the head */
.photo-slot img[src="assets/gallery/gallery-new-first.png"],
.photo-slot img.gallery-new-first{
  object-fit:contain !important;
  object-position:center center !important;
  width:78% !important;
  height:78% !important;
  max-width:78% !important;
  max-height:78% !important;
  margin:9% auto 0 auto !important;
  display:block !important;
}

/* V42 — FIX: target the real carousel element.
   Move the crop upward in the source image so the girl's head sits lower in the frame
   and there is visible space above her hair. */
.gallery-page img.gallery-new-first,
.gallery-page img[src="assets/gallery/gallery-new-first.png"]{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:50% 27% !important;
  display:block !important;
}

/* V43 — first carousel photo: head close to the top edge, with a small margin */
.gallery-page img.gallery-new-first,
.gallery-page img[src="assets/gallery/gallery-new-first.png"]{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:50% 38% !important;
  margin:0 !important;
}

/* V43 — third photo on first carousel page: center the two children */
.gallery-page img[src="assets/gallery/gallery-06.jpg"]{
  object-fit:cover !important;
  object-position:42% 50% !important;
}

/* V44 — third photo: move the two children visibly toward the centre/left */
.gallery-page img[src="assets/gallery/gallery-06.jpg"]{
  object-fit:cover !important;
  object-position:68% 50% !important;
}

/* V46 — small baboon symbol beside RAFIKI, preserving original header/footer layouts */
.brand-with-mark,
.footer-brand-with-mark{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.brand-baboon-logo{
  width:38px;
  height:38px;
  object-fit:contain;
  flex:0 0 38px;
  mix-blend-mode:multiply;
}
.footer-baboon-inline{
  width:34px;
  height:34px;
  object-fit:contain;
  flex:0 0 34px;
  mix-blend-mode:multiply;
}
@media(max-width:760px){
  .brand-with-mark,
  .footer-brand-with-mark{gap:7px}
  .brand-baboon-logo{width:31px;height:31px;flex-basis:31px}
  .footer-baboon-inline{width:29px;height:29px;flex-basis:29px}
}

/* V47: visible baboon mark next to RAFIKI */
a.brand{display:flex !important;align-items:center !important;gap:12px !important}
.brand-baboon-logo{display:block !important;width:52px !important;height:52px !important;object-fit:contain !important;opacity:1 !important;visibility:visible !important;mix-blend-mode:normal !important}
.footer-baboon-inline{display:inline-block !important;width:44px !important;height:44px !important;object-fit:contain !important;vertical-align:middle !important;margin-right:10px !important;opacity:1 !important;visibility:visible !important;mix-blend-mode:normal !important}

/* V48 — visually remove the white field around the supplied logo on cream/white site backgrounds */
.brand-baboon-logo,
.footer-baboon-inline{
  mix-blend-mode:multiply !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Keep original footer layout intact; logo is only an inline companion to RAFIKI */
footer .footer-baboon-inline{
  display:inline-block !important;
  width:40px !important;
  height:40px !important;
  margin:0 10px 0 0 !important;
  vertical-align:middle !important;
  object-fit:contain !important;
}

/* V49 — footer: baboon to the LEFT of RAFIKI, never above */
.site-footer .footer-brand,
.site-footer .brand,
footer .footer-brand,
footer .brand{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
}
footer .footer-baboon-inline{
  display:block !important;
  flex:0 0 40px !important;
  width:40px !important;
  height:40px !important;
  margin:0 !important;
  order:0 !important;
}
footer .footer-brand img:not(.footer-baboon-inline),
footer .brand img:not(.footer-baboon-inline){
  order:1 !important;
  margin:0 !important;
}

/* V50 — explicit footer brand row: baboon LEFT, RAFIKI RIGHT */
footer .footer-brand-row-fixed{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  width:max-content !important;
  grid-column:1 !important;
  grid-row:1 !important;
}
footer .footer-brand-row-fixed .footer-baboon-inline{
  display:block !important;
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  margin:0 !important;
  object-fit:contain !important;
}
footer .footer-brand-row-fixed img[src*="rafiki-wordmark-original"]{
  display:block !important;
  width:auto !important;
  height:32px !important;
  max-width:none !important;
  margin:0 !important;
  object-fit:contain !important;
}

/* V51 — restore original footer layout */

.site-footer{padding:50px clamp(22px,6vw,96px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;border-top:1px solid var(--line)}
.site-footer img{width:160px}
.site-footer p{margin:0}
.footer-small{text-align:right;font-size:12px;color:var(--muted)}
.site-footer{grid-template-columns:1fr;gap:18px}
.footer-small{text-align:left}
.site-footer{padding-bottom:80px}
/* Preserve approved V50 logo + RAFIKI arrangement only */
.site-footer .footer-brand-row-fixed{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  width:max-content !important;
}
.site-footer .footer-brand-row-fixed .footer-baboon-inline{
  display:block !important;
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  margin:0 !important;
  object-fit:contain !important;
}
.site-footer .footer-brand-row-fixed img[src*="rafiki-wordmark-original"]{
  display:block !important;
  width:auto !important;
  height:32px !important;
  max-width:none !important;
  margin:0 !important;
  object-fit:contain !important;
}

/* V52 — footer order requested: brand left, slogan center, copyright right */
.site-footer{
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important;
  align-items:center !important;
  column-gap:24px !important;
}
.site-footer > .footer-brand-row-fixed{
  grid-column:1 !important;
  justify-self:start !important;
  margin:0 !important;
}
.site-footer > p:not(.footer-small){
  grid-column:2 !important;
  justify-self:center !important;
  text-align:center !important;
  margin:0 !important;
}
.site-footer > .footer-small{
  grid-column:3 !important;
  justify-self:end !important;
  text-align:right !important;
  margin:0 !important;
}
@media(max-width:760px){
  .site-footer{
    grid-template-columns:1fr !important;
    row-gap:18px !important;
  }
  .site-footer > .footer-brand-row-fixed,
  .site-footer > p:not(.footer-small),
  .site-footer > .footer-small{
    grid-column:1 !important;
    justify-self:start !important;
    text-align:left !important;
  }
}

/* V53 — footer RAFIKI wordmark same displayed size as header RAFIKI wordmark */
.site-footer .footer-brand-row-fixed img[src*="rafiki-wordmark-original"]{
  width:auto !important;
  height:48px !important;
  max-width:none !important;
  object-fit:contain !important;
}

/* V54 — smaller RAFIKI wordmark in footer only */
.site-footer .footer-brand-row-fixed img[src*="rafiki-wordmark-original"]{
  width:auto !important;
  height:30px !important;
  max-width:none !important;
  object-fit:contain !important;
}

/* V55 — slightly smaller RAFIKI wordmark in footer */
.site-footer .footer-brand-row-fixed img[src*="rafiki-wordmark-original"]{
  width:auto !important;
  height:26px !important;
  max-width:none !important;
  object-fit:contain !important;
}

/* V56 — vertically balanced footer */
.site-footer{
  padding-top:54px !important;
  padding-bottom:54px !important;
  align-items:center !important;
}
.site-footer > .footer-brand-row-fixed,
.site-footer > p:not(.footer-small),
.site-footer > .footer-small{
  align-self:center !important;
}


/* V59 — publication readiness, privacy and mobile QA */
.placeholder-contact a{border-bottom:1px solid currentColor;padding-bottom:2px}
.form-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.privacy-consent{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;color:var(--muted);font-size:12px!important;line-height:1.45}
.privacy-consent input{width:16px!important;height:16px!important;flex:0 0 16px;margin:2px 0 0!important;padding:0!important;accent-color:var(--blue-deep)}
.privacy-consent a,.footer-privacy{text-decoration:underline;text-underline-offset:3px}
.footer-privacy{display:inline-block;margin-top:5px}
@media(max-width:900px){
  .site-header{padding:16px 20px}
  .site-nav{top:70px;max-height:calc(100vh - 90px);overflow:auto}
  .hero,.section-pad{padding-left:20px;padding-right:20px}
  .gallery-page{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .brand-baboon-logo{width:40px!important;height:40px!important}
  a.brand{gap:8px!important}
  .brand img:not(.brand-baboon-logo){width:108px!important}
  .gallery-carousel{padding-left:30px;padding-right:30px}
  .gallery-page{gap:7px}
  .gallery-page img{min-width:0}
  .site-footer{padding-top:38px!important;padding-bottom:38px!important}
}
