:root {
    --burgundy:      #7B1E2E;
    --burgundy-deep: #5A1220;
    --red:           #E04E3A;
    --red-light:     #F2806E;
    --blush:         #F2C4BB;
    --pink:          #F4A7B2;
    --soft-pink:     #FBE8EC;
    --rose:          #E8768A;
    --cream:         #FEF6F0;
    --warm-white:    #FFFAF7;
    --charcoal:      #2A1A1F;
    --warm-gray:     #8A6F76;
    --petal:         #FAD5D0;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { font-family:'DM Sans',sans-serif; background:var(--warm-white); color:var(--charcoal); overflow-x:hidden; }

  nav {
    position:fixed; top:0; left:0; right:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:0.85rem 4rem; background:#fff;
    border-bottom:3px solid var(--rose);
    box-shadow:0 2px 16px rgba(123,30,46,0.07);
  }
  .nav-logo { display:flex; align-items:center; gap:0.65rem; text-decoration:none; }
  .nav-logo img { width:38px; height:38px; border-radius:50%; }
  .nav-logo span { font-family:'Fraunces',serif; font-size:1.1rem; font-weight:600; color:var(--burgundy); }
  .nav-links { display:flex; gap:2rem; list-style:none; }
  .nav-links a { text-decoration:none; color:var(--charcoal); font-size:0.82rem; font-weight:400; letter-spacing:0.06em; text-transform:uppercase; transition:color 0.2s; }
  .nav-links a:hover { color:var(--rose); }
  .nav-cta { background:var(--burgundy); color:white !important; padding:0.5rem 1.3rem; border-radius:20px; transition:background 0.2s !important; }
  .nav-cta:hover { background:var(--red) !important; }

  .hero { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; padding-top:65px; overflow:hidden; }
  .hero-left {
    display:flex; flex-direction:column; justify-content:center;
    padding:5rem 4rem 5rem 5.5rem;
    background:linear-gradient(145deg, var(--burgundy-deep) 0%, var(--burgundy) 60%, #9B2A3A 100%);
    position:relative; overflow:hidden;
  }
  .hero-left::before { content:''; position:absolute; top:-100px; right:-80px; width:380px; height:380px; border-radius:50%; background:radial-gradient(circle, rgba(242,128,110,0.18) 0%, transparent 70%); pointer-events:none; }
  .hero-eyebrow { font-size:0.73rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--pink); margin-bottom:1.2rem; display:flex; align-items:center; gap:0.8rem; }
  .hero-eyebrow::before { content:'✿'; font-size:0.9rem; }
  .hero-headline { font-family:'Fraunces',serif; font-size:clamp(2.8rem,4.8vw,4.6rem); font-weight:900; line-height:1.05; color:white; margin-bottom:1.5rem; }
  .hero-headline em { font-style:italic; color:var(--pink); font-weight:400; }
  .hero-sub { font-size:1.02rem; line-height:1.82; color:rgba(255,255,255,0.72); max-width:420px; margin-bottom:2.4rem; font-weight:300; }
  .hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }
  .btn-primary { background:var(--red); color:white; padding:0.85rem 2rem; border:none; cursor:pointer; font-family:'DM Sans',sans-serif; font-size:0.88rem; font-weight:500; letter-spacing:0.04em; text-decoration:none; display:inline-block; border-radius:24px; transition:background 0.2s,transform 0.15s; }
  .btn-primary:hover { background:var(--red-light); transform:translateY(-2px); }
  .btn-ghost { background:transparent; color:rgba(255,255,255,0.82); padding:0.85rem 2rem; border:1.5px solid rgba(255,255,255,0.32); font-family:'DM Sans',sans-serif; font-size:0.88rem; font-weight:400; letter-spacing:0.04em; text-decoration:none; display:inline-block; border-radius:24px; transition:border-color 0.2s,color 0.2s; }
  .btn-ghost:hover { border-color:var(--pink); color:var(--pink); }
  .hero-right { position:relative; overflow:hidden; }
  .hero-right img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
  .hero-right-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(123,30,46,0.1) 0%, rgba(90,18,32,0.5) 100%); }
  .hero-stats-bar { position:absolute; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; }
  .stat-box { padding:1.3rem 1rem; backdrop-filter:blur(8px); }
  .stat-box-1 { background:rgba(90,18,32,0.90); }
  .stat-box-2 { background:rgba(123,30,46,0.82); }
  .stat-box-3 { background:rgba(168,50,60,0.82); }
  .stat-box-4 { background:rgba(200,80,70,0.80); }
  .stat-num { font-family:'Fraunces',serif; font-size:1.9rem; font-weight:900; color:white; line-height:1; margin-bottom:0.25rem; }
  .stat-label { font-size:0.65rem; color:rgba(255,255,255,0.78); font-weight:400; line-height:1.4; }

  .press-bar { background:var(--soft-pink); padding:1rem 6rem; display:flex; align-items:center; gap:2rem; flex-wrap:wrap; border-bottom:1px solid var(--blush); }
  .press-label { font-size:0.67rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--warm-gray); white-space:nowrap; font-weight:500; }
  .press-divider { width:1px; height:16px; background:var(--blush); }
  .press-items { display:flex; gap:2rem; align-items:center; flex-wrap:wrap; }
  .press-item { font-size:0.8rem; color:var(--burgundy); font-weight:500; font-family:'Fraunces',serif; font-style:italic; }

  section { padding:6rem 6rem; }
  .section-eyebrow { font-size:0.71rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--rose); font-weight:500; margin-bottom:0.9rem; display:flex; align-items:center; gap:0.7rem; }
  .section-eyebrow::before { content:'✿'; font-size:0.8rem; }
  .section-title { font-family:'Fraunces',serif; font-size:clamp(1.9rem,3vw,2.8rem); font-weight:700; line-height:1.15; margin-bottom:1.3rem; color:var(--charcoal); }
  .section-body { font-size:1rem; line-height:1.85; color:var(--warm-gray); font-weight:300; }

  .mission { background:var(--cream); display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
  .mission-quote-block { background:var(--burgundy); padding:3rem; position:relative; overflow:hidden; border-radius:4px; }
  .mission-quote-block::before { content:'\201C'; font-family:'Fraunces',serif; font-size:10rem; line-height:0.7; color:rgba(255,255,255,0.08); position:absolute; top:1rem; left:1.5rem; }
  .mission-quote { font-family:'Fraunces',serif; font-size:1.18rem; font-style:italic; color:white; line-height:1.7; position:relative; z-index:1; margin-bottom:1.4rem; }
  .mission-attribution { font-size:0.75rem; color:var(--pink); letter-spacing:0.1em; text-transform:uppercase; font-weight:500; }
  .mission-tag { display:inline-block; margin-top:1rem; background:rgba(255,255,255,0.12); color:rgba(255,255,255,0.7); padding:0.4rem 1rem; font-size:0.67rem; letter-spacing:0.1em; text-transform:uppercase; font-weight:500; border-radius:20px; }

  /* PHOTO WALL */
  .photo-wall {
    background: #e8d5d8;
    background-image: radial-gradient(ellipse at 20% 50%, #dfc8ca 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, #e2cdd0 0%, transparent 50%);
    padding: 5rem 4rem 7rem; position: relative; overflow: hidden;
  }
  .photo-wall::before {
    content:''; position:absolute; inset:0;
    background-image:
      repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(100,50,55,0.03) 3px, rgba(100,50,55,0.03) 4px),
      repeating-linear-gradient(90deg, transparent, transparent 3px, rgba(100,50,55,0.02) 3px, rgba(100,50,55,0.02) 4px);
    pointer-events:none;
  }
  .photo-wall-label { text-align:center; margin-bottom:3rem; position:relative; z-index:1; }
  .photo-wall-label .section-eyebrow { justify-content:center; }
  .photo-wall-label .section-title { text-align:center; margin-bottom:0; }

  .scatter-stage { position:relative; max-width:1140px; margin:0 auto; height:740px; }

  .sphoto {
    position:absolute;
    background:white;
    padding:9px 9px 38px;
    box-shadow:
      1px 1px 0px rgba(180,140,145,0.5),
      3px 5px 12px rgba(40,10,15,0.28),
      8px 14px 36px rgba(40,10,15,0.24),
      14px 28px 70px rgba(40,10,15,0.20);
    transition: transform 0.4s cubic-bezier(.22,.68,0,1.35), box-shadow 0.35s;
    cursor:default; z-index:1;
  }
  .sphoto:hover {
    transform: rotate(0deg) scale(1.09) translateY(-10px) !important;
    box-shadow:
      2px 2px 0px rgba(180,140,145,0.4),
      10px 18px 44px rgba(40,10,15,0.38),
      20px 38px 90px rgba(40,10,15,0.28);
    z-index:20;
  }
  .sphoto:nth-child(1) { filter:url(#rough1); }
  .sphoto:nth-child(2) { filter:url(#rough2); }
  .sphoto:nth-child(3) { filter:url(#rough3); }
  .sphoto:nth-child(4) { filter:url(#rough4); }
  .sphoto:nth-child(5) { filter:url(#rough5); }
  .sphoto:nth-child(6) { filter:url(#rough6); }
  .sphoto:nth-child(7) { filter:url(#rough7); }

  /* Key fix: NO object-fit cropping — let each photo show naturally inside its polaroid */
  .sphoto img {
    display:block; width:100%; height:100%;
    object-fit:contain;
    background:#f8f0f1;
    filter:saturate(0.92) sepia(0.06) contrast(1.02);
  }
  .sphoto-caption {
    position:absolute; bottom:7px; left:0; right:0;
    text-align:center; font-size:0.63rem; color:#7a5a60;
    font-family:'Fraunces',serif; font-style:italic; letter-spacing:0.02em;
    padding:0 8px; line-height:1.3;
  }

  /* Candelas first — largest, top-left. Evergreen second. */
  .sp1 { width:380px; height:275px; top:15px;  left:-10px;  rotate:-4.5deg; z-index:5; }
  .sp2 { width:310px; height:230px; top:5px;   left:300px;  rotate:3deg;    z-index:3; }
  .sp3 { width:325px; height:240px; top:50px;  left:530px;  rotate:-2.5deg; z-index:4; }
  .sp4 { width:355px; height:265px; top:25px;  left:770px;  rotate:4deg;    z-index:2; }
  .sp5 { width:345px; height:258px; top:315px; left:20px;   rotate:2.5deg;  z-index:6; }
  .sp6 { width:340px; height:270px; top:330px; left:335px;  rotate:-3.5deg; z-index:4; }
  .sp7 { width:340px; height:255px; top:300px; left:630px;  rotate:2deg;    z-index:5; }

  .three-as { background:var(--soft-pink); }
  .three-as-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin-top:3.5rem; }
  .a-card { background:white; padding:2.8rem 2.2rem; position:relative; overflow:hidden; transition:transform 0.25s,box-shadow 0.25s; border-radius:3px; }
  .a-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(123,30,46,0.12); }
  .a-card:nth-child(2) { background:var(--burgundy); }
  .a-card:nth-child(2) .a-title { color:white; }
  .a-card:nth-child(2) .a-body { color:rgba(255,255,255,0.7); }
  .a-card:nth-child(2) .a-num { color:rgba(255,255,255,0.07); }
  .a-num { font-family:'Fraunces',serif; font-size:5.5rem; font-weight:900; color:rgba(123,30,46,0.06); position:absolute; top:-0.8rem; right:1.2rem; line-height:1; pointer-events:none; }
  .a-icon { font-size:1.7rem; margin-bottom:1.2rem; }
  .a-title { font-family:'Fraunces',serif; font-size:1.5rem; font-weight:700; margin-bottom:0.9rem; color:var(--charcoal); }
  .a-body { font-size:0.92rem; line-height:1.8; color:var(--warm-gray); font-weight:300; }

  .impact { background:linear-gradient(135deg, var(--burgundy-deep) 0%, var(--burgundy) 100%); display:grid; grid-template-columns:1fr 1.3fr; gap:5rem; align-items:center; }
  .impact .section-title { color:white; }
  .impact .section-eyebrow { color:var(--pink); }
  .impact .section-body { color:rgba(255,255,255,0.55); }
  .impact-note { font-size:0.83rem; color:rgba(255,255,255,0.35); margin-top:1.1rem; line-height:1.65; font-style:italic; }
  .impact-numbers { display:grid; grid-template-columns:1fr 1fr; gap:3px; }
  .impact-num-box { padding:2.2rem 1.8rem; border-top:3px solid transparent; transition:opacity 0.2s,transform 0.2s; border-radius:2px; }
  .impact-num-box:hover { opacity:0.92; transform:translateY(-2px); }
  .inb-1 { background:rgba(90,18,32,0.85);  border-top-color:var(--pink); }
  .inb-2 { background:rgba(123,30,46,0.70); border-top-color:var(--blush); }
  .inb-3 { background:rgba(168,50,60,0.60); border-top-color:var(--rose); }
  .inb-4 { background:rgba(200,80,70,0.50); border-top-color:var(--red-light); }
  .i-num { font-family:'Fraunces',serif; font-size:2.7rem; font-weight:900; color:white; line-height:1; margin-bottom:0.4rem; }
  .i-label { font-size:0.77rem; color:rgba(255,255,255,0.52); line-height:1.5; }

  .press { background:var(--cream); }
  .press-new-layout { display:grid; grid-template-columns:1fr 1.8fr; gap:4rem; align-items:start; }
  .press-left { padding-top:0.5rem; }
  .press-right {}
  .press-imgs-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start; }
  .press-layout { display:grid; grid-template-columns:1fr 1fr 1fr; gap:2.5rem; align-items:start; margin-top:3.5rem; }
  .press-image { position:relative; }
  .press-image img { width:100%; display:block; box-shadow:0 8px 32px rgba(123,30,46,0.15); border-radius:3px; border:1px solid var(--blush); }
  .press-badge { position:absolute; top:-14px; left:2rem; background:var(--burgundy); color:white; padding:0.5rem 1.2rem; font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; font-weight:600; border-radius:20px; }
  .press-card { border-left:4px solid var(--rose); padding-left:2rem; }
  .press-pub { font-size:0.69rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--rose); font-weight:500; margin-bottom:0.7rem; }
  .press-headline { font-family:'Fraunces',serif; font-size:1.42rem; font-weight:700; line-height:1.35; margin-bottom:0.8rem; color:var(--charcoal); }
  .press-blurb { font-size:0.9rem; line-height:1.78; color:var(--warm-gray); font-weight:300; }
  .press-date { font-size:0.71rem; color:var(--warm-gray); margin-top:1rem; letter-spacing:0.06em; }
  .press-inline-img { margin-top:2rem; }
  .press-inline-img img { width:100%; display:block; border-radius:3px; border:1px solid var(--blush); }

  .sponsor { background:var(--soft-pink); }
  .sponsor-intro { max-width:620px; margin-bottom:3.5rem; }
  .sponsor-layout { display:grid; grid-template-columns:1fr 1fr; gap:3px; }
  .sponsor-box { background:white; padding:2.8rem 2.2rem; border-radius:3px; }
  .sponsor-box-title { font-family:'Fraunces',serif; font-size:1.2rem; font-weight:700; margin-bottom:0.9rem; color:var(--charcoal); }
  .sponsor-box-body { font-size:0.9rem; line-height:1.8; color:var(--warm-gray); font-weight:300; }
  .sponsor-box ul { margin-top:0.8rem; padding-left:1.1rem; }
  .sponsor-box ul li { font-size:0.88rem; line-height:1.9; color:var(--warm-gray); font-weight:300; }
  .sponsor-cta { grid-column:1/-1; background:linear-gradient(135deg, var(--burgundy) 0%, var(--burgundy-deep) 100%); padding:3rem 2.8rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.5rem; border-radius:3px; }
  .sponsor-cta-text { font-family:'Fraunces',serif; font-size:1.5rem; font-style:italic; color:white; max-width:500px; line-height:1.5; }
  .btn-white { background:white; color:var(--burgundy); padding:0.9rem 2rem; font-family:'DM Sans',sans-serif; font-size:0.88rem; font-weight:600; letter-spacing:0.04em; text-decoration:none; display:inline-block; border-radius:24px; transition:background 0.2s,transform 0.15s; white-space:nowrap; }
  .btn-white:hover { background:var(--petal); transform:translateY(-2px); }

  .involved { background:var(--warm-white); display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
  .involved-ways { margin-top:2.5rem; display:flex; flex-direction:column; gap:3px; }
  .way-item { background:var(--soft-pink); padding:1.6rem 1.8rem; display:flex; align-items:flex-start; gap:1.1rem; transition:background 0.2s,transform 0.15s; cursor:default; border-radius:3px; }
  .way-item:hover { background:var(--burgundy); transform:translateX(4px); }
  .way-item:hover .way-title, .way-item:hover .way-body { color:white; }
  .way-icon { font-size:1.1rem; margin-top:0.1rem; flex-shrink:0; }
  .way-title { font-weight:600; font-size:0.92rem; margin-bottom:0.25rem; transition:color 0.2s; color:var(--charcoal); }
  .way-body { font-size:0.83rem; color:var(--warm-gray); line-height:1.65; transition:color 0.2s; }
  .involved-form { padding-top:2.5rem; }
  .form-title { font-family:'Fraunces',serif; font-size:1.7rem; font-weight:700; margin-bottom:0.5rem; color:var(--charcoal); }
  .form-sub { font-size:0.88rem; color:var(--warm-gray); margin-bottom:1.8rem; line-height:1.65; }
  .form-row { display:flex; flex-direction:column; gap:0.35rem; margin-bottom:1.1rem; }
  .form-row label { font-size:0.71rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--warm-gray); }
  .form-row input,.form-row select,.form-row textarea { background:var(--soft-pink); border:1.5px solid var(--blush); padding:0.8rem 1rem; font-family:'DM Sans',sans-serif; font-size:0.9rem; outline:none; transition:border-color 0.2s; color:var(--charcoal); border-radius:4px; }
  .form-row input:focus,.form-row select:focus,.form-row textarea:focus { border-color:var(--rose); }
  .form-row textarea { resize:vertical; min-height:90px; }

  footer { background:linear-gradient(135deg, var(--burgundy-deep) 0%, var(--burgundy) 100%); padding:4rem 6rem; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:4rem; }
  .footer-logo { display:flex; align-items:center; gap:0.6rem; text-decoration:none; margin-bottom:1rem; }
  .footer-logo img { width:34px; height:34px; border-radius:50%; border:2px solid rgba(255,255,255,0.2); }
  .footer-logo span { font-family:'Fraunces',serif; font-size:1.1rem; font-weight:600; color:white; }
  .footer-tagline { font-size:0.83rem; color:rgba(255,255,255,0.4); line-height:1.8; max-width:240px; }
  .footer-social { display:flex; gap:0.7rem; margin-top:1.4rem; }
  .social-link { width:38px; height:38px; border:1px solid rgba(255,255,255,0.2); border-radius:50%; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.5); text-decoration:none; font-size:0.75rem; font-weight:600; transition:background 0.2s,color 0.2s,border-color 0.2s; }
  .social-link:hover { background:var(--rose); border-color:var(--rose); color:white; }
  .footer-col-title { font-size:0.67rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.35); font-weight:500; margin-bottom:1.1rem; }
  .footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.65rem; }
  .footer-col ul a { color:rgba(255,255,255,0.55); text-decoration:none; font-size:0.86rem; transition:color 0.2s; }
  .footer-col ul a:hover { color:var(--pink); }
  .footer-bottom { background:var(--burgundy-deep); border-top:1px solid rgba(255,255,255,0.06); padding:1.4rem 6rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
  .footer-bottom-text { font-size:0.74rem; color:rgba(255,255,255,0.25); }

  .fade-up { opacity:0; transform:translateY(26px); transition:opacity 0.7s ease,transform 0.7s ease; }
  .fade-up.visible { opacity:1; transform:translateY(0); }

  @media(max-width:900px){
    nav { padding:0.9rem 1.5rem; } .nav-links { display:none; }
    .hero { grid-template-columns:1fr; min-height:auto; }
    .hero-left { padding:5rem 1.8rem 3rem; } .hero-right { height:360px; }
    .hero-stats-bar { grid-template-columns:repeat(2,1fr); }
    section { padding:4rem 1.5rem; }
    .mission,.impact,.involved,.press-layout,.press-new-layout,.press-imgs-grid { grid-template-columns:1fr; gap:2rem; }
    .three-as-grid { grid-template-columns:1fr; }
    .sponsor-layout { grid-template-columns:1fr; }
    .photo-wall { padding:3rem 1rem 4rem; }
    .scatter-stage { height:auto; position:static; display:flex; flex-direction:column; align-items:center; gap:2rem; }
    .sphoto { position:static !important; width:86% !important; height:auto !important; min-height:180px; }
    .sphoto:nth-child(odd)  { transform:rotate(-1.8deg) !important; }
    .sphoto:nth-child(even) { transform:rotate(1.8deg) !important; }
    footer { grid-template-columns:1fr; gap:2.5rem; padding:3rem 1.5rem; }
    .footer-bottom { padding:1.4rem 1.5rem; } .press-bar { padding:1rem 1.5rem; }
    .sponsor-cta { flex-direction:column; }
  }

  .endorsement-layout { display:grid; grid-template-columns:1fr; max-width:620px; }
  .endorsement-quote { background:var(--burgundy); padding:3rem; border-radius:4px; position:relative; }
  .eq-mark { font-family:'Fraunces',serif; font-size:6rem; line-height:0.6; color:rgba(255,255,255,0.1); margin-bottom:1rem; }
  .eq-text { font-family:'Fraunces',serif; font-size:1.08rem; font-style:italic; color:white; line-height:1.75; margin-bottom:1.8rem; }
  .eq-name { font-size:0.88rem; font-weight:600; color:var(--pink); margin-bottom:0.2rem; }
  .eq-title { font-size:0.72rem; color:rgba(255,255,255,0.45); letter-spacing:0.04em; }
  .endorsement-email { position:relative; }
  .email-label { font-size:0.67rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--warm-gray); margin-bottom:0.7rem; font-weight:500; }
  .endorsement-email img { width:100%; display:block; border-radius:4px; border:1px solid var(--blush); box-shadow:0 8px 32px rgba(123,30,46,0.10); }
  @media(max-width:900px){ .endorsement-layout { grid-template-columns:1fr; } }