/* ============================================================
   利益構造DX — Sections
   ============================================================ */

/* ---------- trust / stats bar ---------- */
.trust{ background:var(--acc-darker); color:#fff; position:relative; overflow:hidden; }
.trust::before{ content:""; position:absolute; inset:0; background:radial-gradient(700px 300px at 80% -40%, oklch(0.5 0.12 var(--acc-h) / .5), transparent 60%); }
.trust .wrap{ position:relative; z-index:2; }
.trust-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding-block:46px; }
.tstat{ text-align:center; padding-inline:14px; }
.tstat + .tstat{ border-left:1px solid oklch(1 0 0 / .12); }
.tstat .v{ font-family:var(--font-display); font-weight:700; font-size:clamp(34px,4.6vw,52px); line-height:1; color:#fff; display:flex; align-items:baseline; justify-content:center; gap:2px; }
.tstat .v small{ font-size:.42em; color:var(--acc-bright); font-weight:600; margin-left:2px; }
.tstat .l{ font-size:13px; color:oklch(1 0 0 / .7); margin-top:10px; letter-spacing:.02em; }
@media (max-width:720px){ .trust-grid{ grid-template-columns:1fr 1fr; gap:30px 16px; } .tstat:nth-child(odd){ border-left:0; } .tstat:nth-child(3),.tstat:nth-child(4){ border-top:1px solid oklch(1 0 0 / .12); padding-top:26px; } }

/* ---------- problem ---------- */
.problem{ background:var(--bg); }
.prob-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%,300px),1fr)); gap:20px; }
.prob-card{
  position:relative; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:30px 28px 28px; overflow:hidden; transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.prob-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent; }
.prob-card__ic{ width:58px; height:58px; border-radius:16px; display:grid; place-items:center; background:var(--warn-tint); color:var(--warn); margin-bottom:22px; }
.prob-card__ic svg{ width:28px; height:28px; }
.prob-card__no{ position:absolute; top:18px; right:22px; font-family:var(--font-display); font-weight:700; font-size:50px; color:var(--line-soft); line-height:1; }
.prob-card h3{ font-size:20px; margin:0 0 10px; font-weight:700; }
.prob-card p{ margin:0; font-size:14.5px; line-height:1.75; color:var(--ink-soft); }
.prob-card .pain{ display:inline-flex; align-items:center; gap:7px; margin-top:18px; font-size:12.5px; font-weight:600; color:var(--warn); background:var(--warn-tint); padding:5px 12px; border-radius:999px; }
.prob-bridge{ text-align:center; margin-top:54px; display:flex; flex-direction:column; align-items:center; gap:6px; }
.prob-bridge .arr{ color:var(--acc); animation:bobv 2.4s var(--ease) infinite; }
.prob-bridge .arr svg{ width:30px; height:30px; }
.prob-bridge b{ font-size:clamp(20px,2.6vw,30px); font-weight:700; }
@keyframes bobv{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(8px);} }
@media (prefers-reduced-motion: reduce){ .prob-bridge .arr{ animation:none; } }

/* ---------- solution ---------- */
.solution{ background:var(--bg-soft); }
.sol-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%,300px),1fr)); gap:22px; }
.sol-card{
  background:var(--card); border-radius:var(--r-lg); padding:32px 28px; border:1px solid var(--line);
  position:relative; overflow:hidden; transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.sol-card::before{ content:""; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg,var(--acc),var(--acc-bright)); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); }
.sol-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.sol-card:hover::before{ transform:scaleX(1); }
.sol-card__no{ font-family:var(--font-display); font-size:13px; font-weight:600; letter-spacing:.1em; color:var(--acc-deep); }
.sol-card__ic{ width:62px; height:62px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(150deg,var(--acc-tint),var(--acc-tint-2)); color:var(--acc-deep); margin:16px 0 20px; }
.sol-card__ic svg{ width:30px; height:30px; }
.sol-card h3{ font-size:21px; margin:0 0 12px; font-weight:700; }
.sol-card p{ margin:0; font-size:14.5px; line-height:1.78; color:var(--ink-soft); }
.sol-card .res{ margin-top:20px; padding-top:18px; border-top:1px dashed var(--line); display:flex; align-items:baseline; gap:8px; }
.sol-card .res b{ font-family:var(--font-display); font-size:30px; color:var(--acc-deep); line-height:1; }
.sol-card .res span{ font-size:13px; color:var(--ink-faint); }

