/* ---------- PAGE HERO (shared across subpages) ---------- */
  .page-hero{
    position:relative;
    min-height:340px;
    display:flex;
    align-items:flex-end;
    padding:90px 0 52px;
    overflow:hidden;
  }
  .page-hero-bg{position:absolute;inset:0;z-index:0;}
  .page-hero-bg img{width:100%;height:100%;object-fit:cover;}
  .page-hero-bg::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(27,50,38,0.30) 0%, rgba(18,28,20,0.82) 100%);
  }
  .page-hero .wrap{position:relative;z-index:1;}
  .breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,0.72);margin-bottom:16px;}
  .breadcrumb a{color:rgba(255,255,255,0.72);}
  .breadcrumb a:hover{color:#fff;}
  .breadcrumb .sep{opacity:0.5;}
  .page-hero .eyebrow{
    color:#DCCB9C;
    font-family:"Playfair Display",serif;
    font-size:clamp(1.6rem,3.2vw,2.4rem);
    font-weight:600;
    letter-spacing:0.03em;
    gap:18px;
    margin-top:8px;
  }
  .page-hero .eyebrow::before{background:#DCCB9C;width:36px;height:2px;}
  .page-hero h1{color:#fff;font-size:clamp(2.1rem,3.6vw,3rem);font-weight:500;margin-top:14px;max-width:20ch;}
  .page-hero p.lead{color:rgba(255,255,255,0.85);margin-top:14px;max-width:56ch;font-size:16px;}

  /* ---------- generic prose / content block ---------- */
  .prose{max-width:74ch;}
  .prose p{color:var(--ink-soft);margin-bottom:18px;font-size:16px;}
  .prose p:last-child{margin-bottom:0;}
  .prose strong{color:var(--ink);font-weight:600;}

  /* ---------- checklist (used for aims / membership benefits) ---------- */
  .check-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
  .check-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink-soft);line-height:1.55;}
  .check-list .tick{
    width:22px;height:22px;border-radius:50%;background:var(--olive-light);color:var(--olive-ink);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;
  }
  .check-list .tick svg{width:12px;height:12px;}
  .check-list strong{color:var(--ink);}

  /* ---------- aims & objectives (card grid) ---------- */
  .aims-head{display:flex;align-items:center;gap:48px;margin-bottom:44px;flex-wrap:wrap;}
  .aims-head-left{flex:0 0 auto;max-width:460px;}
  .aims-head-left h2{font-size:clamp(2rem,3.6vw,2.8rem);font-weight:700;margin-top:12px;}
  .aims-head-right{
    flex:1;min-width:260px;
    border-left:1px solid var(--line);
    padding-left:40px;
    font-size:16px;line-height:1.6;
    color:var(--ink-soft);
  }
  @media (max-width:768px){
    .aims-head{flex-direction:column;align-items:flex-start;gap:20px;}
    .aims-head-right{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:20px;}
  }

  .aims-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .aims-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:8px;
    padding:28px 24px;
  }
  .aims-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;}
  .aims-ico{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--terracotta-dark);font-size:30px;}
  .aims-num{font-size:13px;font-weight:600;color:var(--ink-soft);opacity:0.55;}
  .aims-card h4{font-size:17px;font-weight:600;margin-bottom:10px;}
  .aims-card p{font-size:13.5px;line-height:1.55;color:var(--ink-soft);margin:0;}

  @media (max-width:1080px){ .aims-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .aims-grid{grid-template-columns:1fr;} }

  /* ---------- stat row ---------- */
  .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;}
  .stat-row .stat{padding:28px 16px;border-radius:var(--radius-md);background:var(--cream-2);}
  .stat-row .num{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,3vw,2.4rem);color:var(--terracotta-dark);line-height:1;}
  .stat-row .cap{font-size:13px;color:var(--ink-soft);margin-top:8px;}
  @media (max-width:640px){ .stat-row{grid-template-columns:1fr;} }

  /* ---------- pricing / membership tier cards ---------- */
  .tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
  .tier-card{
    background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
    padding:36px 32px;display:flex;flex-direction:column;
  }
  .tier-card.featured{background:var(--green-900);border-color:var(--green-900);color:#fff;}
  .tier-card h3{font-size:22px;font-weight:500;margin-bottom:6px;}
  .tier-card.featured h3{color:#fff;}
  .tier-card .price{font-family:"Playfair Display",serif;font-size:34px;margin:14px 0 4px;}
  .tier-card .price small{font-size:14px;font-weight:400;color:var(--ink-soft);}
  .tier-card.featured .price small{color:#CBD3C7;}
  .tier-card .fee-note{font-size:12.5px;color:var(--ink-soft);margin-bottom:22px;}
  .tier-card.featured .fee-note{color:#CBD3C7;}
  .tier-card ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px;flex:1;}
  .tier-card li{font-size:14.5px;display:flex;gap:10px;align-items:flex-start;}
  .tier-card li svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--terracotta);}
  .tier-card.featured li svg{color:#DCCB9C;}
  @media (max-width:768px){ .tier-grid{grid-template-columns:1fr;} }

  /* ---------- downloads list ---------- */
  .doc-list{display:grid;gap:16px;}
  .doc-card{
    display:flex;align-items:center;gap:18px;
    background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);
    padding:20px 24px;
  }
  .doc-card .doc-ico{
    width:46px;height:46px;border-radius:10px;background:var(--olive-light);color:var(--olive-ink);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .doc-card .doc-ico svg{width:22px;height:22px;}
  .doc-card .doc-info{flex:1;}
  .doc-card h4{font-size:16px;font-weight:600;margin-bottom:3px;}
  .doc-card p{font-size:13px;color:var(--ink-soft);}
  .doc-card .doc-action{flex-shrink:0;}
  .doc-card.unavailable{opacity:0.6;}
  .doc-card .doc-action.disabled{
    font-size:13px;color:var(--ink-soft);font-weight:600;
    padding:10px 18px;border-radius:0;border:1.5px solid var(--line);
  }

  /* ---------- gallery grid ---------- */
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
  }
  .gallery-grid a{
    display:block;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;
    position:relative;
  }
  .gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1);}
  .gallery-grid a:hover img{transform:scale(1.06);}
  .gallery-grid a.tall{grid-row:span 2;aspect-ratio:4/6.2;}
  @media (max-width:900px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} .gallery-grid a.tall{aspect-ratio:4/3;grid-row:span 1;} }
  @media (max-width:560px){ .gallery-grid{grid-template-columns:1fr;} }

  /* ---------- timeline (fair page) ---------- */
  .timeline{display:grid;gap:0;}
  .timeline-item{display:grid;grid-template-columns:140px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--line);}
  .timeline-item:last-child{border-bottom:none;}
  .timeline-item .when{font-family:"Playfair Display",serif;font-size:19px;color:var(--terracotta-dark);}
  .timeline-item h4{font-size:16.5px;font-weight:600;margin-bottom:6px;}
  .timeline-item p{font-size:14.5px;color:var(--ink-soft);}
  @media (max-width:640px){ .timeline-item{grid-template-columns:1fr;gap:6px;} }
  .page-hero h1.eyebrow{margin:8px 0 0;max-width:none;line-height:1.2;}
  /* Privacy Policy / Terms & Conditions */
  .legal{max-width:860px;}
  .legal-updated{font-size:14px;color:var(--ink-soft);margin:0 0 24px;}
  .legal-toc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 26px;margin:0 0 clamp(32px,4vw,48px);}
  .legal-toc h2{font-family:"Manrope",sans-serif;font-size:12px !important;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--olive-ink);margin:0 0 12px;}
  .legal-toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px;font-size:14.5px;line-height:1.9;}
  .legal-toc a{color:var(--ink);text-decoration:none;}
  .legal-toc a:hover{color:var(--olive-ink);text-decoration:underline;}
  .legal-body{max-width:none;}
  .legal-sec{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--line);scroll-margin-top:110px;}
  .legal-sec:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0;}
  .legal-sec h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(1.4rem,2.4vw,1.75rem) !important;line-height:1.2;color:var(--ink);margin:0 0 14px;}
  .legal-sec p,.legal-sec li{font-size:16px;line-height:1.75;color:var(--ink-soft);}
  .legal-sec ul{margin:0 0 18px;padding-left:22px;}
  .legal-sec li{margin-bottom:6px;}
  .legal-sec a{color:var(--olive-ink);text-decoration:underline;text-underline-offset:2px;}
  @media (max-width:640px){ .legal-toc ol{columns:1;} .legal-toc{padding:18px 20px;} }
