
    :root { --ink:#203c2f; --forest:#28583a; --forest-deep:#173425; --green:#2d7749; --green-bright:#58934d; --muted:#5e7161; --paper:#fafcf6; --sage:#e6efde; --sage-light:#f0f6e9; --line:#d9e4cf; --white:#fff; --radius:26px; --shadow:0 20px 65px rgba(40,88,58,.10); }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:102px; }
    body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased; }
    a { color:inherit; text-decoration:none; }
    button { font:inherit; cursor:pointer; }
    button, a { -webkit-tap-highlight-color:transparent; }
    a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid var(--green-bright); outline-offset:5px; }
    button { color:inherit; }
    h1,h2,h3,p { margin-top:0; }
    h1,h2,h3 { letter-spacing:-.045em; line-height:1.07; }
    h1 { font-size:clamp(44px,5.3vw,70px); margin:23px 0 24px; font-weight:850; }
    h1 em { color:var(--green); font-style:normal; }
    h2 { font-size:clamp(34px,4.5vw,54px); margin:16px 0 20px; font-weight:850; }
    h3 { font-size:23px; margin-bottom:12px; }
    p { margin-bottom:20px; }
    svg { display:block; }
    [hidden] { display:none !important; }
    .container { width:min(1160px,calc(100% - 48px)); margin:0 auto; }
    .section { padding:100px 0; }
    .eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:11px; line-height:1.5; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--green); }
    .eyebrow::before { content:""; width:7px; height:7px; flex:none; background:currentColor; border-radius:50%; }
    .lead { color:var(--muted); font-size:18px; line-height:1.65; max-width:600px; }
    .icon { width:24px; height:24px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    .arrow-icon { width:20px; height:20px; }
    .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .skip-link { position:fixed; left:16px; top:-90px; z-index:100; padding:12px 20px; background:var(--forest); color:white; border-radius:12px; }
    .skip-link:focus { top:12px; }
    .button { display:inline-flex; justify-content:center; align-items:center; gap:13px; min-height:50px; padding:13px 23px; border:1px solid transparent; border-radius:999px; background:var(--green); color:white; font-size:14px; font-weight:750; line-height:1.35; text-align:center; transition:background .2s,transform .2s,box-shadow .2s; }
    .button:hover { background:var(--forest); transform:translateY(-2px); box-shadow:0 12px 25px #23643820; }
    .button .icon { width:18px; height:18px; }
    .button-outline { background:transparent; color:var(--ink); border-color:#bdd5b5; }
    .button-outline:hover { background:white; color:var(--forest); }
    .button-light { color:var(--forest); background:white; }
    .button-light:hover { color:var(--forest); background:var(--sage); }
    .text-link { display:inline-flex; align-items:center; gap:9px; font-weight:750; font-size:14px; border-bottom:1px solid transparent; }
    .text-link:hover { border-bottom-color:currentColor; }
    .text-link .icon { width:18px; height:18px; }
    .site-header { position:sticky; top:0; z-index:30; background:rgba(250,252,246,.93); border-bottom:1px solid #dcead7b0; backdrop-filter:blur(18px); }
    .nav { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .brand { display:flex; gap:11px; align-items:center; flex:none; }
    .brand-mark { display:block; width:46px; height:46px; flex:none; object-fit:contain; mix-blend-mode:multiply; }
    .brand-name { font-weight:900; font-size:24px; letter-spacing:-.06em; line-height:1.1; }
    .brand-name sup { font-size:10px; vertical-align:top; margin-left:3px; }
    .brand-sub { display:block; margin-top:4px; font-size:9px; letter-spacing:.13em; font-weight:650; text-transform:uppercase; color:var(--muted); }
    .nav-links { display:flex; align-items:center; gap:26px; font-size:13px; font-weight:650; color:var(--muted); }
    .nav-links a:hover { color:var(--green); }
    .nav-cta { background:var(--forest); min-height:42px; padding:11px 19px; font-size:12px; }
    .menu-toggle { display:none; width:42px; height:42px; align-items:center; justify-content:center; border:1px solid var(--line); background:transparent; border-radius:50%; }
    .hero { position:relative; overflow:hidden; padding:65px 0 75px; background:linear-gradient(115deg,#fafcf6 5%,#f0f6e6 58%,#d6e6bd 100%); }
    .hero::after { content:""; position:absolute; right:-140px; top:-220px; width:530px; height:530px; border:1px solid #2a8c4920; border-radius:50%; pointer-events:none; }
    .hero-grid { display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:30px; position:relative; z-index:1; }
    .hero-copy { padding:8px 0; }
    .hero-copy .lead { max-width:555px; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
    .hero-note { margin:20px 0 0; color:var(--muted); font-size:12px; }
    .hero-art { position:relative; min-width:0; }
    .hero-art svg { width:100%; height:auto; overflow:visible; }
    .hero-art-note { display:flex; justify-content:center; gap:7px; align-items:center; font-size:11px; color:var(--muted); margin:0; }
    .hero-art-note::before { content:""; width:6px; height:6px; background:var(--green); border-radius:50%; }
    .trust-strip { background:var(--forest); color:white; }
    .trust-list { display:grid; grid-template-columns:repeat(4,1fr); padding:23px 0; gap:24px; }
    .trust-item { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:600; }
    .trust-item .icon { color:#98e1af; width:22px; height:22px; }
    .two-col { display:grid; grid-template-columns:.82fr 1.18fr; align-items:start; gap:72px; }
    .intro-copy { position:sticky; top:115px; }
    .feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
    .feature { padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:white; }
    .feature:nth-child(2),.feature:nth-child(3) { background:var(--sage-light); }
    .feature-icon { width:43px; height:43px; border-radius:14px; display:grid; place-items:center; background:var(--sage); color:var(--green); margin-bottom:28px; }
    .feature h3 { font-size:21px; line-height:1.12; overflow-wrap:anywhere; hyphens:auto; }
    .feature p { margin:0; font-size:14px; color:var(--muted); }
    .catalog-section { padding-top:84px; background:#f0f5e9; border-top:1px solid #e0eddb; border-bottom:1px solid #e0eddb; }
    .section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:30px; }
    .section-head h2 { margin-bottom:0; max-width:690px; }
    .section-head p { color:var(--muted); font-size:14px; max-width:275px; margin:0 0 4px; }
    .filters { display:flex; gap:9px; flex-wrap:wrap; margin:32px 0 20px; }
    .filter { border:1px solid #c9dec2; padding:10px 16px; border-radius:999px; background:transparent; font-size:12px; font-weight:650; transition:background .2s,color .2s,border-color .2s; }
    .filter:hover { background:#fafef8; border-color:var(--green); }
    .filter[aria-pressed="true"] { background:var(--forest); border-color:var(--forest); color:white; }
    .catalog-meta { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:23px; color:var(--muted); font-size:12px; }
    .catalog-meta p { margin:0; }
    .catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
    .product-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:26px 25px 22px; background:white; border:1px solid #d9e4cf; border-radius:var(--radius); transition:transform .2s,box-shadow .2s; overflow:hidden; }
    .product-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
    .product-card-top { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:36px; color:var(--green); }
    .product-card-top .icon { width:30px; height:30px; opacity:.8; }
    .product-label { max-width:190px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
    .product-mark { width:fit-content; max-width:100%; min-width:74px; min-height:52px; display:flex; align-items:center; justify-content:flex-start; padding:12px 18px; margin:22px 0 23px; border-radius:14px 14px 14px 3px; background:linear-gradient(120deg,#f0f5e5,#d7e6c1); color:var(--forest); font-size:22px; font-weight:850; letter-spacing:-.04em; line-height:1.15; overflow-wrap:anywhere; }
    .product-card:nth-child(3n+2) .product-mark { color:white; background:linear-gradient(120deg,#3c7a45,#285037); }
    .product-kind { color:var(--green); font-size:11px; line-height:1.5; min-height:32px; margin-bottom:16px; }
    .product-description { color:var(--muted); font-size:14px; line-height:1.65; margin-bottom:22px; }
    .tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; margin-bottom:24px; }
    .tags span { display:inline-block; font-size:10px; padding:5px 9px; border:1px solid var(--line); border-radius:999px; line-height:1.3; color:#597e65; }
    .product-links { border-top:1px solid var(--line); padding-top:17px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:12px; font-weight:750; }
    .product-links a { display:inline-flex; align-items:center; gap:8px; }
    .product-links a:hover { color:var(--green); }
    .product-links .icon { width:17px; height:17px; }
    .sample-link { color:var(--green); }
    .catalog-note { color:var(--muted); max-width:780px; font-size:12px; line-height:1.7; margin:27px 0 0; }
    .samples-wrap { padding:88px 0 0; }
    .samples-panel { position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center; overflow:hidden; padding:50px 54px; border-radius:32px; color:white; background:linear-gradient(120deg,#397c47,#28583a 75%); }
    .samples-panel::after { content:""; position:absolute; width:300px; height:300px; border:1px solid #ffffff15; border-radius:50%; top:-180px; right:-40px; pointer-events:none; }
    .samples-panel h2 { font-size:clamp(32px,4vw,48px); margin:16px 0 0; }
    .samples-panel .eyebrow { color:#bdebae; }
    .samples-copy { border-left:1px solid #ffffff25; padding-left:38px; }
    .samples-copy p { color:#e0f3da; font-size:16px; }
    .samples-copy .small { font-size:11px; margin:15px 0 0; color:#c3deba; }
    .steps-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:40px; }
    .steps-head h2 { max-width:650px; margin-bottom:0; }
    .steps-head p { margin:0 0 4px; max-width:280px; font-size:14px; color:var(--muted); }
    .steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); border-radius:26px; overflow:hidden; background:white; }
    .step { padding:28px 25px; border-right:1px solid var(--line); }
    .step:last-child { border-right:0; }
    .step-number { display:flex; align-items:center; justify-content:space-between; margin-bottom:34px; color:var(--green); font-size:12px; font-weight:850; }
    .step-number .icon { width:18px; height:18px; color:#93c2a2; }
    .step h3 { font-size:20px; line-height:1.15; }
    .step p { font-size:13px; line-height:1.65; color:var(--muted); margin:0; }
    .faq-section { padding-top:0; }
    .faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:75px; }
    .faq-list { border-top:1px solid var(--line); }
    .faq-list details { border-bottom:1px solid var(--line); }
    .faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:24px 0; cursor:pointer; font-size:16px; font-weight:700; list-style:none; }
    .faq-list summary::-webkit-details-marker { display:none; }
    .faq-list summary::after { content:"+"; color:var(--green); font-size:24px; line-height:1; font-weight:400; flex:none; }
    .faq-list details[open] summary::after { content:"−"; }
    .faq-list details p { color:var(--muted); font-size:14px; line-height:1.75; margin:0 32px 24px 0; }
    .faq-list details a { color:var(--green); text-decoration:underline; text-underline-offset:3px; }
    .contact-section { background:var(--forest-deep); color:white; padding:80px 0; }
    .contact-grid { display:grid; grid-template-columns:1fr .85fr; gap:85px; align-items:center; }
    .contact-section .eyebrow { color:#aee39c; }
    .contact-section h2 { margin:18px 0 25px; font-size:clamp(34px,4.3vw,52px); }
    .contact-section .lead { color:#c5dfbc; font-size:16px; }
    .contact-phones { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin:32px 0 22px; }
    .contact-phones small { display:block; margin-bottom:7px; color:#c5dfbc; font-size:10px; }
    .phone { display:inline-block; font-size:19px; font-weight:750; letter-spacing:-.03em; white-space:nowrap; }
    .phone:hover,.contact-mail:hover { color:#c1f3b0; }
    .contact-mail { display:inline-flex; gap:10px; align-items:center; color:#b9e7a9; font-size:15px; }
    .contact-mail .icon { width:19px; height:19px; }
    .contact-panel { color:var(--ink); padding:35px; border-radius:28px; background:var(--paper); }
    .contact-panel .feature-icon { margin-bottom:26px; }
    .contact-panel h3 { font-size:30px; }
    .contact-panel p { color:var(--muted); font-size:14px; }
    .contact-panel .button { width:100%; margin-top:4px; }
    .contact-panel .button-outline { margin-top:11px; }
    .contact-panel .contact-hint { margin:18px 0 0; font-size:11px; text-align:center; }
    .contact-address { margin:22px 0 0; font-size:11px; color:#acd0b7; }
    .reviews-section { background:linear-gradient(145deg,var(--paper),var(--sage-light)); }
    .reviews-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:32px; }
    .reviews-heading h2 { margin-bottom:0; }
    .reviews-controls { display:flex; gap:10px; flex:none; padding-bottom:4px; }
    .review-arrow { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid var(--line); border-radius:50%; background:white; color:var(--forest); transition:background .2s,color .2s,border-color .2s; }
    .review-arrow:hover { background:var(--forest); border-color:var(--forest); color:white; }
    .review-arrow .icon { width:22px; height:22px; }
    .reviews-track { position:relative; display:grid; grid-auto-flow:column; grid-auto-columns:100%; gap:24px; min-width:0; overflow-x:auto; overflow-y:hidden; padding:4px 0 8px; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; }
    .reviews-track::-webkit-scrollbar { display:none; }
    .reviews-track:focus-visible { outline:3px solid var(--green-bright); outline-offset:5px; border-radius:var(--radius); }
    .review-card { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); align-items:center; gap:44px; min-width:0; min-height:280px; padding:40px 44px; border:1px solid var(--line); border-radius:var(--radius); background:white; scroll-snap-align:start; scroll-snap-stop:always; overflow-wrap:anywhere; }
    .review-author { min-width:0; padding:12px 32px 12px 0; border-right:1px solid var(--line); }
    .review-number { display:inline-block; padding:6px 11px; margin-bottom:23px; border-radius:999px; background:var(--sage-light); color:var(--green); font-size:10px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
    .review-name { margin:0 0 9px; font-size:24px; line-height:1.2; }
    .review-role { margin:0; font-size:14px; line-height:1.5; color:var(--muted); }
    .review-text { min-width:0; margin:0; }
    .review-quote { display:block; height:43px; color:var(--green); font-family:Georgia,serif; font-size:76px; line-height:1; }
    .review-text p { margin:19px 0 0; color:var(--muted); font-size:clamp(19px,2.2vw,26px); line-height:1.6; letter-spacing:-.02em; }
    .reviews-pagination { position:relative; display:flex; justify-content:center; align-items:center; min-height:44px; margin-top:17px; padding:0 72px; }
    .review-dots { display:flex; gap:2px; }
    .review-dot { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:transparent; }
    .review-dot::before { content:""; display:block; width:7px; height:7px; border-radius:999px; background:#b6d3ac; transition:width .2s,background .2s; }
    .review-dot[aria-current="true"]::before { width:24px; background:var(--green); }
    .review-dot:hover::before { background:var(--forest); }
    .review-counter { position:absolute; right:0; font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; letter-spacing:.08em; }
    footer { padding:26px 0; background:#11291c; color:#c5dcbd; font-size:10px; }
    .footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .footer-info { display:flex; flex-direction:column; gap:4px; }
    .footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
    .footer-links a:hover { color:white; }
    .mobile-contact { display:none; }
    .reveal { opacity:1; }
    .reveal.is-visible { animation:rise .6s both; }
    @keyframes rise { from { opacity:.2; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
    @media (min-width:1700px) { .hero { padding:85px 0 95px; } }
    @media (max-width:1050px) {
      .nav-links { gap:16px; font-size:12px; } .nav { gap:16px; } .brand-sub { display:none; }
      .hero-grid { gap:15px; grid-template-columns:1.1fr .9fr; } h1 { font-size:clamp(44px,5.8vw,64px); }
      .hero-art { margin-right:-12px; } .two-col { gap:40px; } .feature { padding:22px; }
      .product-card { padding:23px 21px 20px; } .samples-panel { padding:42px; gap:38px; }
      .contact-grid { gap:45px; } .contact-phones { grid-template-columns:1fr; gap:18px; } .phone { font-size:22px; }
    }
    @media (max-width:820px) {
      .section { padding:74px 0; } .nav { min-height:72px; } .nav-links { gap:16px; }
      .nav-cta { display:none; } .hero { padding:52px 0 52px; }
      .hero-grid { grid-template-columns:1fr; gap:10px; } .hero-copy { max-width:640px; } h1 { font-size:clamp(44px,7.8vw,64px); max-width:650px; }
      .hero-art { width:min(500px,92%); margin:12px auto 0; } .hero-art-note { margin-top:-12px; }
      .trust-list { grid-template-columns:repeat(2,1fr); gap:18px 30px; }
      .two-col { grid-template-columns:1fr; gap:30px; } .intro-copy { position:static; max-width:600px; }
      .section-head { display:block; } .section-head p { margin-top:20px; max-width:480px; }
      .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .product-card { padding:25px; }
      .samples-wrap { padding-top:64px; } .samples-panel { grid-template-columns:1fr; gap:28px; padding:36px; }
      .samples-copy { border-left:0; padding-left:0; max-width:570px; } .samples-panel h2 { max-width:560px; }
      .steps { grid-template-columns:repeat(2,1fr); } .step:nth-child(2) { border-right:0; } .step:nth-child(-n+2) { border-bottom:1px solid var(--line); }
      .steps-head { display:block; } .steps-head p { margin-top:18px; max-width:450px; }
      .faq-section { padding-top:0; } .faq-grid { grid-template-columns:1fr; gap:18px; } .faq-grid h2 { margin-bottom:15px; }
      .contact-section { padding:64px 0; } .contact-grid { gap:32px; grid-template-columns:1fr 1fr; }
      .contact-panel { padding:26px; } .contact-panel h3 { font-size:25px; }
      .footer-inner { align-items:flex-start; } .footer-links { gap:12px; justify-content:flex-end; }
      .review-card { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); padding:30px; gap:28px; }
      .review-author { padding-right:24px; } .review-name { font-size:22px; }
    }
    @media (max-width:600px) {
      html { scroll-padding-top:88px; } .container { width:calc(100% - 36px); } .section { padding:60px 0; }
      .nav { min-height:70px; } .brand-name { font-size:23px; } .brand-sub { display:block; font-size:8px; }
      .menu-toggle { display:flex; } .nav-links { display:none; position:absolute; left:0; right:0; top:70px; padding:15px 18px 22px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 18px 24px #1e472b0c; }
      .nav-links.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; } .nav-links a { padding:13px 5px; font-size:15px; }
      .hero { padding:35px 0 38px; } .hero-copy { padding:0; } h1 { font-size:clamp(39px,10.8vw,57px); margin-top:19px; letter-spacing:-.045em; }
      .hero .lead { font-size:16px; line-height:1.65; margin-bottom:0; } .hero-actions { gap:10px; margin-top:25px; }
      .hero-actions .button { width:100%; min-height:49px; font-size:14px; } .hero-note { font-size:11px; max-width:310px; }
      .hero-art { width:100%; margin-top:14px; } .hero-art-note { font-size:10px; margin-top:-5px; }
      .eyebrow { font-size:9px; letter-spacing:.12em; } h2 { font-size:36px; } .lead { font-size:16px; }
      .trust-list { padding:23px 0; gap:20px 18px; } .trust-item { font-size:10px; align-items:flex-start; gap:8px; } .trust-item .icon { width:19px; height:19px; }
      .feature-grid { gap:10px; } .feature { padding:20px 17px; border-radius:21px; } .feature h3 { font-size:18px; }
      .feature p { font-size:12px; line-height:1.65; } .feature-icon { margin-bottom:21px; width:37px; height:37px; border-radius:12px; }
      .feature-icon .icon { width:21px; height:21px; } .intro-copy .lead { margin-bottom:18px; }
      .catalog-section { padding-top:60px; } .section-head { margin-bottom:24px; } .section-head h2 { max-width:410px; }
      .filters { margin-top:26px; gap:7px; } .filter { padding:9px 12px; font-size:11px; }
      .catalog-meta { font-size:11px; align-items:flex-start; gap:20px; } .catalog-meta .text-link { font-size:11px; }
      .catalog-grid { grid-template-columns:1fr; gap:14px; } .product-card { padding:26px; border-radius:24px; }
      .product-label { font-size:10px; max-width:225px; } .product-mark { margin:17px 0 21px; }
      .product-kind { min-height:0; font-size:12px; } .product-description { font-size:15px; } .tags span { font-size:10px; }
      .product-links { font-size:13px; } .catalog-note { font-size:11px; }
      .samples-wrap { padding-top:50px; } .samples-panel { padding:30px 26px; border-radius:25px; gap:25px; }
      .samples-panel h2 { font-size:34px; } .samples-copy p { font-size:15px; } .samples-copy .button { width:100%; }
      .steps-head h2 { font-size:35px; } .steps-head { margin-bottom:29px; } .step { padding:24px 18px; }
      .step-number { margin-bottom:23px; } .step h3 { font-size:18px; } .step p { font-size:12px; }
      .faq-section { padding-top:0; } .faq-list summary { font-size:15px; padding:22px 0; } .faq-list details p { font-size:13px; }
      .contact-section { padding:57px 0; } .contact-grid { grid-template-columns:1fr; gap:31px; } .contact-section h2 { font-size:37px; }
      .contact-phones { grid-template-columns:1fr; gap:20px; margin-top:27px; } .phone { font-size:24px; } .contact-phones small { font-size:11px; }
      .contact-panel { padding:29px 25px; } .contact-panel h3 { font-size:30px; } .contact-panel .feature-icon { margin-bottom:23px; }
      .footer-inner { flex-direction:column; gap:18px; } .footer-links { justify-content:flex-start; gap:12px 20px; }
      .reviews-heading { align-items:flex-start; gap:20px; margin-bottom:23px; } .reviews-heading h2 { font-size:32px; }
      .reviews-controls { padding-top:29px; gap:7px; } .review-arrow { width:44px; height:44px; }
      .review-card { grid-template-columns:1fr; gap:24px; min-height:0; padding:28px 25px; border-radius:24px; }
      .review-author { padding:0 0 23px; border-right:0; border-bottom:1px solid var(--line); }
      .review-number { margin-bottom:17px; } .review-name { font-size:23px; } .review-role { font-size:13px; }
      .review-text p { font-size:20px; margin-top:13px; } .reviews-pagination { margin-top:12px; }
      footer { padding-bottom:90px; } .mobile-contact { position:fixed; z-index:40; display:flex; align-items:center; justify-content:center; bottom:12px; bottom:max(12px,env(safe-area-inset-bottom)); left:18px; right:18px; padding:14px; background:var(--green); color:white; border:1px solid #c4f3b540; border-radius:16px; font-size:13px; font-weight:750; gap:10px; box-shadow:0 9px 28px #163a2240; } .mobile-contact .icon { width:18px; height:18px; }
    }
    @media (max-width:360px) { .container { width:calc(100% - 28px); } h1 { font-size:37px; } .feature-grid { grid-template-columns:1fr; } .steps { grid-template-columns:1fr; } .step { border-right:0; border-bottom:1px solid var(--line); } .step:last-child { border-bottom:0; } .product-card { padding:23px; } }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
    @media print { html { scroll-behavior:auto; } body { background:white; } .site-header { position:static; backdrop-filter:none; } .nav-links,.nav-cta,.menu-toggle,.filters,.mobile-contact,.skip-link { display:none !important; } .section { padding:32px 0; } .container { width:100%; } .hero { padding:25px 0; } .hero-grid { grid-template-columns:1.1fr .9fr; } .hero-art { width:100%; } h1 { font-size:40px; } h2 { font-size:30px; } .product-card,.step,.feature,.samples-panel,.contact-panel,details { break-inside:avoid; } .product-card[hidden] { display:flex !important; } .product-card { transform:none !important; box-shadow:none !important; } .catalog-grid { grid-template-columns:repeat(2,1fr); } .intro-copy { position:static; } .reveal { opacity:1; animation:none; } .contact-section { padding:35px 0; } .contact-grid { gap:35px; } footer { padding:20px 0; } }
    @media print { .reviews-controls,.reviews-pagination { display:none !important; } .reviews-track { display:block; overflow:visible; padding:0; } .review-card { min-height:0; break-inside:avoid; padding:24px; margin-bottom:16px; } .review-text p { font-size:18px; } }
  

    .product-types { display:flex; flex-wrap:wrap; gap:7px; max-width:530px; margin:24px 0 0; }
    .product-types span { padding:6px 11px; border:1px solid var(--line); border-radius:999px; font-size:11px; line-height:1.4; font-weight:650; color:var(--forest); background:#ffffffa8; }
    .trust-link:hover { color:#ccf5bf; }
    @media (max-width:600px) { .product-types { gap:6px; margin-top:22px; } .product-types span { padding:5px 9px; font-size:10px; } }

    .icon-sprite { position:absolute; overflow:hidden; }
