@font-face{font-family:'Jakarta Fallback';src:local('Arial');font-weight:400 600;size-adjust:103.64%;ascent-override:100.35%;descent-override:21.23%;line-gap-override:0%}
@font-face{font-family:'Jakarta Fallback';src:local('Arial Bold');font-weight:700 800;size-adjust:100.12%;ascent-override:103.88%;descent-override:21.97%;line-gap-override:0%}
:root{--forest:#0b2a1f;--forest-2:#123a2c;--leaf:#1fbf74;--leaf-d:#0f8a52;--sun:#ffd23f;--paper:#fbfaf6;--white:#fff;--tint:#eef4ee;--text:#18241f;--soft:#4f5d56;--line:#dfe6df;--font:'Plus Jakarta Sans','Jakarta Fallback',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font:400 1.05rem/1.78 var(--font);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--leaf-d)}
h1,h2,h3,p{margin-top:0}
.wrap{width:min(1100px,100% - 48px);margin-inline:auto}
.read{max-width:760px;margin-inline:auto}
section[id]{scroll-margin-top:74px}

.top{position:sticky;top:0;z-index:30;background:var(--forest);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:64px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo img{width:104px;height:34px;object-fit:contain}
.logo span{color:var(--sun);font-weight:800;font-size:.86rem;letter-spacing:.01em;white-space:nowrap}
.menu{display:flex;gap:2px}
.menu a{color:#d8e8de;text-decoration:none;font-weight:600;font-size:.92rem;padding:8px 12px;border-radius:999px;white-space:nowrap}
.menu a:hover{background:rgba(255,255,255,.08);color:#fff}
.menu-btn{display:none;background:none;border:0;padding:8px;cursor:pointer}
.menu-btn span{display:block;width:24px;height:2px;margin:5px 0;background:#fff;border-radius:2px}

.intro{position:relative;background:linear-gradient(180deg,var(--forest) 0,var(--forest) 62%,var(--paper) 62%);padding:58px 0 40px}
.intro::before{content:'';position:absolute;inset:0 0 38% 0;background:radial-gradient(700px 360px at 85% 10%,rgba(31,191,116,.28),transparent 65%),radial-gradient(520px 300px at 5% 90%,rgba(255,210,63,.12),transparent 70%);pointer-events:none}
.intro-text{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px 56px;align-items:end;margin-bottom:38px}
.intro h1{grid-row:span 2;margin:0;color:#fff;font-size:clamp(3rem,7vw,5.6rem);line-height:.95;font-weight:800;letter-spacing:-.04em}
.intro-text p{margin:0;color:#dbe9e0;font-size:1.12rem;line-height:1.7}
.intro-text .intro-small{color:#a9c2b4;font-size:1rem}
.hero-shot{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#1d2534;box-shadow:0 34px 80px rgba(11,42,31,.35),0 0 0 6px rgba(255,255,255,.7)}
.hero-shot img{width:100%;aspect-ratio:1200/500}
.hero-shot figcaption,.shot figcaption{padding:12px 18px;background:var(--forest);color:#cfe1d6;font-size:.88rem}
figcaption b{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:4px;border-radius:50%;background:var(--sun);color:var(--forest);font-size:.78rem}

.sec{padding:78px 0;background:var(--paper)}
.sec.tint{background:var(--tint)}
.sec h2{margin:0 0 18px;font-size:clamp(1.8rem,3.3vw,2.5rem);line-height:1.14;font-weight:800;letter-spacing:-.025em;color:var(--forest)}
.sec h3{margin:30px 0 10px;font-size:1.22rem;line-height:1.35;font-weight:800;color:var(--forest-2)}
.sec p{margin:0 0 18px;color:var(--soft)}

.steps{counter-reset:s;list-style:none;margin:26px 0 24px;padding:0}
.steps li{counter-increment:s;position:relative;padding:18px 20px 18px 74px;margin-bottom:12px;background:var(--white);border:1px solid var(--line);border-radius:16px;color:var(--soft);line-height:1.6}
.steps li::before{content:counter(s);position:absolute;left:18px;top:16px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--sun);color:var(--forest);font-weight:800;box-shadow:0 0 0 4px rgba(255,210,63,.25)}
.steps b{display:block;color:var(--text);margin-bottom:2px}

.tbl{margin:24px 0;overflow-x:auto;border-radius:18px;border:1px solid var(--line);background:var(--white)}
.tbl table{width:100%;min-width:620px;border-collapse:collapse;font-size:.94rem}
.tbl th,.tbl td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}
.tbl thead th{background:var(--forest);color:#fff;font-weight:700;font-size:.86rem}
.tbl tbody th{color:var(--forest);font-weight:800;white-space:nowrap}
.tbl td{color:var(--soft)}
.tbl tbody tr:last-child>*{border-bottom:0}

.ticks{list-style:none;margin:0 0 22px;padding:0}
.ticks li{position:relative;padding-left:34px;margin-bottom:12px;color:var(--soft)}
.ticks li::before{content:'';position:absolute;left:4px;top:6px;width:18px;height:18px;border-radius:50%;background:var(--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}

.shot{margin:28px 0 24px;border-radius:18px;overflow:hidden;background:#1d2534;box-shadow:0 22px 50px rgba(11,42,31,.18)}
.shot.wide{max-width:1040px;margin:30px auto 34px}

.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:60px;align-items:center}
.phone{margin:0 auto;width:280px;padding:12px;border-radius:44px;background:#121a17;box-shadow:0 36px 70px rgba(11,42,31,.28),inset 0 0 0 2px #2b3a33}
.phone img{width:100%;border-radius:33px;aspect-ratio:560/1223}

.dark{background:radial-gradient(760px 400px at 0% 0%,rgba(31,191,116,.18),transparent 60%),var(--forest)}
.dark h2{color:#fff}
.dark h3{color:var(--sun)}
.dark p{color:#b9cdc1}
.dark .shot{box-shadow:0 30px 70px rgba(0,0,0,.45)}

.author{margin-top:34px;padding:22px 24px;border-radius:18px;background:var(--white);border:1px solid var(--line)}
.author p{margin:0 0 6px}
.author-name{font-weight:800;font-size:1.1rem;color:var(--forest)!important}
.author-role{font-weight:700;font-size:.9rem;color:var(--leaf-d)!important}

.foot{background:var(--forest);color:#94ae9f;font-size:.9rem;padding:24px 0}
.foot-in{display:flex;align-items:center;gap:12px}
.age{padding:2px 9px;border-radius:6px;background:var(--sun);color:var(--forest);font-weight:800;font-size:.8rem}

@media (max-width:900px){
  .intro-text{grid-template-columns:minmax(0,1fr)}
  .intro h1{grid-row:auto}
  .split{grid-template-columns:minmax(0,1fr);gap:36px}
}
@media (max-width:760px){
  body{font-size:1.02rem}
  .wrap{width:calc(100% - 32px)}
  .top-in{height:58px}
  .menu-btn{display:block}
  .menu{display:none;position:absolute;top:58px;left:0;right:0;flex-direction:column;gap:0;padding:8px 16px 16px;background:var(--forest)}
  .menu.open{display:flex}
  .menu a{padding:12px 4px;border-radius:0}
  .intro{padding:38px 0 30px;background:linear-gradient(180deg,var(--forest) 0,var(--forest) 72%,var(--paper) 72%)}
  .intro h1{font-size:3.1rem}
  .intro-text{margin-bottom:28px}
  .hero-shot{border-radius:14px;box-shadow:0 20px 40px rgba(11,42,31,.3),0 0 0 4px rgba(255,255,255,.7)}
  .sec{padding:56px 0}
  .sec h2{font-size:1.75rem}
  .steps li{padding:16px 16px 16px 64px}
  .steps li::before{left:14px;width:34px;height:34px}
  .phone{width:240px;border-radius:38px}
  .phone img{border-radius:28px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
