/* ============================================================
   PINA — Institutional Design System v4
   Colors: Extracted directly from PINA Proposal PDF (June 2025)
   References: UNICEF · Chatham House · Malala Fund · UN
   Fonts: Outfit (headings — matches PDF exactly) · Source Sans 3 (body)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Source+Sans+3:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&display=swap');

:root {
  /* ─── FROM PDF: Core Palette ─── */
  --white:        #FFFFFF;
  --bg:           #F4F6F9;    /* near-white blue-gray — alternate sections */
  --bg2:          #EBEEf4;    /* slightly deeper */
  --ink:          #1A1D24;    /* near-black */
  --ink2:         #3A3E4D;    /* body text */
  --ink3:         #636878;    /* secondary */
  --ink4:         #969BAB;    /* captions, meta */
  --rule:         #D4D8E6;    /* dividers */
  --rule2:        #BCC2D4;    /* stronger borders */

  /* ─── FROM PDF: Primary Navy (sampled: #0D3773) ─── */
  --navy:         #0D3773;    /* primary brand navy — cover page, headers */
  --navy2:        #0B2F65;    /* deeper */
  --navy3:        #091F4A;    /* darkest — hero backgrounds */
  --navy-mid:     #114284;    /* inner page header bars */

  /* ─── FROM PDF: Institutional Blue (sampled: #1A5796) ─── */
  --blue:         #1A5796;    /* section boxes, gradient elements */
  --blue2:        #1E66AE;    /* hover / interactive */
  --blue3:        #2575C4;    /* links */
  --blue-bg:      #E8F0FB;
  --blue-mid:     #97BAE0;

  /* ─── FROM PDF: PINA Brand Green (sampled: #42BA67) ─── */
  --green:        #37AA5A;    /* PINA logo, brand accent — used on dark bg */
  --green-dark:   #2D9943;    /* section markers, bullets (on white) */
  --green-deep:   #1B7030;    /* text on light bg */
  --green-bg:     #E6F5EC;
  --green-rule:   #8ED4A6;

  /* ─── Muted amber — donate CTA only ─── */
  --gold:         #9A6118;
  --gold2:        #AE7020;
  --gold-bg:      #FAF0E0;

  /* ─── Stat tints (from p8 stat boxes) ─── */
  --tint-blue:    #EBF2FB;
  --tint-amber:   #FBF3DC;
  --tint-purple:  #F4E8F8;
  --tint-red:     #FCEAEB;
  --tint-green:   #E6F5EC;

  /* ─── Shadows ─── */
  --shadow-xs:    0 1px 2px rgba(13,55,115,.05);
  --shadow-sm:    0 2px 8px rgba(13,55,115,.07);
  --shadow-md:    0 6px 24px rgba(13,55,115,.09);
  --shadow-lg:    0 16px 48px rgba(13,55,115,.11);

  /* ─── Layout ─── */
  --max-w:        1240px;
  --pad-x:        48px;
  --radius:       3px;
}

/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:'Source Sans 3',sans-serif;color:var(--ink2);background:var(--white);overflow-x:hidden;line-height:1.65;}
img{display:block;max-width:100%;}
a{color:inherit;}
button{font-family:inherit;cursor:pointer;}

/* ─── LAYOUT ─── */
.container        {max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x);}
.container-narrow {max-width:820px;margin:0 auto;padding:0 var(--pad-x);}
.section-pad      {padding:80px 0;}
.section-pad-sm   {padding:56px 0;}
.bg-white         {background:var(--white);}
.bg-warm          {background:var(--bg);}
.bg-warm2         {background:var(--bg2);}
.bg-navy          {background:var(--navy3);}

/* ─── TYPOGRAPHY ─── */
h1,h2,h3,h4{font-family:'Outfit',sans-serif;line-height:1.18;font-weight:700;color:var(--ink);}
.t-display{font-size:clamp(32px,4.2vw,54px);font-weight:800;letter-spacing:-.02em;line-height:1.05;}
.t-h1{font-size:clamp(26px,3.2vw,42px);font-weight:700;letter-spacing:-.016em;line-height:1.1;}
.t-h2{font-size:clamp(21px,2.5vw,32px);font-weight:700;letter-spacing:-.01em;line-height:1.16;}
.t-h3{font-size:clamp(16px,1.7vw,20px);font-weight:600;}

/* Eyebrow labels */
.eyebrow{font-family:'Source Sans 3',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:11px;}
.eyebrow.green {color:var(--green-dark);}
.eyebrow.white {color:rgba(255,255,255,.42);}
.eyebrow.muted {color:var(--ink4);}
.eyebrow.gold  {color:var(--gold);}

