/* Shared visual language with /home/: navy sections, orange diagonals,
   soft service panels and 0.8s scroll reveals. */
.ap-landing .section-pad { padding-top: 100px; padding-bottom: 100px; }
.ap-landing .section-heading { margin-bottom: 50px; }
.ap-landing .header { transition: background .3s, box-shadow .3s; }
.ap-landing .header.is-scrolled { background: rgba(255,255,255,.96); box-shadow: 0 2px 20px #0000000d; }
.ap-landing .angled:after { height: 40px; bottom: -20px; transform: skewY(-2.5deg); }
.ap-landing .contact:after { display: none; }
.ap-landing .mission { padding: 100px 0 112px; }
.ap-landing .contact { padding: 120px 0; }
.ap-landing .support-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.ap-landing .support-list article {
  position: relative; display: block; padding: 50px 28px 36px; overflow: hidden;
  background: #fff; border: 0;
  border-radius: 12px; box-shadow: 0 10px 30px #0000000d;
  transition: transform .3s, box-shadow .3s;
}
.ap-landing .support-list article > span {
  position: absolute; top: 10px; left: 20px; font-size: 64px;
  color: #ea540510; line-height: 1; pointer-events: none;
}
.ap-landing .support-list article > div { position: relative; }
.ap-landing .support-list article:before,.ap-landing .support-list article:after {
  content: ''; position: absolute; right: 25px; top: -10px; width: 6px;
  height: 60px; background: var(--orange); transform: rotate(55deg);
  transition: transform .3s; pointer-events: none;
}
.ap-landing .support-list article:after { top: -15px; right: 18px; width: 2px; height: 90px; }
.ap-landing .support-list h3 { font-size: 21px; line-height: 1.6; margin-bottom: 18px; }
.ap-landing .case-card { border: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 10px 30px #0000000d; }
.ap-landing .cases { background: var(--paper); }
.ap-landing .roadmap { background: #fff; }
.ap-landing .roadmap-steps { border-radius: 12px; overflow: hidden; }
.ap-landing .roadmap-steps li { background: var(--paper); }
.ap-landing .price-panel { border-radius: 12px; overflow: hidden; }
.ap-landing .article-photo,.ap-landing .article-row img { border-radius: 8px; overflow: hidden; }
.ap-landing .article-photo img { transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.ap-landing .line-button,.ap-landing .orange-button,.ap-landing .outline-button { transition: transform .3s, background .3s, box-shadow .3s; }
.ap-landing .line-button { background: #06c755; box-shadow: 0 10px 20px #06c7554d; }
.ap-landing .orange-button { box-shadow: 0 10px 20px #ea54054d; }

@media (hover:hover) and (pointer:fine) {
  .ap-landing .support-list article:hover { transform: translateY(-5px); box-shadow: 0 15px 35px #00000012; }
  .ap-landing .support-list article:hover:before { transform: rotate(55deg) translateY(-5px); }
  .ap-landing .support-list article:hover:after { transform: rotate(55deg) translateY(-2px); }
  .ap-landing .line-button:hover { transform: translateY(-3px) scale(1.03); background: #06c755; box-shadow: 0 15px 25px #06c75566; }
  .ap-landing .orange-button:hover,.ap-landing .outline-button:hover { transform: translateY(-3px) scale(1.03); }
  .ap-landing .featured-article:hover .article-photo img { transform: scale(1.04); }
}

@media (prefers-reduced-motion:no-preference) {
  .hero-kicker,.hero h1,.hero-sub,.hero-description,.hero-actions {
    animation: aparise-fade-up 1.2s cubic-bezier(.2,.8,.2,1) both;
  }
  .hero-kicker { animation-delay: .05s; }
  .hero h1 { animation-delay: .12s; }
  .hero-sub { animation-delay: .3s; }
  .hero-description { animation-delay: .45s; }
  .hero-actions { animation-delay: .55s; }
  .hero-visual { animation: aparise-photo-reveal 1.4s cubic-bezier(.2,.8,.2,1) both; }
  .scroll-reveal {
    opacity: 1; transform: none;
    transition: opacity .8s ease-out var(--reveal-delay,0ms), transform .8s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms);
  }
  .scroll-reveal.reveal-pending { opacity: 0; transform: translateY(30px); }
  .ap-landing .support-list article.scroll-reveal {
    transition: opacity .8s ease-out var(--reveal-delay,0ms), transform .8s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms), box-shadow .3s;
  }
}
@keyframes aparise-fade-up { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
@keyframes aparise-photo-reveal {
  from { opacity: 0; clip-path: polygon(100% 0,100% 0,100% 100%,100% 100%); }
  to { opacity: 1; clip-path: var(--photo-clip,polygon(17% 0,100% 0,100% 100%,0 100%)); }
}
@media(max-width:1000px) { .ap-landing .support-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; } }
@media(max-width:900px) { .hero-visual { --photo-clip: polygon(22% 0,100% 0,100% 100%,0 100%); } }
@media(max-width:700px) {
  .ap-landing .section-pad { padding: 64px 0; }
  .ap-landing .section-heading { margin-bottom: 34px; }
  .ap-landing .mission { padding: 64px 0 76px; }
  .ap-landing .contact { padding: 76px 0 84px; }
  .ap-landing .angled:after { height: 24px; bottom: -12px; }
  .ap-landing .support-list { grid-template-columns: 1fr; gap: 22px; margin-top: 34px; }
  .ap-landing .support-list article { padding: 42px 24px 28px; }
  .ap-landing .support-list h3 { font-size: 20px; }
  .ap-landing .support-list article > span { font-size: 54px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .ap-landing *, .ap-landing *:before, .ap-landing *:after { animation: none !important; transition: none !important; }
  .ap-landing .scroll-reveal { opacity: 1; transform: none; }
}
@media print { .ap-landing .scroll-reveal { opacity: 1 !important; transform: none !important; } }

@media(max-width:640px){.hero-visual{--photo-clip:polygon(0 9%,100% 0,100% 100%,0 100%)}}
