:root{--ink:#273126;--muted:#687064;--paper:#f4f0e5;--paper-deep:#e8e1d2;--green:#49614b;--rust:#a95638;--line:rgba(49,61,48,.18);--serif:'Shippori Mincho',serif;--sans:'Noto Sans JP',sans-serif;--mono:'DM Mono',monospace}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px}img{display:block;max-width:100%}a{color:inherit}.demo-note{height:30px;padding:0 5vw;display:flex;align-items:center;justify-content:center;gap:12px;background:#273126;color:#f8f4e9;font:10px var(--mono);letter-spacing:.12em}.demo-note strong{color:#e2b56f}.public-header{height:74px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(244,240,229,.92);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.public-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:13px var(--mono);letter-spacing:.16em}.public-brand span{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--ink);font-size:11px}.public-header nav{display:flex;gap:28px}.public-header nav a{text-decoration:none;font-size:13px}.public-hero{min-height:650px;padding:74px 7vw 90px;display:grid;grid-template-columns:minmax(320px,.8fr) minmax(500px,1.2fr);gap:7vw;align-items:center;overflow:hidden;background:linear-gradient(120deg,#f4f0e5 62%,#e2e3d2 62%)}.eyebrow{margin:0 0 15px;color:var(--rust);font:11px var(--mono);letter-spacing:.18em}.public-hero h1{font:700 clamp(52px,7vw,96px)/1 var(--serif);margin:0 0 28px;letter-spacing:.05em}.lead{margin:0 0 20px;font:600 clamp(21px,2.2vw,31px)/1.7 var(--serif)}.hero-note{max-width:470px;margin:0;color:var(--muted);line-height:1.9}.public-stats{display:flex;gap:34px;margin-top:45px}.public-stats div{display:flex;align-items:baseline;gap:7px}.public-stats strong{font:500 30px var(--mono)}.public-stats span{color:var(--muted);font-size:12px}.hero-collage{height:500px;position:relative}.hero-collage figure{position:absolute;margin:0;border:8px solid #f8f5ec;box-shadow:0 18px 50px rgba(33,43,32,.2);transform:rotate(calc((var(--i) - 1.5)*2.7deg))}.hero-collage figure:nth-child(1){width:43%;left:0;top:4%}.hero-collage figure:nth-child(2){width:42%;right:4%;top:0}.hero-collage figure:nth-child(3){width:40%;left:13%;bottom:0}.hero-collage figure:nth-child(4){width:38%;right:2%;bottom:7%}.hero-collage img{width:100%;height:205px;object-fit:cover}.hero-collage figcaption{padding:9px 7px 5px;background:#f8f5ec;font:10px var(--mono);letter-spacing:.06em}.guide-section{padding:100px 6vw 120px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.section-heading h2,.public-map-section h2,.public-about h2{margin:0;font:700 clamp(34px,4vw,58px)/1.25 var(--serif)}.section-heading>p{max-width:400px;color:var(--muted);line-height:1.8}.public-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:34px}.public-search{min-width:270px;display:flex;align-items:center;gap:10px}.public-search input{width:100%;border:0;background:transparent;outline:0;font:14px var(--sans)}.category-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.category-filters button{border:1px solid var(--line);border-radius:100px;background:transparent;padding:7px 13px;color:var(--muted);font:11px var(--sans);cursor:pointer}.category-filters button.is-active{background:var(--ink);border-color:var(--ink);color:white}.guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 20px}.guide-card{cursor:pointer;outline:0}.guide-card:focus-visible{box-shadow:0 0 0 3px #c17b5e}.guide-photo{position:relative;overflow:hidden;background:var(--paper-deep);aspect-ratio:4/5}.guide-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.guide-card:hover .guide-photo img{transform:scale(1.035)}.photo-count{position:absolute;right:9px;bottom:9px;padding:5px 8px;border-radius:2px;background:rgba(34,43,34,.82);color:white;font:10px var(--mono)}.guide-card-copy{padding:14px 2px}.card-meta{display:flex;justify-content:space-between;color:var(--muted);font:9px var(--mono);letter-spacing:.08em}.guide-card h3{margin:9px 0 5px;font:600 19px var(--serif)}.guide-card i{display:block;color:var(--green);font:12px var(--serif)}.guide-card small{display:block;margin-top:4px;color:var(--muted)}.public-tag{display:inline-block;margin-top:8px;padding:3px 7px;background:#ead7bc;color:#7f452d;font-size:10px}.no-results{text-align:center;padding:60px;color:var(--muted)}.public-map-section{padding:105px 6vw;background:#dfe2d4;display:grid;grid-template-columns:320px 1fr;gap:5vw;align-items:start}.map-copy{position:sticky;top:110px}.map-copy>p:not(.eyebrow){color:var(--muted);line-height:1.9}.privacy-key{display:grid;gap:9px;margin-top:35px;font-size:11px}.privacy-key span{display:flex;align-items:center;gap:8px}.privacy-key i{width:8px;height:8px;border-radius:50%;background:var(--rust)}.privacy-key span:last-child i{background:var(--green);box-shadow:0 0 0 4px rgba(73,97,75,.14)}.public-map-wrap{height:620px;position:relative;border:9px solid #f7f3e9;box-shadow:0 18px 50px rgba(35,51,37,.14)}#map{height:100%;width:100%}.map-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:8px;background:var(--paper)}.photo-marker{width:48px;height:58px;padding:3px;border:2px solid var(--marker-color,#a95638);border-radius:3px 3px 50% 50%;background:#f8f5ec;box-shadow:0 4px 12px rgba(30,40,30,.32);overflow:hidden;cursor:pointer}.photo-marker img{width:100%;height:100%;object-fit:cover;border-radius:1px 1px 50% 50%}.public-about{padding:130px max(8vw,40px);text-align:center}.public-about h2{margin-bottom:24px}.public-about>p:not(.eyebrow){max-width:640px;margin:0 auto;color:var(--muted);line-height:2}.public-about a{display:inline-flex;gap:25px;margin-top:35px;padding:14px 22px;border:1px solid var(--ink);text-decoration:none;font-size:13px}footer{padding:25px 5vw;display:flex;justify-content:space-between;border-top:1px solid var(--line);font:11px var(--mono);letter-spacing:.12em}footer small{color:var(--muted)}.public-dialog{width:min(980px,92vw);max-height:90vh;padding:0;border:0;background:#f7f3e9;color:var(--ink);box-shadow:0 30px 100px rgba(20,28,20,.45)}.public-dialog::backdrop{background:rgba(25,33,25,.68);backdrop-filter:blur(3px)}.dialog-close{position:absolute;z-index:2;right:15px;top:15px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(247,243,233,.9);font-size:23px;cursor:pointer}.public-dialog #publicDetail{display:grid;grid-template-columns:1.08fr .92fr}.detail-gallery{min-height:560px;display:grid;background:#2b332b;overflow:auto}.detail-gallery.is-multiple{grid-template-columns:1fr 1fr;align-content:start}.detail-gallery img{width:100%;height:100%;min-height:280px;object-fit:cover}.detail-copy{padding:60px 45px}.detail-copy h2{margin:0 0 27px;font:700 35px/1.35 var(--serif)}.taxonomy{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:5px}.taxonomy strong{font:600 19px var(--serif)}.taxonomy span,.taxonomy small{color:var(--muted);font-size:12px}.taxonomy i{color:var(--green);font:14px var(--serif)}.detail-copy dl{margin-top:28px}.detail-copy dl div{display:grid;grid-template-columns:88px 1fr;padding:11px 0;border-bottom:1px solid var(--line)}.detail-copy dt{color:var(--muted);font-size:11px}.detail-copy dd{margin:0;font-size:13px}
@media(max-width:980px){.public-hero{grid-template-columns:1fr;padding-top:55px}.hero-collage{height:430px}.guide-grid{grid-template-columns:repeat(3,1fr)}.public-map-section{grid-template-columns:1fr}.map-copy{position:static}.public-dialog #publicDetail{grid-template-columns:1fr}.detail-gallery{min-height:360px}}
@media(max-width:680px){.demo-note span{display:none}.public-header{height:62px}.public-header nav{gap:16px}.public-hero{padding:52px 20px 65px;background:linear-gradient(155deg,#f4f0e5 65%,#e2e3d2 65%)}.public-hero h1{font-size:50px}.hero-collage{height:330px}.hero-collage img{height:135px}.guide-section,.public-map-section{padding:70px 20px}.section-heading{display:block}.section-heading>p{margin-top:12px}.public-tools{align-items:stretch;flex-direction:column}.category-filters{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding-bottom:5px}.guide-grid{grid-template-columns:repeat(2,1fr);gap:28px 12px}.guide-card h3{font-size:16px}.guide-card small{font-size:10px}.public-map-wrap{height:480px;border-width:6px}.public-about{padding:90px 25px}footer{gap:20px;align-items:flex-start;flex-direction:column}.detail-copy{padding:40px 25px}.detail-gallery.is-multiple{grid-template-columns:1fr}.detail-gallery img{min-height:230px}}

/* Service story: nature collection first, advanced GIS underneath. */
.public-header nav{align-items:center}.header-demo-link{padding:9px 14px;border:1px solid var(--ink)}
.public-hero{min-height:720px;grid-template-columns:minmax(380px,.9fr) minmax(500px,1.1fr)}
.public-hero h1{font-size:clamp(44px,5.3vw,78px);line-height:1.3;letter-spacing:.03em}
.lead{font-size:clamp(19px,1.8vw,27px)}
.hero-note{max-width:500px}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}
.hero-actions a{text-decoration:none;font-size:13px}
.primary-cta{display:inline-flex;align-items:center;gap:25px;padding:14px 18px;background:var(--ink);color:#fff}
.primary-cta span{color:#e2b56f}.text-cta{padding:8px 0;border-bottom:1px solid var(--ink)}
.possibilities{padding:120px 6vw;background:#28332b;color:#f4f0e5}
.possibilities-intro{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(280px,.65fr);column-gap:8vw;align-items:end;margin-bottom:60px}
.possibilities-intro .eyebrow{grid-column:1/-1;color:#dfaa6b}.possibilities-intro h2{margin:0;font:700 clamp(38px,4.3vw,64px)/1.4 var(--serif)}
.possibilities-intro>p:last-child{margin:0;color:#bec7bd;line-height:2}
.feature-stories{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.feature-story{min-height:420px;position:relative;overflow:hidden;background:#172019}
.feature-story-large{grid-row:span 2;min-height:858px}.feature-story-wide{grid-column:1/-1;min-height:470px}
.feature-story img{width:100%;height:100%;object-fit:cover;opacity:.76;transition:transform .55s,opacity .55s}.feature-story:hover img{transform:scale(1.025);opacity:.84}
.feature-story>div{position:absolute;inset:auto 0 0;padding:85px 32px 30px;background:linear-gradient(transparent,rgba(12,20,14,.92))}
.feature-story span{color:#e4b77b;font:10px var(--mono);letter-spacing:.16em}.feature-story h3{margin:10px 0 8px;font:600 clamp(22px,2.4vw,34px)/1.45 var(--serif)}
.feature-story p{max-width:580px;margin:0;color:#d2d8d1;font-size:13px;line-height:1.85}
.flow-section{padding:115px 6vw;background:#e7e0d1}.compact-heading{margin-bottom:46px}
.growth-flow{margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;border-top:1px solid var(--line)}
.growth-flow li{position:relative;min-height:230px;padding:25px 25px 20px 0;border-right:1px solid var(--line)}.growth-flow li+li{padding-left:25px}.growth-flow li:not(:last-child)::after{content:"";position:absolute;z-index:2;top:67px;right:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:11px solid var(--rust)}
.growth-flow span{color:var(--rust);font:11px var(--mono)}.growth-flow strong{display:block;margin:34px 0 12px;font:600 22px var(--serif)}.growth-flow p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
@media(max-width:980px){.possibilities-intro{grid-template-columns:1fr}.possibilities-intro>p:last-child{margin-top:25px;max-width:600px}.growth-flow{grid-template-columns:repeat(2,1fr)}.growth-flow li:nth-child(2){border-right:0}.growth-flow li:nth-child(2)::after{top:auto;right:50%;bottom:-7px;transform:translateX(50%);border-top:11px solid var(--rust);border-right:8px solid transparent;border-left:8px solid transparent;border-bottom:0}.feature-story-large{min-height:720px}}
@media(max-width:680px){.public-header nav a:not(.header-demo-link){display:none}.header-demo-link{padding:8px 10px}.public-hero{min-height:0;grid-template-columns:1fr}.public-hero h1{font-size:40px}.hero-actions{align-items:flex-start;flex-direction:column;gap:9px}.possibilities{padding:78px 20px}.possibilities-intro{margin-bottom:38px}.feature-stories{grid-template-columns:1fr}.feature-story,.feature-story-large,.feature-story-wide{grid-column:auto;grid-row:auto;min-height:460px}.feature-story>div{padding:75px 20px 23px}.flow-section{padding:76px 20px}.growth-flow{grid-template-columns:1fr}.growth-flow li,.growth-flow li+li{min-height:0;padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.growth-flow strong{margin:18px 0 7px}}

/* Compact reading scale and clearer WHAT / HOW hierarchy. */
.public-hero{min-height:640px;padding-top:58px;padding-bottom:68px}.public-hero h1{font-size:clamp(38px,4.5vw,64px)}.lead{font-size:clamp(18px,1.55vw,23px)}.hero-collage{height:440px}.hero-collage img{height:180px}
.possibilities{padding-top:88px;padding-bottom:92px}.possibilities-intro{margin-bottom:42px}.possibilities-intro h2{font-size:clamp(32px,3.4vw,50px)}
.feature-story{min-height:340px}.feature-story-large{min-height:698px}.feature-story-wide{min-height:390px}.feature-story h3{font-size:clamp(20px,1.9vw,28px)}
.flow-section{padding-top:82px;padding-bottom:78px;border-top:9px solid #cdbf9f}.compact-heading{align-items:end}.compact-heading h2{font-size:clamp(30px,3.2vw,46px)}
.growth-flow li{min-height:190px}.growth-flow strong{margin-top:25px;font-size:20px}
.guide-section{padding-top:82px;padding-bottom:88px}.section-heading h2,.public-map-section h2,.public-about h2{font-size:clamp(30px,3.2vw,46px)}
.public-map-section{padding-top:82px;padding-bottom:82px}.public-map-wrap{height:560px}.public-location-note{margin-top:20px!important;padding-top:16px;border-top:1px solid rgba(49,61,48,.2);font-size:11px!important;line-height:1.8!important}
.photo-marker{width:50px;height:50px;border-radius:2px}.photo-marker img{border-radius:0}
.public-about{padding-top:92px;padding-bottom:92px}.release-note{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:28px!important;color:var(--ink)!important}.release-note span{padding:5px 8px;background:var(--rust);color:#fff;font:9px var(--mono);letter-spacing:.12em}.release-note strong{font:600 16px var(--serif)}
@media(max-width:980px){.feature-story-large{min-height:600px}.public-hero{min-height:0}}
@media(max-width:680px){.public-hero h1{font-size:34px}.hero-collage{height:300px}.hero-collage img{height:120px}.possibilities,.flow-section,.guide-section,.public-map-section{padding-top:62px;padding-bottom:64px}.feature-story,.feature-story-large,.feature-story-wide{min-height:380px}.section-heading h2,.public-map-section h2,.public-about h2,.compact-heading h2{font-size:29px}.public-map-wrap{height:440px}.release-note{align-items:center;flex-direction:column;gap:9px}}

/* Keep the WHAT section scannable: four equal, compact examples. */
.feature-stories{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.feature-story,.feature-story-large,.feature-story-wide{grid-column:auto;grid-row:auto;min-height:300px;aspect-ratio:16/9}
.feature-story>div{padding:58px 24px 20px}.feature-story h3{margin-top:7px;font-size:22px}.feature-story p{font-size:12px;line-height:1.7}
@media(max-width:680px){.feature-stories{grid-template-columns:1fr}.feature-story,.feature-story-large,.feature-story-wide{min-height:270px;aspect-ratio:4/3}.feature-story>div{padding:52px 18px 18px}.feature-story h3{font-size:20px}}

.step-icon{width:92px;height:92px;margin:0 0 18px;background-repeat:no-repeat;background-size:76px 76px;background-position:center}
.step-icon-1{background-image:url('../assets/images/how-discover.svg')}.step-icon-2{background-image:url('../assets/images/how-record.svg')}.step-icon-3{background-image:url('../assets/images/how-collect.svg')}.step-icon-4{background-image:url('../assets/images/how-map.svg')}
.growth-flow li{min-height:300px}.growth-flow strong{margin-top:17px}
@media(max-width:680px){.step-icon{width:76px;height:76px;margin-bottom:14px}.growth-flow li,.growth-flow li+li{display:grid;grid-template-columns:86px 32px 1fr;align-items:center;column-gap:8px}.growth-flow li .step-icon{grid-row:1/4;margin:0}.growth-flow li strong{margin:0}.growth-flow li p{grid-column:2/4;margin-top:7px}.growth-flow li:not(:last-child)::after{top:auto;right:50%;bottom:-7px;transform:translateX(50%);border-top:11px solid var(--rust);border-right:8px solid transparent;border-left:8px solid transparent;border-bottom:0}}

/* Selectable record fields: one readable list, followed by practical presets. */
.fields-section{padding:88px 6vw 96px;background:#f4f0e5;border-top:1px solid var(--line)}
.fields-heading{align-items:end}.fields-heading>p{max-width:490px}
.fields-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);gap:42px;align-items:start}
.field-list{border-top:1px solid var(--line);background:#faf7ef}
.field-list-title{height:50px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#29342c;color:#f4f0e5}.field-list-title span{font:600 14px var(--serif)}.field-list-title small{color:#aeb8af;font:8px var(--mono);letter-spacing:.14em}
.field-row{min-height:51px;padding:8px 16px 8px 18px;display:grid;grid-template-columns:142px 1fr auto;gap:16px;align-items:center;border-bottom:1px solid rgba(49,61,48,.13)}
.field-row strong{font-size:11px;font-weight:600}.field-row p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.field-row b{min-width:42px;padding:4px 7px;border:1px solid #a8a294;color:#6b675e;font:500 8px var(--mono);text-align:center}.field-row.is-required{background:#eee7d8}.field-row.is-required b{border-color:var(--rust);background:var(--rust);color:#fff}.field-row.is-base b{background:#e6e0d2}
.field-row i,.fields-note i{width:27px;height:15px;position:relative;display:inline-block;border-radius:12px;background:#516a54}.field-row i::after,.fields-note i::after{content:"";position:absolute;right:2px;top:2px;width:11px;height:11px;border-radius:50%;background:#f8f4e9}.field-row.is-custom{background:#e9e2d3}.field-row.is-custom>span{width:27px;height:27px;display:grid;place-items:center;border:1px solid #8e897d;border-radius:50%;color:var(--rust);font:16px var(--serif)}
.field-presets{display:grid;gap:12px}.preset-intro{padding:2px 2px 15px;border-bottom:1px solid var(--line)}.preset-intro span{font:600 16px var(--serif)}.preset-intro p{margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.85}
.field-presets article{padding:18px 19px 19px;border:1px solid var(--line);background:#f9f6ed}.field-presets article small{color:var(--rust);font:8px var(--mono);letter-spacing:.08em}.field-presets article h3{margin:6px 0 7px;font:600 17px var(--serif)}.field-presets article p{margin:0;color:var(--muted);font-size:10px;line-height:1.75}.field-presets article div{margin-top:13px;display:flex;flex-wrap:wrap;gap:5px}.field-presets article div span{padding:4px 7px;border:1px solid rgba(49,61,48,.2);background:#eeeadf;font-size:8px}
.fields-note{margin:22px 0 0;color:var(--muted);font-size:10px;text-align:left}.fields-note i{width:22px;height:12px;margin-right:6px;vertical-align:-2px}.fields-note i::after{width:8px;height:8px}
@media(max-width:900px){.fields-layout{grid-template-columns:1fr}.field-presets{grid-template-columns:repeat(3,1fr)}.preset-intro{grid-column:1/-1}}
@media(max-width:680px){.fields-section{padding:62px 20px 68px}.fields-layout{gap:28px}.field-row{grid-template-columns:1fr auto;gap:2px 12px;padding:10px 12px}.field-row p{grid-column:1;font-size:9px}.field-row b,.field-row i,.field-row>span{grid-column:2;grid-row:1/3}.field-presets{grid-template-columns:1fr}.preset-intro{grid-column:auto}.fields-note{line-height:1.8}}

/* ===========================================================
   PLUM PROJECT トーン合わせ ＋ デモ導線
   2026-08-16 追記。既存ルールは変更せず、この塊だけで上書きしている。
   戻したいときはこのブロックごと削除すれば元のField Atlas単体デザインに戻る。
   =========================================================== */
:root{
  /* PLUMのアクセント（--plum-deep / --sunset / --leaf）を、
     クリーム地でもコントラストが出る明度に落として取り込む */
  --plum:#a45d72;
  --plum-soft:#c78a9a;
  --rust:#b0613b;      /* 元 #a95638。PLUMのsunset寄りへごく僅かに温める */
  --green:#5f7d5e;     /* 元 #49614b。PLUMのleaf寄りへ */
  --klee:'Klee One', 'Shippori Mincho', serif;
}

/* 見出しは据え置き、本文側を上げて落差を詰める（見出しが大きく見える主因は本文の小ささ）*/
body{ font-size:16px; }
.feature-story p{ font-size:13px; line-height:1.9; }
.guide-card small, .field-row p{ font-size:12px; }

/* 大見出しだけPLUMと同じKlee One。小さめのserifはShippori Minchoのまま残す */
.public-hero h1,
.section-heading h2,
.public-map-section h2,
.public-about h2{ font-family:var(--klee); }

/* PLUMへの戻り導線 */
.header-plum-link{
  padding:6px 11px; border:1px solid var(--plum);
  color:var(--plum); font:11px var(--mono); letter-spacing:.1em;
  transition:background .2s, color .2s;
}
.header-plum-link:hover{ background:var(--plum); color:#fff; }
footer{ align-items:center; }
.footer-plum-link{
  color:var(--plum); text-decoration:none;
  font:11px var(--mono); letter-spacing:.12em;
}
.footer-plum-link:hover{ text-decoration:underline; }

/* Hero＝タイトルだけ2カラムの上に1行で通し、その下を2カラムにする */
.public-hero{ align-items:start; row-gap:34px; }
.hero-title{ grid-column:1/-1; }
.hero-title h1{ margin-bottom:0; }
/* 「My図鑑」＋サービス名を1行に収めるので、単独時より少し小さく */
.public-hero h1{ font-size:clamp(38px,5.4vw,74px); }
.hero-brand{
  font:500 .52em/1 var(--mono);
  letter-spacing:.14em; color:var(--plum);
  white-space:nowrap; margin-left:.4em;
}
.hero-copy{ align-self:start; }
.public-hero{ min-height:0; padding-top:64px; padding-bottom:80px; }

/* 機能は2カラム×16:9のグリッド。5枚目（05・公開）は右に空きを作らないよう全幅に */
/* 写真が4:3なので比率を指定しないと全幅時に高くなりすぎる */
.feature-story-share{ grid-column:1/-1; aspect-ratio:2.7/1; min-height:340px; }

/* 機能カード内のリンク（05・公開 → 公開図鑑ビューア） */
.feature-link{
  margin-top:16px; display:inline-flex; align-items:center; gap:12px;
  padding-bottom:4px; text-decoration:none;
  border-bottom:1px solid var(--plum-soft);
  color:#f4f0e5; font-size:13px; letter-spacing:.04em;
  transition:gap .22s, border-color .22s;
}
.feature-link span{
  color:var(--plum-soft); font:inherit; letter-spacing:0;
}
.feature-link:hover{ gap:20px; border-color:#f4f0e5; }

/* 締めのCTAもPLUMのアクセントに寄せる */
.public-about a:hover{ border-color:var(--plum); color:var(--plum); }
.primary-cta span{ color:var(--plum-soft); }

@media(max-width:680px){
  .public-hero{ row-gap:22px; }
  .public-hero h1{ font-size:30px; }
  .hero-brand{ letter-spacing:.1em; margin-left:.35em; }
  .feature-story-share{ grid-column:auto; aspect-ratio:16/9; min-height:340px; }
  .feature-link{ margin-top:12px; font-size:12px; }
  .header-plum-link{ display:none; }
  footer{ align-items:flex-start; }
}
