/* 2026-08-17: visual-first layout + participant conversion improvements */
:root{--vc-green:#174b3e;--vc-yellow:#f4cf58;--vc-paper:#fffaf2;--vc-ink:#183a31;--vc-line:rgba(24,58,49,.14);--vc-shadow:0 18px 44px rgba(24,58,49,.12)}

/* Make photographs feel like the main story, not decoration. */
.nr-home-hero .hero-grid,.nr-new-event .page-hero-grid,.page-learn .page-hero-grid,.nr-new-partner .page-hero-grid{gap:clamp(30px,5vw,70px)!important;align-items:center}
.nr-home-hero .photo-frame img,.nr-new-event .page-hero .photo-frame img,.page-learn .page-hero .photo-frame img,.nr-new-partner .page-hero .photo-frame img{width:100%;height:clamp(360px,45vw,560px);object-fit:cover}
.nr-home-hero .hero-lead,.page-hero p:not(.eyebrow){font-size:clamp(15px,1.7vw,18px)!important;line-height:1.9!important;max-width:640px}
.nr-home-hero h1,.page-hero h1{letter-spacing:-.035em}
.section-heading>p:last-child{max-width:720px;line-height:1.85}
.section-heading--center>p:last-child{margin-left:auto;margin-right:auto}

/* Visual photo mosaic */
.visual-mosaic-section{padding:32px 0 78px;background:var(--vc-paper)}
.visual-mosaic-wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.visual-mosaic-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}
.visual-mosaic-head h2{margin:0;font-size:clamp(28px,4vw,48px);line-height:1.25;color:var(--vc-ink)}
.visual-mosaic-head p{max-width:470px;margin:0;color:#63706b;line-height:1.8;font-size:14px}
.visual-mosaic{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:230px 230px;gap:14px}
.visual-tile{position:relative;overflow:hidden;margin:0;border-radius:24px;background:#e9eee8;box-shadow:var(--vc-shadow)}
.visual-tile:first-child{grid-row:1/3}
.visual-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.visual-tile:hover img{transform:scale(1.025)}
.visual-tile::after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(transparent,rgba(12,31,25,.72));pointer-events:none}
.visual-tile figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:15px;color:#fff;font-size:13px;font-weight:800;line-height:1.5;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.visual-tile .visual-label{position:absolute;z-index:2;top:14px;left:14px;padding:7px 10px;border-radius:999px;background:rgba(255,250,242,.93);color:var(--vc-green);font-size:10px;font-weight:900;letter-spacing:.08em}

/* Big, scannable event facts */
.join-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.join-fact{min-height:116px;padding:18px;border:1px solid var(--vc-line);border-radius:20px;background:#fff;display:flex;flex-direction:column;justify-content:center}
.join-fact small{font-size:10px;font-weight:900;color:#7652a8;letter-spacing:.08em}
.join-fact strong{display:block;margin-top:5px;font-family:"M PLUS Rounded 1c","Noto Sans JP",sans-serif;font-size:clamp(23px,3vw,34px);line-height:1.15;color:var(--vc-green)}
.join-fact span{margin-top:5px;font-size:11px;color:#68736f}
.visual-join-action{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:22px 24px;border-radius:22px;background:var(--vc-green);color:#fff}
.visual-join-action div b{display:block;font-family:"M PLUS Rounded 1c","Noto Sans JP",sans-serif;font-size:clamp(20px,2.5vw,30px);line-height:1.4}
.visual-join-action div span{display:block;margin-top:4px;font-size:12px;opacity:.82}
.visual-join-action .btn{white-space:nowrap;background:var(--vc-yellow)!important;color:var(--vc-green)!important;border-color:transparent!important}

/* Event flow */
.event-flow-section{padding:70px 0;background:linear-gradient(180deg,#f0f7ef,#fffaf2)}
.event-flow{width:min(1040px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative}
.event-flow::before{content:"";position:absolute;left:16%;right:16%;top:45px;height:3px;background:#b7ccb0;z-index:0}
.event-flow article{position:relative;z-index:1;padding:24px 20px 22px;border:1px solid var(--vc-line);border-radius:22px;background:#fff;text-align:center;box-shadow:0 10px 26px rgba(24,58,49,.06)}
.event-flow .flow-time{display:grid;place-items:center;width:86px;height:86px;margin:0 auto 14px;border-radius:50%;background:#fff0b8;border:3px solid var(--vc-green);font-family:"M PLUS Rounded 1c","Noto Sans JP",sans-serif;font-size:20px;font-weight:900;color:var(--vc-green)}
.event-flow article:nth-child(2) .flow-time{background:#e9f4e7}.event-flow article:nth-child(3) .flow-time{background:#eee7f7}
.event-flow h3{margin:0;font-size:20px}.event-flow p{margin:7px auto 0;font-size:12px;line-height:1.75;max-width:250px}

/* Make program cards feel illustrated */
.nr-new-event .game-grid article{position:relative;overflow:hidden;min-height:230px;padding-top:92px!important;background:#fff!important}
.nr-new-event .game-grid article::before{content:"";position:absolute;left:18px;right:18px;top:16px;height:62px;border-radius:15px;background-color:#eef5eb;background-position:center;background-repeat:no-repeat;background-size:78px auto;opacity:.95}
.nr-new-event .game-grid article:nth-child(1)::before{background-image:url('doodle-footprints.svg')}
.nr-new-event .game-grid article:nth-child(2)::before{background-image:url('doodle-mud.svg')}
.nr-new-event .game-grid article:nth-child(3)::before{background-image:url('doodle-seeds.svg')}
.nr-new-event .game-grid article:nth-child(4)::before{background-image:url('doodle-vine.svg')}
.nr-new-event .game-grid article>span{position:absolute;top:25px;right:28px;z-index:2}

/* Reusable conversion band */
.conversion-band{width:min(1100px,calc(100% - 40px));margin:0 auto 84px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:28px 30px;border-radius:28px;background:linear-gradient(135deg,#174b3e,#245f4f);color:#fff;box-shadow:0 18px 50px rgba(24,58,49,.18)}
.conversion-band h2{margin:0;font-size:clamp(28px,3.5vw,42px);line-height:1.3;color:#fff}
.conversion-band p{margin:8px 0 0;max-width:650px;font-size:13px;line-height:1.8;color:rgba(255,255,255,.82)}
.conversion-band .btn{min-width:220px;background:var(--vc-yellow)!important;color:var(--vc-green)!important;border:0!important;text-align:center}

/* FAQ reduces uncertainty before form click */
.faq-visual{padding:78px 0;background:#fffaf2}
.faq-visual .container{max-width:1060px}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
.faq-card{padding:24px;border:1px solid var(--vc-line);border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(24,58,49,.05)}
.faq-card .q{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--vc-green);font-size:16px}
.faq-card .q::before{content:"Q";display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#fff0b8;font-family:"M PLUS Rounded 1c",sans-serif}
.faq-card p{margin:10px 0 0;font-size:13px;line-height:1.8}

/* Trust / people section */
.people-trust{padding:72px 0;background:#f4eef9}
.people-trust-grid{width:min(1100px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center}
.people-trust-photo{position:relative;overflow:hidden;border-radius:28px;min-height:380px;box-shadow:var(--vc-shadow)}
.people-trust-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.people-trust-copy h2{font-size:clamp(30px,4vw,48px);line-height:1.3;margin:0}.people-trust-copy p{margin:14px 0 0;line-height:1.9;max-width:600px}
.people-trust-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.people-trust-tags span{padding:8px 11px;border-radius:999px;background:#fff;font-size:11px;font-weight:900;color:#674793}

/* Less wall-of-text feeling */
.nr-new-home #crowdfunding-result .split-story>div:first-child p,.nr-new-home #origin .split-story>div:first-child p{max-width:670px}
.nr-new-home #purpose .event-values p,.page-learn .event-values p,.page-learn .cause-grid p{font-size:12px;line-height:1.72}
.nr-new-home #purpose .event-values article,.page-learn .event-values article,.page-learn .cause-grid article{padding:22px!important}

/* Sticky participation action on small screens */
.join-dock{display:none;position:fixed;z-index:999;left:12px;right:12px;bottom:12px;padding:9px;border-radius:18px;background:rgba(23,75,62,.96);box-shadow:0 14px 40px rgba(0,0,0,.22);backdrop-filter:blur(12px)}
.join-dock a{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-radius:12px;background:var(--vc-yellow);color:var(--vc-green);font-weight:900;text-decoration:none}
.join-dock small{font-size:10px;opacity:.75}

/* Partner page: imagery before explanation */
.nr-new-partner .nr-value-prop{padding-top:50px!important}

@media(max-width:900px){
  .visual-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:330px 190px}.visual-tile:first-child{grid-column:1/3;grid-row:auto}
  .join-facts{grid-template-columns:repeat(2,1fr)}
  .visual-join-action{align-items:flex-start;flex-direction:column}.visual-join-action .btn{width:100%;text-align:center}
  .event-flow{grid-template-columns:1fr;gap:10px}.event-flow::before{display:none}.event-flow article{display:grid;grid-template-columns:82px 1fr;text-align:left;column-gap:16px;align-items:center}.event-flow .flow-time{grid-row:1/3;width:72px;height:72px;margin:0;font-size:17px}.event-flow p{max-width:none;margin-top:4px}
  .people-trust-grid{grid-template-columns:1fr}.people-trust-photo{min-height:330px}
  .conversion-band{grid-template-columns:1fr}.conversion-band .btn{width:100%}
  .join-dock{display:block}
  body.nr-new-home,body.nr-new-event,body.page-learn{padding-bottom:84px}
}
@media(max-width:620px){
  .visual-mosaic-wrap{width:min(100% - 24px,1180px)}
  .visual-mosaic-head{display:block}.visual-mosaic-head p{margin-top:8px}
  .visual-mosaic{grid-template-columns:1fr;grid-template-rows:310px 180px 180px}.visual-tile:first-child{grid-column:auto}
  .join-facts{grid-template-columns:1fr 1fr}.join-fact{min-height:96px;padding:14px}.join-fact strong{font-size:23px}
  .faq-grid{grid-template-columns:1fr}
  .conversion-band{width:calc(100% - 24px);padding:24px 20px;margin-bottom:60px}
  .nr-home-hero .photo-frame img,.nr-new-event .page-hero .photo-frame img,.page-learn .page-hero .photo-frame img,.nr-new-partner .page-hero .photo-frame img{height:330px}
}
