/* =========================================================
     DESIGN TOKENS — matched from the Canva design
     Edit these to retune the whole site's look in one place.
  ========================================================= */
  :root{
    --maroon:        #621708;   /* Wine Red */
    --maroon-dark:   #470f05;
    --navy:          #0c3254;   /* Dark Navy/Blue */
    --navy-light:    #164272;
    --cream:         #e7d7c0;   /* Tan */
    --cream-dark:    #d5bf9d;
    --ivory:         #ffffff;   /* White */
    --white:         #ffffff;
    --gold:          #c89243;   /* Brand gold */
    --gold-light:    #ddb46e;

    --font-script:   'Birthstone Bounce', cursive;
    --font-display:  'League Spartan', sans-serif;
    --font-body:     'Source Sans 3', sans-serif;

    --max-width: 1180px;

    /* Fabric textures (embedded so the file stays self-contained) */
    --tan-texture:  url("../assets/images/tan-texture.jpg");
    --blue-texture: url("../assets/images/blue-texture.jpg");
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; overflow-x:hidden; }
  body{
    margin:0;
    font-family:var(--font-body);
    font-size:18px;
    color:var(--navy);
    background:var(--cream);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  .wrap{
    max-width:var(--max-width);
    margin:0 auto;
    padding:0 32px;
  }
  h1,h2,h3{ margin:0; font-family:var(--font-display); }
  p{ margin:0 0 14px; }
  section{ position:relative; overflow:hidden; }

  .script{
    font-family:var(--font-script);
    font-weight:400;
    line-height:1;
  }

  /* =========================================================
     NAV
  ========================================================= */
  .site-header{
    background-color:var(--maroon);
    background-image:linear-gradient(rgba(98,23,8,.85),rgba(98,23,8,.85)),var(--tan-texture);
    background-repeat:repeat;
    background-size:640px auto;
    border-bottom:1px solid rgba(255,255,255,.15);
  }
  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    gap:18px;
    padding-top:22px;
    padding-bottom:22px;
  }
  .nav-links{
    display:flex;
    flex-wrap:nowrap;
    gap:16px;
    list-style:none;
    margin:0;
    padding:0;
    flex:1 1 auto;
    min-width:0;
  }
  .nav-links a{
    color:var(--ivory);
    font-family:var(--font-display);
    font-weight:600;
    font-size:clamp(12px, 1.15vw, 18px);
    letter-spacing:.05em;
    text-transform:uppercase;
    text-decoration:underline;
    text-underline-offset:5px;
    text-decoration-color:rgba(255,255,255,.55);
    white-space:nowrap;
  }
  .nav-links a:hover{ text-decoration-color:var(--gold-light); }
  .nav-toggle-checkbox{ display:none; }
  .nav-toggle-btn{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:30px;
    height:24px;
    cursor:pointer;
    flex-shrink:0;
  }
  .nav-toggle-btn span{
    display:block;
    width:100%;
    height:3px;
    background:var(--ivory);
    border-radius:2px;
  }
  .brand{
    color:var(--ivory);
    font-family:var(--font-display);
    font-weight:800;
    font-size:clamp(18px, 2vw, 30px);
    line-height:1.25;
    text-align:right;
    text-transform:uppercase;
    letter-spacing:.02em;
    flex-shrink:0;
    white-space:nowrap;
  }

  /* =========================================================
     HERO
  ========================================================= */
  .hero{
    background-color:var(--maroon);
    background-image:linear-gradient(rgba(98,23,8,.85),rgba(98,23,8,.85)),var(--tan-texture);
    background-repeat:repeat;
    background-size:640px auto;
    color:var(--ivory);
    padding:36px 0 70px;
    text-align:center;
  }
  .hero-word{
    font-size:clamp(70px,13vw,170px);
    color:var(--navy-light);
    display:block;
    position:relative;
    z-index:1;
  }
  .hero h1{
    font-size:clamp(40px,7.5vw,76px);
    font-weight:800;
    letter-spacing:.08em;
    color:var(--ivory);
    margin-top:clamp(-70px,-5vw,-24px);
    position:relative;
    z-index:0;
  }
  .hero-collage{
    position:relative;
    max-width:1180px;
    margin:46px auto 80px;
    aspect-ratio:681/330;
    transform:scale(1.14);
    transform-origin:center top;
  }
  .hero-collage::before,
  .hero-collage::after{
    content:"";
    position:absolute;
    left:-50vw;
    right:-50vw;
    height:5px;
    background:rgba(255,255,255,.75);
    z-index:0;
  }
  .hero-collage::before{ top:19.7%; }
  .hero-collage::after{ top:74.2%; }
  .hero-collage img{
    position:absolute;
    border:16px solid var(--ivory);
    box-shadow:0 8px 18px rgba(0,0,0,.35);
    object-fit:cover;
    z-index:1;
  }
  .hero-collage .ph1{ left:10.3%; top:4.5%; width:24.2%; height:37.9%; }
  .hero-collage .ph5{ left:65.5%; top:4.5%; width:24.2%; height:37.9%; }
  .hero-collage .ph2{ left:22.8%; top:42.4%; width:25.7%; height:39.4%; }
  .hero-collage .ph4{ left:51.5%; top:42.4%; width:25.7%; height:39.4%; }
  .hero-collage .ph3{ left:0%;   top:56.1%; width:27.2%; height:40.9%; }
  .hero-collage .ph6{ left:72.8%; top:56.1%; width:27.2%; height:40.9%; }
  .hero-collage .hero-seal{
    position:absolute;
    left:50%;
    top:0%;
    transform:translate(-50%,-25%);
    width:22.5%;
    height:auto;
    display:block;
    border:none;
    box-shadow:none;
    z-index:2;
    filter:drop-shadow(0 6px 10px rgba(0,0,0,.4));
  }
  .hero-tagline{
    font-family:var(--font-script);
    font-size:clamp(32px,6vw,64px);
    color:var(--ivory);
    margin-top:8px;
    white-space:normal;
  }

  /* =========================================================
     SHARED "We ___" SECTION HEADLINE STYLE
  ========================================================= */
  .lead-headline{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:14px;
    margin-bottom:8px;
  }
  .lead-headline .script{
    font-size:clamp(60px,9vw,130px);
    color:var(--maroon);
  }
  .lead-headline.on-navy .script{ color:var(--ivory); }
  .lead-headline h2{
    font-size:clamp(28px,4.5vw,52px);
    font-weight:800;
    color:var(--navy);
  }
  .lead-headline.on-navy h2{ color:var(--ivory); }
  .lead-headline.on-maroon h2{ color:var(--ivory); }

  /* =========================================================
     WHO ARE WE
  ========================================================= */
  .about{
    background-color:var(--cream-dark);
    background-image:linear-gradient(rgba(213,191,157,.55),rgba(213,191,157,.55)),var(--tan-texture);
    background-repeat:repeat;
    background-size:640px auto;
    padding:70px 0 70px;
  }
  .about-grid{
    position:relative;
    display:grid;
    grid-template-columns:400px 1fr 64px;
    gap:0;
    align-items:start;
  }
  .about-frame{
    position:absolute;
    top:0;
    left:200px;
    right:32px;
    bottom:16px;
    border:2px solid var(--maroon);
  }
  .about-photos{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:34px;
    padding-top:10px;
    margin-right:110px;
    z-index:1;
  }
  .about-photos img{
    border:16px solid var(--ivory);
    box-shadow:0 8px 16px rgba(0,0,0,.22);
    object-fit:cover;
    aspect-ratio:5/4;
  }
  .about-photos img:nth-child(1){ transform:rotate(-5deg); }
  .about-photos img:nth-child(2){ transform:rotate(4deg); margin-left:34px; }
  .about-photos img:nth-child(3){ transform:rotate(-3deg); }

  .about-card{
    background:var(--white);
    border:none;
    padding:38px 40px 42px;
    margin-top:-24px;
    position:relative;
    z-index:1;
    overflow:visible;
  }
  .about-card p{
    font-weight:600;
    color:var(--navy);
  }
  .about-card .seal-mini{
    width:170px;
    position:absolute;
    right:-100px;
    bottom:-60px;
  }
  .side-tab{
    background-color:var(--navy);
    background-image:linear-gradient(rgba(12,50,84,.8),rgba(12,50,84,.8)),var(--blue-texture);
    background-repeat:repeat;
    background-size:640px auto;
    color:var(--ivory);
    font-family:var(--font-display);
    font-weight:700;
    letter-spacing:0;
    font-size:clamp(20px,2.3vw,30px);
    line-height:1.25;
    text-align:center;
    white-space:pre-line;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px 6px;
    align-self:start;
    margin-top:60px;
  }

  /* =========================================================
     OUR WHY (navy card + never forget)
  ========================================================= */
  .why{
    background-color:var(--maroon);
    background-image:linear-gradient(rgba(98,23,8,.85),rgba(98,23,8,.85)),var(--tan-texture);
    background-repeat:repeat;
    background-size:640px auto;
    padding:0 0 0;
  }
  .why-banner{
    background-color:#8a8a8a;
    background-image:url("../assets/images/Military-soldier.jpg");
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
    height:clamp(220px,28vw,340px);
  }
  .why-heading-image{
    position:relative;
    z-index:2;
    margin-top:-11.6%;
  }
  .why-heading-image img{
    display:block;
    width:100%;
    height:auto;
  }
  .why-top{
    position:relative;
    padding-top:60px;
    padding-bottom:150px;
  }
  .why-frame{
    position:absolute;
    top:113px;
    left:16px;
    right:80px;
    bottom:300px;
    border:2px solid rgba(255,255,255,.6);
  }
  .why-body{
    position:relative;
    background-color:var(--navy);
    background-image:linear-gradient(rgba(12,50,84,.8),rgba(12,50,84,.8)),var(--blue-texture);
    background-repeat:repeat;
    background-size:640px auto;
    color:var(--ivory);
    padding:44px 48px;
    max-width:960px;
  }
  .why-body h3:first-of-type{
    margin-top:170px;
  }
  .why-body h3{
    font-size:clamp(25px,2.7vw,32px);
    font-weight:700;
    margin-bottom:6px;
  }
  .why-body p{
    color:var(--cream);
    font-weight:600;
    font-size:clamp(19px,2vw,24px);
    line-height:1.6;
    margin-bottom:26px;
  }
  .why-body p:last-child{ margin-bottom:0; }
  .founder-tape-wrap{
    position:absolute;
    top:-56px;
    left:0;
    width:231px;
    transform:rotate(-6deg);
    z-index:3;
  }
  .founder-tape-wrap::before{
    content:"";
    position:absolute;
    top:-22px;
    left:50%;
    transform:translateX(-50%) rotate(-4deg);
    width:110px;
    height:38px;
    background:linear-gradient(100deg, rgba(233,220,195,.92) 0%, rgba(233,220,195,.88) 38%, rgba(219,203,172,.8) 50%, rgba(233,220,195,.88) 62%, rgba(233,220,195,.92) 100%);
    clip-path:polygon(0% 20%, 6% 8%, 3% 0%, 97% 0%, 94% 9%, 100% 22%, 100% 80%, 94% 92%, 97% 100%, 3% 100%, 6% 91%, 0% 78%);
    box-shadow:0 3px 6px rgba(0,0,0,.28);
    z-index:2;
  }
  .founder-tape{
    display:block;
    position:relative;
    width:100%;
    border:8px solid var(--ivory);
    box-shadow:0 8px 16px rgba(0,0,0,.35);
    object-fit:cover;
    aspect-ratio:16/15;
    z-index:1;
  }
  .why-photo-wrap{
    position:absolute;
    left:calc(100% - 10px);
    bottom:-10px;
    width:320px;
    transform:rotate(-15deg);
    z-index:3;
  }
  .why-photo-wrap::before{
    content:"";
    position:absolute;
    top:-20px;
    left:50%;
    transform:translateX(-50%) rotate(-3deg);
    width:120px;
    height:40px;
    background:linear-gradient(100deg, rgba(233,220,195,.92) 0%, rgba(233,220,195,.88) 38%, rgba(219,203,172,.8) 50%, rgba(233,220,195,.88) 62%, rgba(233,220,195,.92) 100%);
    clip-path:polygon(0% 20%, 6% 8%, 3% 0%, 97% 0%, 94% 9%, 100% 22%, 100% 80%, 94% 92%, 97% 100%, 3% 100%, 6% 91%, 0% 78%);
    box-shadow:0 3px 6px rgba(0,0,0,.28);
    z-index:2;
  }
  .why-photo{
    display:block;
    position:relative;
    width:100%;
    border:8px solid var(--ivory);
    box-shadow:0 8px 16px rgba(0,0,0,.35);
    object-fit:cover;
    aspect-ratio:4/3;
    z-index:1;
  }
  .why-seal{
    position:absolute;
    left:0;
    bottom:-140px;
    width:170px;
  }

  .never-forget{
    display:grid;
    grid-template-columns:1fr 1fr;
    position:relative;
  }
  .nf-title{
    position:absolute;
    top:24px;
    left:0;
    right:0;
    width:100%;
    text-align:center;
    z-index:5;
    font-family:var(--font-script);
    font-weight:500;
    line-height:1;
    font-size:clamp(60px,10.5vw,150px);
    white-space:nowrap;
    margin:0;
  }
  .nf-navy{
    background-color:var(--navy);
    background-image:linear-gradient(rgba(12,50,84,.8),rgba(12,50,84,.8)),var(--blue-texture);
    background-repeat:repeat;
    background-size:640px auto;
    color:var(--ivory);
    padding:250px 44px 56px;
    position:relative;
  }
  .nf-title .nf-we{ color:var(--cream); font-size:clamp(105px,18.4vw,262px); }
  .nf-title .nf-never{ color:var(--maroon-dark); }
  .nf-navy p{
    text-align:center;
    font-weight:800;
    font-size:clamp(22px,2.4vw,28px);
    margin-top:18px;
  }
  .nf-navy .poppy-note{
    font-weight:700;
    font-size:19px;
    color:var(--cream-dark);
    margin-top:22px;
  }
  .nf-poppy{
	position: absolute;
	right: -30px;
	bottom: 0;
	width: 140px;
  }
  .nf-cream{
    background-color:var(--cream);
    background-image:linear-gradient(rgba(231,215,192,.55),rgba(231,215,192,.55)),var(--tan-texture);
    background-repeat:repeat;
    background-size:640px auto;
    padding:250px 44px 56px;
  }
  .nf-cream h2.script{
    color:var(--maroon);
    font-size:clamp(50px,7vw,96px);
  }
  .nf-cream img{
    border:1px solid var(--maroon);
    margin-bottom:22px;
    aspect-ratio:16/9;
    object-fit:cover;
  }
  .nf-cream p{
    color:var(--maroon);
    font-weight:700;
  }

  /* =========================================================
     WHAT WE DO — services
  ========================================================= */
  .services{
    background-color:var(--maroon);
    background-image:linear-gradient(rgba(98,23,8,.85),rgba(98,23,8,.85)),var(--tan-texture);
    background-repeat:repeat;
    background-size:640px auto;
    color:var(--ivory);
    padding:80px 0 60px;
  }
  .services h2{
    font-size:clamp(44px,9vw,92px);
    font-weight:800;
    color:var(--cream);
    margin-bottom:44px;
  }
  .services-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:34px 60px;
  }
  .service h3{
    font-family:var(--font-display);
    font-weight:500;
    font-size:32px;
    text-transform:uppercase;
    letter-spacing:.01em;
    color:var(--cream);
    margin-bottom:12px;
  }
  .service .pill{
    display:inline-block;
    background:var(--ivory);
    color:var(--navy);
    font-weight:600;
    font-size:19px;
    padding:8px 18px;
    border-radius:22px;
  }
  .services-photos{
    display:flex;
    gap:40px;
    margin-top:56px;
  }
  .services-photo-wrap{
    position:relative;
    flex:1;
    z-index:1;
  }
  .services-photo-wrap::before{
    content:"";
    position:absolute;
    top:-14px;
    left:50%;
    transform:translateX(-50%) rotate(-4deg);
    width:90px;
    height:32px;
    background:linear-gradient(100deg, rgba(233,220,195,.92) 0%, rgba(233,220,195,.88) 38%, rgba(219,203,172,.8) 50%, rgba(233,220,195,.88) 62%, rgba(233,220,195,.92) 100%);
    clip-path:polygon(0% 20%, 6% 8%, 3% 0%, 97% 0%, 94% 9%, 100% 22%, 100% 80%, 94% 92%, 97% 100%, 3% 100%, 6% 91%, 0% 78%);
    box-shadow:0 3px 6px rgba(0,0,0,.28);
    z-index:2;
  }
  .services-photo-wrap img{
    display:block;
    position:relative;
    width:100%;
    border:7px solid var(--ivory);
    box-shadow:0 8px 16px rgba(0,0,0,.3);
    object-fit:cover;
    aspect-ratio:4/3;
    z-index:1;
  }
  .sp1{ transform:rotate(-4deg); }
  .sp2{ transform:rotate(3deg); }
  .sp3{ transform:rotate(-3deg); }

  /* =========================================================
     FOUNDER
  ========================================================= */
  .founder{
    background-color:var(--cream);
    background-image:linear-gradient(rgba(231,215,192,.55),rgba(231,215,192,.55)),var(--tan-texture);
    background-repeat:repeat;
    background-size:640px auto;
    padding:76px 0;
  }
  .founder-headline{
    display:block;
    margin-bottom:36px;
    overflow:hidden;
  }
  .founder-headline .script{
    float:left;
    color:var(--maroon);
    font-weight:500;
    font-size:clamp(100px,15vw,220px);
    line-height:1;
    margin-right:12px;
  }
  .founder-headline h2{
    display:block;
    color:var(--navy);
    font-size:clamp(42px,6.8vw,80px);
    font-weight:900;
    text-align:right;
  }
  .founder-grid{
    display:block;
  }
  .founder-text p{
    color:var(--maroon);
    font-weight:600;
    font-size:21px;
    line-height:1.6;
    margin-bottom:24px;
  }
  .founder-text p:last-of-type{
    clear:both;
  }
  .founder-photo-block{
    float:right;
    width:46%;
    max-width:460px;
    margin:0 0 24px 34px;
  }
  .founder-event-tape{
    position:relative;
    width:100%;
  }
  .founder-event-tape img.tape{
    display:block;
    width:100%;
    border:8px solid var(--ivory);
    box-shadow:0 10px 20px rgba(0,0,0,.25);
    transform:rotate(3deg);
    object-fit:cover;
    aspect-ratio:4/3;
    position:relative;
    z-index:1;
  }
  .founder-event-tape::before{
    content:"";
    position:absolute;
    top:-16px;
    left:50%;
    transform:translateX(-50%) rotate(-4deg);
    width:150px;
    height:50px;
    background:linear-gradient(100deg, rgba(233,220,195,.92) 0%, rgba(233,220,195,.88) 38%, rgba(219,203,172,.8) 50%, rgba(233,220,195,.88) 62%, rgba(233,220,195,.92) 100%);
    clip-path:polygon(0% 20%, 6% 8%, 3% 0%, 97% 0%, 94% 9%, 100% 22%, 100% 80%, 94% 92%, 97% 100%, 3% 100%, 6% 91%, 0% 78%);
    box-shadow:0 3px 6px rgba(0,0,0,.28);
    z-index:2;
  }
  .founder-avatar{
    float:left;
    width:190px;
    height:190px;
    margin:6px 24px 12px 0;
    border-radius:50%;
    border:6px solid var(--maroon);
    object-fit:cover;
  }

  /* =========================================================
     GALLERY / STORIES
  ========================================================= */
  .stories{
    background-color:var(--maroon);
    background-image:linear-gradient(rgba(98,23,8,.85),rgba(98,23,8,.85)),var(--tan-texture);
    background-repeat:repeat;
    background-size:640px auto;
    padding:76px 0 60px;
    text-align:left;
  }
  .stories-headline{
    display:block;
    text-align:center;
    margin-bottom:34px;
  }
  .stories-headline .script{
    display:block;
    color:var(--cream);
    font-size:clamp(108px,16vw,220px);
  }
  .stories-headline h2{
    display:block;
    color:var(--ivory);
    font-size:clamp(28px,6.2vw,58px);
    font-weight:800;
    white-space:nowrap;
  }
  .stories-collage{
    display:flex;
    gap:16px;
    margin-bottom:56px;
    width:100vw;
    position:relative;
    left:50%;
    margin-left:-50vw;
    padding:0 24px;
    box-sizing:border-box;
  }
  .stories-collage img{
    flex:1;
    min-width:0;
    border:8px solid var(--ivory);
    box-shadow:0 10px 20px rgba(0,0,0,.35);
    object-fit:cover;
    aspect-ratio:4/3;
  }
  .stories-collage img:nth-child(1){ transform:rotate(-4deg); }
  .stories-collage img:nth-child(2){ transform:rotate(3deg); margin-top:26px;}
  .stories-collage img:nth-child(3){ transform:rotate(-3deg); }
  .stories-collage img:nth-child(4){ transform:rotate(4deg); margin-top:18px;}

  .photo-wall{
    background-color:var(--navy);
    background-image:linear-gradient(rgba(12,50,84,.86),rgba(12,50,84,.86)),var(--blue-texture);
    background-repeat:repeat;
    background-size:640px auto;
    padding:20px;
    column-count:4;
    column-gap:14px;
  }
  .photo-wall img{
    display:block;
    width:100%;
    margin-bottom:14px;
    border:4px solid var(--cream);
    box-shadow:0 8px 16px rgba(0,0,0,.35);
    break-inside:avoid;
  }

  @media (max-width:900px){
    .photo-wall{ column-count:3; }
  }
  @media (max-width:600px){
    .photo-wall{ column-count:2; padding:12px; column-gap:10px; }
    .photo-wall img{ margin-bottom:10px; }
  }

  /* =========================================================
     SUPPORT OUR WORK
  ========================================================= */
  .support{
    background-color:var(--ivory);
    background-image:none;
    padding:130px 0 76px;
  }
  .support-headline{
    text-align:center;
    margin-bottom:56px;
  }
  .support-headline .support-bold{
    color:var(--maroon);
    font-family:var(--font-display);
    font-weight:900;
    font-size:clamp(34px,5.6vw,64px);
    text-transform:capitalize;
  }
  .support-headline .script{
    color:var(--navy);
    font-size:clamp(46px,7.4vw,86px);
    margin-left:10px;
  }
  .support-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:60px;
    align-items:start;
  }
  .support-text h3{
    color:var(--navy);
    font-size:clamp(19px,2vw,23px);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.01em;
    margin-bottom:14px;
  }
  .support-text > p{
    color:var(--maroon);
    font-weight:700;
    font-size:18px;
    line-height:1.65;
    margin-bottom:20px;
  }
  .support-action{
    display:flex;
    gap:20px;
    align-items:flex-start;
    margin-top:30px;
  }
  .support-icon{
    flex-shrink:0;
    width:52px;
    height:52px;
  }
  .support-icon svg{ width:100%; height:100%; }
  .support-action h4{
    color:var(--navy);
    font-family:var(--font-display);
    font-weight:800;
    font-size:19px;
    text-transform:uppercase;
    margin:0 0 4px;
  }
  .support-action p{
    color:var(--maroon);
    font-weight:600;
    font-size:16px;
    line-height:1.55;
    margin:0;
  }
  .support-pay{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:36px;
    padding-top:8px;
  }
  .pay-badge{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
  }
  .pay-icon{
    width:64px;
    height:64px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--font-display);
    font-weight:800;
    font-size:26px;
  }
  .pay-icon-navy{
    background:var(--navy);
    color:var(--ivory);
    border:2px solid var(--navy);
  }
  .pay-icon-outline{
    background:var(--ivory);
    color:var(--navy);
    border:2px solid var(--navy);
    border-radius:16px;
  }
  .pay-icon-solid{
    background:var(--navy);
    color:var(--ivory);
    border-radius:16px;
  }
  .pay-label{
    color:var(--maroon);
    font-family:var(--font-display);
    font-weight:800;
    font-size:19px;
    text-transform:uppercase;
    letter-spacing:.03em;
  }
  .support-footer{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
    margin-top:60px;
  }
  .support-buttons{
    display:flex;
    flex-direction:column;
    gap:20px;
    max-width:380px;
  }
  .btn-support{
    display:block;
    text-align:center;
    background:var(--maroon);
    color:var(--ivory);
    font-family:var(--font-display);
    font-weight:700;
    font-size:16px;
    letter-spacing:.12em;
    text-transform:uppercase;
    text-decoration:none;
    padding:18px 24px;
    border-radius:50px;
    box-shadow:0 6px 14px rgba(0,0,0,.2);
  }
  .btn-support:hover{ background:var(--maroon-dark); }
  .support-note{
    color:var(--navy);
    font-weight:700;
    font-size:17px;
    line-height:1.6;
    margin:0;
  }

  /* =========================================================
     VOLUNTEER FORM
  ========================================================= */
  .volunteer-form-wrap{
    margin-top:70px;
    scroll-margin-top:100px;
  }
  .vf-card{
    background-color:var(--navy);
    background-image:linear-gradient(rgba(12,50,84,.88),rgba(12,50,84,.88)),var(--blue-texture);
    border-radius:22px;
    padding:56px 60px 60px;
    box-shadow:0 18px 40px rgba(0,0,0,.25);
    position:relative;
    overflow:hidden;
  }
  .vf-card::before{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height:8px;
    background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));
  }
  .vf-header{
    text-align:center;
    max-width:620px;
    margin:0 auto 40px;
  }
  .vf-script{
    display:block;
    color:var(--gold-light);
    font-size:clamp(36px,5vw,52px);
    line-height:1;
  }
  .vf-header h3{
    color:var(--cream);
    font-family:var(--font-display);
    font-weight:900;
    font-size:clamp(26px,3.4vw,36px);
    text-transform:uppercase;
    letter-spacing:.02em;
    margin:4px 0 14px;
  }
  .vf-header p{
    color:var(--cream-dark);
    font-size:16px;
    line-height:1.6;
    margin:0;
  }
  .vf-form{
    max-width:760px;
    margin:0 auto;
  }
  .vf-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .vf-field{
    margin-bottom:22px;
  }
  .vf-field-full{ grid-column:1/-1; }
  .vf-field label{
    display:block;
    color:var(--cream);
    font-family:var(--font-display);
    font-weight:700;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:8px;
  }
  .vf-req{ color:var(--gold-light); }
  .vf-field input[type="text"],
  .vf-field input[type="email"],
  .vf-field input[type="tel"],
  .vf-field select,
  .vf-field textarea{
    width:100%;
    background:var(--cream);
    border:2px solid transparent;
    border-radius:10px;
    padding:12px 16px;
    font-family:var(--font-body);
    font-size:15px;
    color:var(--navy);
    box-sizing:border-box;
  }
  .vf-field textarea{ resize:vertical; }
  .vf-field input:focus,
  .vf-field select:focus,
  .vf-field textarea:focus{
    outline:none;
    border-color:var(--gold);
  }
  .vf-checkbox-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 20px;
    background:rgba(231,215,192,.08);
    border:1px solid rgba(231,215,192,.25);
    border-radius:10px;
    padding:18px 20px;
  }
  .vf-check{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--cream);
    font-size:15px;
    font-weight:600;
    text-transform:none;
    letter-spacing:normal;
    cursor:pointer;
  }
  .vf-check input[type="checkbox"]{
    width:18px;
    height:18px;
    accent-color:var(--gold);
    flex-shrink:0;
  }
  .vf-submit{
    display:block;
    width:100%;
    max-width:340px;
    margin:14px auto 0;
    background:var(--maroon);
    color:var(--ivory);
    font-family:var(--font-display);
    font-weight:700;
    font-size:16px;
    letter-spacing:.1em;
    text-transform:uppercase;
    text-align:center;
    padding:18px 24px;
    border:none;
    border-radius:50px;
    box-shadow:0 6px 14px rgba(0,0,0,.25);
    cursor:pointer;
  }
  .vf-submit:hover{ background:var(--maroon-dark); }

  /* =========================================================
     FOOTER
  ========================================================= */
  .site-footer{
    background-color:var(--navy);
    background-image:linear-gradient(rgba(12,50,84,.82),rgba(12,50,84,.82)),var(--blue-texture);
    background-repeat:repeat;
    background-size:640px auto;
    color:var(--cream);
    padding:46px 0 30px;
    text-align:center;
    font-size:14px;
  }
  .site-footer .brand{
    color:var(--ivory);
    text-align:center;
    font-size:20px;
    margin-bottom:10px;
  }
  .site-footer .script{
    color:var(--gold-light);
    font-size:34px;
    margin-bottom:14px;
  }
  .site-footer .foot-links{
    display:flex;
    justify-content:center;
    gap:24px;
    margin:18px 0;
    flex-wrap:wrap;
    font-family:var(--font-display);
    font-weight:600;
    letter-spacing:.05em;
    text-transform:uppercase;
    font-size:12px;
  }
  .site-footer .copyright{
    color:var(--cream-dark);
    margin-top:18px;
    font-size:12.5px;
  }

  /* =========================================================
     RESPONSIVE
  ========================================================= */
  @media (max-width: 760px){
    .nav-inner{ flex-wrap:wrap; position:relative; }
    .brand{
      order:1;
      flex:1 1 auto;
      text-align:left;
      white-space:normal;
    }
    .nav-toggle-btn{ display:flex; order:2; }
    .nav-links{
      order:3;
      flex-basis:100%;
      display:none;
      flex-direction:column;
      gap:16px;
      margin-top:18px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.2);
    }
    .nav-toggle-checkbox:checked ~ .nav-links{ display:flex; }
    .nav-links a{ font-size:16px; }
  }
  @media (max-width: 860px){
    .about-grid{ grid-template-columns:1fr; }
    .about-frame{ display:none; }
    .about-photos{
      flex-direction:column;
      margin-right:0;
      padding-top:0;
      gap:20px;
    }
    .about-photos img{
      width:100%;
      transform:none;
      margin-left:0;
    }
    .about-card{ margin-top:24px; }
    .side-tab{
      writing-mode:horizontal-tb;
      align-self:stretch;
      margin-top:24px;
      padding:20px 12px;
      letter-spacing:.15em;
      font-size:22px;
    }
    .never-forget{ grid-template-columns:1fr; }
    .nf-title{ position:static; white-space:normal; margin-bottom:14px; }
    .nf-navy, .nf-cream{ padding-top:56px; }
    .services-grid{ grid-template-columns:1fr; }
    .services-photos{ flex-direction:column; max-width:280px; }
    .stories-collage{ flex-wrap:wrap; }
    .stories-headline h2{ white-space:normal; }
    .stories-collage img{ flex:1 1 40%; }
    .founder-grid{ grid-template-columns:1fr; }
    .founder-headline{ overflow:visible; }
    .founder-headline .script{
      float:none;
      display:block;
      font-size:64px;
      margin-bottom:4px;
    }
    .founder-headline h2{
      display:block;
      text-align:left;
      font-size:30px;
    }
    .founder-photo-block{ float:none; width:100%; max-width:320px; margin:0 auto 24px; }
    .founder-avatar{ float:none; display:block; margin:0 auto 20px; }
    .support-grid{ grid-template-columns:1fr; gap:40px; }
    .support-pay{ flex-direction:row; flex-wrap:wrap; justify-content:center; }
    .support-footer{ grid-template-columns:1fr; text-align:center; }
    .support-buttons{ margin:0 auto; width:100%; max-width:340px; }
    .btn-support{ width:100%; box-sizing:border-box; }
    .pay-badge{ flex:0 0 auto; }
    .gallery-row.navy, .gallery-row.white{ grid-template-columns:repeat(2,1fr); }
    .why-photo-wrap{ position:relative; left:auto; bottom:auto; width:160px; margin:18px 0; transform:none; }
    .founder-tape-wrap{ position:relative; top:auto; left:auto; width:230px; margin:18px 0; transform:none; }
    .why-seal{ position:static; margin-top:24px; }
    .why-body h3:first-of-type{ margin-top:0; }
    .why-body{ padding:36px 26px; }
    .nf-poppy{ bottom:0; width:100px; }
    .vf-card{ padding:40px 24px 44px; }
    .vf-row{ grid-template-columns:1fr; gap:0; }
    .vf-checkbox-grid{ grid-template-columns:1fr; }
  }
  @media (max-width: 520px){
    .wrap{ padding:0 20px; }
    .nav-links{ gap:14px 20px; }
    .brand{ text-align:left; white-space:normal; }
  }

  /* =========================================================
     BACK TO TOP BUTTON
  ========================================================= */
  .back-to-top{
    position:fixed;
    right:24px;
    bottom:24px;
    width:48px;
    height:48px;
    border-radius:50%;
    background-color:var(--navy);
    border:2px solid var(--gold);
    color:var(--cream);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 6px 16px rgba(0,0,0,.25);
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:opacity .25s ease, transform .25s ease, visibility .25s ease, background-color .2s ease;
    z-index:500;
  }
  .back-to-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .back-to-top:hover{ background-color:var(--maroon); }
  @media (max-width:600px){
    .back-to-top{ right:16px; bottom:16px; width:44px; height:44px; }
  }
