:root { --ink:#1f5258; --paper:#fffdf7; --coral:#ff8b78; --yellow:#ffdb5c; --green:#b2e18a; --mint:#fff0ad; --soft:#cceeff; --line:rgba(31,82,88,.2); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans", sans-serif; font-size:16px; line-height:1.5; } a { color:inherit; text-decoration:none; } img { display:block; max-width:100%; } .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } .skip-link { position:absolute; left:1rem; top:-4rem; z-index:50; padding:.75rem 1rem; background:var(--ink); color:white; } .skip-link:focus { top:1rem; } .site-header { min-height:92px; display:flex; align-items:center; justify-content:space-between; padding:16px 5.5vw; background:var(--paper); position:relative; z-index:10; } .brand { display:block; width:185px; } .main-nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; } .main-nav > a:not(.nav-cta) { position:relative; } .main-nav > a:not(.nav-cta)::after { content:""; position:absolute; bottom:-5px; left:0; width:0; height:2px; background:var(--coral); transition:width .2s; } .main-nav > a:hover::after { width:100%; } .nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:14px 19px; border-radius:2px; font-weight:700; transition:transform .2s,background .2s; } .nav-cta { background:var(--coral); color:white; padding:11px 16px; } .nav-cta:hover,.button:hover { transform:translateY(-2px); } .menu-button { display:none; }
.hero { position:relative; min-height:680px; display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; background:var(--soft); } .hero-copy { padding:100px 5.5vw 96px; position:relative; z-index:2; } .hero-copy::after { content:"+"; position:absolute; right:7%; bottom:13%; color:var(--coral); font-family:Fraunces,Georgia,serif; font-size:58px; font-weight:600; line-height:1; transform:rotate(-14deg); } .eyebrow,.section-kicker { margin:0 0 20px; font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; } .eyebrow span { display:inline-block; width:27px; height:1px; background:currentColor; vertical-align:middle; margin:0 8px; } h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:Fraunces, Georgia, serif; font-weight:600; line-height:1.02; letter-spacing:0; } h1 { max-width:700px; margin-bottom:26px; font-size:clamp(3.4rem,6.1vw,6.6rem); } h1 em,h2 em { color:var(--coral); font-style:italic; } .intro { max-width:510px; margin-bottom:30px; font-size:18px; line-height:1.65; } .hero-actions { display:flex; gap:24px; align-items:center; flex-wrap:wrap; } .button-primary { background:var(--ink); color:white; } .text-link { display:inline-flex; align-items:center; gap:9px; border-bottom:1px solid currentColor; padding-bottom:3px; font-weight:700; } .text-link span { font-size:20px; line-height:1; } .hero-image-wrap { min-height:680px; position:relative; } .hero-image { width:100%; height:100%; object-fit:cover; object-position:center; } .hero-note { position:absolute; left:-57px; bottom:54px; z-index:2; width:218px; padding:19px 20px; background:var(--yellow); box-shadow:0 12px 30px rgba(23,63,63,.16); transform:rotate(-2deg); } .hero-note strong,.hero-note span { display:block; } .hero-note strong { font-family:Fraunces,Georgia,serif; font-size:18px; line-height:1.15; } .hero-note span { margin-top:7px; font-size:12px; } .sun-mark { position:absolute; top:-105px; left:43%; width:250px; height:250px; border-radius:50%; background:var(--yellow); opacity:.9; }
.section { padding:112px 8vw; } .story { background:var(--paper); } .story-grid { display:grid; grid-template-columns:1fr 1fr; gap:10vw; } h2 { margin-bottom:0; font-size:clamp(2.5rem,4.5vw,4.9rem); } .story-copy { max-width:520px; padding-top:10px; } .story-copy p { font-size:18px; line-height:1.7; } .story-copy .text-link { margin-top:10px; } .values { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:100px; padding-top:22px; border-top:1px solid var(--line); } .values article { padding-right:15px; } .value-number { color:var(--coral); font-size:13px; font-weight:700; } .values h3 { margin:39px 0 6px; font-family:Fraunces,Georgia,serif; font-size:27px; font-weight:600; } .values p { margin:0; color:#4d6564; }
.programmes { background:var(--mint); } .programme-heading { display:flex; justify-content:space-between; gap:40px; margin-bottom:54px; } .programme-heading .section-kicker { margin-bottom:17px; } .programme-heading > p { max-width:315px; margin:37px 8% 0 0; color:#486361; font-size:17px; } .programme-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; } .programme-card { min-height:390px; display:flex; flex-direction:column; padding:27px; color:var(--ink); transition:transform .2s; } .programme-card:nth-child(2) { transform:translateY(15px) rotate(1deg); } .programme-card:hover { transform:translateY(-6px) rotate(-1deg); } .coral { background:var(--coral); color:white; box-shadow:8px 8px 0 #ca7f83; } .yellow { background:var(--yellow); box-shadow:8px 8px 0 #d8bd65; } .green { background:var(--green); box-shadow:8px 8px 0 #8fb789; } .card-top { display:flex; justify-content:space-between; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; } .programme-card h3 { margin:39px 0 18px; font-family:Fraunces,Georgia,serif; font-size:clamp(2.2rem,3.5vw,3.9rem); font-weight:600; line-height:.94; } .programme-card p { margin-bottom:26px; line-height:1.6; } .card-bottom { margin-top:auto; display:flex; align-items:end; gap:8px; } .card-bottom strong { font-family:Fraunces,Georgia,serif; font-size:29px; } .card-bottom span { padding-bottom:5px; font-size:12px; }
.photo-break { display:grid; grid-template-columns:1fr 1fr; height:520px; position:relative; overflow:hidden; } .photo-break > img { width:100%; height:100%; object-fit:cover; } .photo-caption { position:absolute; top:50%; left:50%; width:280px; padding:25px; transform:translate(-50%,-50%) rotate(-4deg); background:var(--paper); font-family:Fraunces,Georgia,serif; font-size:31px; line-height:1.05; text-align:center; box-shadow:0 8px 30px rgba(23,63,63,.13); } .photo-caption em { color:var(--coral); }
.parent-hub { display:grid; grid-template-columns:.9fr 1.1fr; gap:10vw; background:var(--soft); } .hub-intro { max-width:280px; margin-top:26px; color:#4d6564; font-size:18px; } .document-list { border-top:1px solid var(--line); } .document-list a { min-height:109px; display:grid; align-items:center; grid-template-columns:52px 1fr 24px; gap:17px; padding:18px 0; border-bottom:1px solid var(--line); transition:padding .2s; } .document-list a:hover { padding-left:9px; } .doc-icon { display:flex; align-items:center; justify-content:center; width:45px; height:45px; background:var(--coral); color:white; font-size:11px; font-weight:700; letter-spacing:.6px; } .form-icon { background:var(--green); color:var(--ink); } .document-list strong,.document-list small { display:block; } .document-list strong { font-family:Fraunces,Georgia,serif; font-size:22px; font-weight:600; } .document-list small { margin-top:2px; color:#5d7170; } .document-list b { font-size:21px; }
.contact { padding:100px 8vw; background:var(--coral); color:white; } .contact-inner { max-width:850px; } .contact h2 { margin-bottom:36px; font-size:clamp(3.1rem,5.5vw,6rem); } .button-light { background:var(--paper); color:var(--ink); }.site-footer { background:var(--ink); color:#f7f3e9; padding:68px 8vw 24px; } .footer-main { display:grid; grid-template-columns:1.8fr 1fr 1.1fr .8fr; gap:35px; padding-bottom:60px; } .footer-logo { width:240px; align-self:start; } .site-footer h3 { margin-bottom:12px; font-size:12px; text-transform:uppercase; letter-spacing:1.4px; } .site-footer a:not(.footer-logo) { display:block; width:max-content; max-width:100%; margin-bottom:5px; border-bottom:1px solid transparent; } .site-footer a:not(.footer-logo):hover { border-bottom-color:currentColor; } .social-links { display:flex; gap:10px; } .site-footer .social-links a { display:inline-flex; align-items:center; justify-content:center; width:39px; height:39px; margin:0; border:1px solid rgba(255,255,255,.6); color:var(--yellow); font-size:19px; transition:transform .2s,background .2s,color .2s; } .site-footer .social-links a:hover { background:var(--yellow); border-color:var(--yellow); color:var(--ink); transform:rotate(-6deg) translateY(-3px); } .footer-bottom { display:flex; justify-content:space-between; padding-top:20px; border-top:1px solid rgba(255,255,255,.22); color:#bcd2cd; font-size:13px; }
@media (max-width:800px) { .site-header { min-height:73px; padding:12px 5vw; } .brand { width:146px; } .menu-button { display:flex; flex-direction:column; justify-content:center; gap:5px; width:43px; height:43px; padding:0; background:transparent; border:0; cursor:pointer; } .menu-button span:not(.sr-only) { width:26px; height:2px; margin-left:auto; background:var(--ink); transition:transform .2s; } .main-nav { display:none; position:absolute; top:73px; left:0; right:0; padding:20px 5vw 26px; flex-direction:column; align-items:flex-start; gap:21px; background:var(--paper); box-shadow:0 14px 16px rgba(23,63,63,.1); } .main-nav.is-open { display:flex; } .main-nav .nav-cta { margin-top:3px; } .hero { min-height:auto; display:flex; flex-direction:column; } .hero-copy { padding:62px 7vw 58px; } h1 { font-size:clamp(3.15rem,14vw,5.1rem); } .intro { font-size:16px; } .hero-image-wrap { min-height:420px; } .hero-image { height:420px; } .hero-note { left:7vw; bottom:24px; } .sun-mark { top:auto; bottom:320px; left:auto; right:-85px; width:190px; height:190px; } .section { padding:82px 7vw; } .story-grid,.parent-hub { grid-template-columns:1fr; gap:35px; } .values { grid-template-columns:1fr; gap:24px; margin-top:66px; } .values h3 { margin-top:17px; } .programme-heading { display:block; margin-bottom:38px; } .programme-heading > p { margin:20px 0 0; } .programme-grid { grid-template-columns:1fr; } .programme-card { min-height:330px; } .photo-break { height:480px; grid-template-columns:1fr; } .photo-break > img:nth-child(2) { display:none; } .photo-caption { width:230px; font-size:27px; } .footer-main { grid-template-columns:1fr 1fr; gap:42px 24px; padding-bottom:45px; } .footer-logo { grid-column:1/-1; width:210px; } .footer-bottom { gap:14px; flex-direction:column; } }
@media (max-width:430px) { .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; } .hero-note { width:200px; } .contact { padding:78px 7vw; } .footer-main { grid-template-columns:1fr; } }

h1,h2,.values h3,.programme-card h3,.photo-caption,.hero-note strong,.document-list strong,.card-bottom strong { font-family:Fredoka, sans-serif; font-weight:600; }
.nav-cta,.button { border-radius:999px; }
.section-kicker { color:var(--coral); }
.parent-hub { background:#dff2cf; }
.back-to-top { position:fixed; right:22px; bottom:22px; z-index:20; display:flex; align-items:center; justify-content:center; width:46px; height:46px; padding:0; border:0; border-radius:50%; background:var(--coral); color:white; box-shadow:0 6px 18px rgba(31,82,88,.24); cursor:pointer; opacity:0; transform:translateY(14px); pointer-events:none; transition:opacity .2s,transform .2s,background .2s; } .back-to-top.is-visible { opacity:1; transform:translateY(0); pointer-events:auto; } .back-to-top:hover { background:var(--ink); transform:translateY(-3px); } .back-to-top:focus-visible { outline:3px solid var(--yellow); outline-offset:3px; }

.family { background:#fff7dc; }
.family-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; }
.family-intro { max-width:350px; padding-bottom:4px; }
.family-intro p { margin-bottom:22px; color:#486361; font-size:17px; }
.gallery-controls { display:flex; gap:10px; }
.gallery-button { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border:1px solid var(--ink); border-radius:50%; background:transparent; color:var(--ink); cursor:pointer; transition:background .2s,color .2s,transform .2s; }
.gallery-button:hover:not(:disabled) { background:var(--ink); color:var(--paper); transform:translateY(-2px); }
.gallery-button:disabled { cursor:not-allowed; opacity:.32; }
.gallery-button:focus-visible { outline:3px solid var(--coral); outline-offset:3px; }
.staff-gallery { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(235px,29%); gap:20px; margin-top:48px; padding:5px 5px 18px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-color:var(--coral) rgba(31,82,88,.12); scrollbar-width:thin; }
.staff-card { min-width:0; overflow:hidden; scroll-snap-align:start; background:var(--paper); border:1px solid rgba(31,82,88,.12); box-shadow:0 8px 20px rgba(31,82,88,.08); }
.staff-photo { aspect-ratio: .86; overflow:hidden; background:var(--soft); }
.staff-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .35s ease; }
.staff-card:hover .staff-photo img { transform:scale(1.035); }
.staff-card-copy { min-height:94px; padding:17px 18px 19px; }
.staff-card-copy h3 { margin:0 0 4px; font-family:Fredoka,sans-serif; font-size:21px; font-weight:600; line-height:1.1; }
.staff-card-copy p { margin:0; color:#607471; font-size:13px; line-height:1.35; }
.gallery-hint { display:flex; align-items:center; gap:8px; margin:14px 4px 0; color:#607471; font-size:12px; }
.gallery-hint i { color:var(--coral); }

.document-groups { display:grid; gap:28px; }
.document-group { padding:25px 28px 10px; background:rgba(255,253,247,.7); border:1px solid rgba(31,82,88,.15); border-top:5px solid var(--coral); }
.aftercare-group { background:#fff7dc; border-top-color:var(--green); }
.document-group-heading { margin-bottom:10px; }
.group-label { display:inline-block; margin-bottom:10px; padding:5px 10px; border-radius:999px; font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.normal-label { background:var(--coral); color:white; }
.aftercare-label { background:var(--green); color:var(--ink); }
.document-group-heading h3 { margin:0 0 6px; font-family:Fredoka,sans-serif; font-size:29px; font-weight:600; }
.document-group-heading p { max-width:410px; margin:0 0 18px; color:#5d7170; font-size:14px; line-height:1.45; }
.document-group .document-list { border-top-color:rgba(31,82,88,.16); }
.document-group .document-list a { min-height:88px; }
.aftercare-icon { background:var(--green); color:var(--ink); }
.document-group .document-list strong { font-size:19px; }

.contact-links { display:grid; gap:8px; }
.site-footer .contact-link { display:flex !important; align-items:flex-start; gap:10px; width:auto; margin-bottom:0; border-bottom:0; }
.site-footer .contact-link > i { width:18px; padding-top:4px; color:var(--yellow); text-align:center; }
.site-footer .contact-link span { line-height:1.35; }
.site-footer .contact-link small { display:block; margin-bottom:2px; color:#bcd2cd; font-size:10px; letter-spacing:.8px; text-transform:uppercase; }
.whatsapp-float { position:fixed; right:22px; bottom:82px; z-index:19; display:flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:50%; background:#25d366; color:white; box-shadow:0 7px 20px rgba(31,82,88,.28); font-size:29px; transition:transform .2s,box-shadow .2s; }
.whatsapp-float:hover { color:white; transform:translateY(-4px) scale(1.04); box-shadow:0 10px 24px rgba(31,82,88,.34); }
.whatsapp-float:focus-visible { outline:3px solid var(--yellow); outline-offset:3px; }

@media (max-width:800px) {
  .family-heading { align-items:flex-start; flex-direction:column; gap:28px; }
  .family-intro { max-width:480px; }
  .staff-gallery { grid-auto-columns:minmax(225px,46%); gap:16px; margin-top:35px; }
  .document-group { padding:22px 20px 8px; }
  .site-footer .contact-link { max-width:100%; }
}

@media (max-width:430px) {
  .staff-gallery { grid-auto-columns:minmax(225px,78%); }
  .whatsapp-float { right:16px; bottom:78px; }
  .back-to-top { right:16px; bottom:18px; }
}

.footer-logo { width:270px; }

@media (max-width:800px) {
  .footer-logo { width:230px; }
  .programme-grid { row-gap:52px; padding-block:12px; }
  .programme-card { margin-block:6px; }
  .programme-card:nth-child(2) { transform:none; }
  .programme-card:hover { transform:translateY(-2px) rotate(0); }
}

.story-copy { max-width:720px; }
.story-copy p { font-size:17px; }
.memory-gallery { background:#fff7dc; }
.memory-heading { display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:42px; }
.memory-heading .section-kicker { margin-bottom:17px; }
.memory-heading > p { max-width:360px; margin:0 2% 5px 0; color:#486361; font-size:17px; }
.memory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:clamp(145px,15vw,205px); gap:14px; }
.memory-card { position:relative; min-width:0; min-height:0; padding:0; overflow:hidden; border:0; border-radius:4px; background:var(--soft); box-shadow:0 8px 22px rgba(31,82,88,.12); cursor:zoom-in; text-align:left; }
.memory-card img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .4s ease,filter .3s ease; }
.memory-card::after { content:""; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,rgba(18,47,49,.68)); opacity:.88; transition:opacity .25s; }
.memory-card > span { position:absolute; z-index:1; left:16px; right:12px; bottom:13px; color:white; font-family:Fredoka,sans-serif; font-size:clamp(15px,1.35vw,20px); font-weight:600; line-height:1.1; text-shadow:0 1px 5px rgba(0,0,0,.3); }
.memory-card:hover img,.memory-card:focus-visible img { transform:scale(1.045); }
.memory-card:hover::after,.memory-card:focus-visible::after { opacity:1; }
.memory-card:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.memory-feature { grid-column:span 2; grid-row:span 2; }
.memory-wide { grid-column:span 2; }
.memory-tall { grid-row:span 2; }
.gallery-note { display:flex; align-items:center; gap:9px; margin:24px 2px 0; color:#607471; font-size:13px; }
.gallery-note i { color:var(--coral); font-size:17px; }
.lightbox { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:20px; border:0; background:rgba(13,37,39,.96); color:white; }
.lightbox::backdrop { background:rgba(13,37,39,.88); backdrop-filter:blur(5px); }
.lightbox-panel { position:relative; display:flex; width:min(1120px,100%); height:100%; flex-direction:column; align-items:center; justify-content:center; gap:14px; margin:auto; padding:48px 0 0; }
.lightbox-image { display:block; width:100%; height:auto; max-width:100%; max-height:calc(100dvh - 150px); object-fit:contain; border-radius:4px; }
.lightbox-caption-row { display:flex; width:100%; max-width:900px; align-items:center; justify-content:space-between; gap:16px; color:#fffdf7; }
.lightbox-caption-row p { margin:0; }
#lightbox-caption { font-family:Fredoka,sans-serif; font-size:20px; }
#lightbox-count { flex:none; color:#c8dad5; font-size:13px; }
.lightbox-close,.lightbox-arrow { position:absolute; z-index:2; display:flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:rgba(13,37,39,.65); color:white; cursor:pointer; transition:background .2s,transform .2s; }
.lightbox-close:hover,.lightbox-arrow:hover { background:var(--coral); transform:scale(1.06); }
.lightbox-close:focus-visible,.lightbox-arrow:focus-visible { outline:3px solid var(--yellow); outline-offset:3px; }
.lightbox-close { top:4px; right:0; }
.lightbox-arrow { top:50%; transform:translateY(-50%); }
.lightbox-arrow:hover { transform:translateY(-50%) scale(1.06); }
.lightbox-previous { left:12px; }
.lightbox-next { right:12px; }

@media (max-width:800px) {
  .memory-heading { align-items:flex-start; flex-direction:column; gap:18px; margin-bottom:30px; }
  .memory-heading > p { margin:0; }
  .memory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:clamp(130px,28vw,210px); gap:11px; }
  .memory-feature { grid-column:span 2; grid-row:span 2; }
  .memory-card > span { left:12px; bottom:11px; }
  .lightbox { padding:12px; }
  .lightbox-panel { padding-top:54px; }
  .lightbox-image { max-height:calc(100dvh - 145px); }
  .lightbox-previous { left:4px; }
  .lightbox-next { right:4px; }
}

@media (max-width:430px) {
  .memory-grid { grid-auto-rows:clamp(118px,34vw,155px); gap:8px; }
  .memory-card > span { left:9px; right:8px; bottom:9px; font-size:15px; }
  .gallery-note { align-items:flex-start; font-size:12px; }
  .lightbox { padding:8px; }
  .lightbox-panel { padding-top:50px; }
  .lightbox-image { max-height:calc(100dvh - 130px); }
  .lightbox-close,.lightbox-arrow { width:42px; height:42px; }
  .lightbox-arrow { top:auto; bottom:66px; }
  .lightbox-previous { left:12px; }
  .lightbox-next { right:12px; }
  #lightbox-caption { font-size:17px; }
}

.fees { background:#dff2cf; }
.fees-layout { display:grid; grid-template-columns:.78fr 1.22fr; align-items:start; gap:8vw; }
.fees-intro h2 { max-width:430px; margin-bottom:24px; font-size:clamp(2.5rem,4.4vw,4.4rem); }
.fees-intro > p:last-child { max-width:420px; color:#486361; font-size:17px; line-height:1.7; }
.fee-inclusions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin:0; padding:20px 30px; list-style:none; background:var(--paper); border:1px solid rgba(31,82,88,.12); box-shadow:0 10px 28px rgba(31,82,88,.08); }
.fee-inclusions li { position:relative; padding:16px 0 16px 23px; border-bottom:1px solid rgba(31,82,88,.13); line-height:1.55; }
.fee-inclusions li::before { position:absolute; top:24px; left:0; width:9px; height:9px; border-radius:50%; background:var(--coral); content:""; }
.fee-inclusions li:nth-last-child(-n+2) { border-bottom:0; }
.fees-extra { margin:22px 0 0; padding:17px 20px; background:#fff7dc; color:#486361; line-height:1.6; }
.fees-extra strong { color:var(--ink); }
.fee-schedules { display:flex; flex-wrap:wrap; align-items:center; gap:10px 24px; margin-top:23px; }
.fee-schedules h3 { width:100%; margin:0; font-family:Fredoka,sans-serif; font-size:19px; font-weight:600; }
.fee-schedules a { display:inline-flex; align-items:center; gap:7px; padding-bottom:2px; border-bottom:1px solid currentColor; font-weight:700; }
.fee-schedules a span { color:var(--coral); font-size:19px; }
.fees-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:38px; padding-top:28px; border-top:1px solid rgba(31,82,88,.2); }
.fees-cta p { max-width:570px; margin:0; font-size:18px; font-weight:600; }
.fees-cta .button { flex:none; }
.contact-hours { color:#f7f3e9; }
.association-badge { display:flex; align-items:center; gap:14px; color:#f7f3e9; font-size:12px; font-weight:600; }
.association-badge > span { max-width:150px; }
.association-card { width:154px; height:180px; flex:none; overflow:hidden; background:#fff; }
.association-card img { width:100%; height:100%; object-fit:contain; background:#fff; }
@media (min-width:801px) {
  .footer-main { grid-template-columns:1.5fr .9fr 1.1fr .65fr 1fr; }
}
@media (max-width:800px) {
  .fees-layout { grid-template-columns:1fr; gap:28px; }
  .fees-intro h2 { max-width:600px; }
  .fees-intro > p:last-child { max-width:600px; }
  .fees-cta { align-items:flex-start; flex-direction:column; }
  .association-badge { align-items:flex-start; flex-direction:column; }
}
@media (max-width:600px) {
  .fee-inclusions { grid-template-columns:1fr; padding:10px 22px; }
  .fee-inclusions li:nth-last-child(-n+2) { border-bottom:1px solid rgba(31,82,88,.13); }
  .fee-inclusions li:last-child { border-bottom:0; }
  .association-badge { align-items:center; flex-direction:row; }
  .association-badge > span { max-width:130px; }
  .association-card { width:125px; height:155px; }
}
