:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f6f7f8;--foreground:#161616;--muted:#5d6460;--accent:#0f766e;--accent-strong:#0b5f58;--border:#d9ddd8;--panel:#fff;--danger:#b42318;--warning:#9a6700;--fs-primary:#f39800;--fs-primary-dark:#e08800;--fs-primary-light:#fff3e0;--fs-secondary:#5dade2;--fs-text-sub:#666;--fs-text-mute:#999}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}.login-page{place-items:center;min-height:100vh;padding:32px;display:grid}.login-panel,.panel,.table-panel,.message-panel{border:1px solid var(--border);background:var(--panel);border-radius:8px}.login-panel{gap:20px;width:min(420px,100%);padding:28px;display:grid}.login-panel h1{margin:4px 0 0;font-size:28px}.admin-app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--border);color:#f7fbf9;background:#12201e;padding:22px}.admin-brand{margin-bottom:28px;font-size:20px;font-weight:700;text-decoration:none;display:block}.admin-nav{gap:8px;display:grid}.admin-nav-item{color:#d9e7e3;border-radius:8px;padding:10px 12px;text-decoration:none}.admin-nav-item.active,.admin-nav-item:hover{color:#fff;background:#223936}.admin-main-area{min-width:0}.admin-topbar{border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:center;min-height:72px;padding:14px 24px;display:flex}.admin-topbar-title,.admin-user{margin:0;font-weight:700}.admin-topbar-actions,.action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-content{padding:24px}.two-column{grid-template-columns:minmax(0,1fr) 320px;gap:20px;display:grid}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.page-header h1{margin:4px 0 0;font-size:28px}.admin-eyebrow,.muted-line{color:var(--muted);font-size:12px;display:block}.admin-eyebrow{letter-spacing:0;text-transform:uppercase;margin:0;font-weight:700}.panel{padding:18px}.stack{gap:14px;margin-bottom:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-field{gap:6px;display:grid}.form-field.wide,.checkbox-field.wide,.action-row.wide,.wide{grid-column:1/-1}.form-field span,.checkbox-field span{color:#263431;font-size:13px;font-weight:700}.form-field input,.form-field select,.form-field textarea{background:#fff;border:1px solid #c7cfca;border-radius:6px;width:100%;padding:10px 12px}.form-field textarea{resize:vertical}.checkbox-field{align-items:center;gap:8px;display:flex}.checkbox-field-stacked{grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.checkbox-field-stacked small{color:var(--muted);grid-column:2}.portal-field{border:0;padding:0}.portal-choice-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.portal-choice{border:1px solid var(--border);background:#fff;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:44px;padding:10px 12px;display:grid}.portal-choice:has(input:checked){background:#eff8f4;border-color:#2f7d68}.portal-choice span{font-size:13px;font-weight:800}.primary-button,.secondary-button,.danger-button,.file-button{cursor:pointer;border:1px solid #0000;border-radius:7px;padding:9px 13px;font-weight:700;text-decoration:none}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-strong)}.secondary-button{color:#1f2c29;background:#fff;border-color:#c7cfca}.danger-button{color:var(--danger);background:#fff4f2;border-color:#f0b8b2}button:disabled{cursor:not-allowed;opacity:.55}.form-error{color:var(--danger);margin:0}.form-error.wide{grid-column:1/-1}.error-summary{background:#fff4f2;border:1px solid #f0b8b2;border-radius:7px;gap:8px;padding:12px;display:grid}.error-summary ul{margin:0;padding-left:20px}.admin-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.table-panel{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:14px}.data-table th{color:#35413e;background:#edf1ef;font-size:13px}.table-link{color:var(--accent-strong);font-weight:700;text-decoration:none}.status-badge{color:#243330;background:#e7ece9;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-published,.status-available,.save-saved{color:#11603a;background:#e3f6eb}.status-review,.status-scheduled,.save-dirty{color:var(--warning);background:#fff3d6}.status-archived,.status-deleted,.status-closed,.save-failed{color:var(--danger);background:#f4e8e6}.save-state,.upload-state{color:#243330;background:#e7ece9;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px;display:grid}.assignment-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 14px;display:grid}.summary-item{border:1px solid var(--border);background:var(--panel);border-radius:8px;gap:6px;padding:16px;display:grid}.summary-item span{color:var(--muted);font-size:13px;font-weight:700}.summary-item strong{font-size:30px}.quick-link{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-content:center;gap:8px;min-height:120px;padding:18px;text-decoration:none;display:grid}.municipality-card-link{align-content:start;padding:0 0 16px;overflow:hidden}.municipality-card-link strong,.municipality-card-link span{padding:0 16px}.municipality-card-image{aspect-ratio:16/9;width:100%;color:var(--muted);background:#e2e8e5;place-items:center;font-weight:800;display:grid;overflow:hidden}.municipality-card-image img{object-fit:cover;width:100%;height:100%}.quick-link span{color:var(--accent-strong);font-weight:700}.file-button{background:var(--accent);color:#fff;display:inline-flex}.file-button input{display:none}.media-dropzone{background:#f7faf9;border:1px dashed #9bacac;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:120px;padding:20px;transition:border-color .16s,background .16s,box-shadow .16s;display:flex}.media-dropzone strong{color:#243330;font-size:18px}.media-dropzone .muted-line{margin:6px 0 0}.media-dropzone-active{border-color:var(--accent);background:#eef7f3;box-shadow:0 0 0 3px #1e725b1f}.secondary-file-button{border:1px solid var(--border);width:fit-content;color:var(--accent-strong);background:#fff}.upload-queue{gap:8px;margin-top:14px;display:grid}.upload-queue-item{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.upload-queue-item span{color:#263431;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.upload-queue-item small{color:#243330;background:#e7ece9;border-radius:999px;padding:4px 8px;font-weight:700}.upload-queue-available small{color:var(--success);background:#e7f2e9}.upload-queue-failed small{color:var(--danger);background:#f4e8e6}.media-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:16px;display:grid}.media-item{border:1px solid var(--border);background:var(--panel);border-radius:8px;gap:10px;padding:14px;display:grid}.media-preview{aspect-ratio:16/10;background:#edf1ef;border-radius:6px;place-items:center;display:grid;overflow:hidden}.media-preview img{object-fit:contain;width:100%;height:100%}.media-preview span{color:var(--muted);text-align:center;padding:0 12px;font-size:12px;font-weight:800}.media-picker{min-width:0}.media-picker-control{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.media-picker-upload{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.media-picker-upload .upload-state{margin:0}.detail-image-editor{border-radius:8px}.detail-image-list{gap:12px;display:grid}.detail-image-item{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.media-picker-preview{border:1px solid var(--border);background:#f7f9fa;border-radius:7px;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid}.media-picker-preview img,.media-picker-preview>span{aspect-ratio:16/10;object-fit:cover;background:#e2e8e5;border-radius:5px;width:88px}.media-picker-preview>span{color:var(--muted);place-items:center;font-size:12px;font-weight:800;display:grid}.empty-state{color:var(--muted);margin:0;padding:18px}.detail-panel{margin-top:16px}.detail-list{gap:12px;margin:0;display:grid}.detail-list div{gap:4px;display:grid}.detail-list dt{color:var(--muted);font-size:12px;font-weight:700}.detail-list dd{white-space:pre-wrap;margin:0}.public-home,.public-section{width:min(1120px,100% - 40px);margin:0 auto}.public-home{width:100%;margin:0}.public-home>.quick-grid{width:min(1120px,100% - 40px);margin:24px auto 0}.fs-hero-section{background:#fff;position:relative}.fs-hero{min-height:clamp(440px,76vh,620px);position:relative;overflow:hidden}.fs-slide{opacity:0;will-change:opacity;background-position:50%;background-size:cover;animation:18s infinite fsFade;position:absolute;inset:0}.fs-slide--1{background-image:url(/furusato-hero/images/satoyama.jpg);animation-delay:0s}.fs-slide--2{background-image:url(/furusato-hero/images/fishing-port.jpg);animation-delay:6s}.fs-slide--3{background-image:url(/furusato-hero/images/local-food.jpg);animation-delay:12s}@keyframes fsFade{0%,28%{opacity:1}33%,94%{opacity:0}to{opacity:1}}.fs-hero__overlay{z-index:1;background:linear-gradient(105deg,#fffffff0 0%,#ffffffd6 43%,#ffffff61 72%,#ffffff14 100%);position:absolute;inset:0}.fs-hero__content{z-index:2;color:#2b2b2b;align-content:center;width:min(1120px,100% - 40px);min-height:clamp(440px,76vh,620px);margin:0 auto;padding:56px 0 92px;display:grid;position:relative}.fs-eyebrow{background:var(--fs-primary-light);width:fit-content;color:var(--fs-primary);letter-spacing:.12em;border-radius:999px;margin-bottom:18px;padding:5px 14px;font-size:11px;font-weight:800;display:inline-flex}.fs-hero__title{letter-spacing:.01em;margin:0 0 18px;font-size:clamp(32px,9vw,54px);font-weight:900;line-height:1.32}.fs-hero__title-accent{color:var(--fs-primary)}.fs-hero__title-accent-blue{color:var(--fs-secondary)}.fs-hero__sub{max-width:500px;color:var(--fs-text-sub);margin:0 0 28px;font-size:clamp(14px,4vw,16px);line-height:1.9}.fs-hero__cta{gap:10px;width:min(100%,360px);display:grid}.fs-dots{z-index:3;gap:8px;display:flex;position:absolute;bottom:76px;left:max(20px,50vw - 560px)}.fs-dot{background:#00000029;border-radius:2px;width:36px;height:3px;position:relative;overflow:hidden}.fs-dot:after{background:var(--fs-primary);content:"";transform-origin:0;animation:18s linear infinite fsBar;position:absolute;inset:0;transform:scaleX(0)}.fs-dot--1:after{animation-delay:0s}.fs-dot--2:after{animation-delay:6s}.fs-dot--3:after{animation-delay:12s}@keyframes fsBar{0%{transform:scaleX(0)}33%{transform:scaleX(1)}34%,to{transform:scaleX(0)}}.fs-stats{z-index:4;background:#fff;border:1px solid #f0f0f0;border-radius:14px;grid-template-columns:repeat(3,1fr);width:min(1120px,100% - 32px);margin:-44px auto 0;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 28px #0000001a}.fs-stat{text-align:center;gap:8px;padding:18px 10px;display:grid}.fs-stat+.fs-stat{border-left:1px solid #f0f0f0}.fs-stat__label{color:var(--fs-text-mute);letter-spacing:.05em;font-size:11px}.fs-stat__val{color:var(--fs-primary);font-size:clamp(24px,8vw,30px);font-weight:900;line-height:1}.fs-stat__val small{color:var(--fs-text-mute);margin-left:3px;font-size:12px;font-weight:600}.fs-hero .primary-button{background:var(--fs-primary);box-shadow:0 4px 14px #f3980038}.fs-hero .primary-button:hover{background:var(--fs-primary-dark)}.fs-hero .secondary-button{border-color:var(--fs-primary);color:var(--fs-primary)}.fs-hero .secondary-button:hover{background:var(--fs-primary-light)}.fs-guide-section{gap:24px;display:grid}.fs-guide-copy{gap:16px;display:grid}.fs-guide-copy h2{color:var(--text);letter-spacing:-.02em;margin:0;font-size:clamp(26px,7vw,40px);line-height:1.35}.fs-guide-copy>p{color:var(--fs-text-sub);margin:0;line-height:1.9}.fs-guide-steps{gap:12px;margin-top:4px;display:grid}.fs-guide-steps>div{background:#fff;border:1px solid #f3980029;border-radius:18px;grid-template-columns:auto 1fr;align-items:start;gap:4px 12px;padding:16px;display:grid;box-shadow:0 12px 30px #1b27380f}.fs-guide-steps span{background:var(--fs-primary-light);width:34px;height:34px;color:var(--fs-primary);border-radius:999px;grid-row:span 2;place-items:center;font-size:16px;font-weight:900;display:grid}.fs-guide-steps strong{color:var(--text);font-size:16px}.fs-guide-steps p{color:var(--fs-text-sub);margin:0;font-size:13px;line-height:1.75}.support-flow{gap:12px;margin:0 0 24px;display:grid}.support-flow-compact{margin-bottom:0}.support-flow-item{background:#fff;border:1px solid #f3980029;border-radius:18px;grid-template-columns:auto 1fr;align-items:start;gap:4px 12px;padding:16px;display:grid;box-shadow:0 12px 30px #1b27380f}.support-flow-item span{background:var(--fs-primary-light);width:34px;height:34px;color:var(--fs-primary);border-radius:999px;grid-row:span 2;place-items:center;font-size:16px;font-weight:900;display:grid}.support-flow-item strong{color:var(--text);font-size:16px}.support-flow-item p{color:var(--fs-text-sub);margin:0;font-size:13px;line-height:1.75}.project-flow-section{padding-top:8px;padding-bottom:8px}.project-gift-fast-section{padding-top:18px;padding-bottom:18px}.project-gift-fast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.project-gift-fast-card{background:#fff;border:1px solid #f398002e;border-radius:18px;min-width:0;display:grid;overflow:hidden;box-shadow:0 12px 28px #1b273812}.project-gift-fast-image-link{color:inherit;text-decoration:none;display:block}.project-gift-fast-card .public-image,.project-gift-fast-card .public-image-placeholder{aspect-ratio:4/3;display:block}.project-gift-fast-body{gap:8px;padding:10px;display:grid}.project-gift-fast-title{color:var(--text);font-size:13px;font-weight:900;line-height:1.45;text-decoration:none}.project-gift-fast-amount{color:var(--fs-primary);margin:0;font-size:12px;font-weight:900}.project-gift-fast-portals{gap:6px;display:grid}.project-gift-fast-portal-button,.project-gift-fast-detail-link{background:var(--fs-primary);color:#fff;text-align:center;border:1px solid #f3980038;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:7px 10px;font-size:12px;font-weight:900;line-height:1.2;text-decoration:none;display:inline-flex}.project-gift-fast-detail-link{color:var(--fs-primary);background:#fff}.video-section{gap:14px;display:grid}.video-section .video-embed{width:min(920px,100%)}.fs-guide-images{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}.fs-guide-images img{aspect-ratio:1/1.15;object-fit:cover;border-radius:22px;width:100%;box-shadow:0 20px 44px #1b273821}.fs-guide-images img+img{transform:none}.top-search-panel,.top-stats,.top-project-section,.municipality-section{width:min(1120px,100% - 40px);margin:0 auto}.top-search-panel{z-index:1;background:#fff;border:1px solid #d8e8ec;border-radius:14px;gap:14px;margin-top:16px;padding:14px;display:grid;position:relative;box-shadow:0 10px 28px #1f2d3d0f}.top-search-box{grid-template-columns:1fr;gap:10px;display:grid}.top-search-box input{background:#fff;border:1px solid #c7d8dc;border-radius:7px;min-width:0;padding:13px 14px}.topic-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topic-tags span{color:#52606a;font-size:12px;font-weight:800}.top-search-results{padding-top:18px;padding-bottom:18px}.top-result-groups,.top-result-group{gap:16px;display:grid}.top-result-groups{grid-template-columns:1fr}.top-result-group h3{color:var(--text);margin:0;font-size:22px}.top-compact-grid,.top-product-result-grid{gap:12px;display:grid}.top-compact-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.top-compact-card{color:var(--text);background:#fff;border:1px solid #f3980029;border-radius:16px;gap:6px;padding:14px;text-decoration:none;display:grid;box-shadow:0 10px 24px #1b27380f}.top-compact-card strong{font-size:16px}.top-compact-card span{color:var(--fs-text-sub);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.65;display:-webkit-box;overflow:hidden}.top-product-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-product-result-card{background:#fff;border:1px solid #f3980029;border-radius:18px;display:grid;overflow:hidden;box-shadow:0 12px 28px #1b273812}.top-product-result-card>div{gap:8px;padding:12px;display:grid}.top-product-result-card p{color:var(--fs-text-sub);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.65;display:-webkit-box;overflow:hidden}.top-product-result-card .public-card-title{font-size:15px}.top-product-result-amount{color:var(--fs-primary);font-size:13px}.topic-tags button{color:#1f5f75;cursor:pointer;background:#f6fbfc;border:1px solid #d8e8ec;border-radius:999px;padding:6px 10px;font-weight:700}.top-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.top-stat-item{background:#fff;border:1px solid #d8e8ec;border-radius:8px;gap:4px;padding:16px;display:grid}.top-stat-item span{color:#52606a;font-size:12px;font-weight:800}.top-stat-item strong{color:#1f2d3d;font-size:24px}.top-project-section{padding-bottom:24px}.top-project-grid{grid-template-columns:1fr;justify-content:start;gap:18px;display:grid}.top-project-card{border:1px solid var(--border);background:#fff;border-radius:8px;display:grid;overflow:hidden}.top-project-image{color:#52606a;background:#e8eef1;place-items:center;min-height:180px;font-weight:800;text-decoration:none;display:grid}.top-project-image img{aspect-ratio:16/9;object-fit:cover;width:100%;height:100%}.top-project-body{gap:14px;padding:16px;display:grid}.top-project-body p{color:#4d5a66;line-height:1.7}.top-project-footer{gap:12px;display:grid}.top-project-footer span{color:#7a5300;background:#fff3d6;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.top-project-cta{min-height:38px;padding-inline:14px}.featured-project-section{width:min(1120px,100% - 40px);margin:0 auto}.featured-project-card{background:#fff;border:1px solid #d8e8ec;border-radius:18px;gap:0;display:grid;overflow:hidden;box-shadow:0 14px 36px #1f2d3d14}.featured-project-image{color:#52606a;background:#e8eef1;place-items:center;min-height:220px;font-weight:800;display:grid}.featured-project-image img{object-fit:cover;width:100%;height:100%;min-height:220px}.featured-project-copy{gap:14px;padding:20px;display:grid}.featured-project-copy h2{margin:0;font-size:clamp(24px,7vw,40px);line-height:1.2}.featured-project-copy p{color:#4d5a66;margin:0;line-height:1.75}.top-about-section{margin-top:24px}.public-shell{background:#f7f9fa;min-height:100vh}.public-header{border-bottom:1px solid var(--border);background:#fff;gap:10px;padding:10px max(20px,50vw - 560px);display:grid}.public-header-primary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.public-brand,.public-brand-text{color:#16201e;flex-direction:column;align-items:flex-start;min-width:0;font-size:16px;font-weight:800;text-decoration:none;display:inline-flex}.public-brand-text strong{line-height:1.35}.public-brand-text span{color:var(--muted);font-size:11px;font-weight:700;line-height:1.3}.public-header-search{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.public-header-search input{background:#fff;border:1px solid #f3980038;border-radius:999px;min-width:0;padding:10px 13px;font-size:14px}.public-header-search button{background:var(--fs-primary);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:900}.public-mobile-menu{justify-self:end;position:relative}.public-mobile-menu summary{color:var(--text);cursor:pointer;background:#fff;border:1px solid #f3980038;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:900;list-style:none}.public-mobile-menu summary::-webkit-details-marker{display:none}.public-mobile-menu .public-nav{z-index:40;background:#fff;border:1px solid #f3980029;border-radius:18px;width:min(280px,100vw - 40px);padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px #1b273829}.brand-logo{align-items:center;display:inline-flex}.brand-logo img{width:130px;height:auto;display:block}.brand-logo.compact img{width:92px}.public-nav{flex-wrap:wrap;gap:10px;width:100%;display:none}.public-nav a{color:#34423f;background:#fff;border:1px solid #d9ddd8;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:700;text-decoration:none}.public-hero{background:linear-gradient(#fffffff0,#f6faf9fa),radial-gradient(circle at 20% 0,#0f766e1f,#0000 38%);grid-template-columns:1fr;align-items:center;gap:20px;min-height:auto;padding:28px max(20px,50vw - 560px);display:grid}.public-hero.compact{width:100%;min-height:auto}.public-hero h1,.project-hero h1,.article-page h1{max-width:900px;margin:8px 0 12px;font-size:clamp(32px,9vw,58px);line-height:1.12}.public-hero p,.article-page p{max-width:760px;line-height:1.8}.public-hero-copy{gap:14px;display:grid}.public-hero-media{place-items:center;display:grid}.public-hero-media picture{width:100%;max-width:520px;display:block}.public-hero-media img{object-fit:cover;border-radius:18px;width:100%;max-height:320px}.public-hero-fallback{color:#fff;background:linear-gradient(145deg,#0f766ee6,#1f6f8bdb),linear-gradient(45deg,#e5f4ef,#fff7df);border:1px solid #d8e8ec;border-radius:18px;align-content:end;gap:8px;width:100%;min-height:220px;padding:22px;display:grid;box-shadow:0 18px 40px #1f2d3d1f}.public-hero-fallback span{font-size:13px;font-weight:800}.public-hero-fallback strong{font-size:clamp(20px,6vw,30px);line-height:1.35}.public-hero-fallback small{color:#ffffffe0;font-size:13px;line-height:1.6}.hero-action-row{gap:10px;margin-top:4px;display:grid}.public-eyebrow{color:#1f6f8b;letter-spacing:0;margin:0;font-size:13px;font-weight:800}.public-section{padding:40px 0}.muted-band{background:#fff;width:100%;max-width:none;padding-inline:max(24px,50vw - 560px)}.section-heading{margin-bottom:20px}.section-heading h1,.section-heading h2{margin:4px 0 0;font-size:30px}.section-heading p{color:#4d5a66;margin:10px 0 0;line-height:1.7}.public-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.public-card{border:1px solid var(--border);background:#fff;border-radius:8px;display:grid;overflow:hidden}.success-project-card{border-color:#5ba48d;box-shadow:inset 0 3px #5ba48d}.public-card-body{gap:12px;padding:16px;display:grid}.public-card-title{color:#13221f;font-size:19px;font-weight:800;text-decoration:none}.public-status-pill{border-radius:999px;width:fit-content;padding:5px 10px;font-size:12px;font-weight:800}.status-open{color:#11603a;background:#e3f6eb}.public-image,.public-image-placeholder{aspect-ratio:16/9;object-fit:cover;background:#dfe7e4;width:100%}.project-hero{grid-template-columns:minmax(0,1fr) minmax(320px,520px);align-items:center;gap:28px;width:min(1120px,100% - 40px);margin:0 auto;padding:40px 0;display:grid}.project-hero .public-image,.project-hero .public-image-placeholder{border-radius:8px}.funding-progress{background:#fff;border:1px solid #d8e8ec;border-radius:8px;gap:13px;padding:14px;display:grid;position:relative}.funding-progress-achieved{background:#f7fff6;border-color:#78c98c;box-shadow:inset 0 3px #f0c95a}.achievement-ribbon{color:#173728;background:linear-gradient(135deg,#fff2a8 0%,#bff0bd 52%,#75d797 100%);border:1px solid #f0c95a;border-radius:999px;width:fit-content;margin:0;padding:5px 10px;font-size:12px;font-weight:900}.funding-progress-main,.funding-progress-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.funding-progress-main div,.funding-progress-details div{gap:4px;display:grid}.funding-progress-main span,.funding-progress-details dt{color:#52606a;font-size:12px;font-weight:800}.funding-progress-main strong{color:#1f2d3d;font-size:22px}.funding-progress-details{margin:0}.funding-progress-details dd{color:#1f2d3d;margin:0;font-weight:800}.progress-track{background:linear-gradient(90deg,#0000 24.7%,#1f2d3d33 25%,#0000 25.3%),linear-gradient(90deg,#0000 49.7%,#1f2d3d33 50%,#0000 50.3%),linear-gradient(90deg,#0000 74.7%,#1f2d3d33 75%,#0000 75.3%),#e8eef1;border-radius:999px;height:18px;margin:10px 0 18px;position:relative}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#39c0e8,#f7c46a 72%,#f08a6b);position:absolute;inset:0 auto 0 0}.funding-progress-achieved .progress-fill{background:linear-gradient(90deg,#44b97b,#7bdc8f 58%,#f0c95a)}.progress-milestone{color:#52606a;font-size:11px;font-weight:800;position:absolute;top:23px;transform:translate(-50%)}.block-renderer{gap:16px;font-size:16px;line-height:1.9;display:grid}.block-renderer h2{margin:18px 0 0;font-size:24px}.block-renderer blockquote{border-left:4px solid var(--accent);color:#34423f;margin:0;padding-left:14px}.content-image{margin:0}.content-image img{object-fit:contain;background:#f0f3f1;border-radius:8px;width:100%;max-height:620px;display:block}.content-image figcaption{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.5}.video-embed{margin:0}.video-embed-frame{background:#111;border-radius:22px;overflow:hidden;box-shadow:0 18px 44px #1b27381f}.video-embed iframe,.video-embed-poster{aspect-ratio:16/9;border:0;width:100%}.video-embed-poster{cursor:pointer;padding:0;display:block;position:relative}.video-embed-poster img{object-fit:cover;filter:saturate(1.04);width:100%;height:100%;display:block}.video-play-button{background:var(--fs-primary);color:#fff;border-radius:999px;place-items:center;width:64px;height:64px;font-size:24px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 12px 30px #0000003d}.video-embed figcaption{color:var(--fs-text-sub);margin-top:8px;font-size:13px;line-height:1.6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pdf-link{border:1px solid var(--border);color:#16342f;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:700;text-decoration:none;display:flex}.pdf-link small{color:var(--muted);font-weight:400}.share-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.share-panel{gap:8px;margin-top:18px;display:grid}.share-panel p{color:#52606a;margin:0;font-size:13px;font-weight:800}.share-icon-button{min-height:44px;color:var(--text);background:#fff;border:1px solid #f398002e;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 13px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #1b27380f}.share-icon-button:hover{color:var(--fs-primary);border-color:#f3980061;transform:translateY(-1px)}.share-icon{color:currentColor;border-radius:999px;place-items:center;width:22px;height:22px;display:grid}.share-icon svg{fill:currentColor;width:20px;height:20px;display:block}.share-icon-x{color:#111}.share-icon-facebook{color:#1877f2}.share-icon-line{color:#06c755}.share-icon-instagram{color:#c13584}.public-list{gap:12px;display:grid}.public-list-link{border:1px solid var(--border);color:#16342f;background:#fff;border-radius:8px;gap:4px;padding:14px;text-decoration:none;display:grid}.tag-row{flex-wrap:wrap;gap:8px;display:flex}.public-tag{color:#215766;background:#eefaff;border:1px solid #b9e9f5;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.portal-link{border:1px solid var(--border);background:#fff;border-radius:8px;gap:6px;padding:12px;display:grid}.portal-link p{color:var(--muted);margin:0}.public-footer{border-top:1px solid var(--border);color:var(--muted);grid-template-columns:1fr;gap:24px;padding:32px max(24px,50vw - 560px);display:grid}.public-footer-brand{align-content:start;gap:10px;display:grid}.public-footer-brand strong{color:var(--text);font-size:19px;line-height:1.35}.public-footer-brand p{max-width:420px;color:var(--fs-text-sub);margin:0;font-size:14px;line-height:1.8}.public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;display:grid}.public-footer-group{align-content:start;gap:10px;display:grid}.public-footer-group h2{color:var(--text);margin:0;font-size:14px}.public-footer-group ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.public-footer a,.public-footer-group a{color:#34423f;font-weight:700;line-height:1.5;text-decoration:none}.municipality-introduction{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:28px;display:grid}.municipality-introduction-copy{gap:14px;display:grid}.municipality-introduction-copy h2{margin:0;font-size:30px}.municipality-introduction-copy p{color:#3f4d58;margin:0;line-height:1.85}.municipality-introduction-media{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.municipality-introduction-media img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.public-header{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #f398001f;position:sticky;top:0}.public-brand-text strong{color:var(--text);letter-spacing:.01em}.public-nav a{color:#3f3f3f;border-color:#f398002e}.public-nav a:hover,.public-footer a:hover,.public-card-title:hover{color:var(--fs-primary)}.public-hero{background:linear-gradient(105deg,#fffffff5 0%,#fff3e0d1 100%),radial-gradient(circle at 85% 20%,#5dade233,#0000 34%);gap:24px;padding-top:34px;padding-bottom:34px;position:relative;overflow:hidden}.public-hero:before{content:"";background:#f398001a;border-radius:999px;width:260px;height:260px;position:absolute;inset:auto -80px -120px auto}.public-hero-copy,.public-hero-media{z-index:1;position:relative}.public-hero h1,.project-hero h1,.article-page h1,.public-page-head h1{color:var(--text);letter-spacing:-.03em;font-weight:900;line-height:1.24}.public-hero p,.article-page p,.public-page-head p,.lead-text{color:var(--fs-text-sub)}.public-hero-media img,.public-hero-fallback,.project-hero .public-image,.project-hero .public-image-placeholder,.product-detail-media .public-image,.product-detail-media .public-image-placeholder,.municipality-introduction-media,.municipality-introduction-media img{border-radius:24px}.public-hero-media img{aspect-ratio:4/3;max-height:none;box-shadow:0 24px 54px #1b273824}.public-hero-fallback{background:linear-gradient(145deg,#f39800eb,#5dade2e0),url(/furusato-hero/images/local-food.jpg) 50%/cover;border-color:#f398002e;box-shadow:0 24px 54px #1b273824}.public-eyebrow{color:var(--fs-primary);letter-spacing:.08em;font-size:12px}.public-page-head{background:linear-gradient(135deg,#fffffffa,#fff3e0b8),radial-gradient(circle at 90% 0,#5dade22e,#0000 34%);border:1px solid #f3980024;border-radius:24px;gap:10px;margin:0 0 24px;padding:clamp(22px,6vw,36px);display:grid;box-shadow:0 18px 44px #1b273814}.public-page-head h1{margin:0;font-size:clamp(30px,8vw,48px)}.public-page-head p{max-width:760px;margin:0;line-height:1.85}.section-heading-with-action{gap:14px;display:grid}.public-card{border-color:#f3980024;border-radius:22px;box-shadow:0 14px 36px #1b273814}.public-card-body{gap:14px;padding:18px}.public-card-body p{color:var(--fs-text-sub);margin:0;line-height:1.75}.public-card-title{color:var(--text);line-height:1.45}.public-card-cta{justify-content:center;width:100%;margin-top:auto}.success-project-card{box-shadow:inset 0 4px 0 var(--fs-secondary), 0 14px 36px #1b273814;border-color:#5dade259}.public-status-pill{padding:6px 11px}.status-open{background:var(--fs-primary-light);color:var(--fs-primary-dark)}.status-success-case{color:#1f6f8b;background:#eaf6ff}.status-ended{color:#8a261f;background:#f4eeee}.public-image,.public-image-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,#fff3e0e6,#eaf6ffe6),url(/furusato-hero/images/harvest.jpg) 50%/cover}.project-hero{grid-template-columns:1fr;gap:22px;padding-top:28px}.project-hero-copy{gap:16px;display:grid}.project-hero .public-image,.project-hero .public-image-placeholder{aspect-ratio:16/10;box-shadow:0 22px 48px #1b27381f}.funding-progress{border-color:#f3980029;border-radius:18px;box-shadow:0 12px 30px #1b27380f}.funding-progress-achieved{box-shadow:inset 0 4px 0 var(--fs-secondary), 0 12px 30px #1b27380f;background:linear-gradient(135deg,#fff,#f7fbff);border-color:#5dade25c}.tag-row{gap:7px}.public-tag{color:#1f6f8b;background:#eef8ff;border-color:#5dade247}.two-column,.product-detail-page{align-items:start;gap:24px;display:grid}.article-card,.side-panel,.portal-panel,.panel{background:#fff;border-color:#f3980024;border-radius:22px;box-shadow:0 14px 36px #1b273814}.article-card{padding:clamp(20px,5vw,32px)}.article-page{max-width:none}.article-page h1{margin-top:8px;font-size:clamp(30px,8vw,48px)}.article-page h2{font-size:clamp(22px,6vw,30px)}.public-list-link{border-color:#f3980024;border-radius:18px;box-shadow:0 10px 24px #1b27380f}.public-list-link:hover{color:var(--fs-primary);border-color:#f398005c}.breadcrumb-link{width:fit-content;margin-bottom:16px}.portal-link{border-color:#f3980029;border-radius:18px;padding:16px}.portal-link strong{color:var(--fs-primary-dark)}.product-detail-media{position:sticky;top:96px}.product-detail-media .public-image,.product-detail-media .public-image-placeholder{aspect-ratio:1;box-shadow:0 22px 48px #1b27381f}.municipality-introduction{gap:24px}.municipality-introduction-copy h2{color:var(--text);font-size:clamp(26px,7vw,38px);line-height:1.35}.municipality-introduction-media{border-color:#f3980024;box-shadow:0 18px 44px #1b273814}.public-footer{background:#fff;border-top-color:#f3980024}.analytics-grid{gap:1rem;margin-top:1rem;display:grid}.analytics-grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.analytics-grid.three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.analytics-panel h2{margin:0;font-size:1rem}.analytics-bars{grid-template-columns:repeat(auto-fit,minmax(28px,1fr));align-items:end;gap:.45rem;min-height:180px;display:grid}.analytics-bar-item{justify-items:center;gap:.25rem;font-size:.75rem;display:grid}.analytics-bar-track{background:#eef2f7;border-radius:999px;align-items:end;width:100%;height:120px;display:flex;overflow:hidden}.analytics-bar-track span{background:linear-gradient(#2563eb,#0f766e);border-radius:999px 999px 0 0;width:100%;display:block}.analytics-ranking{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.analytics-ranking li{border-bottom:1px solid #e5e7eb;justify-content:space-between;gap:1rem;padding-bottom:.55rem;display:flex}.analytics-ranking span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (min-width:760px){.public-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.public-brand,.public-brand-text{font-size:18px}.public-brand-text span{font-size:12px}.public-header-primary{grid-template-columns:minmax(170px,auto) minmax(260px,420px)}.public-header-search{grid-column:auto}.public-mobile-menu{display:none}.public-nav{justify-content:flex-end;width:auto;display:flex}.public-footer{grid-template-columns:minmax(260px,.86fr) minmax(0,1.4fr)}.public-footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.public-hero{grid-template-columns:minmax(0,1fr) minmax(320px,480px);gap:32px;padding-top:44px;padding-bottom:44px}.hero-action-row{flex-wrap:wrap;display:flex}.top-search-box{grid-template-columns:minmax(0,1fr) auto}.top-result-groups{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);align-items:start}.top-product-result-grid,.project-gift-fast-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.share-buttons,.top-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.top-project-grid{grid-template-columns:repeat(auto-fit,minmax(310px,360px))}.top-project-footer{justify-content:space-between;align-items:center;display:flex}.featured-project-card{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)}.featured-project-image,.featured-project-image img{min-height:360px}.featured-project-copy{padding:32px}.fs-guide-section{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:center;gap:44px}.support-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.fs-guide-images{gap:18px}.fs-guide-images img{aspect-ratio:1/1.08}.fs-hero__cta{flex-wrap:wrap;width:auto;display:flex}.fs-hero__content{padding-bottom:104px}}@media (prefers-reduced-motion:reduce){.fs-slide,.fs-dot:after{animation:none}.fs-slide--1{opacity:1}}@media (max-width:900px){.admin-app-shell,.public-hero,.two-column,.project-hero{grid-template-columns:1fr}.admin-sidebar{border-right:0}.admin-topbar,.page-header{flex-direction:column;align-items:flex-start}.form-grid,.detail-image-item,.top-search-box,.top-stats,.top-project-grid{grid-template-columns:1fr}.progress-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.public-header{flex-direction:column;align-items:flex-start;gap:12px}.public-hero{padding-top:28px}.public-hero-media{order:-1}.municipality-introduction{grid-template-columns:1fr}.municipality-introduction-media{order:-1}.funding-progress-main,.funding-progress-details{grid-template-columns:1fr}}@media (min-width:900px){.project-hero{grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:36px;padding-top:48px;padding-bottom:48px}.product-detail-page{grid-template-columns:minmax(0,.98fr) minmax(340px,.72fr)}.section-heading-with-action{grid-template-columns:minmax(0,1fr) auto;align-items:end}}@media (min-width:1100px){.project-gift-fast-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
