.page-home{
  --home-line:rgba(43,42,38,.14);
  background-color:var(--paper);
  background-image:repeating-linear-gradient(0deg,rgba(43,42,38,.02) 0 1px,transparent 1px 5px);
  color:var(--ink);
  overflow-x:hidden;
}
.page-home img{ max-width:100%; height:auto; display:block; }

.page-home .home-hero{
  padding:clamp(1.25rem,3.5vw,2.25rem) 0 clamp(1.75rem,4.5vw,3rem);
  background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 55%,var(--paper-2) 100%);
  border-bottom:1px solid var(--home-line);
}
.page-home .hero-head{
  max-width:44rem;
  margin:clamp(1.25rem,3vw,2rem) auto 0;
  text-align:center;
}
.page-home .hero-head h1{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.9rem,6.4vw,3.5rem);
  line-height:1.14;
  letter-spacing:-.02em;
  margin:.5rem 0 0;
  color:var(--ink-green);
}
.page-home .hero-lede{
  font-family:var(--font-body);
  font-size:clamp(1rem,2.4vw,1.15rem);
  line-height:1.8;
  margin:1rem auto 0;
  max-width:34rem;
  color:var(--ink);
}
.page-home .hero-status{
  list-style:none;
  margin:clamp(1.5rem,4vw,2.25rem) auto 0;
  padding:0;
  max-width:62rem;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--home-line);
  border:1px solid var(--home-line);
  border-radius:var(--radius-leaf);
  overflow:hidden;
}
.page-home .hero-status li{
  background:var(--card-paper);
  padding:.9rem 1rem;
  display:flex;
  flex-direction:column;
  gap:.2rem;
}
.page-home .st-num{
  font-family:var(--font-num);
  font-weight:700;
  font-size:clamp(1.5rem,4.5vw,2.1rem);
  line-height:1;
  color:var(--ink-green);
  letter-spacing:.01em;
}
.page-home .st-unit{
  font-size:.5em;
  margin-left:.15em;
  color:var(--deep-green);
}
.page-home .st-label{
  font-size:.78rem;
  line-height:1.5;
  color:var(--muted);
}

.page-home .home-index{ padding:clamp(2rem,5vw,3.5rem) 0; }
.page-home .index-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.75rem,4vw,2.75rem);
}
.page-home .index-head h2{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.5rem,4.2vw,2.25rem);
  line-height:1.2;
  letter-spacing:-.01em;
  margin:.35rem 0 0;
  color:var(--ink);
}
.page-home .index-list{
  list-style:none;
  margin:clamp(1.25rem,3vw,1.75rem) 0 0;
  padding:0;
  border-top:2px solid var(--ink-green);
}
.page-home .index-item{ border-bottom:1px solid var(--home-line); }
.page-home .index-item > a{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.85rem;
  padding:.95rem .3rem .95rem 0;
  text-decoration:none;
  color:inherit;
  transition:background-color .18s ease,padding-left .18s ease;
}
.page-home .index-item > a:hover,
.page-home .index-item > a:focus-visible{
  background:var(--card-paper);
  padding-left:.75rem;
}
.page-home .ix-num{
  font-family:var(--font-num);
  font-size:1.05rem;
  font-weight:700;
  color:var(--sand);
  letter-spacing:.04em;
  min-width:2rem;
}
.page-home .ix-body{
  display:flex;
  flex-direction:column;
  gap:.18rem;
  min-width:0;
}
.page-home .ix-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.02rem,2.6vw,1.18rem);
  color:var(--ink-green);
}
.page-home .ix-desc{
  font-size:.9rem;
  line-height:1.65;
  color:var(--muted);
}
.page-home .ix-arrow{
  display:inline-flex;
  color:var(--vermilion);
  transition:transform .18s ease;
}
.page-home .ix-arrow svg{ display:block; }
.page-home .index-item > a:hover .ix-arrow,
.page-home .index-item > a:focus-visible .ix-arrow{ transform:translateX(4px); }