.lead{font-size:16px;line-height:1.84;color:var(--ink3);}

/* Section rule */
.sec-rule{width:30px;height:2px;background:var(--green-dark);margin:10px 0 18px;border-radius:1px;}
.sec-rule.center{margin-left:auto;margin-right:auto;}
.sec-rule.blue  {background:var(--blue);}
.sec-rule.white {background:rgba(255,255,255,.3);}
.sec-rule.gold  {background:var(--gold);}

/* Dividers */
.h-rule     {border:none;border-top:1px solid var(--rule);margin:28px 0;}
.h-rule-dark{border:none;border-top:1px solid rgba(255,255,255,.08);margin:24px 0;}

/* ─── SECTION LEFT-BAR (matches PDF marker style) ─── */
.section-marker{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;}
.section-marker::before{content:'';width:4px;height:22px;background:var(--green-dark);border-radius:1px;flex-shrink:0;}
.section-marker h3{font-family:'Outfit',sans-serif;font-size:18px;font-weight:700;color:var(--ink);margin:0;}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Source Sans 3',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;padding:11px 22px;border-radius:var(--radius);transition:all .2s;border:1.5px solid transparent;white-space:nowrap;}
.btn svg{width:13px;height:13px;flex-shrink:0;}
.btn-primary{background:var(--navy);color:var(--white);border-color:var(--navy);}
.btn-primary:hover{background:var(--navy2);box-shadow:var(--shadow-md);}
.btn-blue{background:var(--blue);color:var(--white);border-color:var(--blue);}
.btn-blue:hover{background:var(--blue2);}
.btn-green{background:var(--green-dark);color:var(--white);border-color:var(--green-dark);}
.btn-green:hover{background:var(--green-deep);}
.btn-gold{background:var(--gold);color:var(--white);border-color:var(--gold);}
.btn-gold:hover{background:var(--gold2);}
.btn-outline{background:transparent;color:var(--ink2);border-color:var(--rule2);}
.btn-outline:hover{border-color:var(--navy);color:var(--navy);}
.btn-outline-w{background:transparent;color:var(--white);border-color:rgba(255,255,255,.3);}
.btn-outline-w:hover{border-color:rgba(255,255,255,.65);}
.btn-sm{padding:8px 15px;font-size:11px;}
.btn-lg{padding:13px 28px;font-size:12.5px;}

/* ─── TOP BAR ─── */
.topbar{background:var(--navy3);padding:8px 0;}
.topbar-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x);display:flex;justify-content:space-between;align-items:center;}
.topbar-left{font-size:10.5px;color:rgba(255,255,255,.3);letter-spacing:.04em;}
.topbar-left span{color:rgba(255,255,255,.5);}
.topbar-right{display:flex;align-items:center;gap:16px;}
.topbar-right a{font-size:11px;font-weight:500;color:rgba(255,255,255,.32);text-decoration:none;letter-spacing:.04em;transition:color .2s;}
.topbar-right a:hover{color:rgba(255,255,255,.7);}
.topbar-donate{background:var(--gold)!important;color:var(--white)!important;font-weight:700!important;padding:4px 12px!important;border-radius:var(--radius)!important;font-size:11px!important;letter-spacing:.05em!important;}

/* ─── NAV ─── */
.main-nav{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);}
.nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x);display:flex;align-items:center;justify-content:space-between;height:58px;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.logo-mark{font-family:'Outfit',sans-serif;font-size:16px;font-weight:800;letter-spacing:.02em;color:var(--white);background:var(--navy);padding:5px 10px;border-radius:var(--radius);line-height:1;}
.logo-sep{width:1px;height:20px;background:var(--rule2);}
.logo-text{font-family:'Source Sans 3',sans-serif;font-size:10.5px;font-weight:400;color:var(--ink4);line-height:1.4;letter-spacing:.01em;}
.nav-links{display:flex;align-items:center;gap:0;list-style:none;}
.nav-links a{font-family:'Source Sans 3',sans-serif;font-size:13px;font-weight:500;color:var(--ink3);text-decoration:none;padding:5px 10px;border-radius:var(--radius);letter-spacing:.01em;transition:all .18s;display:block;}
.nav-links a:hover{color:var(--ink);background:var(--bg);}
.nav-links a.active{color:var(--navy);font-weight:700;}
.nav-links .nav-cta{background:var(--navy)!important;color:var(--white)!important;font-weight:700!important;margin-left:8px;padding:6px 14px!important;}
.nav-links .nav-cta:hover{background:var(--navy2)!important;}
.nav-hamburger{display:none;background:none;border:none;color:var(--ink2);font-size:20px;padding:4px;}
.nav-mobile{display:none;flex-direction:column;background:var(--white);border-top:1px solid var(--rule);}
.nav-mobile.open{display:flex;}
.nav-mobile a{padding:12px 24px;font-size:14px;color:var(--ink2);text-decoration:none;border-bottom:1px solid var(--rule);transition:all .18s;}
.nav-mobile a:hover{background:var(--bg);}
.nav-mobile .nav-cta{color:var(--navy)!important;font-weight:700;}

