:root { color-scheme:light; --paper:#fafaf7; --ink:#143211; --green:#5d755d; --green-hover:#455d45; --line:#dfe5db; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
button { font:inherit; cursor:pointer; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3,p { margin:0; }
.page { width:min(1200px,calc(100% - 80px)); margin:auto; padding-top:40px; }
.hero { display:grid; grid-template-columns:1.08fr 1fr; align-items:stretch; gap:0; background:#eef1e9; overflow:hidden; }
.hero-visual { min-width:0; }
.hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-copy { padding:44px 40px; align-self:center; }
h1 { font-size:clamp(28px,2.75vw,40px); font-weight:600; line-height:1.14; letter-spacing:-1.3px; }
.hero-copy p { margin-top:20px; max-width:460px; font-size:17px; line-height:1.7; color:#4e6148; }
.hero .cta { margin-top:28px; }
.cta { position:relative; display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:56px; padding:15px 24px; border:1px solid var(--green); border-radius:12px; background:var(--green); color:#fff; text-align:center; font-size:16px; font-weight:500; line-height:1.4; text-decoration:none; transition:background .16s,box-shadow .16s,transform .16s; }
.cta svg { flex:0 0 auto; width:23px; height:23px; }
.cta:hover { background:var(--green-hover); border-color:var(--green-hover); box-shadow:0 5px 16px #14321118; }
.cta:active { transform:translateY(2px); box-shadow:none; }
.cta:focus-visible,.control:focus-visible,.dot:focus-visible,.certificate:focus-visible,summary:focus-visible { outline:3px solid #b99836; outline-offset:4px; }
.cta:disabled { background:#d7dfd3; border-color:#d7dfd3; color:#52634d; cursor:not-allowed; box-shadow:none; animation:none; transform:none; }
.cta[aria-busy="true"] { cursor:wait; }
.spinner { display:none; width:18px; height:18px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; flex-shrink:0; }
.cta[aria-busy="true"] .spinner { display:block; animation:spin .7s linear infinite; }
.section { margin-top:76px; }
h2 { font-size:32px; font-weight:700; line-height:1.25; letter-spacing:-.7px; text-align:center; margin-bottom:28px; }
.feature-grid,.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.feature { background:#fff; padding:26px 22px; border:1px solid var(--line); border-radius:12px; }
.feature img { width:88px; height:88px; object-fit:contain; margin:0 0 24px; }
.feature h3 { font-size:17px; line-height:1.4; color:#182416; }
.feature p { font-size:14px; line-height:1.65; color:#59645a; margin-top:9px; }
.products { margin-top:54px; }
.product { min-width:0; background:#fff; border:1px solid var(--line); border-radius:12px; padding:9px; overflow:hidden; }
.product>img { width:100%; aspect-ratio:1/1; object-fit:contain; background:#111a23; border-radius:7px; }
.product-copy { padding:14px 5px 10px; }
.product h3 { font-size:15px; font-weight:650; line-height:1.4; color:#182416; min-height:42px; overflow-wrap:break-word; }
.product p { font-size:16px; color:#536251; margin-top:10px; }
.section-cta { display:flex; justify-content:center; margin-top:36px; padding:8px; }
.section-cta .cta { width:min(560px,100%); }
.about { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:76px; }
.about h2 { text-align:left; }
.about p { font-size:16px; line-height:1.9; color:#40533b; }
.about img { width:100%; border-radius:16px; }
.section-intro { margin:-10px auto 30px; max-width:650px; font-size:14px; line-height:1.7; text-align:center; color:var(--green); }
.report-window { overflow:hidden; }
.report-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.certificate { padding:12px; border:1px solid var(--line); border-radius:12px; min-width:0; background:#fff; color:var(--green); transition:border-color .15s,background .15s; }
.certificate img { width:100%; aspect-ratio:615/800; object-fit:contain; }
.certificate>span { display:flex; align-items:center; justify-content:space-between; min-height:44px; margin-top:10px; padding:10px 14px; border:1px solid var(--line); border-radius:8px; background:#f3f5ef; font-size:14px; }
.certificate:hover { border-color:var(--green); background:#f8faf6; }
.certificate:hover>span { background:#e9eee4; }
.certificate:active { transform:translateY(1px); }
.certificate:disabled { opacity:.55; cursor:not-allowed; }
.carousel-controls { display:none; }
.control { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid #b7c4b3; border-radius:50%; background:#edf1e8; color:var(--ink); font-size:22px; }
.control:hover { background:#dce5d6; border-color:var(--green); }
.control:active { transform:scale(.95); }
.control:disabled { opacity:.4; cursor:not-allowed; }
.dots { display:flex; gap:8px; }
.dot { width:36px; height:36px; padding:10px; border:1px solid var(--line); border-radius:50%; background:#fff; }
.dot span { display:block; width:100%; height:100%; border-radius:50%; background:#c2cebc; }
.dot[aria-pressed="true"] { background:#e7ede1; border-color:var(--green); }
.dot[aria-pressed="true"] span { background:var(--green); }
.dot:hover { border-color:var(--green); background:#e7ede1; }
.dot:active { transform:scale(.95); }
.dot:disabled { opacity:.4; cursor:not-allowed; }
.testimonials-grid { max-width:740px; margin:auto; }
.testimonials-grid img { width:100%; border-radius:12px; }
.faq { max-width:920px; margin-left:auto; margin-right:auto; }
details { border:1px solid #cfd8c9; border-radius:9px; background:#f0f2eb; margin-top:12px; overflow:hidden; }
summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:60px; padding:18px 22px; font-size:15px; font-weight:600; line-height:1.5; transition:background .15s; }
summary::-webkit-details-marker { display:none; }
summary:hover { background:#e6ebe0; }
summary:active { background:#dce4d5; }
.faq-plus { font-size:24px; flex-shrink:0; font-weight:400; }
details[open] .faq-plus { transform:rotate(45deg); }
.faq-answer { padding:0 22px 22px; line-height:1.8; font-size:14px; color:#4a5e44; }
.footer { padding:54px 24px 40px; font-size:12px; text-align:center; color:#7d8877; }
.floating { position:fixed; bottom:24px; right:24px; min-height:48px; padding:12px 20px; border-radius:999px; background:#25b955; border-color:#25b955; box-shadow:0 5px 20px #14321125; z-index:10; }
.floating:hover { background:#159943; border-color:#159943; }
.toast { position:fixed; z-index:30; bottom:92px; right:24px; max-width:min(400px,calc(100vw - 32px)); padding:16px 20px; color:#143211; background:#fff; border:1px solid #a7b7a0; border-radius:10px; box-shadow:0 5px 30px #14321120; font-size:14px; line-height:1.6; }
dialog { width:min(720px,calc(100% - 32px)); max-height:92vh; padding:60px 18px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; }
dialog::backdrop { background:#0d1d0bbd; }
dialog img { max-height:calc(92vh - 90px); width:100%; object-fit:contain; }
.dialog-close { position:absolute; top:10px; right:12px; }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes gentle-shake { 0%,85%,100% { transform:translateX(0); } 88%,94% { transform:translateX(-2px); } 91%,97% { transform:translateX(2px); } }
@media(min-width:1600px) { .page { padding-top:56px; } }
@media(max-width:1023px) { .page { width:calc(100% - 48px); padding-top:24px; } .hero-copy { padding:28px; } h1 { font-size:30px; letter-spacing:-.8px; } .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .product-grid { gap:14px; } .about { gap:36px; } .section { margin-top:56px; } }
@media(max-width:767px) {
 .page { width:calc(100% - 36px); max-width:560px; padding-top:24px; }
 .hero { display:flex; flex-direction:column; background:transparent; gap:8px; }
 .hero-visual img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
 .hero-copy { width:100%; padding:24px 10px; background:linear-gradient(135deg,#e9eee4,#fafaf7); }
 h1 { font-size:24px; line-height:1.12; letter-spacing:-.4px; }
 .hero-copy p { font-size:16px; line-height:1.65; margin-top:14px; }
 .hero .cta { margin-top:20px; font-size:16px; }
 .section { margin-top:44px; }
 h2 { font-size:28px; margin-bottom:24px; }
 .feature-grid,.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 .feature { padding:16px; }
 .feature img { width:100%; height:auto; aspect-ratio:1/1; margin-bottom:16px; }
 .feature h3 { font-size:15px; }
 .feature p { font-size:13px; line-height:1.5; }
 .product { padding:7px; }
 .product-copy { padding:10px 1px 8px; }
 .product h3 { font-size:14px; min-height:0; }
 .product p { font-size:15px; margin-top:8px; }
 .section-cta { margin-top:28px; }
 .section-cta .cta { font-size:14px; padding:14px; }
 .about { display:flex; flex-direction:column; gap:24px; }
 .about h2 { text-align:center; }
 .about p { font-size:15px; line-height:1.65; }
 .section-intro { font-size:13px; margin-bottom:20px; }
 .report-track { display:flex; gap:0; transition:transform .35s ease; }
 .certificate { flex:0 0 100%; padding:10px; }
 .certificate img { aspect-ratio:615/800; max-height:450px; }
 .carousel-controls { display:flex; justify-content:center; align-items:center; gap:20px; margin-top:16px; }
 summary { padding:14px 16px; font-size:14px; min-height:56px; }
 .faq-answer { padding:0 16px 18px; }
 .footer { padding:44px 18px 100px; }
 .floating { bottom:18px; right:16px; min-height:46px; padding:10px 16px; font-size:14px; }
 .toast { right:16px; bottom:80px; }
}
@media(max-width:359px) { .page { width:calc(100% - 28px); } .feature-grid,.product-grid { gap:10px; } .feature { padding:12px; } .hero .cta { padding:14px; font-size:14px; } .product h3 { font-size:13px; } }
@media(prefers-reduced-motion:no-preference) { .animated:not(:hover):not(:focus-visible):not(:disabled) { animation:gentle-shake 5s ease-in-out infinite; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