.page-home .index-side{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.page-home .index-figure{ margin:0; }
.page-home .index-figure img{
  width:100%;
  object-fit:cover;
  border-radius:var(--radius-leaf);
  border:1px solid var(--home-line);
}
.page-home .annotation{
  font-family:var(--font-note);
  font-size:.92rem;
  line-height:1.7;
  color:var(--deep-green);
  border-left:3px solid var(--sand);
  padding-left:.85rem;
  margin:0;
}

.page-home .home-login{
  padding:clamp(2rem,5vw,3.5rem) 0;
  background:var(--paper-2);
  border-top:1px solid var(--home-line);
  border-bottom:1px solid var(--home-line);
}
.page-home .login-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.5rem,4vw,2.5rem);
  align-items:start;
}
.page-home .login-main h2{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.5rem,4.2vw,2.2rem);
  line-height:1.22;
  margin:.35rem 0 .6rem;
  color:var(--ink-green);
}
.page-home .login-intro{
  font-size:.98rem;
  line-height:1.8;
  color:var(--ink);
  margin:0 0 1.1rem;
}
.page-home .login-steps{
  list-style:none;
  margin:0;
  padding:0;
  border-left:2px solid var(--sand);
}
.page-home .login-steps li{ border-bottom:1px solid rgba(43,42,38,.1); }
.page-home .login-steps li:first-child{ border-top:1px solid rgba(43,42,38,.1); }
.page-home .login-steps details{ padding:.1rem 0 .1rem .9rem; }
.page-home .login-steps summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:baseline;
  gap:.7rem;
  padding:.62rem 0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.98rem;
  color:var(--ink);
}
.page-home .login-steps summary::-webkit-details-marker{ display:none; }
.page-home .login-steps summary::marker{ content:""; }
.page-home .login-steps summary::after{
  content:"+";
  margin-left:auto;
  font-family:var(--font-num);
  font-weight:400;
  font-size:1.1rem;
  line-height:1;
  color:var(--vermilion);
  flex:0 0 auto;
}
.page-home .login-steps details[open] summary::after{ content:"–"; }
.page-home .login-steps details[open] summary{ color:var(--deep-green); }
.page-home .ls-num{
  font-family:var(--font-num);
  font-size:.95rem;
  color:var(--deep-green);
  letter-spacing:.04em;
  min-width:1.6rem;
  flex:0 0 auto;
}
.page-home .ls-title{ flex:1 1 auto; min-width:0; }
.page-home .ls-body{
  margin:0 0 .75rem 2.3rem;
  font-size:.9rem;
  line-height:1.8;
  color:var(--ink);
}
.page-home .login-more{ margin:1.25rem 0 0; }

.page-home .login-side{ margin:0; }
.page-home .login-side img{
  width:100%;
  object-fit:cover;
  border-radius:var(--radius-leaf);
  border:1px solid var(--home-line);
}
.page-home .media-caption{
  font-family:var(--font-note);
  font-size:.84rem;
  line-height:1.6;
  color:var(--muted);
  margin-top:.6rem;
  text-align:left;
}

.page-home .home-pick{
  padding:clamp(2rem,5vw,3.5rem) 0;
  background:var(--paper);
}
.page-home .pick-head h2{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.5rem,4.2vw,2.2rem);
  line-height:1.22;
  margin:.35rem 0 .6rem;
  color:var(--ink-green);
}
.page-home .pick-head p{
  font-size:.96rem;
  line-height:1.8;
  margin:0;
  max-width:36rem;
  color:var(--ink);
}
.page-home .pick-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  margin-top:clamp(1.25rem,3vw,1.75rem);
}
.page-home .pick-card{
  background:var(--card-paper);
  border:1px solid var(--home-line);
  border-radius:var(--radius-leaf);
  padding:clamp(1.15rem,3vw,1.75rem);
}
.page-home .pick-card--pick{ border-left:6px solid var(--ink-green); }
.page-home .pick-card--client{
  background:var(--paper-2);
  border-top:6px solid var(--sand);
}
.page-home .pick-card h3{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.1rem,3vw,1.35rem);
  line-height:1.3;
  margin:.55rem 0 .5rem;
  color:var(--ink-green);
}
.page-home .pick-card p{
  margin:0 0 1rem;
  font-size:.94rem;
  line-height:1.8;
  color:var(--ink);
}
.page-home .pick-link{
  display:inline-block;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.9rem;
  color:var(--vermilion);
  text-decoration:none;
  border-bottom:2px solid transparent;
  padding-bottom:2px;
  transition:border-color .18s ease;
}
.page-home .pick-link:hover,
.page-home .pick-link:focus-visible{ border-bottom-color:var(--vermilion); }
.page-home .pick-figure{ margin:clamp(1.25rem,3vw,2rem) 0 0; }
.page-home .pick-figure img{
  width:100%;
  object-fit:cover;
  border-radius:var(--radius-leaf);
  border:1px solid var(--home-line);
}