/* ─── BAND ─── */
.band{background:var(--bg2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:9px 0;}
.band-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x);display:flex;align-items:center;gap:11px;}
.band-tag{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--navy);color:var(--white);padding:3px 8px;border-radius:var(--radius);}
.band-title{font-size:10.5px;color:var(--ink4);letter-spacing:.08em;text-transform:uppercase;font-family:'Source Sans 3',sans-serif;}

/* ─── PAGE HERO ─── */
.page-hero{background:var(--navy3);padding:72px 0 64px;position:relative;overflow:hidden;}
.page-hero-bg{position:absolute;inset:0;background:linear-gradient(145deg,#091F4A 0%,#0D3773 60%,#091F4A 100%);}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:60px 60px;}
.page-hero-inner{position:relative;z-index:2;max-width:660px;margin:0 auto;padding:0 var(--pad-x);}
.page-hero-eyebrow{font-family:'Source Sans 3',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.36);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.page-hero-eyebrow::before{content:'';width:16px;height:1px;background:rgba(255,255,255,.22);display:inline-block;}
.page-hero h1{font-family:'Outfit',sans-serif;font-size:clamp(26px,3.5vw,46px);font-weight:700;color:var(--white);line-height:1.1;letter-spacing:-.012em;margin-bottom:16px;}
.page-hero-rule{width:28px;height:2px;background:var(--green);margin-bottom:16px;}
.page-hero-desc{font-size:15px;line-height:1.82;color:rgba(255,255,255,.44);max-width:520px;}

/* ─── SECTION HEADER BOX (matches PDF blue-gradient box style) ─── */
.section-box{background:linear-gradient(130deg,var(--navy) 0%,var(--blue) 100%);border-radius:var(--radius);padding:22px 28px;margin-bottom:32px;}
.section-box .sb-label{font-family:'Source Sans 3',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:8px;display:block;}
.section-box h2{font-family:'Outfit',sans-serif;font-size:clamp(18px,2.2vw,26px);font-weight:700;color:var(--white);line-height:1.2;}
.section-box h2 span{color:var(--green);}

/* ─── CARDS ─── */
.card{background:var(--white);border:1px solid var(--rule);overflow:hidden;border-radius:var(--radius);transition:box-shadow .25s,transform .22s;}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}
.card-img{height:195px;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:saturate(.85) brightness(.95);}
.card:hover .card-img img{transform:scale(1.04);}
.card-body{padding:20px;border-top:1px solid var(--rule);}
.card-tag{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:7px;display:block;}
.card-body h3{font-family:'Outfit',sans-serif;font-size:17px;font-weight:700;color:var(--ink);margin-bottom:7px;line-height:1.25;}
.card-body p{font-size:13.5px;line-height:1.72;color:var(--ink3);}

/* ─── STAT CARD — light (matches proposal page 8 tinted cards) ─── */
.stat-card{background:var(--white);border:1px solid var(--rule);padding:24px 20px;border-radius:var(--radius);border-top:2px solid var(--navy);}
.stat-card.blue   {border-top-color:var(--blue);background:var(--tint-blue);}
.stat-card.amber  {border-top-color:#C07A18;background:var(--tint-amber);}
.stat-card.purple {border-top-color:#8B52B4;background:var(--tint-purple);}
.stat-card.green  {border-top-color:var(--green-dark);background:var(--tint-green);}
.stat-card.red    {border-top-color:#C0334A;background:var(--tint-red);}
.stat-card .num{font-family:'Outfit',sans-serif;font-size:34px;font-weight:800;color:var(--navy);line-height:1;margin-bottom:4px;}
.stat-card.blue   .num{color:var(--blue);}
.stat-card.amber  .num{color:#9A6118;}
.stat-card.purple .num{color:#7840A0;}
.stat-card.green  .num{color:var(--green-deep);}
.stat-card.red    .num{color:#A82840;}
.stat-card .lbl{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink4);margin-bottom:6px;display:block;}
.stat-card p{font-size:12.5px;color:var(--ink3);line-height:1.6;}

/* ─── DARK STAT (dark section stats) ─── */
.dark-stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);padding:36px 22px;text-align:center;border-top:2px solid var(--green);}
.dark-stat .num{font-family:'Outfit',sans-serif;font-size:52px;font-weight:800;color:var(--white);line-height:1;margin-bottom:8px;}
.dark-stat .num sub{font-size:26px;vertical-align:baseline;}
.dark-stat .lbl{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.52);margin-bottom:6px;display:block;}
.dark-stat .note{font-size:11.5px;color:rgba(255,255,255,.26);line-height:1.6;}

/* ─── PULL QUOTE / BLOCK QUOTE (matches PDF italic quote box) ─── */
.pull-quote{background:var(--bg);border-left:3px solid var(--blue-mid);border-radius:0 var(--radius) var(--radius) 0;padding:16px 20px;margin:20px 0;}
.pull-quote p{font-family:'Outfit',sans-serif;font-size:15.5px;font-style:italic;font-weight:500;color:var(--ink3);line-height:1.7;}
.dark-quote{background:rgba(255,255,255,.05);border-left:3px solid var(--green);border-radius:0 var(--radius) var(--radius) 0;padding:18px 22px;}
.dark-quote p{font-family:'Outfit',sans-serif;font-size:16.5px;font-style:italic;font-weight:500;color:rgba(255,255,255,.75);line-height:1.6;margin-bottom:10px;}
.dark-quote cite{font-size:11.5px;color:rgba(255,255,255,.36);font-style:normal;letter-spacing:.04em;}

/* ─── CHALLENGE / CALLOUT ITEM ─── */
.challenge-item{background:var(--bg);border:1px solid var(--rule);border-left:3px solid var(--blue);padding:18px;border-radius:0 var(--radius) var(--radius) 0;}
.challenge-item h4{font-family:'Source Sans 3',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);margin-bottom:5px;}
.challenge-item p{font-size:13.5px;line-height:1.7;color:var(--ink3);}

/* ─── NUMBERED LIST (matches PDF numbered items style) ─── */
.numbered-item{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--rule);}
.numbered-item:last-child{border-bottom:none;}
.num-badge{width:32px;height:32px;background:var(--navy);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-size:14px;font-weight:800;flex-shrink:0;}
.numbered-item h4{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;}
.numbered-item p{font-size:13.5px;line-height:1.72;color:var(--ink3);}

/* ─── PILLAR ─── */
.pillar{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--rule);}
.pillar:last-child{border-bottom:none;}
.pillar-num{font-family:'Outfit',sans-serif;font-size:26px;font-weight:300;color:var(--rule2);line-height:1;flex-shrink:0;width:36px;}
.pillar h3{font-family:'Source Sans 3',sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin-bottom:5px;}
.pillar p{font-size:13.5px;line-height:1.72;color:var(--ink3);}

