:root{--color-ink:#06152a;--color-navy:#0b2744;--color-accent:#0e8ca3;--color-accent-strong:#0b6f82;--color-bg:#eef5f9;--color-card:#fff;--color-line:#d2dfeb;--color-muted:#45627c;--radius-lg:20px;--radius-md:14px}*{box-sizing:border-box}html,body{color:var(--color-ink);font-family:var(--font-body),sans-serif;background:radial-gradient(circle at 15% -5%,#c6d8e7 0%,#0000 38%),radial-gradient(circle at 85% 0,#d2ecef 0%,#0000 36%),linear-gradient(#f6fbff 0%,#edf5fa 100%);margin:0;padding:0}a{color:inherit;text-decoration:none}main{width:min(1120px,92vw);margin:0 auto;padding:2rem 0 4rem}h1,h2,h3,h4{font-family:var(--font-heading),sans-serif;letter-spacing:-.02em;color:var(--color-navy);margin:0}p{margin:0;line-height:1.7}.site-header{border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;background-color:#f6fbffe0;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:1rem;width:min(1120px,92vw);margin:0 auto;padding:.95rem 0;display:flex}.brand{font-family:var(--font-heading),sans-serif;letter-spacing:.03em;text-transform:uppercase;color:var(--color-navy);align-items:center;gap:.7rem;font-weight:700;display:inline-flex}.brand-mark{border-radius:10px;flex:0 0 34px;width:34px;height:34px;display:inline-block;position:relative;overflow:hidden;box-shadow:0 8px 20px #0b274433}.site-nav{align-items:center;gap:1.2rem;display:flex}.site-nav a{color:var(--color-muted);font-size:.95rem;font-weight:600;transition:color .2s}.site-nav a:hover,.site-nav a:focus-visible{color:var(--color-accent-strong)}.hero{border:1px solid var(--color-line);border-radius:var(--radius-lg);color:#f4fbff;background:linear-gradient(150deg,#0b2744f5 0%,#0e8ca3e8 75%),repeating-linear-gradient(90deg,#ffffff14 0 1px,#0000 1px 24px);padding:clamp(2rem,5vw,3.4rem);overflow:hidden}.hero h1{color:#fff;font-size:clamp(1.8rem,4vw,3.1rem);line-height:1.18}.hero p{color:#eff7ffed;margin-top:1rem}.badge-row{flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;display:flex}.badge{letter-spacing:.04em;border:1px solid #ffffff6b;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:700}.section{margin-top:2.5rem}.section-head{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.1rem;display:flex}.section-head p{color:var(--color-muted);max-width:680px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.card{border-radius:var(--radius-md);border:1px solid var(--color-line);background:var(--color-card);gap:.8rem;padding:1rem;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:0 14px 28px #0a203314}.card-link{cursor:pointer}.card:hover,.card:focus-within{transform:translateY(-3px);box-shadow:0 20px 34px #091e3024}.card-link:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.card-cover{aspect-ratio:16/9;background:linear-gradient(132deg,#ecf5fa 0%,#dae9f4 50%,#d0e7ea 100%),radial-gradient(circle at 10% 80%,#0e8ca359,#0000 45%);border:1px solid #bdd3e3;border-radius:10px;position:relative;overflow:hidden}.cover-image{object-fit:cover;width:100%;height:100%;display:block}.detail-cover{margin-top:.2rem}.download-cover{margin-bottom:1rem}.meta-row{color:var(--color-muted);justify-content:space-between;align-items:center;gap:.8rem;font-size:.84rem;display:flex}.price{font-size:1.25rem;font-family:var(--font-heading),sans-serif;color:var(--color-navy)}.price small{color:var(--color-muted);font-size:.8rem}.btn,.btn-outline{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:.66rem 1rem;font-weight:700;transition:all .2s;display:inline-flex}.btn{background:linear-gradient(135deg,var(--color-accent)0%,var(--color-accent-strong)100%);color:#ecfcff}.btn:hover,.btn:focus-visible{filter:brightness(1.08)}.btn-outline{color:var(--color-navy);background:#f8fbfd;border-color:#bad0de}.btn-outline:hover,.btn-outline:focus-visible{background:#edf5f9;border-color:#9fbfd3}.tag-list{flex-wrap:wrap;gap:.45rem;display:flex}.tag{color:#315471;background:#f4f9fc;border:1px solid #c8d9e6;border-radius:999px;padding:.25rem .58rem;font-size:.76rem;font-weight:600}.detail-layout{grid-template-columns:1.2fr .8fr;gap:1rem;display:grid}.panel{border:1px solid var(--color-line);border-radius:var(--radius-md);background:#fff;padding:1rem}.contact-panel{max-width:860px}.contact-form{gap:.9rem;display:grid}.form-field{gap:.4rem;display:grid}.form-field span{color:var(--color-navy);font-size:.9rem;font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;color:var(--color-ink);font:inherit;background:#fcfeff;border:1px solid #bfd1df;border-radius:10px;padding:.65rem .72rem}.form-field textarea{resize:vertical;min-height:140px}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline-offset:1px;border-color:#9fc7db;outline:2px solid #8ac6d3}.form-actions{margin-top:.2rem}.form-actions .btn[disabled]{opacity:.7;cursor:wait}.form-success,.form-error{font-size:.9rem}.form-success{color:#196f4f}.form-error{color:#9f2336}.back-link{color:var(--color-muted);align-items:center;margin-bottom:.8rem;font-size:.9rem;font-weight:600;transition:color .2s;display:inline-flex}.back-link:hover,.back-link:focus-visible{color:var(--color-accent-strong)}.feature-list{color:var(--color-muted);gap:.4rem;margin:0;padding-left:1rem;display:grid}.kv{color:var(--color-muted);border-bottom:1px dashed #d5e2ec;justify-content:space-between;gap:.8rem;padding:.58rem 0;display:flex}.kv:last-child{border-bottom:0}.page-title{margin-bottom:1rem}.page-title h1{font-size:clamp(1.65rem,3vw,2.4rem)}.page-title p{color:var(--color-muted);margin-top:.5rem}.legal{gap:.9rem;display:grid}.legal h2{margin-top:.8rem;font-size:1.2rem}.site-footer{border-top:1px solid var(--color-line);margin-top:3rem;padding:1.3rem 0 2rem}.site-footer-inner{width:min(1120px,92vw);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:0 auto;font-size:.9rem;display:flex}@media (max-width:980px){.detail-layout{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.site-header-inner{flex-direction:column;align-items:flex-start}.grid{grid-template-columns:1fr}main{padding-top:1.4rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