/* ---------- before / after ---------- */
.ba{ background:var(--bg); }
.ba-grid{ display:grid; grid-template-columns:1fr auto 1fr; gap:0; align-items:stretch; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg); border:1px solid var(--line); }
.ba-col{ padding:30px 28px; }
.ba-col--before{ background:var(--warn-tint); }
.ba-col--after{ background:linear-gradient(160deg,var(--acc-tint),#fff); }
.ba-col__head{ display:flex; align-items:center; gap:11px; margin-bottom:20px; }
.ba-col__head .tag{ font-family:var(--font-display); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:5px 12px; border-radius:999px; }
.ba-col--before .tag{ background:var(--warn); color:#fff; }
.ba-col--after .tag{ background:var(--acc); color:#fff; }
.ba-col__head h3{ font-size:17px; margin:0; font-weight:700; }
.ba-line{ display:flex; align-items:center; gap:14px; padding:11px 0; border-bottom:1px solid oklch(0.3 0.02 162 / .07); }
.ba-line:last-child{ border-bottom:0; }
.ba-line .tm{ font-family:var(--font-display); font-size:13px; font-weight:600; color:var(--ink-faint); width:48px; flex:none; }
.ba-line .txt{ font-size:14px; line-height:1.4; }
.ba-line .ico{ width:22px; height:22px; flex:none; display:grid; place-items:center; border-radius:6px; }
.ba-col--before .ico{ background:oklch(0.66 0.15 38 / .16); color:var(--warn); }
.ba-col--after .ico{ background:var(--acc-tint-2); color:var(--acc-deep); }
.ba-line .ico svg{ width:14px; height:14px; }
.ba-mid{ display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--card); padding:20px 24px; gap:10px; }
.ba-mid .vs{ width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:var(--acc-darker); color:#fff; font-family:var(--font-display); font-weight:700; font-size:15px; box-shadow:var(--shadow); }
.ba-result{ margin-top:30px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ba-res-card{ background:var(--acc-darker); color:#fff; border-radius:var(--r-lg); padding:28px 30px; display:flex; align-items:center; gap:20px; position:relative; overflow:hidden; }
.ba-res-card::after{ content:""; position:absolute; right:-30px; top:-30px; width:160px; height:160px; border-radius:50%; background:radial-gradient(circle, oklch(0.5 0.12 var(--acc-h) / .6), transparent 70%); }
.ba-res-card .ic{ width:56px; height:56px; border-radius:16px; background:oklch(1 0 0 / .1); display:grid; place-items:center; color:var(--acc-bright); flex:none; z-index:1; }
.ba-res-card .ic svg{ width:28px; height:28px; }
.ba-res-card .v{ font-family:var(--font-display); font-weight:700; font-size:clamp(30px,4vw,44px); line-height:1; z-index:1; }
.ba-res-card .v small{ font-size:.4em; color:var(--acc-bright); margin-left:4px; }
.ba-res-card .l{ font-size:13px; color:oklch(1 0 0 / .72); margin-top:8px; z-index:1; }
@media (max-width:820px){
  .ba-grid{ grid-template-columns:1fr; }
  .ba-mid{ flex-direction:row; padding:14px; }
  .ba-result{ grid-template-columns:1fr; }
}

/* ---------- how it works ---------- */
.how{ background:var(--bg-soft); }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; }
.steps::before{ content:""; position:absolute; top:34px; left:11%; right:11%; height:2px; background:repeating-linear-gradient(90deg,var(--line) 0 8px, transparent 8px 16px); z-index:0; }
.step{ position:relative; z-index:1; text-align:center; }
.step__num{ width:68px; height:68px; margin:0 auto 22px; border-radius:50%; background:var(--card); border:2px solid var(--line); display:grid; place-items:center; font-family:var(--font-display); font-weight:700; font-size:26px; color:var(--acc-deep); box-shadow:var(--shadow-sm); transition:transform .35s var(--ease), border-color .35s, background .35s, color .35s; }
.step:hover .step__num{ transform:translateY(-5px) scale(1.05); border-color:var(--acc); background:var(--acc); color:#fff; }
.step h3{ font-size:17px; margin:0 0 9px; font-weight:700; }
.step p{ font-size:13.5px; line-height:1.7; color:var(--ink-soft); margin:0 0 14px; }
.step .meta{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--acc-deep); background:var(--acc-tint); padding:5px 12px; border-radius:999px; }
@media (max-width:760px){ .steps{ grid-template-columns:1fr 1fr; gap:34px 18px; } .steps::before{ display:none; } }
@media (max-width:430px){ .steps{ grid-template-columns:1fr; } }

/* ---------- simulator ---------- */
.sim{ background:var(--acc-darker); color:#fff; position:relative; overflow:hidden; }
.sim::before{ content:""; position:absolute; inset:0; background:radial-gradient(800px 400px at 12% 110%, oklch(0.45 0.11 var(--acc-h) / .55), transparent 60%); }
.sim .wrap{ position:relative; z-index:2; }
.sim .sec-head .eyebrow{ color:var(--acc-bright); }
.sim .sec-head .h-lg{ color:#fff; }
.sim .sec-head .lead{ color:oklch(1 0 0 / .75); }
.sim-card{ display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; background:oklch(1 0 0 / .07); border:1px solid oklch(1 0 0 / .15); border-radius:var(--r-lg); padding:clamp(26px,4vw,44px); backdrop-filter:blur(10px); }
.sim-controls{ display:flex; flex-direction:column; gap:26px; }
.sim-field label{ display:flex; justify-content:space-between; align-items:baseline; font-size:14px; margin-bottom:12px; color:oklch(1 0 0 / .85); }
.sim-field label .out{ font-family:var(--font-display); font-weight:700; font-size:20px; color:var(--acc-bright); white-space:nowrap; }
.sim-range{ -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:999px; background:oklch(1 0 0 / .15); outline:none; }
.sim-range::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:24px; height:24px; border-radius:50%; background:#fff; border:4px solid var(--acc-bright); box-shadow:var(--shadow); cursor:pointer; transition:transform .15s; }
.sim-range::-webkit-slider-thumb:hover{ transform:scale(1.12); }
.sim-range::-moz-range-thumb{ width:24px; height:24px; border-radius:50%; background:#fff; border:4px solid var(--acc-bright); cursor:pointer; }
.sim-field .hint{ font-size:11.5px; color:oklch(1 0 0 / .5); margin-top:8px; }
.sim-out{ text-align:center; padding:30px 24px; border-radius:var(--r); background:linear-gradient(165deg, oklch(1 0 0 / .12), oklch(1 0 0 / .03)); border:1px solid oklch(1 0 0 / .16); }
.sim-out .k{ font-size:13px; color:oklch(1 0 0 / .7); letter-spacing:.04em; }
.sim-out .big{ font-family:var(--font-display); font-weight:700; font-size:clamp(46px,7vw,72px); line-height:1; margin:8px 0; color:#fff; }
.sim-out .big small{ font-size:.34em; color:var(--acc-bright); }
.sim-out .unit{ font-size:13px; color:oklch(1 0 0 / .65); }
.sim-out .yearly{ margin-top:18px; padding-top:16px; border-top:1px solid oklch(1 0 0 / .14); font-size:14px; color:oklch(1 0 0 / .8); }
.sim-out .yearly b{ font-family:var(--font-display); color:var(--acc-bright); font-size:22px; }
@media (max-width:760px){ .sim-card{ grid-template-columns:1fr; gap:30px; } }

/* ---------- FAQ ---------- */
.faq{ background:var(--bg); }
.faq-list{ max-width:780px; margin-inline:auto; display:flex; flex-direction:column; gap:14px; }
.faq-item{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; transition:border-color .3s, box-shadow .3s; }
.faq-item.open{ border-color:var(--acc-tint-2); box-shadow:var(--shadow); }
.faq-q{ width:100%; text-align:left; background:none; border:0; padding:22px 26px; display:flex; align-items:center; gap:16px; cursor:pointer; font-family:inherit; font-size:16.5px; font-weight:700; color:var(--ink); }
.faq-q .qmark{ font-family:var(--font-display); color:var(--acc-deep); flex:none; font-size:18px; }
.faq-q .plus{ margin-left:auto; width:30px; height:30px; flex:none; border-radius:50%; background:var(--acc-tint); display:grid; place-items:center; color:var(--acc-deep); transition:transform .35s var(--ease), background .3s; position:relative; }
.faq-q .plus::before,.faq-q .plus::after{ content:""; position:absolute; background:currentColor; border-radius:2px; }
.faq-q .plus::before{ width:13px; height:2.2px; }
.faq-q .plus::after{ width:2.2px; height:13px; transition:transform .35s var(--ease); }
.faq-item.open .plus{ background:var(--acc); color:#fff; transform:rotate(90deg); }
.faq-item.open .plus::after{ transform:scaleY(0); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.faq-a__inner{ padding:0 26px 24px 60px; font-size:14.5px; line-height:1.8; color:var(--ink-soft); }

/* ---------- contact / CTA ---------- */
.cta{ background:linear-gradient(165deg, var(--acc-deep), var(--acc-darker)); color:#fff; position:relative; overflow:hidden; }
.cta::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(oklch(1 0 0 / .04) 1px, transparent 1px),linear-gradient(90deg,oklch(1 0 0 / .04) 1px,transparent 1px); background-size:54px 54px; mask-image:radial-gradient(90% 90% at 50% 0%, #000, transparent 75%); -webkit-mask-image:radial-gradient(90% 90% at 50% 0%, #000, transparent 75%); }
.cta .glow{ position:absolute; width:520px; height:520px; border-radius:50%; filter:blur(80px); background:oklch(0.55 0.13 var(--acc-h)); opacity:.4; top:-200px; right:-80px; }
.cta-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.cta-copy .h-lg{ color:#fff; }
.cta-copy .lead{ color:oklch(1 0 0 / .8); margin-top:18px; }
.cta-points{ list-style:none; padding:0; margin:30px 0 0; display:flex; flex-direction:column; gap:14px; }
.cta-points li{ display:flex; align-items:center; gap:13px; font-size:15px; }
.cta-points .ck{ width:26px; height:26px; border-radius:50%; background:var(--acc-bright); color:var(--acc-darker); display:grid; place-items:center; flex:none; }
.cta-points .ck svg{ width:15px; height:15px; }
.form-card{ background:var(--card); border-radius:var(--r-lg); padding:clamp(26px,3vw,38px); box-shadow:var(--shadow-lg); color:var(--ink); }
.form-card h3{ margin:0 0 4px; font-size:21px; }
.form-card .sub{ margin:0 0 24px; font-size:13.5px; color:var(--ink-faint); }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:13px; font-weight:600; margin-bottom:7px; color:var(--ink-soft); }
.field label .req{ color:var(--warn); margin-left:4px; }
.field input,.field textarea{ width:100%; padding:13px 15px; border:1px solid var(--line); border-radius:var(--r-sm); font-family:inherit; font-size:15px; color:var(--ink); background:var(--bg); transition:border-color .2s, box-shadow .2s; }
.field input:focus,.field textarea:focus{ outline:none; border-color:var(--acc); box-shadow:0 0 0 4px var(--acc-tint); background:#fff; }
.field textarea{ resize:vertical; min-height:88px; }
.form-card .btn{ width:100%; margin-top:8px; }
.form-card .privacy{ text-align:center; font-size:11.5px; color:var(--ink-faint); margin-top:14px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:860px){ .cta-grid{ grid-template-columns:1fr; gap:40px; } }
@media (max-width:480px){ .form-row{ grid-template-columns:1fr; } }

/* ---------- philosophy / brand (outlined watermark) ---------- */
.philosophy{ position:relative; overflow:hidden; background:linear-gradient(158deg, var(--acc-darker), oklch(0.165 0.028 162)); color:#fff; }
.philosophy .diag{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.philosophy .diag::before{ content:""; position:absolute; top:-25%; bottom:-25%; right:-8%; width:56%; transform:skewX(-12deg);
  background:linear-gradient(180deg, oklch(0.5 0.12 var(--acc-h) / .30), oklch(0.45 0.11 var(--acc-h) / .08)); }
.philosophy .watermark{ position:absolute; right:max(3%, calc(50% - 560px)); top:50%; transform:translateY(-48%); z-index:1;
  text-align:right; font-family:var(--font-display); font-weight:700; font-size:clamp(56px,11vw,164px); line-height:.9;
  letter-spacing:-.02em; color:transparent; -webkit-text-stroke:1.5px oklch(1 0 0 / .14); text-stroke:1.5px oklch(1 0 0 / .14);
  pointer-events:none; user-select:none; white-space:nowrap; }
.philo-inner{ position:relative; z-index:2; }
.philo-copy{ max-width:600px; }
.philo-copy .h-lg{ color:#fff; margin-top:18px; }
.philo-copy .lead{ color:oklch(1 0 0 / .82); margin-top:20px; max-width:540px; }
.mark2{ background:linear-gradient(transparent 60%, oklch(0.82 0.17 142 / .35) 60%); padding-inline:.05em; }
.promises{ display:flex; flex-direction:column; gap:0; margin:30px 0 0; max-width:560px; }
.promise{ display:flex; align-items:baseline; gap:18px; padding:15px 0; border-top:1px solid oklch(1 0 0 / .12); }
.promise b{ font-family:var(--font-display); font-size:15px; font-weight:600; color:var(--acc-bright); flex:none; min-width:172px; letter-spacing:.01em; }
.promise span{ font-size:14.5px; color:oklch(1 0 0 / .78); }
.philo-sign{ margin:36px 0 0; font-family:var(--font-display); font-size:clamp(20px,2.6vw,30px); font-weight:600; color:#fff; letter-spacing:.01em; }
.philo-sign span{ display:inline-block; font-family:var(--font-jp); font-size:14px; font-weight:500; color:oklch(1 0 0 / .6); margin-left:12px; }
@media (max-width:900px){
  .philosophy .watermark{ font-size:clamp(46px,15vw,118px); top:auto; bottom:26px; transform:none; right:4%; }
  .promise b{ min-width:150px; }
}
@media (max-width:560px){
  .philosophy .watermark{ display:none; }
  .promise{ flex-direction:column; gap:5px; }
  .promise b{ min-width:0; }
}

/* ---------- voice / proof (権威性・信頼性) ---------- */
.voice{ background:var(--bg); }
.logo-strip{ text-align:center; margin-bottom:clamp(40px,5vw,58px); }
.logo-strip__label{ display:block; font-family:var(--font-display); font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:22px; }
.logos{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.logo-ph{ width:138px; height:52px; border-radius:10px; display:grid; place-items:center; background:var(--bg-soft); border:1px solid var(--line); color:var(--ink-faint); font-family:var(--font-display); font-size:12px; letter-spacing:.12em; opacity:.85; }
.voice-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.voice-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 26px; display:flex; flex-direction:column; gap:16px; box-shadow:var(--shadow-sm); transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.voice-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.voice-card__head{ display:flex; align-items:center; gap:13px; }
.voice-av{ width:52px; height:52px; flex:none; box-shadow:var(--shadow-sm); }
.voice-card__who{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.voice-card__who .nm{ font-weight:700; font-size:15px; }
.voice-card__who .co{ font-size:12px; color:var(--ink-faint); }
.stars{ display:flex; gap:1px; color:var(--acc); font-size:15px; margin-left:auto; flex:none; }
.stars .off{ color:var(--line); }
.voice-card__quote{ font-size:14.5px; line-height:1.85; color:var(--ink-soft); margin:0; }
.voice-card__quote b{ color:var(--ink); font-weight:700; background:linear-gradient(transparent 62%, var(--acc-tint-2) 62%); }
.voice-card__res{ margin-top:auto; display:inline-flex; align-items:center; gap:8px; align-self:flex-start; font-size:13px; font-weight:600; color:var(--acc-deep); background:var(--acc-tint); padding:8px 14px; border-radius:999px; }
.voice-card__res b{ font-family:var(--font-display); font-size:15px; }
.voice-note{ text-align:center; margin:34px 0 0; font-size:12px; color:var(--ink-faint); }
@media (max-width:820px){ .voice-grid{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; } }

/* ---------- CTA offer extras ---------- */
.cta-badge{ display:inline-flex; align-items:center; gap:9px; padding:8px 16px; border-radius:999px; font-size:12.5px; font-weight:700; letter-spacing:.02em; color:var(--acc-darker); background:var(--acc-bright); margin-bottom:20px; }
.cta-badge::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--acc-darker); animation:pulse 2.4s var(--ease) infinite; }
.cta-bonus{ margin-top:22px; display:flex; gap:13px; align-items:flex-start; padding:15px 17px; border-radius:var(--r); background:oklch(1 0 0 / .08); border:1px solid oklch(1 0 0 / .18); font-size:13.5px; color:oklch(1 0 0 / .88); line-height:1.65; }
.cta-bonus b{ flex:none; font-family:var(--font-display); font-size:11px; letter-spacing:.06em; color:var(--acc-darker); background:var(--acc-bright); padding:5px 10px; border-radius:7px; margin-top:1px; }

/* ---------- footer ---------- */
.ft{ background:oklch(0.18 0.02 162); color:oklch(1 0 0 / .6); padding-block:52px 30px; font-size:13.5px; }
.ft-top{ display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; padding-bottom:30px; border-bottom:1px solid oklch(1 0 0 / .1); }
.ft .brand__name{ color:#fff; }
.ft .brand__name b{ color:var(--acc-bright); }
.ft .brand__tag{ color:oklch(1 0 0 / .45); font-family:var(--font-jp); font-weight:500; letter-spacing:.04em; text-transform:none; }
.ft-desc{ max-width:340px; margin-top:16px; line-height:1.7; color:oklch(1 0 0 / .5); }
.ft-cols{ display:flex; gap:60px; flex-wrap:wrap; }
.ft-col h4{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:oklch(1 0 0 / .4); margin:0 0 14px; font-family:var(--font-display); }
.ft-col a{ display:block; margin-bottom:10px; color:oklch(1 0 0 / .68); transition:color .2s; }
.ft-col a:hover{ color:#fff; }
.ft-bot{ padding-top:24px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; color:oklch(1 0 0 / .4); font-size:12.5px; }