/* ─── APPROACH STEP (dark bg) ─── */
.approach-step{padding:30px 26px;border-bottom:1px solid rgba(255,255,255,.07);transition:background .22s;}
.approach-step:last-child{border-bottom:none;}
.approach-step:hover{background:rgba(255,255,255,.04);}
.step-num{font-family:'Source Sans 3',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:10px;display:block;}
.approach-step h3{font-family:'Outfit',sans-serif;font-size:17px;font-weight:700;color:var(--white);margin-bottom:8px;}
.approach-step p{font-size:13.5px;color:rgba(255,255,255,.42);line-height:1.75;}

/* ─── TIMELINE ─── */
.timeline{position:relative;padding-left:24px;}
.timeline::before{content:'';position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--rule2);}
.timeline-item{position:relative;padding-bottom:26px;}
.timeline-item::before{content:'';position:absolute;left:-20px;top:7px;width:11px;height:11px;border-radius:50%;background:var(--white);border:2px solid var(--rule2);}
.timeline-item.done::before  {background:var(--green-dark);border-color:var(--green-dark);}
.timeline-item.active::before{background:var(--gold);border-color:var(--gold);}
.timeline-phase{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:4px;display:block;}
.timeline-item h4{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:5px;}
.timeline-item p{font-size:13px;line-height:1.7;color:var(--ink3);}