.page-home .home-guide{
  padding:clamp(2rem,5vw,3.5rem) 0;
  background:var(--paper-2);
  border-top:1px solid var(--home-line);
  border-bottom:1px solid var(--home-line);
}
.page-home .guide-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.5rem,4vw,2.5rem);
}
.page-home .guide-main h2{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.5rem,4.2vw,2.2rem);
  line-height:1.22;
  margin:.35rem 0 .6rem;
  color:var(--ink-green);
}
.page-home .guide-intro{
  font-size:.96rem;
  line-height:1.85;
  margin:0;
  color:var(--ink);
}
.page-home .guide-list{
  list-style:none;
  margin:1.25rem 0 1.5rem;
  padding:0;
}
.page-home .guide-list li{
  display:flex;
  gap:.9rem;
  padding:.95rem 0;
  border-top:1px solid rgba(43,42,38,.12);
}
.page-home .guide-list li:last-child{ border-bottom:1px solid rgba(43,42,38,.12); }
.page-home .gd-num{
  font-family:var(--font-num);
  font-weight:700;
  font-size:.95rem;
  color:var(--sand);
  padding-top:.2rem;
  min-width:1.7rem;
  flex:0 0 auto;
}
.page-home .gd-body{ min-width:0; }
.page-home .gd-body h3{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1rem;
  margin:0 0 .3rem;
  color:var(--ink-green);
}
.page-home .gd-body p{
  margin:0;
  font-size:.9rem;
  line-height:1.75;
  color:var(--muted);
}
.page-home .guide-side{ display:flex; flex-direction:column; gap:1rem; }
.page-home .guide-sticker{
  display:flex;
  align-items:center;
  gap:.85rem;
  background:var(--ink-green);
  color:var(--paper);
  border-radius:var(--radius-leaf);
  padding:.85rem 1rem;
  box-shadow:5px 5px 0 var(--sand);
}
.page-home .gs-num{
  font-family:var(--font-num);
  font-weight:700;
  font-size:1.9rem;
  line-height:1;
  color:var(--sand);
  flex:0 0 auto;
}
.page-home .gs-txt{
  font-size:.82rem;
  line-height:1.6;
}
.page-home .guide-figure{ margin:0; }
.page-home .guide-figure img{
  width:100%;
  object-fit:cover;
  border-radius:var(--radius-leaf);
  border:1px solid var(--home-line);
}

.page-home .home-service{
  padding:clamp(2rem,5vw,3.5rem) 0;
  background:var(--ink-green);
  color:var(--paper);
}
.page-home .home-service .kicker{ color:var(--sand); }
.page-home .home-service h2{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.5rem,4.2vw,2.2rem);
  line-height:1.22;
  margin:.35rem 0 .8rem;
  color:var(--paper);
}
.page-home .svc-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.5rem,4vw,2.5rem);
  align-items:start;
}
.page-home .svc-copy p{
  font-size:.95rem;
  line-height:1.85;
  color:rgba(244,239,228,.86);
  margin:0 0 .9rem;
  max-width:34rem;
}
.page-home .svc-copy .svc-jump{
  color:var(--sand);
  font-size:.9rem;
  margin-bottom:0;
}
.page-home .svc-stats{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:rgba(244,239,228,.2);
  border:1px solid rgba(244,239,228,.2);
  border-radius:var(--radius-leaf);
  overflow:hidden;
}
.page-home .svc-stats li{
  background:var(--ink-green);
  padding:.9rem 1rem;
  display:flex;
  flex-direction:column;
  gap:.2rem;
}
.page-home .sv-num{
  font-family:var(--font-num);
  font-weight:700;
  font-size:clamp(1.35rem,3.5vw,1.75rem);
  line-height:1.1;
  color:var(--sand);
}
.page-home .sv-unit{
  font-size:.52em;
  margin-left:.1em;
  color:rgba(244,239,228,.8);
}
.page-home .sv-label{
  font-size:.78rem;
  line-height:1.5;
  color:rgba(244,239,228,.75);
}
.page-home .svc-foot{
  margin-top:clamp(1.5rem,3vw,2rem);
  padding-top:1.25rem;
  border-top:1px solid rgba(244,239,228,.18);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.85rem;
}
.page-home .svc-legal{
  font-family:var(--font-num);
  font-size:.76rem;
  letter-spacing:.04em;
  color:rgba(244,239,228,.6);
  margin:0;
}

@media (min-width:760px){
  .page-home .hero-status{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .page-home .svc-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width:900px){
  .page-home .index-grid{ grid-template-columns:minmax(0,7fr) minmax(0,4fr); }
  .page-home .index-side{ position:sticky; top:1.5rem; }
  .page-home .login-grid{ grid-template-columns:minmax(0,6fr) minmax(0,5fr); }
  .page-home .login-side{ position:sticky; top:1.5rem; }
  .page-home .pick-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; }
  .page-home .pick-card--client{ margin-top:2.5rem; }
  .page-home .guide-grid{ grid-template-columns:minmax(0,7fr) minmax(0,4fr); }
  .page-home .svc-grid{ grid-template-columns:minmax(0,6fr) minmax(0,5fr); }
  .page-home .svc-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-home .index-item > a{ padding:1.05rem .4rem 1.05rem 0; }
}

@media (prefers-reduced-motion:reduce){
  .page-home .index-item > a,
  .page-home .ix-arrow,
  .page-home .pick-link{ transition:none; }
  .page-home .index-item > a:hover .ix-arrow,
  .page-home .index-item > a:focus-visible .ix-arrow{ transform:none; }
}