/* ─── GALLERY ─── */
.gallery-masonry{columns:4;column-gap:4px;}
.gallery-masonry-item{break-inside:avoid;margin-bottom:4px;position:relative;overflow:hidden;cursor:pointer;border-radius:var(--radius);}
.gallery-masonry-item img{width:100%;display:block;filter:brightness(.92) saturate(.82);transition:transform .45s,filter .3s;}
.gallery-masonry-item:hover img{transform:scale(1.04);filter:brightness(.58) saturate(.7);}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(9,31,74,.9));display:flex;align-items:flex-end;padding:12px;opacity:0;transition:opacity .28s;}
.gallery-masonry-item:hover .gallery-overlay{opacity:1;}
.gallery-cap{font-size:11px;color:rgba(255,255,255,.72);letter-spacing:.03em;}
.lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(7,14,30,.97);align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lightbox-img{max-width:88vw;max-height:86vh;border-radius:var(--radius);}
.lightbox-close{position:fixed;top:22px;right:28px;font-size:28px;color:rgba(255,255,255,.45);cursor:pointer;transition:color .2s;}
.lightbox-close:hover{color:var(--white);}
.lightbox-prev,.lightbox-next{position:fixed;top:50%;transform:translateY(-50%);font-size:40px;color:rgba(255,255,255,.3);cursor:pointer;transition:color .2s;padding:16px;user-select:none;}
.lightbox-prev{left:8px;}.lightbox-next{right:8px;}
.lightbox-prev:hover,.lightbox-next:hover{color:var(--white);}

/* ─── FORM DARK ─── */
.form-group{margin-bottom:14px;}
.form-group label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:6px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);padding:10px 13px;font-family:'Source Sans 3',sans-serif;font-size:13.5px;color:var(--white);outline:none;transition:border-color .2s;-webkit-appearance:none;}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.24);}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green);}
.form-group select option{background:var(--navy2);}

/* ─── FORM LIGHT ─── */
.fg{margin-bottom:14px;}
.fg label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink4);margin-bottom:6px;}
.fg input,.fg select,.fg textarea{width:100%;background:var(--bg);border:1px solid var(--rule2);border-radius:var(--radius);padding:10px 13px;font-family:'Source Sans 3',sans-serif;font-size:13.5px;color:var(--ink);outline:none;transition:border-color .2s,background .2s;-webkit-appearance:none;}
.fg input::placeholder,.fg textarea::placeholder{color:var(--ink4);}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--green-dark);background:var(--white);}
.fg select option{background:var(--white);}

/* ─── FOOTER ─── */
footer{background:var(--navy3);padding:56px 0 0;border-top:3px solid var(--navy-mid);}
.footer-grid{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;padding-bottom:44px;}
.footer-mark{display:inline-block;font-family:'Outfit',sans-serif;font-size:18px;font-weight:800;letter-spacing:.03em;color:var(--green);margin-bottom:5px;}
.footer-div{display:block;width:1px;height:20px;background:rgba(255,255,255,.15);margin:0 10px;}
.footer-name{display:block;font-family:'Outfit',sans-serif;font-size:12px;font-weight:400;color:rgba(255,255,255,.38);line-height:1.45;margin-bottom:10px;}
.footer-desc{font-size:12.5px;color:rgba(255,255,255,.22);line-height:1.8;max-width:268px;}
.footer-col h4{font-family:'Source Sans 3',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.26);margin-bottom:13px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.footer-col a{font-size:13px;color:rgba(255,255,255,.32);text-decoration:none;transition:color .2s;}
.footer-col a:hover{color:rgba(255,255,255,.7);}
.footer-bottom{max-width:var(--max-w);margin:0 auto;padding:15px var(--pad-x);border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;align-items:center;}
.footer-copy{font-size:11.5px;color:rgba(255,255,255,.2);}
.footer-legal{display:flex;gap:16px;}
.footer-legal a{font-size:11.5px;color:rgba(255,255,255,.2);text-decoration:none;}
.footer-legal a:hover{color:rgba(255,255,255,.5);}

/* ─── PARTNER TAGS ─── */
.partner-tag{font-size:11px;font-weight:600;letter-spacing:.05em;color:rgba(255,255,255,.25);padding:5px 12px;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);display:inline-block;transition:all .2s;}
.partner-tag:hover{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.55);}

/* ─── SCROLL REVEAL ─── */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease;}
.reveal.revealed{opacity:1;transform:none;}

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--rule2);border-radius:2px;}

/* ─── GRID HELPERS ─── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){:root{--pad-x:32px;}.gallery-masonry{columns:3;}}
@media(max-width:900px){.nav-links{display:none;}.nav-hamburger{display:block;}.footer-grid{grid-template-columns:1fr 1fr;}.grid-2{grid-template-columns:1fr;gap:36px;}.grid-3{grid-template-columns:1fr 1fr;}.grid-4{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){:root{--pad-x:20px;}.gallery-masonry{columns:2;}.footer-grid{grid-template-columns:1fr;}.footer-bottom{flex-direction:column;gap:10px;text-align:center;}.topbar{display:none;}.grid-3,.grid-4{grid-template-columns:1fr;}}
